This PR enable customers to easily manage their DNS records in a secure way.
SDLC organization update
A DNS root domain (yourdomain.com for instance) is created in main account thanks to the specification of a new props for SDLC organization: rootHostedZoneDNSName (PS: nothing change if not specified).
A set of sub zone will be created for each stage (dev.yourdomain.com for the case of Dev account) in main account as well as a role (Dev.yourdomain.com-dns-update for the case of Dev account) assumable only by the specific stage account and only permitted to modify its stage sub zone.
Each stage will be added as delegated administrator to be able to listAccounts and auto resolve root zone dns hosting account
A app sub zone (landingpage.dev.yourdomain.com) will be created in each stage account
A NS record (landingpage.dev.yourdomain.com) will be created in each stage sub zone hosted in main account to point to the previously mentioned app sub zone (landingpage.dev.yourdomain.com) hosted in each stage account
the app sub zone can then be used has a standard zone in route53 such as creating SSL certificate with auto validation, CNAME to cloudfront etc.
Context
This PR enable customers to easily manage their DNS records in a secure way.
SDLC organization update
yourdomain.com
for instance) is created in main account thanks to the specification of a new props for SDLC organization:rootHostedZoneDNSName
(PS: nothing change if not specified).dev.yourdomain.com
for the case of Dev account) in main account as well as a role (Dev.yourdomain.com-dns-update
for the case of Dev account) assumable only by the specific stage account and only permitted to modify its stage sub zone.app level API update
Then the client can simply add
landingpage.dev.yourdomain.com
) will be created in each stage accountNS
record (landingpage.dev.yourdomain.com
) will be created in each stage sub zone hosted in main account to point to the previously mentioned app sub zone (landingpage.dev.yourdomain.com
) hosted in each stage accountUnit tests
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.