AWSTemplateFormatVersion: "2010-09-09"
Description: Sample template describing an Amazon Route 53 hosted zone. (uksb-1q9p31idr)
Parameters:
AppNameTagValue:
Description: 'Specify a value for the AppName tag, that will be applied to your infrastructure resources that support tags; minimum length: 3, maximum: 50.'
Type: String
Default: AWS CloudFormation Workshop - example app
MaxLength: 50
MinLength: 3
Env:
Description: The type of environment with which to tag your infrastructure resources that support tags.
Type: String
AllowedValues:
- dev
- qa
- prod
Default: dev
HostedZoneDescription:
Description: Please specify a description for your hosted zone.
Type: String
Default: Example hosted zone
MaxLength: 50
MinLength: 3
HostedZoneName:
Description: Please specify a name for your hosted zone.
Type: String
Default: my-example-domain.com
MaxLength: 1024
MinLength: 1
NameTagValue:
Description: 'Specify a value for the Name tag, that will be applied to your infrastructure resources that support tags; minimum length: 3, maximum: 50.'
Type: String
Default: AWS CloudFormation Workshop
MaxLength: 50
MinLength: 3
NetworkStackName:
Description: The name of the CloudFormation stack you created for network resources.
Type: String
Default: cloudformation-workshop-dev-base-network
AllowedPattern: ^[a-zA-Z]{1}[a-zA-Z0-9-]*$
MaxLength: 128
MinLength: 1
Resources:
HostedZone:
Type: AWS::Route53::HostedZone
Properties:
HostedZoneConfig:
Comment: !Ref 'HostedZoneDescription'
HostedZoneTags:
- Key: Name
Value: !Ref 'NameTagValue'
- Key: AppName
Value: !Ref 'AppNameTagValue'
- Key: Env
Value: !Ref 'Env'
Name: !Ref 'HostedZoneName'
VPCs:
- VPCId: !ImportValue
Fn::Sub: ${NetworkStackName}-VpcId
VPCRegion: !Ref 'AWS::Region'
Outputs:
HostedZoneId:
Value: !Ref 'HostedZone'
Export:
Name: !Sub '${AWS::StackName}-HostedZoneId'
HostedZoneName:
Value: !Ref 'HostedZoneName'
Export:
Name: !Sub '${AWS::StackName}-HostedZoneName'