A função Fn::ListMerge concatena duas ou mais listas em uma única lista.
Declaração
-
JSON
{ "Fn::ListMerge": [ [ "list_1_item_1", "list_1_item_2", ... ], [ "list_2_item_1", "list_2_item_2", ... ], ... ] } -
YAML
-
Sintaxe do nome completo da função:
Fn::ListMerge: - - list_1_item_1 - list_1_item_2 - ... - - list_2_item_1 - list_2_item_2 - ... -
Sintaxe da forma abreviada:
!ListMerge [[list_1_item_1, list_1_item_2, ...], [list_2_item_1, list_2_item_2, ...], ...]
-
Parâmetros
list_1_item_1, list_1_item_2, ...: primeira lista a mesclar.list_2_item_1, list_2_item_2, ...: segunda lista a mesclar.
Exemplos
O exemplo a seguir anexa dois grupos de instâncias do Elastic Compute Service (ECS) a uma instância do Server Load Balancer (SLB). A função Fn::ListMerge combina os IDs das instâncias de ambos os grupos em uma única lista de servidores de back-end.
ROSTemplateFormatVersion: '2015-09-01'
Resources:
LoadBalancer:
Type: ALIYUN::SLB::LoadBalancer
Properties:
LoadBalancerName: ros
AddressType: internet
InternetChargeType: paybybandwidth
BackendServer1:
Type: ALIYUN::ECS::InstanceGroup
Properties:
ImageId: m-2ze9uqi7wo61hwep****
InstanceType: ecs.t1.small
SecurityGroupId: sg-2ze8yxgempcdsq3i****
MaxAmount: 1
MinAmount: 1
BackendServer2:
Type: ALIYUN::ECS::InstanceGroup
Properties:
ImageId: m-2ze9uqi7wo61hwep****
InstanceType: ecs.t1.small
SecurityGroupId: sg-2ze8yxgempcdsq3i****
MaxAmount: 1
MinAmount: 1
Attachment:
Type: ALIYUN::SLB::BackendServerAttachment
Properties:
LoadBalancerId: !Ref LoadBalancer
BackendServerList: !ListMerge [!GetAtt BackendServer1.InstanceIds, !GetAtt BackendServer2.InstanceIds]
As expressões !GetAtt BackendServer1.InstanceIds e !GetAtt BackendServer2.InstanceIds retornam, cada uma, uma lista de IDs de instância. A função !ListMerge as concatena em uma única lista e passa o resultado para BackendServerList.