--- AWSTemplateFormatVersion: 2010-09-09 Description: "This template deploys A records in a given route53 hosted zone (qs-1snm79fdq)." Metadata: LintSpellExclude: - Discngine - 3decision Parameters: HostedZoneId: Type: String DomainName: Type: String MainSubdomain: Type: String ApiSubdomain: Type: String HelpSubdomain: Type: String Mappings: Config: Prefix: { Value: 'eks-quickstart' } Resources: DNSName: Type: Custom::CliQuery Properties: ServiceToken: !Sub ['arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:${Prefix}-ResourceReader', {Prefix: !FindInMap [Config, Prefix, Value]}] AwsCliCommand: "elbv2 describe-load-balancers --names lb-3dec --query 'LoadBalancers[0].{DNSName: DNSName}'" IdField: 'DNSName' CanonicalHostedZoneId: Type: Custom::CliQuery Properties: ServiceToken: !Sub ['arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:${Prefix}-ResourceReader', {Prefix: !FindInMap [Config, Prefix, Value]}] AwsCliCommand: "elbv2 describe-load-balancers --names lb-3dec --query 'LoadBalancers[0].{CanonicalHostedZoneId: CanonicalHostedZoneId}'" IdField: 'CanonicalHostedZoneId' tdecRecord: Type: "AWS::Route53::RecordSet" Properties: AliasTarget: DNSName: !Ref DNSName EvaluateTargetHealth: true HostedZoneId: !Ref CanonicalHostedZoneId HostedZoneId: !Ref HostedZoneId Name: !Sub "${MainSubdomain}.${DomainName}" Type: A apiRecord: Type: "AWS::Route53::RecordSet" Properties: AliasTarget: DNSName: !Ref DNSName EvaluateTargetHealth: true HostedZoneId: !Ref CanonicalHostedZoneId HostedZoneId: !Ref HostedZoneId Name: !Sub "${ApiSubdomain}.${DomainName}" Type: A wikiRecord: Type: "AWS::Route53::RecordSet" Properties: AliasTarget: DNSName: !Ref DNSName EvaluateTargetHealth: true HostedZoneId: !Ref CanonicalHostedZoneId HostedZoneId: !Ref HostedZoneId Name: !Sub "${HelpSubdomain}.${DomainName}" Type: A