Best Python code snippet using localstack_python
aws_ses_identity_policy.py
Source:aws_ses_identity_policy.py  
...118    module.exit_json(119        changed=changed,120        policies=policies_present,121    )122def delete_identity_policy(connection, module):123    identity = module.params.get('identity')124    policy_name = module.params.get('policy_name')125    changed = False126    try:127        policies_present = connection.list_identity_policies(Identity=identity, aws_retry=True)['PolicyNames']128    except (BotoCoreError, ClientError) as e:129        module.fail_json_aws(e, msg='Failed to list identity policies')130    if policy_name in policies_present:131        try:132            if not module.check_mode:133                connection.delete_identity_policy(Identity=identity, PolicyName=policy_name, aws_retry=True)134        except (BotoCoreError, ClientError) as e:135            module.fail_json_aws(e, msg='Failed to delete identity policy {policy}'.format(policy=policy_name))136        changed = True137        policies_present = list(policies_present)138        policies_present.remove(policy_name)139    module.exit_json(140        changed=changed,141        policies=policies_present,142    )143def main():144    module = AnsibleAWSModule(145        argument_spec={146            'identity': dict(required=True, type='str'),147            'state': dict(default='present', choices=['present', 'absent']),148            'policy_name': dict(required=True, type='str'),149            'policy': dict(type='json', default=None),150        },151        required_if=[['state', 'present', ['policy']]],152        supports_check_mode=True,153    )154    # SES APIs seem to have a much lower throttling threshold than most of the rest of the AWS APIs.155    # Docs say 1 call per second. This shouldn't actually be a big problem for normal usage, but156    # the ansible build runs multiple instances of the test in parallel that's caused throttling157    # failures so apply a jittered backoff to call SES calls.158    connection = module.client('ses', retry_decorator=AWSRetry.jittered_backoff())159    state = module.params.get("state")160    if state == 'present':161        create_or_update_identity_policy(connection, module)162    else:163        delete_identity_policy(connection, module)164if __name__ == '__main__':...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
