Вам необходимо настроить свой регион во время настройки самого поставщика AliCloud.
provider "alicloud" {
access_key = "${var.accesskey}"
secret_key = "${var.secretkey}"
region = "${var.region}"
}
Примечание. Alicloud предлагает несколько способов ввода учетных данных для аутентификации.Они статичны и динамичны.Идентификатор региона должен быть указан в учетных данных для аутентификации с использованием статического метода, но если мы используем динамический метод, он может быть получен из переменных среды ALICLOUD_REGION.
Теперь, к вашим вопросам
1) Изначально Вы указали регион в конфигурации.Вы получите регион, который вы сконфигурировали, выполнив
data "alicloud_regions" "current_region_ds" {
current = true
}
output "current_region_id" {
value = "${data.alicloud_regions.current_region_ds.regions.0.id}"
}
Когда вы используете current = true
, он вернет текущий регион, иначе вам придется определить вручную, используя аргумент name = region.
value = "${data.alicloud_regions.current_region_ds.regions.0.id}"
Это даст идентификатор указанного региона.Если вы хотите использовать local_name вместо id, измените id
на local_name
.
value = "${data.alicloud_regions.current_region_ds.regions.0.local_name}"
Примечание. Лучше использовать id
вместо local_name
.
2) Оба указанных вами способа неверны.Вы указали регион в конфигурации, к которой вы только что обращаетесь.
Например,
data "alicloud_regions" "current_region_ds" {
name="cn-beijing"
}
, затем для доступа к нему,
value = "${data.alicloud_regions.current_region_ds.regions.0.id}"
или
value = "${data.alicloud_regions.current_region_ds.regions.0.local_name}"