更新时间:2024-04-17 GMT+08:00

provider

在Terraform中,可以使用 provider块创建多个配置,其中一个 provider块为默认配置,其它块使用 "alias" 标识为非默认配置。在资源中使用元参数 provider 可以选择非默认的 provider块。例如需要在不同的地区管理资源,首先需要声明多个 provider块:

provider "huaweicloud" {
  region = "cn-north-1"
  ...
}

provider "huaweicloud" {
  alias  = "guangzhou"
  region = "cn-south-1"
  ...
}

示例中声明了北京和广州的华为云provider,并对广州地区的provider增加了别名。在资源中使用元参数 provider 来选择非默认的 provider块,其格式为:<provider名称>.<别名>。

resource "huaweicloud_networking_secgroup" "mysecgroup" {
  # 使用非默认 provider块名,对应非默认provider块的别名(alias)
  provider = huaweicloud.guangzhou
  ...
}

华为云Provider 支持在Resource中指定region参数,可以在不同的地区创建资源。相比 alias + provider 的方式,这种方式更加灵活简单。

provider "huaweicloud" {
  region = "cn-north-1"
  ...
}

resource "huaweicloud_vpc" "example" {
  region = "cn-south-1"
  name   = "terraform_vpc"
  cidr   = "192.168.0.0/16"
}