AWS::Cognito::UserPoolDomain - AWS CloudFormation

AWS::Cognito::UserPoolDomain

The AWS::Cognito::UserPoolDomain resource creates a new domain for a user pool.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Cognito::UserPoolDomain", "Properties" : { "CustomDomainConfig" : CustomDomainConfigType, "Domain" : String, "UserPoolId" : String } }

YAML

Type: AWS::Cognito::UserPoolDomain Properties: CustomDomainConfig: CustomDomainConfigType Domain: String UserPoolId: String

Properties

CustomDomainConfig

The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.

Required: No

Type: CustomDomainConfigType

Update requires: No interruption

Domain

The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: auth.example.com. If you're using a prefix domain, this field denotes the first part of the domain before .auth.[region].amazoncognito.com.

This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.

Required: Yes

Type: String

Pattern: ^[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?$

Minimum: 1

Maximum: 63

Update requires: Replacement

UserPoolId

The user pool ID for the user pool where you want to associate a user pool domain.

Required: Yes

Type: String

Pattern: [\w-]+_[0-9a-zA-Z]+

Minimum: 1

Maximum: 55

Update requires: Replacement

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns physicalResourceId, which is “Domain". For example:

{ "Ref": "your-test-domain" }

For the Amazon Cognito user pool domain your-test-domain, Ref returns the name of the user pool domain.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

CloudFrontDistribution

The Amazon CloudFront endpoint that you use as the target of the alias that you set up with your Domain Name Service (DNS) provider.

Id

The resource ID.

Examples

Creating a new custom domain for a user pool

The following example creates a custom domain, "my-test-user-pool-domain", in the referenced user pool.

JSON

{ "UserPoolDomain":{ "Type":"AWS::Cognito::UserPoolDomain", "Properties":{ "UserPoolId":{ "Ref":"UserPool" }, "Domain":"my-test-user-pool-domain.myapplication.com", "CustomDomainConfig":{ "CertificateArn":{ "Ref":"CertificateArn" } } } } }

YAML

UserPoolDomain: Type: AWS::Cognito::UserPoolDomain Properties: UserPoolId: !Ref UserPool Domain: "my-test-user-pool-domain.myapplication.com" CustomDomainConfig: CertificateArn: !Ref CertificateArn

Creating a new default domain for a user pool

The following example creates a new default domain, "my-test-user-pool-domain", in the referenced user pool.

JSON

{ "UserPoolDomain":{ "Type":"AWS::Cognito::UserPoolDomain", "Properties":{ "UserPoolId":{ "Ref":"UserPool" }, "Domain":"my-test-user-pool-domain" } } }

YAML

UserPoolDomain: Type: AWS::Cognito::UserPoolDomain Properties: UserPoolId: !Ref UserPool Domain: "my-test-user-pool-domain"