in lib/utils/cluster-utils.ts [90:127]
export function tagAsg(scope: Construct, autoScalingGroup: string, tags: Tag[]): void {
let tagList: {
Key: string;
Value: string;
PropagateAtLaunch: boolean;
ResourceId: string;
ResourceType: string;
}[] = [];
tags.forEach((tag) => {
tagList.push({
Key: tag.Key,
Value: tag.Value,
PropagateAtLaunch : true,
ResourceId: autoScalingGroup,
ResourceType: 'auto-scaling-group'
});
});
const callProps: customResource.AwsSdkCall = {
service: 'AutoScaling',
action: 'createOrUpdateTags',
parameters: {
Tags: tagList
},
physicalResourceId: customResource.PhysicalResourceId.of(
`${autoScalingGroup}-asg-tag`
)
};
new customResource.AwsCustomResource(scope, 'asg-tag', {
onCreate: callProps,
onUpdate: callProps,
policy: customResource.AwsCustomResourcePolicy.fromSdkCalls({
resources: customResource.AwsCustomResourcePolicy.ANY_RESOURCE
})
});
}