Terraform Open Telekom Cloud Provider

Documentation | Gitter chat | Mailing list

alt text

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"
        }
      }
    }
  2. Run terraform init -upgrade to download the provider.

  3. 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    = "..."
    }
  4. 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"
  5. Create your first resource.

    # main.tf
    
    # Create an Elastic Cloud Server resource
    resource "opentelekomcloud_compute_instance_v2" "test-server" {
      name        = "test-server"
      image_name  = "Standard_CentOS_8_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

Requirements

  • Terraform 0.13+
  • Go 1.15 (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

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.15+ is required).

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