npm i -E serverless-cloudflare-dns
- Auth with api token.
- Auth with email and key.
- Record Content Resolver. (useful for CloudFront)
- Create record on 'serverless deploy'.
- Remove record on 'serverless remove'.
- Command Line Support for c.r.u.d. operations.
# serverless.yml
plugins:
- serverless-cloudflare-dns
custom:
cloudflare:
disabled: false # Optional, disabled this plugin
domain: "" # Required, your.corp.domain
auth:
# Option 1
# email: "" # Required, use aws ssm or something like that
# key: "" # Required, use aws ssm or something like that
# Option 2
# apiToken: "" # Required, use aws ssm or something like that
record:
name: "" # Required, subdomain.your.corp.domain
content: "miapp.com" # Required, domain.to.redirect
content: "#{cf:SomeOutput}" # CloudFormation Output Key.
type: "" # Optional, default = CNAME
proxied: "" # Optional, default = true
proxiable: "" # Optional, default = true
$ sls cloudflare --help
$ sls cloudflare record deploy
$ sls cloudflare record update
$ sls cloudflare record remove
$ sls cloudflare record list
$ sls cloudflare record list -A
DEPLOY:
- if record does not exists => Create Record()
- if old cname content not equals to current => Update Record()
- if record exists => show message(): CF_RECORD_EXISTENT
UPDATE:
- if record exists => Update Record()
- else => show message(): CF_RECORD_NOT_FOUND
REMOVE:
- if record exists => Remove Record()
- else => show message(): CF_RECORD_NOT_FOUND