Class Endpoint


  • public class Endpoint
    extends com.pulumi.resources.CustomResource
    Provides 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
     
     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());
     
         }
     }
     
     
    ## 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 ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • 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)  
    • 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.