Amazon API Gateway

2024/11/22 - Amazon API Gateway - 4 new10 updated api methods

Changes  Added support for custom domain names for private APIs.

CreateDomainNameAccessAssociation (new) Link ¶

Creates a domain name access association resource between an access association source and a private custom domain name.

See also: AWS API Documentation

Request Syntax

client.create_domain_name_access_association(
    domainNameArn='string',
    accessAssociationSourceType='VPCE',
    accessAssociationSource='string',
    tags={
        'string': 'string'
    }
)
type domainNameArn:

string

param domainNameArn:

[REQUIRED]

The ARN of the domain name.

type accessAssociationSourceType:

string

param accessAssociationSourceType:

[REQUIRED]

The type of the domain name access association source.

type accessAssociationSource:

string

param accessAssociationSource:

[REQUIRED]

The identifier of the domain name access association source. For a VPCE, the value is the VPC endpoint ID.

type tags:

dict

param tags:

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'domainNameAccessAssociationArn': 'string',
    'domainNameArn': 'string',
    'accessAssociationSourceType': 'VPCE',
    'accessAssociationSource': 'string',
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    Represents a domain name access association between an access association source and a private custom domain name. With a domain name access association, an access association source can invoke a private custom domain name while isolated from the public internet.

    • domainNameAccessAssociationArn (string) --

      The ARN of the domain name access association resource.

    • domainNameArn (string) --

      The ARN of the domain name.

    • accessAssociationSourceType (string) --

      The type of the domain name access association source.

    • accessAssociationSource (string) --

      The ARN of the domain name access association source. For a VPCE, the ARN must be a VPC endpoint.

    • tags (dict) --

      The collection of tags. Each tag element is associated with a given resource.

      • (string) --

        • (string) --

RejectDomainNameAccessAssociation (new) Link ¶

Rejects a domain name access association with a private custom domain name.

To reject a domain name access association with an access association source in another AWS account, use this operation. To remove a domain name access association with an access association source in your own account, use the DeleteDomainNameAccessAssociation operation.

See also: AWS API Documentation

Request Syntax

client.reject_domain_name_access_association(
    domainNameAccessAssociationArn='string',
    domainNameArn='string'
)
type domainNameAccessAssociationArn:

string

param domainNameAccessAssociationArn:

[REQUIRED]

The ARN of the domain name access association resource.

type domainNameArn:

string

param domainNameArn:

[REQUIRED]

The ARN of the domain name.

returns:

None

DeleteDomainNameAccessAssociation (new) Link ¶

Deletes the DomainNameAccessAssociation resource.

Only the AWS account that created the DomainNameAccessAssociation resource can delete it. To stop an access association source in another AWS account from accessing your private custom domain name, use the RejectDomainNameAccessAssociation operation.

See also: AWS API Documentation

Request Syntax

client.delete_domain_name_access_association(
    domainNameAccessAssociationArn='string'
)
type domainNameAccessAssociationArn:

string

param domainNameAccessAssociationArn:

[REQUIRED]

The ARN of the domain name access association resource.

returns:

None

GetDomainNameAccessAssociations (new) Link ¶

Represents a collection on DomainNameAccessAssociations resources.

See also: AWS API Documentation

Request Syntax

client.get_domain_name_access_associations(
    position='string',
    limit=123,
    resourceOwner='SELF'|'OTHER_ACCOUNTS'
)
type position:

string

param position:

The current pagination position in the paged result set.

type limit:

integer

param limit:

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

type resourceOwner:

string

param resourceOwner:

The owner of the domain name access association. Use SELF to only list the domain name access associations owned by your own account. Use OTHER_ACCOUNTS to list the domain name access associations with your private custom domain names that are owned by other AWS accounts.

rtype:

dict

returns:

Response Syntax

{
    'position': 'string',
    'items': [
        {
            'domainNameAccessAssociationArn': 'string',
            'domainNameArn': 'string',
            'accessAssociationSourceType': 'VPCE',
            'accessAssociationSource': 'string',
            'tags': {
                'string': 'string'
            }
        },
    ]
}

Response Structure

  • (dict) --

    • position (string) --

    • items (list) --

      The current page of elements from this collection.

      • (dict) --

        Represents a domain name access association between an access association source and a private custom domain name. With a domain name access association, an access association source can invoke a private custom domain name while isolated from the public internet.

        • domainNameAccessAssociationArn (string) --

          The ARN of the domain name access association resource.

        • domainNameArn (string) --

          The ARN of the domain name.

        • accessAssociationSourceType (string) --

          The type of the domain name access association source.

        • accessAssociationSource (string) --

          The ARN of the domain name access association source. For a VPCE, the ARN must be a VPC endpoint.

        • tags (dict) --

          The collection of tags. Each tag element is associated with a given resource.

          • (string) --

            • (string) --

CreateBasePathMapping (updated) Link ¶
Changes (request)
{'domainNameId': 'string'}

Creates a new BasePathMapping resource.

See also: AWS API Documentation

Request Syntax

client.create_base_path_mapping(
    domainName='string',
    domainNameId='string',
    basePath='string',
    restApiId='string',
    stage='string'
)
type domainName:

string

param domainName:

[REQUIRED]

The domain name of the BasePathMapping resource to create.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

type basePath:

string

param basePath:

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify a base path name after the domain name.

type restApiId:

string

param restApiId:

[REQUIRED]

The string identifier of the associated RestApi.

type stage:

string

param stage:

The name of the API's stage that you want to use for this mapping. Specify '(none)' if you want callers to explicitly specify the stage name after any base path name.

rtype:

dict

returns:

Response Syntax

{
    'basePath': 'string',
    'restApiId': 'string',
    'stage': 'string'
}

Response Structure

  • (dict) --

    Represents the base path that callers of the API must provide as part of the URL after the domain name.

    • basePath (string) --

      The base path name that callers of the API must provide as part of the URL after the domain name.

    • restApiId (string) --

      The string identifier of the associated RestApi.

    • stage (string) --

      The name of the associated stage.

CreateDomainName (updated) Link ¶
Changes (request, response)
Request
{'policy': 'string'}
Response
{'domainNameArn': 'string',
 'domainNameId': 'string',
 'managementPolicy': 'string',
 'policy': 'string'}

Creates a new domain name.

See also: AWS API Documentation

Request Syntax

client.create_domain_name(
    domainName='string',
    certificateName='string',
    certificateBody='string',
    certificatePrivateKey='string',
    certificateChain='string',
    certificateArn='string',
    regionalCertificateName='string',
    regionalCertificateArn='string',
    endpointConfiguration={
        'types': [
            'REGIONAL'|'EDGE'|'PRIVATE',
        ],
        'vpcEndpointIds': [
            'string',
        ]
    },
    tags={
        'string': 'string'
    },
    securityPolicy='TLS_1_0'|'TLS_1_2',
    mutualTlsAuthentication={
        'truststoreUri': 'string',
        'truststoreVersion': 'string'
    },
    ownershipVerificationCertificateArn='string',
    policy='string'
)
type domainName:

string

param domainName:

[REQUIRED]

The name of the DomainName resource.

type certificateName:

string

param certificateName:

The user-friendly name of the certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.

type certificateBody:

string

param certificateBody:

[Deprecated] The body of the server certificate that will be used by edge-optimized endpoint or private endpoint for this domain name provided by your certificate authority.

type certificatePrivateKey:

string

param certificatePrivateKey:

