更新 - Terraform OCI - 在不同区域创建多个 VCN

UPDATED - Terraform OCI - create multiple VCN in different regions

我想在两个或多个区域内创建 2 个 VCN 和其他资源。

我将我的代码上传到这个 github 帐户

当我执行代码时(你必须设置租赁、用户、指纹等)我没有错误,但是:

  1. 当我转到根区域时,所有内容都已创建(分区和 VCN)
  2. 当我去第二个区域时,没有创建VCN

地形版本:v1.0.2

我的 VCN 模块有:

terraform {
  required_providers {
    oci = {
      source = "hashicorp/oci"
      version = ">= 1.0.2"
      configuration_aliases = [
        oci.root,
        oci.region1
      ]
    }
  }
}

当我调用我通过的 VCN 模块时:

module "vcn" {
  source            = "./modules/vcn"
  
  providers = {
    oci.root = oci.home
    oci.region1 = oci.region1
  }
...
...

我的提供商是:

provider "oci" {
  alias             = "home"
  tenancy_ocid      = local.json_data.TERRAFORM_work.tenancy_ocid
  user_ocid         = local.json_data.TERRAFORM_work.user_ocid
  private_key_path  = local.json_data.TERRAFORM_work.private_key_path
  fingerprint       = local.json_data.TERRAFORM_work.fingerprint
  region            = local.json_data.TERRAFORM_work.region
}

provider "oci" {
  alias             = "region1"
  region            = var.region1
  tenancy_ocid      = local.json_data.TERRAFORM_work.tenancy_ocid
  user_ocid         = local.json_data.TERRAFORM_work.user_ocid
  private_key_path  = local.json_data.TERRAFORM_work.private_key_path
  fingerprint       = local.json_data.TERRAFORM_work.fingerprint
}

我应该更改什么,以同时在两个或更多区域内创建此 VCN?

使用 terraform 计划应用

非常感谢

您的模块 module.vcn 没有声明任何提供者。来自 docs:

each module must declare its own provider requirements,

所以你必须添加到你的模块中:

terraform {
  required_providers {
    oci = {
      source  = "source_for-oci"
      version = ">= your_version"
    }
  }
}