When using the OpenTelekomCloud Provider with Terraform 0.13 and later, the recommended approach is to declare Provider versions in the root module Terraform configuration, using a
required_providers
block as per the following example. For previous versions, please continue to pin the version within the provider block.
- Add opentelekomcloud/opentelekomcloud to your
required_providers
.
# provider.tf
terraform {
required_providers {
opentelekomcloud = {
source = "opentelekomcloud/opentelekomcloud"
version = ">= 1.23.2"
}
}
}
- Run
terraform init -upgrade
to download the provider. - Add the provider and supply your
tenant_name
anddomain_name
for minimum configuration.
# provider.tf
provider "opentelekomcloud" {
# OpenTelekomCloud Provider Documentation:
# https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud/latest/docs
# domain_name = "..."
# tenant_name = "..."
# auth_url = "https://iam.eu-de.otc.t-systems.com/v3"
# user_name = "..."
# password = "..."
}
- Authenticate either by providing
user_name
andpassword
in the previous file or setting them as environment variables.
# Linux
OS_USERNAME="<your_username>"
OS_PASSWORD="<your_password"
# Windows
$env:OS_USERNAME="<your_username>"
$env:OS_PASSWORD="<your_password"
- Create your first resource.
# main.tf
# Create an Elastic Cloud Server resource
resource "opentelekomcloud_compute_instance_v2" "debian_ecs" {
name = "debian_ecs"
image_name = "Standard_Debian_11_latest"
flavor_name = "s3.medium.1"
key_pair = "kp_ecs"
security_groups = ["default"]
network {
name = "network_ecs"
}
}
Don't forget to fill in the required variables.
Clone repository to: $GOPATH/src/github.com/opentelekomcloud/terraform-provider-opentelekomcloud
$ export GO111MODULE=on
$ go get github.com/opentelekomcloud/terraform-provider-opentelekomcloud
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/opentelekomcloud/terraform-provider-opentelekomcloud
$ make build
To compile the provider, run make build
. This will build the provider and put the provider binary in the current directory.
$ make build
...
$ $GOPATH/bin/terraform-provider-opentelekomcloud
...
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.
$ make testacc