Skip to content

tencentcloudstack/terraform-provider-tencentcloud

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

53c0a15 · Dec 13, 2022
Dec 12, 2022
Oct 20, 2022
Jan 28, 2022
Nov 11, 2022
Nov 21, 2022
Jul 12, 2022
Nov 17, 2022
Dec 13, 2022
Dec 9, 2022
Dec 12, 2022
Apr 18, 2022
Oct 20, 2022
May 21, 2020
Oct 31, 2022
Jul 28, 2020
Dec 7, 2022
Nov 11, 2022
Jan 19, 2018
Sep 15, 2021
Dec 9, 2022
Dec 9, 2022
Sep 2, 2020
May 21, 2020
May 22, 2020

Repository files navigation

terraform-provider-tencentcloud

Requirements

  • Terraform 0.13.x
  • Go 1.13.x (to build the provider plugin)

Usage

Build from source code

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

$ mkdir -p $GOPATH/src/github.com/tencentcloudstack
$ cd $GOPATH/src/github.com/tencentcloudstack
$ git clone https://github.com/tencentcloudstack/terraform-provider-tencentcloud.git
$ cd terraform-provider-tencentcloud
$ go build .

If 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.

Configuration

Configure credentials

You will need to have a pair of secret id and secret key to access Tencent Cloud resources, configure it in the provider arguments or export it in environment variables. If you don't have it yet, please access Tencent Cloud Management Console to create one.

export TENCENTCLOUD_SECRET_ID=AKID9HH4OpqLJ5f6LPr4iIm5GF2s-EXAMPLE
export TENCENTCLOUD_SECRET_KEY=72pQp14tWKUglrnX5RbaNEtN-EXAMPLE

Configure proxy info (optional)

If you are beind a proxy, for example, in a corporate network, you must set the proxy environment variables correctly. For example:

export http_proxy=http://your-proxy-host:your-proxy-port  # This is just an example, use your real proxy settings!
export https_proxy=$http_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$http_proxy

Run demo

You can edit your own terraform configuration files. Learn examples from examples directory.

Terraform it

Now you can try your terraform demo:

terraform init
terraform plan
terraform apply

If you want to destroy the resource, make sure the instance is already in running status, otherwise the destroy might fail.

terraform destroy

Developer Guide

DEBUG

You will need to set an environment variable named TF_LOG, for more info please refer to Terraform official doc:

export TF_LOG=DEBUG

In your source file, import the standard package log and print the message such as:

log.Println("[DEBUG] the message and some import values: %v", importantValues)

Test

The quicker way for development and debug is writing test cases.

Config environment variables:

export TF_ACC=true

Config your appid for COS bucket testing

export TENCENTCLOUD_APPID=1234567890

This example show how to test single test function:

cd tencentcloud
go test -i; go test -test.run TestAccTencentCloudNatGateway_basic -v

To write test cases, check the xxx_test.go files for more reference.

Avoid terrafrom init

export TF_SKIP_PROVIDER_VERIFY=1

This will disable the verify steps, so after you update this provider, you won't need to create new resources, but use previously saved state.

Document

Keep in mind that document changes is also needed when resources, data sources, attributes changed in code.