From 6391f4f4c38166e2195a690f344cb7a7680142c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Thu, 6 Sep 2018 20:35:12 +0200 Subject: [PATCH] Backport 2.7 - Select image facts by region (#45297) * Select image facts by region * fix version numbers since this is being backported Signed-off-by: Adam Miller --- .../cloud/scaleway/scaleway_image_facts.py | 26 ++++++++++++++++--- .../roles/scaleway_image_facts/tasks/main.yml | 18 +++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/cloud/scaleway/scaleway_image_facts.py b/lib/ansible/modules/cloud/scaleway/scaleway_image_facts.py index 00231fc6765..0becfdbd862 100644 --- a/lib/ansible/modules/cloud/scaleway/scaleway_image_facts.py +++ b/lib/ansible/modules/cloud/scaleway/scaleway_image_facts.py @@ -22,11 +22,25 @@ author: - "Yanis Guenane (@Spredzy)" - "Remy Leone (@sieben)" extends_documentation_fragment: scaleway + +options: + + region: + version_added: "2.7" + description: + - Scaleway compute zone + required: true + choices: + - ams1 + - EMEA-NL-EVS + - par1 + - EMEA-FR-PAR1 ''' EXAMPLES = r''' - name: Gather Scaleway images facts scaleway_image_facts: + region: par1 ''' RETURN = r''' @@ -72,8 +86,7 @@ scaleway_image_facts: from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.scaleway import ( - Scaleway, ScalewayException, scaleway_argument_spec -) + Scaleway, ScalewayException, scaleway_argument_spec, SCALEWAY_LOCATION) class ScalewayImageFacts(Scaleway): @@ -82,10 +95,17 @@ class ScalewayImageFacts(Scaleway): super(ScalewayImageFacts, self).__init__(module) self.name = 'images' + region = module.params["region"] + self.module.params['api_url'] = SCALEWAY_LOCATION[region]["api_endpoint"] + def main(): + argument_spec = scaleway_argument_spec() + argument_spec.update(dict( + region=dict(required=True, choices=SCALEWAY_LOCATION.keys()), + )) module = AnsibleModule( - argument_spec=scaleway_argument_spec(), + argument_spec=argument_spec, supports_check_mode=True, ) diff --git a/test/legacy/roles/scaleway_image_facts/tasks/main.yml b/test/legacy/roles/scaleway_image_facts/tasks/main.yml index 0d7b2a57b59..aa5e745c9fa 100644 --- a/test/legacy/roles/scaleway_image_facts/tasks/main.yml +++ b/test/legacy/roles/scaleway_image_facts/tasks/main.yml @@ -1,5 +1,9 @@ +# SCW_API_KEY='XXX' ansible-playbook ./test/legacy/scaleway.yml --tags test_scaleway_image_facts + + - name: Get image informations and register it in a variable scaleway_image_facts: + region: par1 register: images - name: Display images variable @@ -10,3 +14,17 @@ assert: that: - images is success + +- name: Get image informations from ams1 and register it in a variable + scaleway_image_facts: + region: ams1 + register: images_ams1 + +- name: Display images variable from ams1 + debug: + var: images_ams1 + +- name: Ensure retrieval of images facts is success + assert: + that: + - images_ams1 is success