From e6ae9ac421a88b5500de11d66b436a99816762b6 Mon Sep 17 00:00:00 2001 From: The Magician Date: Thu, 17 Jan 2019 13:56:04 -0800 Subject: [PATCH] Ansible Cloud Source Repositories (#165) Signed-off-by: Modular Magician --- plugins/modules/gcp_sourcerepo_repository.py | 17 +++---- .../gcp_sourcerepo_repository_facts.py | 15 +++--- .../defaults/main.yml | 3 +- .../gcp_sourcerepo_repository/tasks/main.yml | 50 +++++++++---------- 4 files changed, 42 insertions(+), 43 deletions(-) diff --git a/plugins/modules/gcp_sourcerepo_repository.py b/plugins/modules/gcp_sourcerepo_repository.py index 8bfa22e..23d1977 100644 --- a/plugins/modules/gcp_sourcerepo_repository.py +++ b/plugins/modules/gcp_sourcerepo_repository.py @@ -62,11 +62,11 @@ notes: EXAMPLES = ''' - name: create a repository gcp_sourcerepo_repository: - name: projects/test_project/repos/test_object - project: test_project - auth_kind: serviceaccount - service_account_file: "/tmp/auth.pem" - state: present + name: projects/test_project/repos/test_object + project: "test_project" + auth_kind: "serviceaccount" + service_account_file: "/tmp/auth.pem" + state: present ''' RETURN = ''' @@ -142,8 +142,7 @@ def create(module, link): def update(module, link): - delete(module, self_link(module)) - create(module, collection(module)) + module.fail_json(msg="Repository cannot be edited") def delete(module, link): @@ -186,8 +185,8 @@ def return_if_object(module, response, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError): - module.fail_json(msg="Invalid JSON response with error: %s" % response.text) + except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: + module.fail_json(msg="Invalid JSON response with error: %s" % inst) if navigate_hash(result, ['error', 'errors']): module.fail_json(msg=navigate_hash(result, ['error', 'errors'])) diff --git a/plugins/modules/gcp_sourcerepo_repository_facts.py b/plugins/modules/gcp_sourcerepo_repository_facts.py index 1104fc9..cdf028f 100644 --- a/plugins/modules/gcp_sourcerepo_repository_facts.py +++ b/plugins/modules/gcp_sourcerepo_repository_facts.py @@ -44,17 +44,16 @@ extends_documentation_fragment: gcp ''' EXAMPLES = ''' -- name: " a repository facts" +- name: a repository facts gcp_sourcerepo_repository_facts: - project: test_project - auth_kind: serviceaccount - service_account_file: "/tmp/auth.pem" - state: facts + project: test_project + auth_kind: serviceaccount + service_account_file: "/tmp/auth.pem" ''' RETURN = ''' -resources: - description: List of resources +items: + description: List of items returned: always type: complex contains: @@ -99,7 +98,7 @@ def main(): items = items.get('repos') else: items = [] - return_value = {'resources': items} + return_value = {'items': items} module.exit_json(**return_value) diff --git a/tests/integration/gcp_sourcerepo_repository/defaults/main.yml b/tests/integration/gcp_sourcerepo_repository/defaults/main.yml index ba66644..aa87a2a 100644 --- a/tests/integration/gcp_sourcerepo_repository/defaults/main.yml +++ b/tests/integration/gcp_sourcerepo_repository/defaults/main.yml @@ -1,2 +1,3 @@ --- -resource_name: "{{ resource_prefix }}" +# defaults file +resource_name: '{{resource_prefix}}' diff --git a/tests/integration/gcp_sourcerepo_repository/tasks/main.yml b/tests/integration/gcp_sourcerepo_repository/tasks/main.yml index 5d704fc..bd3048a 100644 --- a/tests/integration/gcp_sourcerepo_repository/tasks/main.yml +++ b/tests/integration/gcp_sourcerepo_repository/tasks/main.yml @@ -15,19 +15,19 @@ # Pre-test setup - name: delete a repository gcp_sourcerepo_repository: - name: projects/{{ gcp_project }}/repos/{{ resource_name }} - project: "{{ gcp_project }}" - auth_kind: "{{ gcp_cred_kind }}" - service_account_file: "{{ gcp_cred_file }}" - state: absent + name: projects/{{ gcp_project }}/repos/{{ resource_name }} + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + state: absent #---------------------------------------------------------- - name: create a repository gcp_sourcerepo_repository: - name: projects/{{ gcp_project }}/repos/{{ resource_name }} - project: "{{ gcp_project }}" - auth_kind: "{{ gcp_cred_kind }}" - service_account_file: "{{ gcp_cred_file }}" - state: present + name: projects/{{ gcp_project }}/repos/{{ resource_name }} + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + state: present register: result - name: assert changed is true assert: @@ -48,11 +48,11 @@ # ---------------------------------------------------------------------------- - name: create a repository that already exists gcp_sourcerepo_repository: - name: projects/{{ gcp_project }}/repos/{{ resource_name }} - project: "{{ gcp_project }}" - auth_kind: "{{ gcp_cred_kind }}" - service_account_file: "{{ gcp_cred_file }}" - state: present + name: projects/{{ gcp_project }}/repos/{{ resource_name }} + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + state: present register: result - name: assert changed is false assert: @@ -61,11 +61,11 @@ #---------------------------------------------------------- - name: delete a repository gcp_sourcerepo_repository: - name: projects/{{ gcp_project }}/repos/{{ resource_name }} - project: "{{ gcp_project }}" - auth_kind: "{{ gcp_cred_kind }}" - service_account_file: "{{ gcp_cred_file }}" - state: absent + name: projects/{{ gcp_project }}/repos/{{ resource_name }} + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + state: absent register: result - name: assert changed is true assert: @@ -86,11 +86,11 @@ # ---------------------------------------------------------------------------- - name: delete a repository that does not exist gcp_sourcerepo_repository: - name: projects/{{ gcp_project }}/repos/{{ resource_name }} - project: "{{ gcp_project }}" - auth_kind: "{{ gcp_cred_kind }}" - service_account_file: "{{ gcp_cred_file }}" - state: absent + name: projects/{{ gcp_project }}/repos/{{ resource_name }} + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + state: absent register: result - name: assert changed is false assert: