Package com.pulumi.aws.ec2clientvpn
Class Endpoint
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.ec2clientvpn.Endpoint
-
public class Endpoint extends com.pulumi.resources.CustomResourceProvides an AWS Client VPN endpoint for OpenVPN clients. For more information on usage, please see the [AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). ## Example Usage
## Import Using `pulumi import`, import AWS Client VPN endpoints using the `id` value found via `aws ec2 describe-client-vpn-endpoints`. For example: ```sh $ pulumi import aws:ec2clientvpn/endpoint:Endpoint example cvpn-endpoint-0ac3a1abbccddd666 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ec2clientvpn.Endpoint; import com.pulumi.aws.ec2clientvpn.EndpointArgs; import com.pulumi.aws.ec2clientvpn.inputs.EndpointConnectionLogOptionsArgs; import com.pulumi.aws.ec2clientvpn.inputs.EndpointAuthenticationOptionArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Endpoint("example", EndpointArgs.builder() .connectionLogOptions(EndpointConnectionLogOptionsArgs.builder() .enabled(true) .cloudwatchLogGroup(lg.name()) .cloudwatchLogStream(ls.name()) .build()) .authenticationOptions(EndpointAuthenticationOptionArgs.builder() .type("certificate-authentication") .rootCertificateChainArn(rootCert.arn()) .build()) .description("clientvpn-example") .serverCertificateArn(cert.arn()) .clientCidrBlock("10.0.0.0/16") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Endpoint(java.lang.String name)Endpoint(java.lang.String name, EndpointArgs args)Endpoint(java.lang.String name, EndpointArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.List<EndpointAuthenticationOption>>authenticationOptions()com.pulumi.core.Output<java.util.Optional<java.lang.String>>clientCidrBlock()com.pulumi.core.Output<EndpointClientConnectOptions>clientConnectOptions()com.pulumi.core.Output<EndpointClientLoginBannerOptions>clientLoginBannerOptions()com.pulumi.core.Output<EndpointClientRouteEnforcementOptions>clientRouteEnforcementOptions()com.pulumi.core.Output<EndpointConnectionLogOptions>connectionLogOptions()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.lang.Boolean>disconnectOnSessionTimeout()com.pulumi.core.Output<java.lang.String>dnsName()com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>dnsServers()com.pulumi.core.Output<java.lang.String>endpointIpAddressType()static Endpointget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, EndpointState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.List<java.lang.String>>securityGroupIds()com.pulumi.core.Output<java.util.Optional<java.lang.String>>selfServicePortal()com.pulumi.core.Output<java.lang.String>selfServicePortalUrl()com.pulumi.core.Output<java.lang.String>serverCertificateArn()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>sessionTimeoutHours()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>splitTunnel()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>trafficIpAddressType()com.pulumi.core.Output<EndpointTransitGatewayConfiguration>transitGatewayConfiguration()com.pulumi.core.Output<java.util.Optional<java.lang.String>>transportProtocol()com.pulumi.core.Output<java.lang.String>vpcId()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>vpnPort()
-
-
-
Constructor Detail
-
Endpoint
public Endpoint(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Endpoint
public Endpoint(java.lang.String name, EndpointArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Endpoint
public Endpoint(java.lang.String name, EndpointArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- The ARN of the Client VPN endpoint.
-
authenticationOptions
public com.pulumi.core.Output<java.util.List<EndpointAuthenticationOption>> authenticationOptions()
- Returns:
- Information about the authentication method to be used to authenticate clients. See `authenticationOptions` Block Reference below for details.
-
clientCidrBlock
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> clientCidrBlock()
- Returns:
- The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater. When `trafficIpAddressType` is set to `ipv6`, it must not be specified. Otherwise, it is required.
-
clientConnectOptions
public com.pulumi.core.Output<EndpointClientConnectOptions> clientConnectOptions()
- Returns:
- The options for managing connection authorization for new client connections. See `clientConnectOptions` Block Reference below for details.
-
clientLoginBannerOptions
public com.pulumi.core.Output<EndpointClientLoginBannerOptions> clientLoginBannerOptions()
- Returns:
- Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. See `clientLoginBannerOptions` Block Reference below for details.
-
clientRouteEnforcementOptions
public com.pulumi.core.Output<EndpointClientRouteEnforcementOptions> clientRouteEnforcementOptions()
- Returns:
- Options for enforce administrator defined routes on devices connected through the VPN. See `clientRouteEnforcementOptions` Block Reference below for details.
-
connectionLogOptions
public com.pulumi.core.Output<EndpointConnectionLogOptions> connectionLogOptions()
- Returns:
- Information about the client connection logging options. See `connectionLogOptions` Block Reference below for details.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- A brief description of the Client VPN endpoint.
-
disconnectOnSessionTimeout
public com.pulumi.core.Output<java.lang.Boolean> disconnectOnSessionTimeout()
- Returns:
- Indicates whether the client VPN session is disconnected after the maximum `sessionTimeoutHours` is reached. If `true`, users are prompted to reconnect client VPN. If `false`, client VPN attempts to reconnect automatically. The default value is `false`.
-
dnsName
public com.pulumi.core.Output<java.lang.String> dnsName()
- Returns:
- The DNS name to be used by clients when establishing their VPN session.
-
dnsServers
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> dnsServers()
- Returns:
- Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address of the connecting device is used.
-
endpointIpAddressType
public com.pulumi.core.Output<java.lang.String> endpointIpAddressType()
- Returns:
- IP address type for the Client VPN endpoint. Valid values are `ipv4`, `ipv6`, or `dual-stack`. Defaults to `ipv4`.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
securityGroupIds
public com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupIds()
- Returns:
- The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups. Conflicts with `transitGatewayConfiguration`.
-
selfServicePortal
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> selfServicePortal()
- Returns:
- Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`.
-
selfServicePortalUrl
public com.pulumi.core.Output<java.lang.String> selfServicePortalUrl()
- Returns:
- The URL of the self-service portal.
-
serverCertificateArn
public com.pulumi.core.Output<java.lang.String> serverCertificateArn()
- Returns:
- The ARN of the ACM server certificate.
-
sessionTimeoutHours
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> sessionTimeoutHours()
- Returns:
- The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24`
-
splitTunnel
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> splitTunnel()
- Returns:
- Indicates whether split-tunnel is enabled on VPN endpoint. Default value is `false`.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
trafficIpAddressType
public com.pulumi.core.Output<java.lang.String> trafficIpAddressType()
- Returns:
- IP address type for traffic within the Client VPN tunnel. Valid values are `ipv4`, `ipv6`, or `dual-stack`. Defaults to `ipv4`. When it is set to `ipv6`, `clientCidrBlock` must not be specified.
-
transitGatewayConfiguration
public com.pulumi.core.Output<EndpointTransitGatewayConfiguration> transitGatewayConfiguration()
- Returns:
- Configuration block for associating the Client VPN endpoint with a Transit Gateway. Conflicts with `vpcId` and `securityGroupIds`. See `transitGatewayConfiguration` Block Reference below for details.
-
transportProtocol
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> transportProtocol()
- Returns:
- The transport protocol to be used by the VPN session. Default value is `udp`.
-
vpcId
public com.pulumi.core.Output<java.lang.String> vpcId()
- Returns:
- The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied. Conflicts with `transitGatewayConfiguration`.
-
vpnPort
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> vpnPort()
- Returns:
- The port number for the Client VPN endpoint. Valid values are `443` and `1194`. Default value is `443`.
-
get
public static Endpoint get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable EndpointState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-