If you wish to work on the provider, you'll first need Go installed on your machine (please check the requirements before proceeding).
Note: This project uses Go Modules making it safe to work with it outside of your existing GOPATH. The instructions that follow assume a directory in your home directory outside of the standard GOPATH (i.e $HOME/development/hashicorp/
).
Clone repository to: $HOME/development/hashicorp/
$ mkdir -p $HOME/development/hashicorp/; cd $HOME/development/hashicorp/
$ git clone [email protected]:hashicorp/terraform-provider-aws
...
Enter the provider directory and run make tools
. This will install the needed tools for the provider.
$ make tools
To compile the provider, run make build
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
$ make build
...
$ $GOPATH/bin/terraform-provider-aws
...
In order to test the provider, you can run make test
.
Note: Make sure no AWS_ACCESS_KEY_ID
or AWS_SECRET_ACCESS_KEY
variables are set, and there's no [default]
section in the AWS credentials file ~/.aws/credentials
.
$ 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. Please read Running and Writing Acceptance Tests in the contribution guidelines for more information on usage.
$ make testacc
With Terraform v0.14 and later, development overrides for provider developers can be leveraged in order to use the provider built from source.
To do this, populate a Terraform CLI configuration file (~/.terraformrc
for all platforms other than Windows; terraform.rc
in the %APPDATA%
directory when using Windows) with at least the following options:
provider_installation {
dev_overrides {
"hashicorp/aws" = "[REPLACE WITH GOPATH]/bin"
}
direct {}
}