Skip to content

Instantly share code, notes, and snippets.

@stantona
Created February 19, 2020 20:47
Show Gist options
  • Select an option

  • Save stantona/ca470c6522234835c8c19ddad8f2779d to your computer and use it in GitHub Desktop.

Select an option

Save stantona/ca470c6522234835c8c19ddad8f2779d to your computer and use it in GitHub Desktop.
Inherit Instance tags
UserData:
Fn::Base64: |
#!/bin/bash
AWS_AVAIL_ZONE="$(curl http://169.254.169.254/latest/meta-data/placement/availability-zone)"
AWS_INSTANCE_ID="$(curl http://169.254.169.254/latest/meta-data/instance-id)"
AWS_REGION="$(echo "${AWS_AVAIL_ZONE}" | sed 's/[a-z]$//')"
VOLUME_IDS="$(aws ec2 describe-instances --region $AWS_REGION --instance-id $AWS_INSTANCE_ID --output text --query Reservations[0].Instances[0].BlockDeviceMappings[*].Ebs.VolumeId)"
for TAG_DEF in $(aws ec2 describe-tags --filter="Name=resource-id,Values=${AWS_INSTANCE_ID}" --region "${AWS_REGION}" | jq .'Tags | .[] | "Name=\(.Key),Value=\(.Value)"'); do
aws ec2 create-tags --dry-run --resources "${VOLUME_IDS//$'\t'/ }" --region "${AWS_REGION}" --tags "${TAG_DEF}"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment