--- # ---------------------------------------------------------------------------- # # *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** # # ---------------------------------------------------------------------------- # # This file is automatically generated by Magic Modules and manual # changes will be clobbered when the file is regenerated. # # Please read more about how to change this file at # https://www.github.com/GoogleCloudPlatform/magic-modules # # ---------------------------------------------------------------------------- # Pre-test setup - name: create a disk gcp_compute_disk: name: 'disk-instance' size_gb: 50 source_image: 'projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts' zone: us-central1-a project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: present register: disk - name: create a network gcp_compute_network: name: 'network-instance' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: present register: network - name: create a address gcp_compute_address: name: 'address-instance' region: 'us-central1' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: present register: address - name: delete a instance gcp_compute_instance: name: "{{ resource_name }}" machine_type: n1-standard-1 disks: - auto_delete: true boot: true source: "{{ disk }}" metadata: startup-script-url: 'gs:://graphite-playground/bootstrap.sh' cost-center: '12345' network_interfaces: - network: "{{ network }}" access_configs: - name: 'External NAT' nat_ip: "{{ address }}" type: 'ONE_TO_ONE_NAT' zone: 'us-central1-a' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: absent #---------------------------------------------------------- - name: create a instance gcp_compute_instance: name: "{{ resource_name }}" machine_type: n1-standard-1 disks: - auto_delete: true boot: true source: "{{ disk }}" metadata: startup-script-url: 'gs:://graphite-playground/bootstrap.sh' cost-center: '12345' network_interfaces: - network: "{{ network }}" access_configs: - name: 'External NAT' nat_ip: "{{ address }}" type: 'ONE_TO_ONE_NAT' zone: 'us-central1-a' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: present register: result - name: assert changed is true assert: that: - result.changed == true - "result.kind == 'compute#instance'" - name: verify that instance was created shell: | gcloud compute instances describe --project="{{ gcp_project }}" --zone="us-central1-a" "{{ resource_name }}" register: results - name: verify that command succeeded assert: that: - results.rc == 0 # ---------------------------------------------------------------------------- - name: create a instance that already exists gcp_compute_instance: name: "{{ resource_name }}" machine_type: n1-standard-1 disks: - auto_delete: true boot: true source: "{{ disk }}" metadata: startup-script-url: 'gs:://graphite-playground/bootstrap.sh' cost-center: '12345' network_interfaces: - network: "{{ network }}" access_configs: - name: 'External NAT' nat_ip: "{{ address }}" type: 'ONE_TO_ONE_NAT' zone: 'us-central1-a' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: present register: result - name: assert changed is false assert: that: - result.changed == false - "result.kind == 'compute#instance'" #---------------------------------------------------------- - name: delete a instance gcp_compute_instance: name: "{{ resource_name }}" machine_type: n1-standard-1 disks: - auto_delete: true boot: true source: "{{ disk }}" metadata: startup-script-url: 'gs:://graphite-playground/bootstrap.sh' cost-center: '12345' network_interfaces: - network: "{{ network }}" access_configs: - name: 'External NAT' nat_ip: "{{ address }}" type: 'ONE_TO_ONE_NAT' zone: 'us-central1-a' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: absent register: result - name: assert changed is true assert: that: - result.changed == true - result.has_key('kind') == False - name: verify that instance was deleted shell: | gcloud compute instances describe --project="{{ gcp_project }}" --zone="us-central1-a" "{{ resource_name }}" register: results failed_when: results.rc == 0 - name: verify that command succeeded assert: that: - results.rc == 1 - "\"'projects/{{ gcp_project }}/zones/us-central1-a/instances/{{ resource_name }}' was not found\" in results.stderr" # ---------------------------------------------------------------------------- - name: delete a instance that does not exist gcp_compute_instance: name: "{{ resource_name }}" machine_type: n1-standard-1 disks: - auto_delete: true boot: true source: "{{ disk }}" metadata: startup-script-url: 'gs:://graphite-playground/bootstrap.sh' cost-center: '12345' network_interfaces: - network: "{{ network }}" access_configs: - name: 'External NAT' nat_ip: "{{ address }}" type: 'ONE_TO_ONE_NAT' zone: 'us-central1-a' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: absent register: result - name: assert changed is false assert: that: - result.changed == false - result.has_key('kind') == False #--------------------------------------------------------- # Post-test teardown - name: delete a address gcp_compute_address: name: 'address-instance' region: 'us-central1' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: absent register: address - name: delete a network gcp_compute_network: name: 'network-instance' project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: absent register: network - name: delete a disk gcp_compute_disk: name: 'disk-instance' size_gb: 50 source_image: 'projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts' zone: us-central1-a project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" service_account_file: "{{ gcp_cred_file }}" scopes: - https://www.googleapis.com/auth/compute state: absent register: disk