serverless-hosted-zone
v0.1.0
Published
Serverless plugin to create a Route 53 hosted zone.
Downloads
964
Maintainers
Readme
Serverless Hosted Zone Plugin
Table of Contents
Description
This plugin allow you to call a CLI command to create and remove an AWS Route 53 hosted zone. This plugin is designed for the Serverless Framework 1.x.
Requirements
- Serverless Framework 1.x.
- Node 10.x or greater.
- NPM 6.x or greater.
Installation
Installing the Serverless Framework
Visit the Getting Started with the Serverless Framework to get started with the Serverless Framework.
Install with npm:
npm install -g serverless
Installing the Plugin
Install with npm:
npm install --save-dev serverless-hosted-zone
And then add the plugin to your serverless.yml
file:
plugins:
- serverless-hosted-zone
custom:
hostedZone:
name: domain.com.
See the example(s).
Using the Plugin
Create a Route 53 Hosted Zone
Run the CLI command to create the hosted zone:
sls create-zone
Create Route 53 Aliases
Update the serverless.yml
file:
custom:
hostedZone:
name: domain.com.
aliases:
- type: cloudfrontDistribution
cname: api.domain.com.
Run the CLI command to create the alias for the hosted zone:
sls create-aliases
Remove a Route 53 Hosted Zone
Note: This feature is currently not supported.
Run the CLI command to create the hosted zone:
sls remove-zone
Remove a Route 53 Aliases
Note: This feature is currently not supported.
Run the CLI command to create the hosted zone:
sls remove-aliases
Notes
The plugin will skip the execution instead of throwing an error when the configuration is missing in the serverless.yml
file.
Please request features or report problems using the issues page.
IAM Policy
You may use this IAM policy as a starting point:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"route53:ListHostedZones",
"cloudfront:ListDistributions"
],
"Resource": "*",
"Effect": "Allow",
"Sid": "ServerlessHostedZonePlugin1"
},
{
"Action": [
"route53:CreateHostedZone",
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets"
],
"Resource": "arn:aws:route53:::hostedzone/*",
"Effect": "Allow",
"Sid": "ServerlessHostedZonePlugin2"
}
]
}
License
See the included LICENSE for rights and limitations under the terms of the MIT license.