infrastructure/custom-domain/custom-domain.yaml (42 lines of code) (raw):
AWSTemplateFormatVersion: 2010-09-09
Description: AWS ParallelCluster UI - Custom Domain
Parameters:
CustomDomainName:
Description: Custom domain name.
Type: String
AllowedPattern: ^(\*\.)?(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$
MinLength: 1
MaxLength: 253
HostedZoneId:
Description: HostedZoneId
Type: AWS::Route53::HostedZone::Id
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: Domain
Parameters:
- CustomDomainName
- Label:
default: Networking
Parameters:
- HostedZoneId
Resources:
CustomDomainCertificate:
Type: AWS::CertificateManager::Certificate
Properties:
DomainName: !Ref CustomDomainName
DomainValidationOptions:
- DomainName: !Ref CustomDomainName
HostedZoneId: !Ref HostedZoneId
KeyAlgorithm: RSA_2048
SubjectAlternativeNames:
- !Sub "*.${CustomDomainName}"
ValidationMethod: DNS
Outputs:
CustomDomainName:
Value: !Ref CustomDomainName
Description: Custom domain name.
CustomDomainCertificate:
Value: !Ref CustomDomainCertificate
Description: ACM certificate to certify the custom domain name and its subdomains.