A função Fn::GetAZs retorna a lista de zonas disponíveis em uma região específica.
Nota
Esta função aplica-se apenas a recursos do Elastic Compute Service (ECS) e da Virtual Private Cloud (VPC).
Declaração
-
JSON
{ "Fn::GetAZs": "regionId" } -
YAML
-
Sintaxe do nome completo da função:
Fn::GetAZs: regionId -
Sintaxe da forma abreviada:
!GetAZs regionId
-
Parâmetros
regionId: ID da região. Exemplo: cn-hangzhou.
Valor de retorno
Lista de zonas na região especificada.
Exemplos
Os exemplos a seguir crie uma instância ECS na primeira zona de uma região específica:
ROSTemplateFormatVersion: '2015-09-01'
Resources:
WebServer:
Type: ALIYUN::ECS::Instance
Properties:
ImageId: centos7u2_64_40G_cloudinit_2016072****
InstanceType: ecs.n1.tiny
SecurityGroupId: sg-2zedcm7ep5quses0****
Password: Ros1****
AllocatePublicIP: true
InternetChargeType: PayByTraffic
InternetMaxBandwidthIn: 100
InternetMaxBandwidthOut: 100
SystemDiskCategory: cloud_efficiency
IoOptimized: optimized
ZoneId:
!Select
- '0'
- !GetAZs
Ref: ALIYUN::Region
Outputs:
InstanceId:
Value: !GetAtt WebServer.InstanceId
PublicIp:
Value: !GetAtt WebServer.PublicIp
{
"ROSTemplateFormatVersion": "2015-09-01",
"Resources": {
"WebServer": {
"Type": "ALIYUN::ECS::Instance",
"Properties": {
"ImageId": "centos7u2_64_40G_cloudinit_2016072****",
"InstanceType": "ecs.n1.tiny",
"SecurityGroupId": "sg-2zedcm7ep5quses0****",
"Password": "Ros1****",
"AllocatePublicIP": true,
"InternetChargeType": "PayByTraffic",
"InternetMaxBandwidthIn": 100,
"InternetMaxBandwidthOut": 100,
"SystemDiskCategory": "cloud_efficiency",
"IoOptimized": "optimized",
"ZoneId": {
"Fn::Select": [
"0",
{
"Fn::GetAZs": {
"Ref": "ALIYUN::Region"
}
}
]
}
}
}
},
"Outputs": {
"InstanceId": {
"Value": {
"Fn::GetAtt": [
"WebServer",
"InstanceId"
]
}
},
"PublicIp": {
"Value": {
"Fn::GetAtt": [
"WebServer",
"PublicIp"
]
}
}
}
}