in templates/autoscaled_group.py [0:0]
def GenerateAutscaledGroup(context, zone_dict):
"""Generate one autoscaled_group resource Dict with a passed zone."""
name = context.env['name']
project = context.env[PROJECT]
prop = context.properties
zone = zone_dict[default.ZONE]
zone_abbrv = common.ShortenZoneName(zone)
as_name = common.AutoName(name, default.AUTOSCALER, zone_abbrv)
base_name = name + '-' + default.AKA[default.INSTANCE]
igm_name = common.AutoName(name, default.IGM, zone_abbrv)
max_num = zone_dict[MAX_NUM]
project = context.env[default.PROJECT]
size = zone_dict[SIZE]
vm_template = prop[VM_TEMPLATE]
# pyformat: disable
resource = [
{
'name': igm_name,
'type': default.IGM,
'properties': {
'project': project,
'zone': zone,
'targetSize': size,
'baseInstanceName': base_name,
'instanceTemplate': vm_template
}
}, {
'name': as_name,
'type': default.AUTOSCALER,
'properties': {
'project': project,
'zone': zone,
'target': common.Ref(igm_name),
'autoscalingPolicy': {
'maxNumReplicas': max_num
}
}
}
]
# pyformat: enable
return resource