I am new to python using boto3 for AWS. I am creating a lambda function that will return orphaned snapshots list. Code is -
def lambda_handler(event, context):
ec2_resource = boto3.resource('ec2')
# Make a list of existing volumes
all_volumes = ec2_resource.volumes.all()
volumes = [volume.volume_id for volume in all_volumes]
# Find snapshots without existing volume
snapshots = ec2_resource.snapshots.filter(OwnerIds=['self'])
# Create list of all snapshots
osl =[]
for snapshot in snapshots:
if snapshot.volume_id not in volumes:
osl.append(snapshot)
print('\n Snapshot ID is :- '+str(snapshot))
#snapshot.delete()
continue
for tag in snapshot.tags:
if tag['Key'] == 'Name':
value=tag['Value']
print('\n Snapshot Tags are:- '+str(tag))
break
print('Total orphaned snapshots are:- '+str(len(osl)))
This returns list of snapshots & tags too in incorrect format.
Surprisingly, when I run same code in another account, it gives lambda function error -
I have created same permissions IAM role. But different results in different accounts is something i am not gettting.

