CfnDomainNamePropsMixin

class aws_cdk.mixins_preview.aws_apigateway.mixins.CfnDomainNamePropsMixin(props, *, strategy=None)

Bases: Mixin

The AWS::ApiGateway::DomainName resource specifies a public custom domain name for your API in API Gateway.

To create a custom domain name for private APIs, use AWS::ApiGateway::DomainNameV2 .

You can use a custom domain name to provide a URL that’s more intuitive and easier to recall. For more information about using custom domain names, see Set up Custom Domain Name for an API in API Gateway in the API Gateway Developer Guide .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html

CloudformationResource:

AWS::ApiGateway::DomainName

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_apigateway import mixins as apigateway_mixins

cfn_domain_name_props_mixin = apigateway_mixins.CfnDomainNamePropsMixin(apigateway_mixins.CfnDomainNameMixinProps(
    certificate_arn="certificateArn",
    domain_name="domainName",
    endpoint_access_mode="endpointAccessMode",
    endpoint_configuration=apigateway_mixins.CfnDomainNamePropsMixin.EndpointConfigurationProperty(
        ip_address_type="ipAddressType",
        types=["types"]
    ),
    mutual_tls_authentication=apigateway_mixins.CfnDomainNamePropsMixin.MutualTlsAuthenticationProperty(
        truststore_uri="truststoreUri",
        truststore_version="truststoreVersion"
    ),
    ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
    regional_certificate_arn="regionalCertificateArn",
    routing_mode="routingMode",
    security_policy="securityPolicy",
    tags=[CfnTag(
        key="key",
        value="value"
    )]
),
    strategy=mixins.PropertyMergeStrategy.OVERRIDE
)

Create a mixin to apply properties to AWS::ApiGateway::DomainName.

Parameters:
  • props (Union[CfnDomainNameMixinProps, 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 = ['certificateArn', 'domainName', 'endpointAccessMode', 'endpointConfiguration', 'mutualTlsAuthentication', 'ownershipVerificationCertificateArn', 'regionalCertificateArn', 'routingMode', 'securityPolicy', 'tags']

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

EndpointConfigurationProperty

class CfnDomainNamePropsMixin.EndpointConfigurationProperty(*, ip_address_type=None, types=None)

Bases: object

The EndpointConfiguration property type specifies the endpoint types and IP address types of an Amazon API Gateway domain name.

EndpointConfiguration is a property of the AWS::ApiGateway::DomainName resource.

Parameters:
  • ip_address_type (Optional[str]) – The IP address types that can invoke this DomainName. Use ipv4 to allow only IPv4 addresses to invoke this DomainName, or use dualstack to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the PRIVATE endpoint type, only dualstack is supported.

  • types (Optional[Sequence[str]]) – A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is "EDGE" . For a regional API and its custom domain name, the endpoint type is REGIONAL . For a private API, the endpoint type is PRIVATE .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.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_apigateway import mixins as apigateway_mixins

endpoint_configuration_property = apigateway_mixins.CfnDomainNamePropsMixin.EndpointConfigurationProperty(
    ip_address_type="ipAddressType",
    types=["types"]
)

Attributes

ip_address_type

The IP address types that can invoke this DomainName.

Use ipv4 to allow only IPv4 addresses to invoke this DomainName, or use dualstack to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the PRIVATE endpoint type, only dualstack is supported.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-ipaddresstype

types

A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).

For an edge-optimized API and its custom domain name, the endpoint type is "EDGE" . For a regional API and its custom domain name, the endpoint type is REGIONAL . For a private API, the endpoint type is PRIVATE .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-types

MutualTlsAuthenticationProperty

class CfnDomainNamePropsMixin.MutualTlsAuthenticationProperty(*, truststore_uri=None, truststore_version=None)

Bases: object

The mutual TLS authentication configuration for a custom domain name.

If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.

Parameters:
  • truststore_uri (Optional[str]) – An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example s3://bucket-name/key-name . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.

  • truststore_version (Optional[str]) – The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.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_apigateway import mixins as apigateway_mixins

mutual_tls_authentication_property = apigateway_mixins.CfnDomainNamePropsMixin.MutualTlsAuthenticationProperty(
    truststore_uri="truststoreUri",
    truststore_version="truststoreVersion"
)

Attributes

truststore_uri

An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example s3://bucket-name/key-name .

The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreuri

truststore_version

The version of the S3 object that contains your truststore.

To specify a version, you must have versioning enabled for the S3 bucket.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreversion