in src/ansible_collections/alibaba/apsarastack/plugins/modules/ali_disk_info.py [0:0]
def main():
argument_spec = common_argument_spec()
argument_spec.update(dict(
filters=dict(type='dict'),
name_prefix=dict(type='str'),
tags=dict(type='dict')
)
)
module = AnsibleModule(argument_spec=argument_spec)
if HAS_FOOTMARK is False:
module.fail_json(msg='footmark required for this module')
ecs = ecs_connect(module)
disks = []
disk_ids = []
filters = module.params['filters']
if not filters:
filters = {}
name_prefix = module.params['name_prefix']
tags = module.params['tags']
for disk in ecs.describe_disks(**filters):
if name_prefix and not str(disk.name).startswith(name_prefix):
continue
if tags:
flag = False
for key, value in list(tags.items()):
if key in list(disk.tags.keys()) and value == disk.tags[key]:
flag = True
if not flag:
continue
disks.append(disk.read())
disk_ids.append(disk.id)
module.exit_json(changed=False, disk_ids=disk_ids, disks=disks, total=len(disks))