Skip to content
v2.274.0

InterfaceVpcEndpointOptions Struct ​

Options to add an interface endpoint to a VPC.

Example ​

ts
    // Add gateway endpoints when creating the VPC
    const vpc = new ec2.Vpc(this, 'MyVpc', {
      gatewayEndpoints: {
        S3: {
          service: ec2.GatewayVpcEndpointAwsService.S3,
        },
      },
    });

    // Alternatively gateway endpoints can be added on the VPC
    const dynamoDbEndpoint = vpc.addGatewayEndpoint('DynamoDbEndpoint', {
      service: ec2.GatewayVpcEndpointAwsService.DYNAMODB,
    });

    // This allows to customize the endpoint policy
    dynamoDbEndpoint.addToPolicy(
      new iam.PolicyStatement({ // Restrict to listing and describing tables
        principals: [new iam.AnyPrincipal()],
        actions: ['dynamodb:DescribeTable', 'dynamodb:ListTables'],
        resources: ['*'],
      }));

    // Add an interface endpoint
    vpc.addInterfaceEndpoint('EcrDockerEndpoint', {
      service: ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER,

      // Uncomment the following to allow more fine-grained control over
      // who can access the endpoint via the '.connections' object.
      // open: false
    });

Properties ​

Type of DNS records created for the VPC endpoint.

Default: not specified

The IP address type for the endpoint.

Default: not specified

lookupSupportedAzsbooleanlookup_supported_azsboollookupSupportedAzsBooleanLookupSupportedAzsboolLookupSupportedAzs*bool= false#
Limit to only those availability zones where the endpoint service can be created.

Setting this to 'true' requires a lookup to be performed at synthesis time. Account and region must be set on the containing stack for this to work.

openbooleanopenboolopenBooleanOpenboolOpen*bool= true#
Whether to automatically allow VPC traffic to the endpoint.

If enabled, all traffic to the endpoint from within the VPC will be automatically allowed. This is done based on the VPC's CIDR range.

privateDnsEnabledbooleanprivate_dns_enabledboolprivateDnsEnabledBooleanPrivateDnsEnabledboolPrivateDnsEnabled*bool#
Whether to associate a private hosted zone with the specified VPC.

Default: set by the instance of IInterfaceVpcEndpointService, or true if not defined by the instance of IInterfaceVpcEndpointService

This allows you to make requests to the service using its default DNS hostname.

privateDnsOnlyForInboundResolverEndpointVpcEndpointPrivateDnsOnlyForInboundResolverEndpointprivate_dns_only_for_inbound_resolver_endpointVpcEndpointPrivateDnsOnlyForInboundResolverEndpointprivateDnsOnlyForInboundResolverEndpointVpcEndpointPrivateDnsOnlyForInboundResolverEndpointPrivateDnsOnlyForInboundResolverEndpointVpcEndpointPrivateDnsOnlyForInboundResolverEndpointPrivateDnsOnlyForInboundResolverEndpointVpcEndpointPrivateDnsOnlyForInboundResolverEndpoint#
Whether to enable private DNS only for inbound endpoints.

Default: not specified

securityGroupsISecurityGroup[]security_groupstyping.List[ISecurityGroup]securityGroupsList<ISecurityGroup>SecurityGroupsISecurityGroup[]SecurityGroups*[]ISecurityGroup#
The security groups to associate with this interface VPC endpoint.

Default: a new security group is created

The service to use for this interface VPC endpoint.
serviceRegionstringservice_regionstrserviceRegionStringServiceRegionstringServiceRegion*string#
The region where the VPC endpoint service is located.

Default: Same region as the interface VPC endpoint

Only needs to be specified for cross-region VPC endpoints.

The subnets in which to create an endpoint network interface.

Default: private subnets

At most one per availability zone.