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" }