CreateDomainAssociation - Amplify

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: