A Terraform provider for the VinylDNS DNS as a service API.
See example.tf for an example .tf
file.
See https://vinyldns.github.io/terraform-provider-vinyldns for documentation.
- Download the desired release version for your operating system from GitHub.
- Untar the download contents
- Install the
terraform-provider-vinyldns
anywhere on your system - Add
terraform-provider-vinyldns
to your~/.terraformrc
file:
providers {
"vinyldns" = "path/to/your/terraform-provider-vinyldns"
}
Alternatively, you can install from source:
go get github.com/vinyldns/terraform-provider-vinyldns
cd $GOPATH/src/github.com/vinyldns/terraform-provider-vinyldns
make install
Add terraform-provider-vinyldns
to your ~/.terraformrc
:
providers {
"vinyldns" = "your-gopath/bin/terraform-provider-vinyldns"
}
The terraform-provider-vinyldns
acceptance tests assume a VinylDNS API is running on localhost:9000
.
To run a local VinylDNS API, you'll need to:
git clone [email protected]:vinyldns/vinyldns.git
cd vinyldns
bin/docker-up-vinyldns.sh
Note that a make
convenience task handles this:
make start-api
Then, to run the terraform-provider-vinyldns
acceptance tests against the local Dockerized VinylDNS API server:
make test
To stop the localhost:9000
VinylDNS:
make stop-api
To build terraform-provider-vinyldns
binaries for all supported platforms:
make build
The project contains a docker-compose.yml
/Dockerfile
that will perform a test build in a empty container. To run on windows:
docker-compose up --force-recreate --build builder
docker-compose down
or on Mac or Linux (preferred):
./build.sh
dep
is used to manage dependencies. To require a specific version of github.com/vinyldns/go-vinyldns
:
To add a dependency:
dep ensure -add github.com/pkg/errors
terraform-provider-vinyldns
would not be possible without the help of many other pieces of open source software. Thank you open source world!
Given the Apache 2.0 license of terraform-provider-vinyldns
, we specifically want to call out the following packages and their corresponding licenses:
- github.com/hashicorp/errwrap - Mozilla Public License 2.0
- github.com/hashicorp/go-getter - Mozilla Public License 2.0
- github.com/hashicorp/go-multierror - Mozilla Public License 2.0
- github.com/hashicorp/go-plugin - Mozilla Public License 2.0
- github.com/hashicorp/go-uuid - Mozilla Public License 2.0
- github.com/hashicorp/go-version - Mozilla Public License 2.0
- github.com/hashicorp/hcl - Mozilla Public License 2.0
- github.com/hashicorp/hil - Mozilla Public License 2.0
- github.com/hashicorp/logutils - Mozilla Public License 2.0
- github.com/hashicorp/terraform - Mozilla Public License 2.0
- github.com/hashicorp/yamux - Mozilla Public License 2.0