mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-07-29 08:01:31 -07:00
fixing gcp_resourcemanager_project delete
gcp_resourcemanager_project was not properly deleting projects. fixing gcp_resourcemanager_project as well. fixes #530.
This commit is contained in:
parent
4907356bba
commit
d063d44b73
6 changed files with 64 additions and 30 deletions
|
@ -15,52 +15,57 @@
|
|||
# Pre-test setup
|
||||
- name: delete a project
|
||||
google.cloud.gcp_resourcemanager_project:
|
||||
name: My Sample Project
|
||||
id: ansible-test-{{ 10000000000 | random }}
|
||||
name: "{{ resource_prefix[0:30] }}"
|
||||
id: "{{ resource_prefix[0:30] }}"
|
||||
auth_kind: "{{ gcp_cred_kind }}"
|
||||
service_account_file: "{{ gcp_cred_file }}"
|
||||
parent:
|
||||
type: organization
|
||||
id: 636173955921
|
||||
type: folder
|
||||
id: "{{ gcp_folder_id }}"
|
||||
state: absent
|
||||
#----------------------------------------------------------
|
||||
- name: create a project
|
||||
google.cloud.gcp_resourcemanager_project:
|
||||
name: My Sample Project
|
||||
id: ansible-test-{{ 10000000000 | random }}
|
||||
name: "{{ resource_prefix[0:30] }}"
|
||||
id: "{{ resource_prefix[0:30] }}"
|
||||
auth_kind: "{{ gcp_cred_kind }}"
|
||||
service_account_file: "{{ gcp_cred_file }}"
|
||||
parent:
|
||||
type: organization
|
||||
id: 636173955921
|
||||
type: folder
|
||||
id: "{{ gcp_folder_id }}"
|
||||
state: present
|
||||
register: result
|
||||
- name: assert changed is true
|
||||
assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- name: Pause for 2 minutes for project to appear
|
||||
ansible.builtin.pause:
|
||||
minutes: 2
|
||||
- name: verify that project was created
|
||||
google.cloud.gcp_resourcemanager_project_info:
|
||||
project: "{{ gcp_project }}"
|
||||
auth_kind: "{{ gcp_cred_kind }}"
|
||||
service_account_file: "{{ gcp_cred_file }}"
|
||||
# choose 1000 projects so iterate past the deleted ones.
|
||||
page_size: 1000
|
||||
scopes:
|
||||
- https://www.googleapis.com/auth/cloud-platform
|
||||
register: results
|
||||
- name: verify that command succeeded
|
||||
assert:
|
||||
that:
|
||||
- results['resources'] | map(attribute='name') | select("match", ".*My Sample Project.*") | list | length == 1
|
||||
- results['resources'] | selectattr("lifecycleState", "equalto", "ACTIVE") | map(attribute='name') | select("match", ".*{{ resource_prefix[0:30] }}.*") | list | length == 1
|
||||
# ----------------------------------------------------------------------------
|
||||
- name: create a project that already exists
|
||||
google.cloud.gcp_resourcemanager_project:
|
||||
name: My Sample Project
|
||||
id: ansible-test-{{ 10000000000 | random }}
|
||||
name: "{{ resource_prefix[0:30] }}"
|
||||
id: "{{ resource_prefix[0:30] }}"
|
||||
auth_kind: "{{ gcp_cred_kind }}"
|
||||
service_account_file: "{{ gcp_cred_file }}"
|
||||
parent:
|
||||
type: organization
|
||||
id: 636173955921
|
||||
type: folder
|
||||
id: "{{ gcp_folder_id }}"
|
||||
state: present
|
||||
register: result
|
||||
- name: assert changed is false
|
||||
|
@ -70,41 +75,46 @@
|
|||
#----------------------------------------------------------
|
||||
- name: delete a project
|
||||
google.cloud.gcp_resourcemanager_project:
|
||||
name: My Sample Project
|
||||
id: ansible-test-{{ 10000000000 | random }}
|
||||
name: "{{ resource_prefix[0:30] }}"
|
||||
id: "{{ resource_prefix[0:30] }}"
|
||||
auth_kind: "{{ gcp_cred_kind }}"
|
||||
service_account_file: "{{ gcp_cred_file }}"
|
||||
parent:
|
||||
type: organization
|
||||
id: 636173955921
|
||||
type: folder
|
||||
id: "{{ gcp_folder_id }}"
|
||||
state: absent
|
||||
register: result
|
||||
- name: assert changed is true
|
||||
assert:
|
||||
that:
|
||||
- result.changed == true
|
||||
- name: Pause for 2 minutes for project to appear
|
||||
ansible.builtin.pause:
|
||||
minutes: 2
|
||||
- name: verify that project was deleted
|
||||
google.cloud.gcp_resourcemanager_project_info:
|
||||
project: "{{ gcp_project }}"
|
||||
project: "{{ resource_prefix[0:30] }}"
|
||||
auth_kind: "{{ gcp_cred_kind }}"
|
||||
service_account_file: "{{ gcp_cred_file }}"
|
||||
# choose 1000 projects so iterate past the deleted ones.
|
||||
page_size: 1000
|
||||
scopes:
|
||||
- https://www.googleapis.com/auth/cloud-platform
|
||||
register: results
|
||||
- name: verify that command succeeded
|
||||
assert:
|
||||
that:
|
||||
- results['resources'] | map(attribute='name') | select("match", ".*My Sample Project.*") | list | length == 0
|
||||
- results['resources'] | selectattr("lifecycleState", "equalto", "DELETE_REQUESTED") | map(attribute='name') | select("match", ".*{{ resource_prefix[0:30] }}.*") | list | length == 1
|
||||
# ----------------------------------------------------------------------------
|
||||
- name: delete a project that does not exist
|
||||
google.cloud.gcp_resourcemanager_project:
|
||||
name: My Sample Project
|
||||
id: ansible-test-{{ 10000000000 | random }}
|
||||
name: "{{ resource_prefix[0:30] }}"
|
||||
id: "{{ resource_prefix[0:30] }}"
|
||||
auth_kind: "{{ gcp_cred_kind }}"
|
||||
service_account_file: "{{ gcp_cred_file }}"
|
||||
parent:
|
||||
type: organization
|
||||
id: 636173955921
|
||||
type: folder
|
||||
id: "{{ gcp_folder_id }}"
|
||||
state: absent
|
||||
register: result
|
||||
- name: assert changed is false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue