def main()

in src/ansible_collections/alibaba/apsarastack/plugins/modules/ali_rds_backup_info.py [0:0]


def main():
    argument_spec = common_argument_spec()
    argument_spec.update(dict(
        db_instance_id=dict(type='str', aliases=['instance_id'], required=True),
        backup_id=dict(type='str'),
        backup_status=dict(type='str', choice=['Success', 'Failed']),
        backup_mode=dict(type='str', choice=['Automated', 'Manual'])
    ))
    module = AnsibleModule(argument_spec=argument_spec)

    if HAS_FOOTMARK is False:
        module.fail_json(msg="Package 'footmark' required for this module.")

    result = []
    backup_status = module.params['backup_status']
    backup_mode = module.params['backup_mode']

    try:
        rds = rds_connect(module)
        for backup in rds.describe_backups(**module.params):
            if backup_status and backup.status.lower() != backup_status.lower():
                continue
            if backup_mode and backup.mode.lower() != backup_mode.lower():
                continue
            result.append(backup.read())

    except Exception as e:
        module.fail_json(msg="Unable to describe rds backup, and got an error: {0}.".format(e))

    module.exit_json(changed=True, backups=result)