def delete_user(module, iam, name):
    try:
        current_keys = [ck['access_key_id'] for ck in
            iam.get_all_access_keys(name).list_access_keys_result.access_key_metadata]
        for key in current_keys:
            iam.delete_access_key(key, name)
        del_meta = iam.delete_user(name).delete_user_response
    except boto.exception.BotoServerError, err:
        error_msg = boto_exception(err)
        if ('must detach all policies first') in error_msg:
            for policy in iam.get_all_user_policies(name).list_user_policies_result.policy_names:
                iam.delete_user_policy(name, policy)
            try:
                del_meta = iam.delete_user(name)
            except boto.exception.BotoServerError, err:
                error_msg = boto_exception(err)
                if ('must detach all policies first') in error_msg:
                      module.fail_json(changed=changed, msg="All inline polices have been removed. Though it appears"
                                                            "that %s has Managed Polices. This is not "
                                                            "currently supported by boto. Please detach the polices "
                                                            "through the console and try again." % name)
                else:
                    module.fail_json(changed=changed, msg=str(err))
            else:
                changed = True
                return del_meta, name, changed
Beispiel #2
0
def delete_user(module, iam, name):
    try:
        current_keys = [
            ck['access_key_id'] for ck in iam.get_all_access_keys(
                name).list_access_keys_result.access_key_metadata
        ]
        for key in current_keys:
            iam.delete_access_key(key, name)
        del_meta = iam.delete_user(name).delete_user_response
    except boto.exception.BotoServerError, err:
        error_msg = boto_exception(err)
        if ('must detach all policies first') in error_msg:
            for policy in iam.get_all_user_policies(
                    name).list_user_policies_result.policy_names:
                iam.delete_user_policy(name, policy)
            try:
                del_meta = iam.delete_user(name)
            except boto.exception.BotoServerError, err:
                error_msg = boto_exception(err)
                if ('must detach all policies first') in error_msg:
                    module.fail_json(
                        changed=changed,
                        msg=
                        "All inline polices have been removed. Though it appears"
                        "that %s has Managed Polices. This is not "
                        "currently supported by boto. Please detach the polices "
                        "through the console and try again." % name)
                else:
                    module.fail_json(changed=changed, msg=str(err))
            else:
                changed = True
                return del_meta, name, changed
Beispiel #3
0
def delete_user(module, iam, name):
    changed = delete_dependencies_first(module, iam, name)
    try:
        iam.delete_user(name)
    except boto.exception.BotoServerError as ex:
        module.fail_json(changed=changed, msg="Failed to delete user %s: %s" % (name, ex), exception=traceback.format_exc())
    else:
        changed = True
    return name, changed
Beispiel #4
0
def delete_user(module, iam, name):
    changed = delete_dependencies_first(module, iam, name)
    try:
        iam.delete_user(name)
    except boto.exception.BotoServerError as ex:
        module.fail_json(changed=changed, msg="Failed to delete user %s: %s" % (name, ex), exception=traceback.format_exc())
    else:
        changed = True
    return name, changed
def delete_users():
    with open(DATA_FILE_NAME, 'rU') as data_file:
        user_reader = csv.reader(data_file)
        for row in user_reader:
            user = row[0]
            try:
                iam.delete_login_profile(user)
                iam.remove_user_from_group(group, user)
                iam.delete_user(user)
                print("Deleted " + user)
            except boto.exception.BotoServerError as e:
                print "Problems deleting %s.  Exiting due to error: %s" % (user, str(e.message))
                exit(1)
    
    iam.delete_group_policy(group, policy_name)
    iam.delete_group(group)
def delete_users():
    with open(DATA_FILE_NAME, 'rU') as data_file:
        user_reader = csv.reader(data_file)
        for row in user_reader:
            user = row[0]
            try:
                iam.delete_login_profile(user)
                iam.remove_user_from_group(group, user)
                iam.delete_user(user)
                print("Deleted " + user)
            except boto.exception.BotoServerError as e:
                print "Problems deleting %s.  Exiting due to error: %s" % (
                    user, str(e.message))
                exit(1)

    iam.delete_group_policy(group, policy_name)
    iam.delete_group(group)
Beispiel #7
0
def delete_user(module, iam, name):
    del_meta = ''
    try:
        current_keys = [
            ck['access_key_id'] for ck in iam.get_all_access_keys(
                name).list_access_keys_result.access_key_metadata
        ]
        for key in current_keys:
            iam.delete_access_key(key, name)
        try:
            login_profile = iam.get_login_profiles(
                name).get_login_profile_response
        except boto.exception.BotoServerError, err:
            error_msg = boto_exception(err)
            if ('Cannot find Login Profile') in error_msg:
                del_meta = iam.delete_user(name).delete_user_response
        else:
Beispiel #8
0
def delete_user(iam, name):
    del_meta = iam.delete_user(name).delete_user_response
    changed = True
    return del_meta, name, changed
Beispiel #9
0
     current_keys = [
         ck['access_key_id'] for ck in iam.get_all_access_keys(
             name).list_access_keys_result.access_key_metadata
     ]
     for key in current_keys:
         iam.delete_access_key(key, name)
     try:
         login_profile = iam.get_login_profiles(
             name).get_login_profile_response
     except boto.exception.BotoServerError, err:
         error_msg = boto_exception(err)
         if ('Cannot find Login Profile') in error_msg:
             del_meta = iam.delete_user(name).delete_user_response
     else:
         iam.delete_login_profile(name)
         del_meta = iam.delete_user(name).delete_user_response
 except Exception as ex:
     module.fail_json(changed=False, msg="delete failed %s" % ex)
     if ('must detach all policies first') in error_msg:
         for policy in iam.get_all_user_policies(
                 name).list_user_policies_result.policy_names:
             iam.delete_user_policy(name, policy)
         try:
             del_meta = iam.delete_user(name)
         except boto.exception.BotoServerError, err:
             error_msg = boto_exception(err)
             if ('must detach all policies first') in error_msg:
                 module.fail_json(
                     changed=changed,
                     msg=
                     "All inline polices have been removed. Though it appears"