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