- Website: https://www.terraform.io
- Mailing list: Google Groups
Clone repository to: /path/to/terraform-provider-ucloud
git clone [email protected]:ucloud/terraform-provider-ucloud /path/to/terraform-provider-ucloudEnter the provider directory and build the provider
cd /path/to/terraform-provider-ucloud
make buildIf you're building the provider, follow the instructions to install it as a plugin. After placing it into your plugins directory, run terraform init to initialize it.
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.18+ is required).
To compile the provider, run make build. This will build the provider and put the provider binary in the bin directory.
make build
./bin/terraform-provider-ucloudIn order to test the provider, you can simply run make test.
make testIn order to run the full suite of Acceptance tests, run make testacc.
Note: Acceptance tests create real resources, and often cost money to run.
make testaccYou can replace the default provider with the compiled dev binary, first run make dev:
make devThen, create a terraform config file in ~/.terraformrc, add the following content:
provider_installation {
dev_overrides {
"ucloud/ucloud" = "{your-home}/.terraform.d/plugins"
}
direct {}
}Now, the ucloud provider will be replaced to your compiled binary, when you executing terraform command, you will see the following message:
| Warning: Provider development overrides are in effect
│
│ The following provider development overrides are set in the CLI configuration:
│ - ucloud/ucloud in {your-home}/.terraform.d/plugins
│
│ The behavior may therefore not match any released version of the provider and applying changes may cause the state to become
│ incompatible with published releases.
After development done, you should clean the ~/.terraformrc file.
Before making a release, the resources and data sources are tested automatically with acceptance tests (the tests are located in the ucloud/*_test.go files).
You can run them by entering the following instructions in a terminal:
cd /path/to/terraform-provider-ucloud
export UCLOUD_PUBLIC_KEY=xxx
export UCLOUD_PRIVATE_KEY=xxx
export UCLOUD_REGION=xxx
export UCLOUD_PROJECT_ID=xxx
TF_ACC=1 TF_LOG=INFO go test ./ucloud -v -run="^TestAccUCloud" -timeout=1440m
UCloud Provider Official Docs
