Following Script will give the aws cli command to tag the volumes with tags associated to its instance.
Prerequisite
1. All instance are tagged properly
2. Aws Cli is installed and Configured properly
3. Configure the Aws Cli output to Json
4. Create the File Full_Json_Instances.json with output of describe-instances
===================
#/bin/python
import json
def fun_Instance_Volume_Tagging(Instance_ID, Instance):
for Volumes in Instance["Instances"][0]["BlockDeviceMappings"]:
VOL_ID = Volumes["Ebs"]["VolumeId"]
for Tags in Instance["Instances"][0]["Tags"]:
TAG_KEY = Tags["Key"]
TAG_VALUE = Tags["Value"]
print "aws ec2 create-tags --resources " + VOL_ID + " --tags Key=" + TAG_KEY + ",Value=" + TAG_VALUE +""
with open("Full_Json_Instances.json") as json_file:
json_data = json.load(json_file)
for Instances in json_data["Reservations"]:
Instance_ID = Instances["Instances"][0]["InstanceId"];
fun_Instance_Volume_Tagging(Instance_ID, Instances)
====================
Prerequisite
1. All instance are tagged properly
2. Aws Cli is installed and Configured properly
3. Configure the Aws Cli output to Json
4. Create the File Full_Json_Instances.json with output of describe-instances
===================
#/bin/python
import json
def fun_Instance_Volume_Tagging(Instance_ID, Instance):
for Volumes in Instance["Instances"][0]["BlockDeviceMappings"]:
VOL_ID = Volumes["Ebs"]["VolumeId"]
for Tags in Instance["Instances"][0]["Tags"]:
TAG_KEY = Tags["Key"]
TAG_VALUE = Tags["Value"]
print "aws ec2 create-tags --resources " + VOL_ID + " --tags Key=" + TAG_KEY + ",Value=" + TAG_VALUE +""
with open("Full_Json_Instances.json") as json_file:
json_data = json.load(json_file)
for Instances in json_data["Reservations"]:
Instance_ID = Instances["Instances"][0]["InstanceId"];
fun_Instance_Volume_Tagging(Instance_ID, Instances)
====================