[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.

type certificateChain:

string

param certificateChain:

[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

type certificateArn:

string

param certificateArn:

The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.

type regionalCertificateName:

string

param regionalCertificateName:

The user-friendly name of the certificate that will be used by regional endpoint for this domain name.

type regionalCertificateArn:

string

param regionalCertificateArn:

The reference to an Amazon Web Services-managed certificate that will be used by regional endpoint for this domain name. Certificate Manager is the only supported source.

type endpointConfiguration:

dict

param endpointConfiguration:

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

  • types (list) --

    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.

    • (string) --

      The endpoint type. The valid values are EDGE for edge-optimized API setup, most suitable for mobile applications; REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region; and PRIVATE for private APIs.

  • vpcEndpointIds (list) --

    A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for PRIVATE endpoint type.

    • (string) --

type tags:

dict

param tags:

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

  • (string) --

    • (string) --

type securityPolicy:

string

param securityPolicy:

The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

type mutualTlsAuthentication:

dict

param mutualTlsAuthentication:

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.

  • truststoreUri (string) --

    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.

  • truststoreVersion (string) --

    The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket

type ownershipVerificationCertificateArn:

string

param ownershipVerificationCertificateArn:

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

type policy:

string

param policy:

A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.

rtype:

dict

returns:

Response Syntax

{
    'domainName': 'string',
    'domainNameId': 'string',
    'domainNameArn': 'string',
    'certificateName': 'string',
    'certificateArn': 'string',
    'certificateUploadDate': datetime(2015, 1, 1),
    'regionalDomainName': 'string',
    'regionalHostedZoneId': 'string',
    'regionalCertificateName': 'string',
    'regionalCertificateArn': 'string',
    'distributionDomainName': 'string',
    'distributionHostedZoneId': 'string',
    'endpointConfiguration': {
        'types': [
            'REGIONAL'|'EDGE'|'PRIVATE',
        ],
        'vpcEndpointIds': [
            'string',
        ]
    },
    'domainNameStatus': 'AVAILABLE'|'UPDATING'|'PENDING'|'PENDING_CERTIFICATE_REIMPORT'|'PENDING_OWNERSHIP_VERIFICATION',
    'domainNameStatusMessage': 'string',
    'securityPolicy': 'TLS_1_0'|'TLS_1_2',
    'tags': {
        'string': 'string'
    },
    'mutualTlsAuthentication': {
        'truststoreUri': 'string',
        'truststoreVersion': 'string',
        'truststoreWarnings': [
            'string',
        ]
    },
    'ownershipVerificationCertificateArn': 'string',
    'managementPolicy': 'string',
    'policy': 'string'
}

Response Structure

  • (dict) --

    Represents a custom domain name as a user-friendly host name of an API (RestApi).

    • domainName (string) --

      The custom domain name as an API host name, for example, my-api.example.com.

    • domainNameId (string) --

      The identifier for the domain name resource. Supported only for private custom domain names.

    • domainNameArn (string) --

      The ARN of the domain name. Supported only for private custom domain names.

    • certificateName (string) --

      The name of the certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.

    • certificateArn (string) --

      The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.

    • certificateUploadDate (datetime) --

      The timestamp when the certificate that was used by edge-optimized endpoint or private endpoint for this domain name was uploaded.

    • regionalDomainName (string) --

      The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

    • regionalHostedZoneId (string) --

      The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    • regionalCertificateName (string) --

      The name of the certificate that will be used for validating the regional domain name.

    • regionalCertificateArn (string) --

      The reference to an Amazon Web Services-managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.

    • distributionDomainName (string) --

      The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

    • distributionHostedZoneId (string) --

      The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    • endpointConfiguration (dict) --

      The endpoint configuration of this DomainName showing the endpoint types of the domain name.

      • types (list) --

        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.

        • (string) --

          The endpoint type. The valid values are EDGE for edge-optimized API setup, most suitable for mobile applications; REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region; and PRIVATE for private APIs.

      • vpcEndpointIds (list) --

        A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for PRIVATE endpoint type.

        • (string) --

    • domainNameStatus (string) --

      The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

    • domainNameStatusMessage (string) --

      An optional text message containing detailed information about status of the DomainName migration.

    • securityPolicy (string) --

      The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

    • tags (dict) --

      The collection of tags. Each tag element is associated with a given resource.

      • (string) --

        • (string) --

    • mutualTlsAuthentication (dict) --

      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.

      • truststoreUri (string) --

        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.

      • truststoreVersion (string) --

        The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.

      • truststoreWarnings (list) --

        A list of warnings that API Gateway returns while processing your truststore. Invalid certificates produce warnings. Mutual TLS is still enabled, but some clients might not be able to access your API. To resolve warnings, upload a new truststore to S3, and then update you domain name to use the new version.

        • (string) --

    • ownershipVerificationCertificateArn (string) --

      The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

    • managementPolicy (string) --

      A stringified JSON policy document that applies to the API Gateway Management service for this DomainName. This policy document controls access for access association sources to create domain name access associations with this DomainName. Supported only for private custom domain names.

    • policy (string) --

      A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.

DeleteBasePathMapping (updated) Link ¶
Changes (request)
{'domainNameId': 'string'}

Deletes the BasePathMapping resource.

See also: AWS API Documentation

Request Syntax

client.delete_base_path_mapping(
    domainName='string',
    domainNameId='string',
    basePath='string'
)
type domainName:

string

param domainName:

[REQUIRED]

The domain name of the BasePathMapping resource to delete.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

type basePath:

string

param basePath:

[REQUIRED]

The base path name of the BasePathMapping resource to delete.

To specify an empty base path, set this parameter to '(none)'.

returns:

None

DeleteDomainName (updated) Link ¶
Changes (request)
{'domainNameId': 'string'}

Deletes the DomainName resource.

See also: AWS API Documentation

Request Syntax

client.delete_domain_name(
    domainName='string',
    domainNameId='string'
)
type domainName:

string

param domainName:

[REQUIRED]

The name of the DomainName resource to be deleted.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

returns:

None

GetBasePathMapping (updated) Link ¶
Changes (request)
{'domainNameId': 'string'}

Describe a BasePathMapping resource.

See also: AWS API Documentation

Request Syntax

client.get_base_path_mapping(
    domainName='string',
    domainNameId='string',
    basePath='string'
)
type domainName:

string

param domainName:

[REQUIRED]

The domain name of the BasePathMapping resource to be described.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

type basePath:

string

param basePath:

[REQUIRED]

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.

rtype:

dict

returns:

Response Syntax

{
    'basePath': 'string',
    'restApiId': 'string',
    'stage': 'string'
}

Response Structure

  • (dict) --

    Represents the base path that callers of the API must provide as part of the URL after the domain name.

    • basePath (string) --

      The base path name that callers of the API must provide as part of the URL after the domain name.

    • restApiId (string) --

      The string identifier of the associated RestApi.

    • stage (string) --

      The name of the associated stage.

GetBasePathMappings (updated) Link ¶
Changes (request)
{'domainNameId': 'string'}

Represents a collection of BasePathMapping resources.

See also: AWS API Documentation

Request Syntax

client.get_base_path_mappings(
    domainName='string',
    domainNameId='string',
    position='string',
    limit=123
)
type domainName:

string

param domainName:

[REQUIRED]

The domain name of a BasePathMapping resource.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

type position:

string

param position:

The current pagination position in the paged result set.

type limit:

integer

param limit:

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

rtype:

dict

returns:

Response Syntax

{
    'position': 'string',
    'items': [
        {
            'basePath': 'string',
            'restApiId': 'string',
            'stage': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    Represents a collection of BasePathMapping resources.

    • position (string) --

    • items (list) --

      The current page of elements from this collection.

      • (dict) --

        Represents the base path that callers of the API must provide as part of the URL after the domain name.

        • basePath (string) --

          The base path name that callers of the API must provide as part of the URL after the domain name.

        • restApiId (string) --

          The string identifier of the associated RestApi.

        • stage (string) --

          The name of the associated stage.

GetDomainName (updated) Link ¶
Changes (request, response)
Request
{'domainNameId': 'string'}
Response
{'domainNameArn': 'string',
 'domainNameId': 'string',
 'managementPolicy': 'string',
 'policy': 'string'}

Represents a domain name that is contained in a simpler, more intuitive URL that can be called.

See also: AWS API Documentation

Request Syntax

client.get_domain_name(
    domainName='string',
    domainNameId='string'
)
type domainName:

string

param domainName:

[REQUIRED]

The name of the DomainName resource.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

rtype:

dict

returns:

Response Syntax

{
    'domainName': 'string',
    'domainNameId': 'string',
    'domainNameArn': 'string',
    'certificateName': 'string',
    'certificateArn': 'string',
    'certificateUploadDate': datetime(2015, 1, 1),
    'regionalDomainName': 'string',
    'regionalHostedZoneId': 'string',
    'regionalCertificateName': 'string',
    'regionalCertificateArn': 'string',
    'distributionDomainName': 'string',
    'distributionHostedZoneId': 'string',
    'endpointConfiguration': {
        'types': [
            'REGIONAL'|'EDGE'|'PRIVATE',
        ],
        'vpcEndpointIds': [
            'string',
        ]
    },
    'domainNameStatus': 'AVAILABLE'|'UPDATING'|'PENDING'|'PENDING_CERTIFICATE_REIMPORT'|'PENDING_OWNERSHIP_VERIFICATION',
    'domainNameStatusMessage': 'string',
    'securityPolicy': 'TLS_1_0'|'TLS_1_2',
    'tags': {
        'string': 'string'
    },
    'mutualTlsAuthentication': {
        'truststoreUri': 'string',
        'truststoreVersion': 'string',
        'truststoreWarnings': [
            'string',
        ]
    },
    'ownershipVerificationCertificateArn': 'string',
    'managementPolicy': 'string',
    'policy': 'string'
}

Response Structure

  • (dict) --

    Represents a custom domain name as a user-friendly host name of an API (RestApi).

    • domainName (string) --

      The custom domain name as an API host name, for example, my-api.example.com.

    • domainNameId (string) --

      The identifier for the domain name resource. Supported only for private custom domain names.

    • domainNameArn (string) --

      The ARN of the domain name. Supported only for private custom domain names.

    • certificateName (string) --

      The name of the certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.

    • certificateArn (string) --

      The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.

    • certificateUploadDate (datetime) --

      The timestamp when the certificate that was used by edge-optimized endpoint or private endpoint for this domain name was uploaded.

    • regionalDomainName (string) --

      The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

    • regionalHostedZoneId (string) --

      The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    • regionalCertificateName (string) --

      The name of the certificate that will be used for validating the regional domain name.

    • regionalCertificateArn (string) --

      The reference to an Amazon Web Services-managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.

    • distributionDomainName (string) --

      The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

    • distributionHostedZoneId (string) --

      The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    • endpointConfiguration (dict) --

      The endpoint configuration of this DomainName showing the endpoint types of the domain name.

      • types (list) --

        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.

        • (string) --

          The endpoint type. The valid values are EDGE for edge-optimized API setup, most suitable for mobile applications; REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region; and PRIVATE for private APIs.

      • vpcEndpointIds (list) --

        A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for PRIVATE endpoint type.

        • (string) --

    • domainNameStatus (string) --

      The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

    • domainNameStatusMessage (string) --

      An optional text message containing detailed information about status of the DomainName migration.

    • securityPolicy (string) --

      The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

    • tags (dict) --

      The collection of tags. Each tag element is associated with a given resource.

      • (string) --

        • (string) --

    • mutualTlsAuthentication (dict) --

      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.

      • truststoreUri (string) --

        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.

      • truststoreVersion (string) --

        The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.

      • truststoreWarnings (list) --

        A list of warnings that API Gateway returns while processing your truststore. Invalid certificates produce warnings. Mutual TLS is still enabled, but some clients might not be able to access your API. To resolve warnings, upload a new truststore to S3, and then update you domain name to use the new version.

        • (string) --

    • ownershipVerificationCertificateArn (string) --

      The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

    • managementPolicy (string) --

      A stringified JSON policy document that applies to the API Gateway Management service for this DomainName. This policy document controls access for access association sources to create domain name access associations with this DomainName. Supported only for private custom domain names.

    • policy (string) --

      A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.

GetDomainNames (updated) Link ¶
Changes (request, response)
Request
{'resourceOwner': 'SELF | OTHER_ACCOUNTS'}
Response
{'items': {'domainNameArn': 'string',
           'domainNameId': 'string',
           'managementPolicy': 'string',
           'policy': 'string'}}

Represents a collection of DomainName resources.

See also: AWS API Documentation

Request Syntax

client.get_domain_names(
    position='string',
    limit=123,
    resourceOwner='SELF'|'OTHER_ACCOUNTS'
)
type position:

string

param position:

The current pagination position in the paged result set.

type limit:

integer

param limit:

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

type resourceOwner:

string

param resourceOwner:

The owner of the domain name access association.

rtype:

dict

returns:

Response Syntax

{
    'position': 'string',
    'items': [
        {
            'domainName': 'string',
            'domainNameId': 'string',
            'domainNameArn': 'string',
            'certificateName': 'string',
            'certificateArn': 'string',
            'certificateUploadDate': datetime(2015, 1, 1),
            'regionalDomainName': 'string',
            'regionalHostedZoneId': 'string',
            'regionalCertificateName': 'string',
            'regionalCertificateArn': 'string',
            'distributionDomainName': 'string',
            'distributionHostedZoneId': 'string',
            'endpointConfiguration': {
                'types': [
                    'REGIONAL'|'EDGE'|'PRIVATE',
                ],
                'vpcEndpointIds': [
                    'string',
                ]
            },
            'domainNameStatus': 'AVAILABLE'|'UPDATING'|'PENDING'|'PENDING_CERTIFICATE_REIMPORT'|'PENDING_OWNERSHIP_VERIFICATION',
            'domainNameStatusMessage': 'string',
            'securityPolicy': 'TLS_1_0'|'TLS_1_2',
            'tags': {
                'string': 'string'
            },
            'mutualTlsAuthentication': {
                'truststoreUri': 'string',
                'truststoreVersion': 'string',
                'truststoreWarnings': [
                    'string',
                ]
            },
            'ownershipVerificationCertificateArn': 'string',
            'managementPolicy': 'string',
            'policy': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    Represents a collection of DomainName resources.

    • position (string) --

    • items (list) --

      The current page of elements from this collection.

      • (dict) --

        Represents a custom domain name as a user-friendly host name of an API (RestApi).

        • domainName (string) --

          The custom domain name as an API host name, for example, my-api.example.com.

        • domainNameId (string) --

          The identifier for the domain name resource. Supported only for private custom domain names.

        • domainNameArn (string) --

          The ARN of the domain name. Supported only for private custom domain names.

        • certificateName (string) --

          The name of the certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.

        • certificateArn (string) --

          The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.

        • certificateUploadDate (datetime) --

          The timestamp when the certificate that was used by edge-optimized endpoint or private endpoint for this domain name was uploaded.

        • regionalDomainName (string) --

          The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

        • regionalHostedZoneId (string) --

          The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

        • regionalCertificateName (string) --

          The name of the certificate that will be used for validating the regional domain name.

        • regionalCertificateArn (string) --

          The reference to an Amazon Web Services-managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.

        • distributionDomainName (string) --

          The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

        • distributionHostedZoneId (string) --

          The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

        • endpointConfiguration (dict) --

          The endpoint configuration of this DomainName showing the endpoint types of the domain name.

          • types (list) --

            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.

            • (string) --

              The endpoint type. The valid values are EDGE for edge-optimized API setup, most suitable for mobile applications; REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region; and PRIVATE for private APIs.

          • vpcEndpointIds (list) --

            A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for PRIVATE endpoint type.

            • (string) --

        • domainNameStatus (string) --

          The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

        • domainNameStatusMessage (string) --

          An optional text message containing detailed information about status of the DomainName migration.

        • securityPolicy (string) --

          The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

        • tags (dict) --

          The collection of tags. Each tag element is associated with a given resource.

          • (string) --

            • (string) --

        • mutualTlsAuthentication (dict) --

          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.

          • truststoreUri (string) --

            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.

          • truststoreVersion (string) --

            The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.

          • truststoreWarnings (list) --

            A list of warnings that API Gateway returns while processing your truststore. Invalid certificates produce warnings. Mutual TLS is still enabled, but some clients might not be able to access your API. To resolve warnings, upload a new truststore to S3, and then update you domain name to use the new version.

            • (string) --

        • ownershipVerificationCertificateArn (string) --

          The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

        • managementPolicy (string) --

          A stringified JSON policy document that applies to the API Gateway Management service for this DomainName. This policy document controls access for access association sources to create domain name access associations with this DomainName. Supported only for private custom domain names.

        • policy (string) --

          A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.

UpdateBasePathMapping (updated) Link ¶
Changes (request)
{'domainNameId': 'string'}

Changes information about the BasePathMapping resource.

See also: AWS API Documentation

Request Syntax

client.update_base_path_mapping(
    domainName='string',
    domainNameId='string',
    basePath='string',
    patchOperations=[
        {
            'op': 'add'|'remove'|'replace'|'move'|'copy'|'test',
            'path': 'string',
            'value': 'string',
            'from': 'string'
        },
    ]
)
type domainName:

string

param domainName:

[REQUIRED]

The domain name of the BasePathMapping resource to change.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

type basePath:

string

param basePath:

[REQUIRED]

The base path of the BasePathMapping resource to change.

To specify an empty base path, set this parameter to '(none)'.

type patchOperations:

list

param patchOperations:

For more information about supported patch operations, see Patch Operations.

  • (dict) --

    For more information about supported patch operations, see Patch Operations.

    • op (string) --

      An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message..

    • path (string) --

      The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

    • value (string) --

      The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'.

    • from (string) --

      The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

rtype:

dict

returns:

Response Syntax

{
    'basePath': 'string',
    'restApiId': 'string',
    'stage': 'string'
}

Response Structure

  • (dict) --

    Represents the base path that callers of the API must provide as part of the URL after the domain name.

    • basePath (string) --

      The base path name that callers of the API must provide as part of the URL after the domain name.

    • restApiId (string) --

      The string identifier of the associated RestApi.

    • stage (string) --

      The name of the associated stage.

UpdateDomainName (updated) Link ¶
Changes (request, response)
Request
{'domainNameId': 'string'}
Response
{'domainNameArn': 'string',
 'domainNameId': 'string',
 'managementPolicy': 'string',
 'policy': 'string'}

Changes information about the DomainName resource.

See also: AWS API Documentation

Request Syntax

client.update_domain_name(
    domainName='string',
    domainNameId='string',
    patchOperations=[
        {
            'op': 'add'|'remove'|'replace'|'move'|'copy'|'test',
            'path': 'string',
            'value': 'string',
            'from': 'string'
        },
    ]
)
type domainName:

string

param domainName:

[REQUIRED]

The name of the DomainName resource to be changed.

type domainNameId:

string

param domainNameId:

The identifier for the domain name resource. Supported only for private custom domain names.

type patchOperations:

list

param patchOperations:

For more information about supported patch operations, see Patch Operations.

  • (dict) --

    For more information about supported patch operations, see Patch Operations.

    • op (string) --

      An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message..

    • path (string) --

      The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

    • value (string) --

      The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'.

    • from (string) --

      The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

rtype:

dict

returns:

Response Syntax

{
    'domainName': 'string',
    'domainNameId': 'string',
    'domainNameArn': 'string',
    'certificateName': 'string',
    'certificateArn': 'string',
    'certificateUploadDate': datetime(2015, 1, 1),
    'regionalDomainName': 'string',
    'regionalHostedZoneId': 'string',
    'regionalCertificateName': 'string',
    'regionalCertificateArn': 'string',
    'distributionDomainName': 'string',
    'distributionHostedZoneId': 'string',
    'endpointConfiguration': {
        'types': [
            'REGIONAL'|'EDGE'|'PRIVATE',
        ],
        'vpcEndpointIds': [
            'string',
        ]
    },
    'domainNameStatus': 'AVAILABLE'|'UPDATING'|'PENDING'|'PENDING_CERTIFICATE_REIMPORT'|'PENDING_OWNERSHIP_VERIFICATION',
    'domainNameStatusMessage': 'string',
    'securityPolicy': 'TLS_1_0'|'TLS_1_2',
    'tags': {
        'string': 'string'
    },
    'mutualTlsAuthentication': {
        'truststoreUri': 'string',
        'truststoreVersion': 'string',
        'truststoreWarnings': [
            'string',
        ]
    },
    'ownershipVerificationCertificateArn': 'string',
    'managementPolicy': 'string',
    'policy': 'string'
}

Response Structure

  • (dict) --

    Represents a custom domain name as a user-friendly host name of an API (RestApi).

    • domainName (string) --

      The custom domain name as an API host name, for example, my-api.example.com.

    • domainNameId (string) --

      The identifier for the domain name resource. Supported only for private custom domain names.

    • domainNameArn (string) --

      The ARN of the domain name. Supported only for private custom domain names.

    • certificateName (string) --

      The name of the certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.

    • certificateArn (string) --

      The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.

    • certificateUploadDate (datetime) --

      The timestamp when the certificate that was used by edge-optimized endpoint or private endpoint for this domain name was uploaded.

    • regionalDomainName (string) --

      The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

    • regionalHostedZoneId (string) --

      The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    • regionalCertificateName (string) --

      The name of the certificate that will be used for validating the regional domain name.

    • regionalCertificateArn (string) --

      The reference to an Amazon Web Services-managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.

    • distributionDomainName (string) --

      The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

    • distributionHostedZoneId (string) --

      The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    • endpointConfiguration (dict) --

      The endpoint configuration of this DomainName showing the endpoint types of the domain name.

      • types (list) --

        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.

        • (string) --

          The endpoint type. The valid values are EDGE for edge-optimized API setup, most suitable for mobile applications; REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region; and PRIVATE for private APIs.

      • vpcEndpointIds (list) --

        A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for PRIVATE endpoint type.

        • (string) --

    • domainNameStatus (string) --

      The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

    • domainNameStatusMessage (string) --

      An optional text message containing detailed information about status of the DomainName migration.

    • securityPolicy (string) --

      The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

    • tags (dict) --

      The collection of tags. Each tag element is associated with a given resource.

      • (string) --

        • (string) --

    • mutualTlsAuthentication (dict) --

      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.

      • truststoreUri (string) --

        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.

      • truststoreVersion (string) --

        The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.

      • truststoreWarnings (list) --

        A list of warnings that API Gateway returns while processing your truststore. Invalid certificates produce warnings. Mutual TLS is still enabled, but some clients might not be able to access your API. To resolve warnings, upload a new truststore to S3, and then update you domain name to use the new version.

        • (string) --

    • ownershipVerificationCertificateArn (string) --

      The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

    • managementPolicy (string) --

      A stringified JSON policy document that applies to the API Gateway Management service for this DomainName. This policy document controls access for access association sources to create domain name access associations with this DomainName. Supported only for private custom domain names.

    • policy (string) --

      A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.