Skip to content

opentelekomcloud/terraform-provider-opentelekomcloud

Repository files navigation

Terraform logo

Terraform Open Telekom Cloud Provider

Documentation

Quick Start

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.

  1. Add opentelekomcloud/opentelekomcloud to your required_providers.
# provider.tf
terraform {
   required_providers {
      opentelekomcloud = {
         source = "opentelekomcloud/opentelekomcloud"
         version = ">= 1.23.2"
      }
   }
}
  1. Run terraform init -upgrade to download the provider.
  2. Add the provider and supply your tenant_name and domain_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    = "..."
}
  1. Authenticate either by providing user_name and password 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"
  1. 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"
   }
}

Full Examples

Don't forget to fill in the required variables.

Developing the Provider

See Contribution Guide for the details.

Requirements

  • Terraform 0.13+ (but 1.x is recommended)
  • Go 1.16.x (to build the provider plugin)

Building The Provider

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