AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. For more information see the AWS CLI version 2 installation instructions and migration guide.
[ aws . apigateway ]
create-domain-name
--domain-name <value>
[--certificate-name <value>]
[--certificate-body <value>]
[--certificate-private-key <value>]
[--certificate-chain <value>]
[--certificate-arn <value>]
[--regional-certificate-name <value>]
[--regional-certificate-arn <value>]
[--endpoint-configuration <value>]
[--tags <value>]
[--security-policy <value>]
[--mutual-tls-authentication <value>]
[--ownership-verification-certificate-arn <value>]
[--policy <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
--domain-name
(string)
The name of the DomainName resource.
--certificate-name
(string)
The user-friendly name of the certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.
--certificate-body
(string)
[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.
--certificate-private-key
(string)
[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.
--certificate-chain
(string)
[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.
--certificate-arn
(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.
--regional-certificate-name
(string)
The user-friendly name of the certificate that will be used by regional endpoint for this domain name.
--regional-certificate-arn
(string)
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.
--endpoint-configuration
(structure)
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 isREGIONAL
. For a private API, the endpoint type isPRIVATE
.(string)
The endpoint type. The valid values areEDGE
for edge-optimized API setup, most suitable for mobile applications;REGIONAL
for regional API endpoint setup, most suitable for calling from AWS Region; andPRIVATE
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)
Shorthand Syntax:
types=string,string,vpcEndpointIds=string,string
JSON Syntax:
{
"types": ["REGIONAL"|"EDGE"|"PRIVATE", ...],
"vpcEndpointIds": ["string", ...]
}
--tags
(map)
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.key -> (string)
value -> (string)
Shorthand Syntax:
KeyName1=string,KeyName2=string
JSON Syntax:
{"string": "string"
...}
--security-policy
(string)
The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
TLS_1_0
andTLS_1_2
.Possible values:
TLS_1_0
TLS_1_2
--mutual-tls-authentication
(structure)
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 examples3://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
Shorthand Syntax:
truststoreUri=string,truststoreVersion=string
JSON Syntax:
{
"truststoreUri": "string",
"truststoreVersion": "string"
}
--ownership-verification-certificate-arn
(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.
--policy
(string)
A stringified JSON policy document that applies to theexecute-api
service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.
--cli-input-json
(string)
Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
--debug
(boolean)
Turn on debug logging.
--endpoint-url
(string)
Override command's default URL with the given URL.
--no-verify-ssl
(boolean)
By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.
--no-paginate
(boolean)
Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.
--output
(string)
The formatting style for command output.
--query
(string)
A JMESPath query to use in filtering the response data.
--profile
(string)
Use a specific profile from your credential file.
--region
(string)
The region to use. Overrides config/env settings.
--version
(string)
Display the version of this tool.
--color
(string)
Turn on/off color output.
--no-sign-request
(boolean)
Do not sign requests. Credentials will not be loaded if this argument is provided.
--ca-bundle
(string)
The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.
--cli-read-timeout
(int)
The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.
--cli-connect-timeout
(int)
The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal's quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
To create the custom domain name
Command:
aws apigateway create-domain-name --domain-name 'my.domain.tld' --certificate-name 'my.domain.tld cert' --certificate-arn 'arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3'
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 -> (timestamp)
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 isZ2FDTNDATAQYW2
for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.
endpointConfiguration -> (structure)
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 isREGIONAL
. For a private API, the endpoint type isPRIVATE
.(string)
The endpoint type. The valid values areEDGE
for edge-optimized API setup, most suitable for mobile applications;REGIONAL
for regional API endpoint setup, most suitable for calling from AWS Region; andPRIVATE
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 areAVAILABLE
andUPDATING
. If the status isUPDATING
, the domain cannot be modified further until the existing operation is complete. If it isAVAILABLE
, 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 areTLS_1_0
andTLS_1_2
.
tags -> (map)
The collection of tags. Each tag element is associated with a given resource.
key -> (string)
value -> (string)
mutualTlsAuthentication -> (structure)
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 examples3://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 theexecute-api
service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.