# Copyright 2025 Google Inc. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- # Pre-test setup - name: Delete the test parameter if it exists google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent # ---------------------------------------------------------- - name: Create a parameter google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Create a parameter with version google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-1" version: "test_version" value: "ansible-test-parameter-value" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Create a parameter with labels google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-2" version: "test_version" value: "ansible-test-parameter-value" labels: key1: "val1" key2: "val2" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Create a parameter with format google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-3" version: "test_version" format: JSON value: "{\"key\":\"ansible-test-parameter-value\"}" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Create a parameter with format and labels google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-4" version: "test_version" value: "{\"key\":\"ansible-test-parameter-value\"}" labels: key1: "val1" key2: "val2" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Create a parameter that already exists google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-1" version: "test_version" value: "ansible-test-parameter-value" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is false ansible.builtin.assert: that: - result.changed == false # ---------------------------------------------------------- - name: Add a new version to a parameter google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" version: "test_version" value: "ansible-test-parameter-value-updated" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Add a new version to a parameter with same version name but different value google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" version: "test_version" value: "ansible-test-parameter-value-new-updated" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Add a new version to a parameter with same value but different version name google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" version: "test_version_1" value: "ansible-test-parameter-value-updated" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Add a version that exists to a parameter google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" project: "{{ gcp_project }}" version: "test_version" value: "ansible-test-parameter-value-new-updated" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is false ansible.builtin.assert: that: - result.changed == false # ---------------------------------------------------------- - name: Ensure the parameter version exists google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" version: "test_version" value: "ansible-test-parameter-value-new-updated" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: present register: result - name: Assert changed is false ansible.builtin.assert: that: - result.changed == false # ---------------------------------------------------------- # CLEANUP # ---------------------------------------------------------- - name: Delete the parameter version google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" version: "test_version_1" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter version google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" version: "test_version" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter google.cloud.gcp_parameter_manager: name: "{{ resource_name }}" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter version google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-1" version: "test_version" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-1" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter version with labels google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-2" version: "test_version" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter with labels google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-2" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter version with format google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-3" version: "test_version" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter with format google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-3" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter version with format and labels google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-4" version: "test_version" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true # ---------------------------------------------------------- - name: Delete the parameter with format and labels google.cloud.gcp_parameter_manager: name: "{{ resource_name }}-4" project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file | default(omit) }}" state: absent register: result - name: Assert changed is true ansible.builtin.assert: that: - result.changed == true