- name: Create a GCP instance hosts: localhost vars: gcp_project: ansible-tower-sreejith gcp_cred_kind: serviceaccount tasks: - name: create a disk mapped from RHEL8 image gcp_compute_disk: name: disk-instance size_gb: 50 source_image: projects/rhel-cloud/global/images/rhel-8-v20190905 zone: us-central1-a project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" state: present register: disk - name: create a VPC network gcp_compute_network: name: network-instance project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" state: present register: network - name: create an IPv4 public IP Address gcp_compute_address: name: address-instance region: us-central1 project: "{{ gcp_project }}" auth_kind: "{{ gcp_cred_kind }}" state: present register: address - name: create the RHEL8 instance gcp_compute_instance: name: rhel8 machine_type: n1-standard-1 disks: - auto_delete: 'true' boot: 'true' source: "{{ disk }}" 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 }}" state: present - name: Show RHEL8 Instance Details debug: msg: "The RHEL8 instance is accessible at {{ address.address }}"