CfnVPCEndpointPropsMixin

class aws_cdk.mixins_preview.aws_ec2.mixins.CfnVPCEndpointPropsMixin(props, *, strategy=None)

Bases: Mixin

Specifies a VPC endpoint.

A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS , an AWS Marketplace Partner, or another AWS accounts in your organization. For more information, see the AWS PrivateLink User Guide .

An endpoint of type Interface establishes connections between the subnets in your VPC and an AWS service , your own service, or a service hosted by another AWS account . With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.

An endpoint of type gateway serves as a target for a route in your route table for traffic destined for Amazon S3 or DynamoDB . You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to Amazon S3 , see Why can’t I connect to an S3 bucket using a gateway VPC endpoint?

An endpoint of type GatewayLoadBalancer provides private connectivity between your VPC and virtual appliances from a service provider.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html

CloudformationResource:

AWS::EC2::VPCEndpoint

Mixin:

true

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview import mixins
from aws_cdk.mixins_preview.aws_ec2 import mixins as ec2_mixins

# policy_document: Any

cfn_vPCEndpoint_props_mixin = ec2_mixins.CfnVPCEndpointPropsMixin(ec2_mixins.CfnVPCEndpointMixinProps(
    dns_options=ec2_mixins.CfnVPCEndpointPropsMixin.DnsOptionsSpecificationProperty(
        dns_record_ip_type="dnsRecordIpType",
        private_dns_only_for_inbound_resolver_endpoint="privateDnsOnlyForInboundResolverEndpoint",
        private_dns_preference="privateDnsPreference",
        private_dns_specified_domains=["privateDnsSpecifiedDomains"]
    ),
    ip_address_type="ipAddressType",
    policy_document=policy_document,
    private_dns_enabled=False,
    resource_configuration_arn="resourceConfigurationArn",
    route_table_ids=["routeTableIds"],
    security_group_ids=["securityGroupIds"],
    service_name="serviceName",
    service_network_arn="serviceNetworkArn",
    service_region="serviceRegion",
    subnet_ids=["subnetIds"],
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    vpc_endpoint_type="vpcEndpointType",
    vpc_id="vpcId"
),
    strategy=mixins.PropertyMergeStrategy.OVERRIDE
)

Create a mixin to apply properties to AWS::EC2::VPCEndpoint.

Parameters:
  • props (Union[CfnVPCEndpointMixinProps, Dict[str, Any]]) – L1 properties to apply.

  • strategy (Optional[PropertyMergeStrategy]) – (experimental) Strategy for merging nested properties. Default: - PropertyMergeStrategy.MERGE

Methods

apply_to(construct)

Apply the mixin properties to the construct.

Parameters:

construct (IConstruct)

Return type:

IConstruct

supports(construct)

Check if this mixin supports the given construct.

Parameters:

construct (IConstruct)

Return type:

bool

Attributes

CFN_PROPERTY_KEYS = ['dnsOptions', 'ipAddressType', 'policyDocument', 'privateDnsEnabled', 'resourceConfigurationArn', 'routeTableIds', 'securityGroupIds', 'serviceName', 'serviceNetworkArn', 'serviceRegion', 'subnetIds', 'tags', 'vpcEndpointType', 'vpcId']

Static Methods

classmethod is_mixin(x)

(experimental) Checks if x is a Mixin.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Mixin.

Stability:

experimental

DnsOptionsSpecificationProperty

class CfnVPCEndpointPropsMixin.DnsOptionsSpecificationProperty(*, dns_record_ip_type=None, private_dns_only_for_inbound_resolver_endpoint=None, private_dns_preference=None, private_dns_specified_domains=None)

Bases: object

Describes the DNS options for an endpoint.

Parameters:
  • dns_record_ip_type (Optional[str]) – The DNS records created for the endpoint.

  • private_dns_only_for_inbound_resolver_endpoint (Optional[str]) – Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.

  • private_dns_preference (Optional[str]) – The preference for which private domains have a private hosted zone created for and associated with the specified VPC. Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.

  • private_dns_specified_domains (Optional[Sequence[str]]) – Indicates which of the private domains to create private hosted zones for and associate with the specified VPC. Only supported when private DNS is enabled and the private DNS preference is VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS or SPECIFIED_DOMAINS_ONLY .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_ec2 import mixins as ec2_mixins

dns_options_specification_property = ec2_mixins.CfnVPCEndpointPropsMixin.DnsOptionsSpecificationProperty(
    dns_record_ip_type="dnsRecordIpType",
    private_dns_only_for_inbound_resolver_endpoint="privateDnsOnlyForInboundResolverEndpoint",
    private_dns_preference="privateDnsPreference",
    private_dns_specified_domains=["privateDnsSpecifiedDomains"]
)

Attributes

dns_record_ip_type

The DNS records created for the endpoint.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-dnsrecordiptype

private_dns_only_for_inbound_resolver_endpoint

Indicates whether to enable private DNS only for inbound endpoints.

This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-privatednsonlyforinboundresolverendpoint

private_dns_preference

The preference for which private domains have a private hosted zone created for and associated with the specified VPC.

Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-privatednspreference

private_dns_specified_domains

Indicates which of the private domains to create private hosted zones for and associate with the specified VPC.

Only supported when private DNS is enabled and the private DNS preference is VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS or SPECIFIED_DOMAINS_ONLY .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-privatednsspecifieddomains