in src/ansible_collections/alibaba/apsarastack/plugins/modules/ali_image_info.py [0:0]
def main():
argument_spec = common_argument_spec()
argument_spec.update(dict(
image_ids=dict(type='list', elements='str', aliases=['ids']),
image_names=dict(type='list', elements='str', aliases=['names']),
)
)
module = AnsibleModule(argument_spec=argument_spec)
if HAS_FOOTMARK is False:
module.fail_json(msg="Package 'footmark' required for this module.")
image_ids = module.params['image_ids']
image_names = module.params['image_names']
result = []
ids = []
if image_ids and (not isinstance(image_ids, list) or len(image_ids)) < 1:
module.fail_json(msg='image_ids should be a list of image id, aborting')
if image_names and (not isinstance(image_names, list) or len(image_names)) < 1:
module.fail_json(msg='image_names should be a list of image name, aborting')
try:
ecs = ecs_connect(module)
if image_ids:
image_id = ",".join(image_ids)
for image in get_images(module, image_id=image_id):
result.append(get_info(image))
ids.append(image["ImageId"])
elif image_names:
for name in image_names:
for image in get_images(module, image_name=name):
if image:
result.append(get_info(image))
ids.append(image["ImageId"])
else:
for image in get_images(module):
result.append(get_info(image))
ids.append(image["ImageId"])
module.exit_json(changed=False, image_ids=ids, images=result, total=len(result))
except ECSResponseError as e:
module.fail_json(msg='Error in describe images: %s' % str(e))