---
# ----------------------------------------------------------------------------
#
#     ***     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 network
  gcp_compute_network:
      name: 'network-subnetwork'
      auto_create_subnetworks: true
      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: delete a subnetwork
  gcp_compute_subnetwork:
      name: 'ansiblenet'
      region: 'us-west1'
      network: "{{ network }}"
      ip_cidr_range: '172.16.0.0/16'
      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 subnetwork
  gcp_compute_subnetwork:
      name: 'ansiblenet'
      region: 'us-west1'
      network: "{{ network }}"
      ip_cidr_range: '172.16.0.0/16'
      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#subnetwork'"
# ----------------------------------------------------------------------------
- name: create a subnetwork that already exists
  gcp_compute_subnetwork:
      name: 'ansiblenet'
      region: 'us-west1'
      network: "{{ network }}"
      ip_cidr_range: '172.16.0.0/16'
      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#subnetwork'"
#----------------------------------------------------------
- name: delete a subnetwork
  gcp_compute_subnetwork:
      name: 'ansiblenet'
      region: 'us-west1'
      network: "{{ network }}"
      ip_cidr_range: '172.16.0.0/16'
      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: delete a subnetwork that does not exist
  gcp_compute_subnetwork:
      name: 'ansiblenet'
      region: 'us-west1'
      network: "{{ network }}"
      ip_cidr_range: '172.16.0.0/16'
      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 network
  gcp_compute_network:
      name: 'network-subnetwork'
      auto_create_subnetworks: true
      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
