diff --git a/libs/opsworks.py b/libs/opsworks.py index 3e5aeaa..4e50a80 100644 --- a/libs/opsworks.py +++ b/libs/opsworks.py @@ -4,41 +4,40 @@ import pprint pp = pprint.PrettyPrinter(indent=5, width=80) -#from http://docs.aws.amazon.com/general/latest/gr/rande.html -#http://docs.aws.amazon.com/general/latest/gr/rande.html#opsworks_region +# from http://docs.aws.amazon.com/general/latest/gr/rande.html +# http://docs.aws.amazon.com/general/latest/gr/rande.html#opsworks_region regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', ] -#region = 'us-east-1' def describe_stacks(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): - print('#### Listing Stacks ####') - try: - for region in regions: - client = boto3.client( - 'opsworks', - aws_access_key_id = AWS_ACCESS_KEY_ID, - aws_secret_access_key = AWS_SECRET_ACCESS_KEY, - region_name=region - ) - response = client.describe_stacks() - #debug - print(response) - if response.get('Stacks') is None: - print("{} likely does not have Lambda permissions\n" .format(AWS_ACCESS_KEY_ID)) - elif len(response['Stacks']) <= 0: - print("[-] DescribeStacks allowed for {} but no results (everyone seems to have this permission) [-]\n" .format(region)) - else: #THIS PART IS UNTESTED - for r in response['Stacks']: - pp.pprint(r) - except botocore.exceptions.EndpointConnectionError as e: - print("Unexpected error: {}" .format(e)) + print('#### Listing Stacks ####') + try: + for region in regions: + client = boto3.client( + 'opsworks', + aws_access_key_id=AWS_ACCESS_KEY_ID, + aws_secret_access_key=AWS_SECRET_ACCESS_KEY, + region_name=region + ) + response = client.describe_stacks() + # debug + # print(response) + if response.get('Stacks') is None: + print("{} likely does not have Lambda permissions\n" .format(AWS_ACCESS_KEY_ID)) + elif len(response['Stacks']) <= 0: + print("[-] DescribeStacks allowed for {} but no results (everyone seems to have this permission) [-]\n" .format(region)) + else: # THIS PART IS UNTESTED + for r in response['Stacks']: + pp.pprint(r) + except botocore.exceptions.EndpointConnectionError as e: + print("Unexpected error: {}" .format(e)) - except botocore.exceptions.ClientError as e: - if e.response['Error']['Code'] == 'InvalidClientTokenId': - sys.exit("{} : The AWS KEY IS INVALID. Exiting" .format(AWS_ACCESS_KEY_ID)) - elif e.response['Error']['Code'] == 'EndpointConnectionError': - print("[-] Cant connect to the {} endpoint [-]" .format(region)) - else: - print("Unexpected error: {}" .format(e)) - except KeyboardInterrupt: - print("CTRL-C received, exiting...") + except botocore.exceptions.ClientError as e: + if e.response['Error']['Code'] == 'InvalidClientTokenId': + sys.exit("{} : The AWS KEY IS INVALID. Exiting" .format(AWS_ACCESS_KEY_ID)) + elif e.response['Error']['Code'] == 'EndpointConnectionError': + print("[-] Cant connect to the {} endpoint [-]" .format(region)) + else: + print("Unexpected error: {}" .format(e)) + except KeyboardInterrupt: + print("CTRL-C received, exiting...") diff --git a/modules/opsworks.py b/modules/opsworks.py new file mode 100644 index 0000000..b6459c4 --- /dev/null +++ b/modules/opsworks.py @@ -0,0 +1,6 @@ +from libs.opsworks import * +from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY + + +def step_opsworkds_describe_stacks(): + describe_stacks(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) diff --git a/opsworks_describe_stacks.py b/opsworks_describe_stacks.py deleted file mode 100644 index b1a33de..0000000 --- a/opsworks_describe_stacks.py +++ /dev/null @@ -1,4 +0,0 @@ -from libs.opsworks import * -from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY - -describe_stacks(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)