CreateDomainAssociation
Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app
Request Syntax
POST /apps/appId
/domains HTTP/1.1
Content-type: application/json
{
"autoSubDomainCreationPatterns": [ "string
" ],
"autoSubDomainIAMRole": "string
",
"certificateSettings": {
"customCertificateArn": "string
",
"type": "string
"
},
"domainName": "string
",
"enableAutoSubDomain": boolean
,
"subDomainSettings": [
{
"branchName": "string
",
"prefix": "string
"
}
]
}
URI Request Parameters
The request uses the following URI parameters.
- appId
-
The unique ID for an Amplify app.
Length Constraints: Minimum length of 1. Maximum length of 20.
Pattern:
d[a-z0-9]+
Required: Yes
Request Body
The request accepts the following data in JSON format.
- autoSubDomainCreationPatterns
-
Sets the branch patterns for automatic subdomain creation.
Type: Array of strings
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
(?s).+
Required: No
- autoSubDomainIAMRole
-
The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains.
Type: String
Length Constraints: Maximum length of 1000.
Pattern:
^$|^arn:aws:iam::\d{12}:role.+
Required: No
- certificateSettings
-
The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.
Type: CertificateSettings object
Required: No
- domainName
-
The domain name for the domain association.
Type: String
Length Constraints: Maximum length of 64.
Pattern:
^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\.)?$
Required: Yes
- enableAutoSubDomain
-
Enables the automated creation of subdomains for branches.
Type: Boolean
Required: No
- subDomainSettings
-
The setting for the subdomain.
Type: Array of SubDomainSetting objects
Array Members: Maximum number of 500 items.
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"domainAssociation": {
"autoSubDomainCreationPatterns": [ "string" ],
"autoSubDomainIAMRole": "string",
"certificate": {
"certificateVerificationDNSRecord": "string",
"customCertificateArn": "string",
"type": "string"
},
"certificateVerificationDNSRecord": "string",
"domainAssociationArn": "string",
"domainName": "string",
"domainStatus": "string",
"enableAutoSubDomain": boolean,
"statusReason": "string",
"subDomains": [
{
"dnsRecord": "string",
"subDomainSetting": {
"branchName": "string",
"prefix": "string"
},
"verified": boolean
}
],
"updateStatus": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- domainAssociation
-
Describes the structure of a domain association, which associates a custom domain with an Amplify app.
Type: DomainAssociation object
Errors
For information about the errors that are common to all actions, see Common Errors.
- BadRequestException
-
A request contains unexpected data.
HTTP Status Code: 400
- DependentServiceFailureException
-
An operation failed because a dependent service threw an exception.
HTTP Status Code: 503
- InternalFailureException
-
The service failed to perform an operation due to an internal issue.
HTTP Status Code: 500
- LimitExceededException
-
A resource could not be created because service quotas were exceeded.
HTTP Status Code: 429
- NotFoundException
-
An entity was not found during an operation.
HTTP Status Code: 404
- UnauthorizedException
-
An operation failed due to a lack of access.
HTTP Status Code: 401
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: