====== Python - boto3 library for AWS ====== Boto3 is AWS's python library for interacting with the AWS API. As everything (even the console under the surface) is API based, boto3 allows you to do pretty much everything you can do elsewhere. It may not always be up to date enough to follow new feateres, so ensure you have a up to date copy of the library with ''pip''. ===== Get account Id or number ===== import boto3 def get_account_number(): stsclient = boto3.client("sts") response = stsclient.get_caller_identity()["Account"] return response print(get_account_number()) ===== GetListOfAccounts.py ===== #!/usr/bin/env python import boto3 import sys profile = 'nonprod_admin' context = 'dummy' session = boto3.session.Session(profile_name=profile) ec2 = session.client('ec2') ASsession = boto3.session.Session(profile_name=profile) ec2as = ASsession.client('autoscaling') # ec2 = boto3.client('ec2') # ec2as = boto3.client('autoscaling') def GetListOfAccounts(AMIimageID, context): try: response = ec2.describe_image_attribute(ImageId=AMIimageID['ImageID'], Attribute='launchPermission') except: print ('Exception! Error with AWS response.') # print ('LC = ', response['LaunchPermissions']) return (response['LaunchPermissions']) try: Accounts = GetListOfAccounts(AMIimageID, context) except: print ('Exception! Not enough arguments supplied.', sys.exc_info())