All Projects → fastly → Terraform Provider Fastly

fastly / Terraform Provider Fastly

Licence: mpl-2.0
Terraform Fastly provider

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Terraform Provider Fastly

Terraform Provider Oci
Terraform Oracle Cloud Infrastructure provider
Stars: ✭ 400 (+515.38%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Libvirt
Terraform provider to provision infrastructure with Linux's KVM using libvirt
Stars: ✭ 894 (+1275.38%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Aws
Terraform AWS provider
Stars: ✭ 6,624 (+10090.77%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Github
Terraform GitHub provider
Stars: ✭ 305 (+369.23%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Sumologic Old
Go to the new provider repo --->
Stars: ✭ 60 (-7.69%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Alicloud
Terraform AliCloud provider
Stars: ✭ 340 (+423.08%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Secret
Terraform secret provider
Stars: ✭ 55 (-15.38%)
Mutual labels:  terraform, terraform-provider
terraform-provider-terraform
Terraform terraform provider
Stars: ✭ 24 (-63.08%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Dome9
Terraform Provider for Dome9
Stars: ✭ 33 (-49.23%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Kubernetes
Terraform Kubernetes provider
Stars: ✭ 898 (+1281.54%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Digitalocean
Terraform DigitalOcean provider
Stars: ✭ 296 (+355.38%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Zabbix
Stars: ✭ 38 (-41.54%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Ansible
"Logical" provider for integrating with an Ansible Dynamic Inventory script.
Stars: ✭ 262 (+303.08%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Vsphere
Terraform VMware vSphere provider
Stars: ✭ 380 (+484.62%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Kafka
Terraform provider for managing Apache Kafka Topics + ACLs
Stars: ✭ 256 (+293.85%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Helm
Terraform Helm provider
Stars: ✭ 704 (+983.08%)
Mutual labels:  terraform, terraform-provider
terraform-provider-vercel
Terraform Provider for Vercel (former ZEIT)
Stars: ✭ 36 (-44.62%)
Mutual labels:  terraform, terraform-provider
terraform-provider-bigip
Terraform resources that can configure F5 BIG-IP products
Stars: ✭ 74 (+13.85%)
Mutual labels:  terraform, terraform-provider
Namecheap
Go library for Namecheap API
Stars: ✭ 18 (-72.31%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Packet
Terraform provider for Equinix Metal (formerly Packet)
Stars: ✭ 33 (-49.23%)
Mutual labels:  terraform, terraform-provider

Fastly Terraform Provider

Requirements

  • Terraform 0.12.x or higher
  • Go 1.14 (to build the provider plugin)

NOTE: the last version of the Fastly provider to support Terraform 0.11.x and below was v0.26.0

Building The Provider

Clone repository to: $GOPATH/src/github.com/fastly/terraform-provider-fastly

$ mkdir -p $GOPATH/src/github.com/fastly; cd $GOPATH/src/github.com/fastly
$ git clone [email protected]:fastly/terraform-provider-fastly

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/fastly/terraform-provider-fastly
$ make build

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.14+ is required).

To compile the provider, run make build. This will build the provider and put the provider binary in a local bin directory.

$ make build
...

Alongside the newly built binary a file called developer_overrides.tfrc will be created. The make build target will communicate back details for setting the TF_CLI_CONFIG_FILE environment variable that will enable Terraform to use your locally built provider binary.

Testing

In order to test the provider, you can simply run make test.

$ make test

In order to run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run. You should expect that the full acceptance test suite will take hours to run.

$ make testacc

In order to run an individual acceptance test, the '-run' flag can be used together with a regular expression. The following example uses a regular expression matching single test called 'TestAccFastlyServiceV1_basic'.

$ make testacc TESTARGS='-run=TestAccFastlyServiceV1_basic'

The following example uses a regular expression to execute a grouping of basic acceptance tests.

$ make testacc TESTARGS='-run=TestAccFastlyServiceV1_.*_basic'

In order to run the tests with extra debugging context, prefix the make command with TF_LOG (see the terraform documentation for details).

$ TF_LOG=trace make testacc

By default, the tests run with a parallelism of 4. This can be reduced if some tests are failing due to network-related issues, or increased if possible, to reduce the running time of the tests. Prefix the make command with TEST_PARALLELISM, as in the following example, to configure this.

$ TEST_PARALLELISM=8 make testacc

Depending on the Fastly account used, some features may not be enabled (e.g. Platform TLS). This may result in some tests failing, potentially with 403 Unauthorised errors, when the full test suite is being run. Check the Fastly API documentation to confirm if the failing tests use features in Limited Availability or only available to certain customers. If this is the case, either use the TESTARGS regular expressions described above, or temporarily add t.SkipNow() to the top of any tests that should be excluded.

Building The Documentation

The documentation is built from components (go templates) stored in the templates folder. Building the documentation copies the full markdown into the docs folder, ready for deployment to Hashicorp.

NOTE: you'll need the tfplugindocs tool for generating the Markdown to be deployed to Hashicorp. For more information on generating documentation, refer to https://www.terraform.io/docs/registry/providers/docs.html

  • To validate the /template directory structure:
make validate-docs
  • To build the /docs documentation Markdown files:
make generate-docs

Contributing

Refer to CONTRIBUTING.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].