@@ -99,6 +99,11 @@ const getConfig = (inputs, state) => {
9999 config . domainHostedZoneId = config . domain ? state . domainHostedZoneId : null
100100 config . certificateArn = state . certificateArn
101101
102+ // for alternate cloudfront CNAME domains
103+ config . alternateDomainNames = inputs . alternateDomainNames
104+ ? inputs . alternateDomainNames . split ( ',' )
105+ : null
106+
102107 // if user input example.com, make sure we also setup www.example.com
103108 if ( config . domain && config . domain === config . nakedDomain ) {
104109 config . domain = `www.${ config . domain } `
@@ -598,6 +603,13 @@ const createCloudFrontDistribution = async (clients, config) => {
598603 distributionConfig . Aliases . Quantity = 2
599604 distributionConfig . Aliases . Items . push ( config . nakedDomain )
600605 }
606+
607+ if ( Array . isArray ( config . alternateDomainNames ) ) {
608+ config . alternateDomainNames . forEach ( ( domain ) => {
609+ distributionConfig . Aliases . Quantity += 1
610+ distributionConfig . Aliases . Items . push ( domain )
611+ } )
612+ }
601613 }
602614
603615 try {
@@ -667,6 +679,13 @@ const updateCloudFrontDistribution = async (clients, config) => {
667679 params . DistributionConfig . Aliases . Quantity = 2
668680 params . DistributionConfig . Aliases . Items . push ( config . nakedDomain )
669681 }
682+
683+ if ( Array . isArray ( config . alternateDomainNames ) ) {
684+ config . alternateDomainNames . forEach ( ( domain ) => {
685+ params . DistributionConfig . Aliases . Quantity += 1
686+ params . DistributionConfig . Aliases . Items . push ( domain )
687+ } )
688+ }
670689 }
671690 // 6. then finally update!
672691 const res = await clients . cf . updateDistribution ( params ) . promise ( )
0 commit comments