From df937a47e86c67ac5dfa60703dba7d22d13b628f Mon Sep 17 00:00:00 2001 From: nitanka Date: Fri, 21 Jul 2017 10:08:19 +0530 Subject: [PATCH] converting the scripts to function --- AWS/addInstanceTag.py | 28 +++++++++++++++++----------- AWS/changeInstanceTag.py | 27 ++++++++++++++++++--------- AWS/getInstanceByTag.py | 24 +++++++++++++++++------- AWS/stopInstanceByTag.py | 25 +++++++++++++++++-------- 4 files changed, 69 insertions(+), 35 deletions(-) diff --git a/AWS/addInstanceTag.py b/AWS/addInstanceTag.py index fcebb86..c46514b 100644 --- a/AWS/addInstanceTag.py +++ b/AWS/addInstanceTag.py @@ -4,17 +4,23 @@ import boto3 import ast -Region = sys.argv[1] -selectionTag = sys.argv[2] -selectionValue = sys.argv[3].split() -addTag = list(ast.literal_eval(sys.argv[4])) +def addInstanceTag(region,selectiontag,selectionvalue,addtag): + Region = region + selectionTag = selectiontag + selectionValue = selectionvalue.split() + addTag = list(ast.literal_eval(addtag)) -ec2 = boto3.client('ec2',Region) -response = ec2.describe_instances(Filters=[{'Name':'tag:' + selectionTag, 'Values': selectionValue }]) + ec2 = boto3.client('ec2',Region) + response = ec2.describe_instances(Filters=[{'Name':'tag:' + selectionTag, 'Values': selectionValue }]) -for reservation in response['Reservations']: - for instance in reservation['Instances']: - if instance['State']['Name'] == 'running': - for tagDict in addTag: - ec2.create_tags(Resources=[instance['InstanceId']], Tags=[{'Key': tagDict['Key'], 'Value': tagDict['Value']}]) + for reservation in response['Reservations']: + for instance in reservation['Instances']: + if instance['State']['Name'] == 'running': + for tagDict in addTag: + ec2.create_tags(Resources=[instance['InstanceId']], Tags=[{'Key': tagDict['Key'], 'Value': tagDict['Value']}]) +Region = sys.argv[1] +selectionTag = sys.argv[2] +selectionValue = sys.argv[3] +addTag = sys.argv[4] +addInstanceTag(Region,selectionTag,selectionValue,addTag) diff --git a/AWS/changeInstanceTag.py b/AWS/changeInstanceTag.py index fa496b9..09215c6 100644 --- a/AWS/changeInstanceTag.py +++ b/AWS/changeInstanceTag.py @@ -5,15 +5,24 @@ import boto3 import sys -Region = sys.argv[1] +def changeInstanceTag(region,tag,oldtagvalue,newtagvalue): + + Region = region + Tag = tag + oldTagValue = oldtagvalue.split() + newTagValue = newtagvalue + + ec2 = boto3.client('ec2', Region) + response = ec2.describe_instances(Filters=[{ 'Name':'tag:'+ Tag,'Values': oldTagValue }]) + + for reservation in response['Reservations']: + for instance in reservation['Instances']: + ec2.create_tags( Resources=[instance['InstanceId']],Tags=[{ 'Key': Tag, 'Value': newTagValue }] ) + + +Region = sys.argv[1] Tag = sys.argv[2] -oldTagValue = sys.argv[3].split() +oldTagValue = sys.argv[3] newTagValue = sys.argv[4] -ec2 = boto3.client('ec2', Region) -response = ec2.describe_instances(Filters=[{ 'Name':'tag:'+ Tag,'Values': oldTagValue }]) - -for reservation in response['Reservations']: - for instance in reservation['Instances']: - ec2.create_tags( Resources=[instance['InstanceId']],Tags=[{ 'Key': Tag, 'Value': newTagValue }] ) - +changeInstanceTag(Region,Tag,oldTagValue,newTagValue) diff --git a/AWS/getInstanceByTag.py b/AWS/getInstanceByTag.py index d9f9aee..234f5bc 100644 --- a/AWS/getInstanceByTag.py +++ b/AWS/getInstanceByTag.py @@ -2,14 +2,24 @@ import boto3 import sys + +def getInstanceByTag(region,tag,tagvalue): + + Region = region + Tag = tag + tagValue = tagvalue.split() + ec2 = boto3.client('ec2',Region) + response = ec2.describe_instances(Filters=[{'Name':'tag:' + Tag,'Values':tagValue}]) + + for reservation in response['Reservations']: + for instance in reservation['Instances']: + print(instance['State']['Name']) + print(instance['PublicIpAddress'] + ' : ' + instance['PrivateIpAddress']) + + Region = sys.argv[1] Tag = sys.argv[2] -tagVALUE = sys.argv[3].split() +tagValue = sys.argv[3] -client = boto3.client('ec2',Region) -response = client.describe_instances(Filters=[{'Name':'tag:' + Tag,'Values':tagVALUE}]) +getInstanceByTag(Region,Tag,tagValue) -for reservation in response['Reservations']: - for instance in reservation['Instances']: - print(instance['State']['Name']) - print(instance['PublicIpAddress'] + ' : ' + instance['PrivateIpAddress']) diff --git a/AWS/stopInstanceByTag.py b/AWS/stopInstanceByTag.py index e2e6414..8e16bca 100644 --- a/AWS/stopInstanceByTag.py +++ b/AWS/stopInstanceByTag.py @@ -9,15 +9,24 @@ import boto3 import sys + +def stopInstanceByTag(region,tag,tagvalue): + Region = region + Tag = tag + tagValue = tagvalue.split() + + ec2 = boto3.client('ec2',Region) + response = ec2.describe_instances(Filters=[{'Name':'tag:'+Tag,'Values':tagValue}]) + + for reservation in response['Reservations']: + for instance in reservation['Instances']: + if instance['State']['Name'] == 'running': + ec2.stop_instances(InstanceIds=[instance['InstanceId']]) + + Region = sys.argv[1] Tag = sys.argv[2] -tagValue = sys.argv[3].split() - -ec2 = boto3.client('ec2',Region) -response = ec2.describe_instances(Filters=[{'Name':'tag:'+Tag,'Values':tagValue}]) +tagValue = sys.argv[3] -for reservation in response['Reservations']: - for instance in reservation['Instances']: - if instance['State']['Name'] == 'running': - ec2.stop_instances(InstanceIds=[instance['InstanceId']]) +stopInstanceByTag(Region,Tag,tagValue)