@serverless/domain
Advanced tools
Comparing version 4.0.1 to 4.0.3
{ | ||
"name": "@serverless/domain", | ||
"version": "4.0.1", | ||
"version": "4.0.3", | ||
"main": "./serverless.js", | ||
@@ -5,0 +5,0 @@ "publishConfig": { |
@@ -20,3 +20,4 @@ const { Component } = require('@serverless/core') | ||
removeCloudFrontDomainDnsRecords, | ||
addDomainToCloudfrontDistribution | ||
addDomainToCloudfrontDistribution, | ||
removeDomainFromCloudFrontDistribution | ||
} = require('./utils') | ||
@@ -248,2 +249,6 @@ | ||
} else if (domainState.type === 'awsCloudFront') { | ||
this.context.debug(`Removing domain ${domainState.domain} from CloudFront.`) | ||
await removeDomainFromCloudFrontDistribution(clients.cf, subdomain) | ||
this.context.debug(`Removing CloudFront DNS records for domain ${domainState.domain}`) | ||
await removeCloudFrontDomainDnsRecords( | ||
@@ -250,0 +255,0 @@ clients.route53, |
28
utils.js
@@ -834,2 +834,27 @@ const aws = require('aws-sdk') | ||
const removeDomainFromCloudFrontDistribution = async (cf, subdomain) => { | ||
const params = await cf.getDistributionConfig({ Id: subdomain.distributionId }).promise() | ||
params.IfMatch = params.ETag | ||
delete params.ETag | ||
params.Id = subdomain.distributionId | ||
params.DistributionConfig.Aliases = { | ||
Quantity: 0, | ||
Items: [] | ||
} | ||
params.DistributionConfig.ViewerCertificate = {} | ||
const res = await cf.updateDistribution(params).promise() | ||
return { | ||
id: res.Distribution.Id, | ||
arn: res.Distribution.ARN, | ||
url: res.Distribution.DomainName | ||
} | ||
} | ||
/** | ||
@@ -861,3 +886,4 @@ * Exports | ||
removeCloudFrontDomainDnsRecords, | ||
addDomainToCloudfrontDistribution | ||
addDomainToCloudfrontDistribution, | ||
removeDomainFromCloudFrontDistribution | ||
} |
50034
1080