iits-consulting / terraform-opentelekomcloud-project-factory

This repository helps to create an OTC-based cloud-native infrastructure landscape with Kubernetes, load balancers, VPCs, etc. With these modules, we provide you a rocket start while you can still deep-dive into detailed configuration later.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support specifying provider in all modules

iitsDelbruegger opened this issue · comments

All modules should support specifying which OTC provider to utilize, so that different resources can be created in different OTC projects or by different accounts.

Example how to create a project and then utilize it within a second provider, so that resources can be created within that project:

provider "opentelekomcloud" {
  alias       = "superproject"
  auth_url    = "https://iam.eu-de.otc.t-systems.com/v3"
  domain_name = local.otc_domain_name
  tenant_name = "eu-de"
}

# Create a sub-project
resource opentelekomcloud_identity_project_v3 "otc_stage_project" {
  name = local.otc_tenant_name
  provider = opentelekomcloud.superproject
}

# Create a resource within project
resource "opentelekomcloud_compute_keypair_v2" "keyPairTerraform" {
  name       = "keypair-${local.stage_name}"
  region     = local.region
  public_key = tls_private_key.keypair.public_key_openssh
  provider = opentelekomcloud.subproject
}

I had a mistake in my thoughts: we can already do this by specifying the "providers" block in the module. Therefore I remove this issue.

module "vpc" {
  source                = "iits-consulting/project-factory/opentelekomcloud//modules/vpc"
  version               = "1.0.1"
  vpc_cidr              = local.vpc_cidr
  vpc_name              = "vpc-otc-custtest"
  stage_name            = local.stage_name
  vpc_subnet_cidr       = local.vpc_cidr
  vpc_subnet_gateway_ip = local.vpc_subnet_gateway_ip
  region                = local.region
  providers             = {
    opentelekomcloud = opentelekomcloud.subproject
  }
}