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)