1

我想在两个或更多区域内创建 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 计划应用

非常感谢

4

1 回答 1

1

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

每个模块必须声明自己的提供者要求,

所以你必须在你的模块中添加如下内容:

terraform {
  required_providers {
    oci = {
      source  = "source_for-oci"
      version = ">= your_version"
    }
  }
}
于 2021-11-24T01:40:57.477 回答