Changes to describe_instances / describe_instances_basic:

Add error handling for OptInRequired
Continue on region error
This commit is contained in:
jamiesonio
2018-09-25 20:55:31 -04:00
parent a6c8ab01f5
commit e59c07c1a0

View File

@@ -86,13 +86,17 @@ def describe_instances():
# print(response) # print(response)
except botocore.exceptions.ClientError as e: except botocore.exceptions.ClientError as e:
if e.response['Error']['Code'] == 'UnauthorizedOperation': if e.response['Error']['Code'] == 'UnauthorizedOperation':
print('{} : (UnauthorizedOperation) when calling the DescribeInstances -- sure you have ec2 permissions?' .format(AWS_ACCESS_KEY_ID)) print('{} : (UnauthorizedOperation) when calling the DescribeInstances in ({}) -- sure you have ec2 permissions?' .format(AWS_ACCESS_KEY_ID, region))
sys.exit() continue
elif e.response['Error']['Code'] == 'AuthFailure': elif e.response['Error']['Code'] == 'AuthFailure':
print('{} : (AuthFailure) when calling the DescribeInstances -- key is invalid or no permissions.' .format(AWS_ACCESS_KEY_ID)) print('{} : (AuthFailure) when calling the DescribeInstances in ({}) -- key is invalid or no permissions.' .format(AWS_ACCESS_KEY_ID, region))
sys.exit() continue
elif e.response['Error']['Code'] == 'OptInRequired':
print('{} : (OptInRequired) Has permissions but isnt signed up for service in ({})- ' .format(AWS_ACCESS_KEY_ID, region))
continue
else: else:
print(e) print(e)
continue
if len(response['Reservations']) <= 0: if len(response['Reservations']) <= 0:
print("[-] List instances allowed for {} but no results [-]" .format(region)) print("[-] List instances allowed for {} but no results [-]" .format(region))
else: else:
@@ -133,13 +137,17 @@ def describe_instances_basic():
response = client.describe_instances() response = client.describe_instances()
except botocore.exceptions.ClientError as e: except botocore.exceptions.ClientError as e:
if e.response['Error']['Code'] == 'UnauthorizedOperation': if e.response['Error']['Code'] == 'UnauthorizedOperation':
print('{} : (UnauthorizedOperation) when calling the DescribeInstances -- sure you have ec2 permissions?' .format(AWS_ACCESS_KEY_ID)) print('{} : (UnauthorizedOperation) when calling the DescribeInstances in ({}) -- sure you have ec2 permissions?' .format(AWS_ACCESS_KEY_ID, region))
sys.exit() continue
elif e.response['Error']['Code'] == 'AuthFailure': elif e.response['Error']['Code'] == 'AuthFailure':
print('{} : (AuthFailure) when calling the DescribeInstances -- key is invalid or no permissions for region.' .format(AWS_ACCESS_KEY_ID)) print('{} : (AuthFailure) when calling the DescribeInstances in ({}) -- key is invalid or no permissions.' .format(AWS_ACCESS_KEY_ID, region))
sys.exit() continue
elif e.response['Error']['Code'] == 'OptInRequired':
print('{} : (OptInRequired) Has permissions but isnt signed up for service in ({})- ' .format(AWS_ACCESS_KEY_ID, region))
continue
else: else:
print(e) print(e)
continue
if len(response['Reservations']) <= 0: if len(response['Reservations']) <= 0:
print("[-] List instances allowed for {} but no results [-]" .format(region)) print("[-] List instances allowed for {} but no results [-]" .format(region))
else: else: