in src/ansible_collections/alibaba/apsarastack/plugins/modules/ali_rds_database_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),
name_prefix=dict(type='str'),
db_status=dict(type='str', aliases=['status'])
))
module = AnsibleModule(argument_spec=argument_spec)
rds = rds_connect(module)
name_prefix = module.params['name_prefix']
db_status = module.params['db_status']
if HAS_FOOTMARK is False:
module.fail_json(msg="Package 'footmark' required for this module.")
result = []
try:
for db in rds.describe_databases(**module.params):
if name_prefix and not db.dbname.startswith(name_prefix):
continue
if db_status and db.dbstatus.lower() != db_status.lower():
continue
result.append(db.read())
module.exit_json(changed=False, databases=result)
except Exception as e:
module.fail_json(msg="Unable to describe rds database, and got an error: {0}.".format(e))