delowan.googlecloud.gcp_compute_instance_group (1.0.2) — module

Creates a GCP InstanceGroup

Authors: Google Inc. (@googlecloudplatform)

preview | supported by community

Install collection

Install with ansible-galaxy collection install delowan.googlecloud:==1.0.2


Add to requirements.yml

  collections:
    - name: delowan.googlecloud
      version: 1.0.2

Description

Represents an Instance Group resource. Instance groups are self-managed and can contain identical or different instances. Instance groups do not use an instance template. Unlike managed instance groups, you must create and add instances to an instance group manually.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a network
  google.cloud.gcp_compute_network:
    name: network-instancegroup
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: network
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a instance group
  google.cloud.gcp_compute_instance_group:
    name: test_object
    named_ports:
    - name: ansible
      port: 1234
    network: "{{ network }}"
    zone: us-central1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Inputs

    
name:
    description:
    - The name of the instance group.
    - The name must be 1-63 characters long, and comply with RFC1035.
    required: false
    type: str

zone:
    description:
    - A reference to the zone where the instance group resides.
    required: true
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Whether the given object should exist in GCP
    type: str

region:
    description:
    - The region where the instance group is located (for regional resources).
    required: false
    type: str

scopes:
    description:
    - Array of scopes to be used
    elements: str
    type: list

network:
    description:
    - The network to which all instances in the instance group belong.
    - 'This field represents a link to a Network resource in GCP. It can be specified
      in two ways. First, you can place a dictionary with key ''selfLink'' and value of
      your resource''s selfLink Alternatively, you can add `register: name-of-resource`
      to a gcp_compute_network task and then set this network field to "{{ name-of-resource
      }}"'
    required: false
    type: dict

project:
    description:
    - The Google Cloud Platform project to use.
    type: str

env_type:
    description:
    - Specifies which Ansible environment you're running this module within.
    - This should not be set unless you know what you're doing.
    - This only alters the User Agent string for any API requests.
    type: str

auth_kind:
    choices:
    - application
    - machineaccount
    - serviceaccount
    description:
    - The type of credential used.
    required: true
    type: str

instances:
    description:
    - The list of instances associated with this InstanceGroup.
    - All instances must be created before being added to an InstanceGroup.
    - All instances not in this list will be removed from the InstanceGroup and will not
      be deleted.
    - Only the full identifier of the instance will be returned.
    elements: dict
    required: false
    type: list

subnetwork:
    description:
    - The subnetwork to which all instances in the instance group belong.
    - 'This field represents a link to a Subnetwork resource in GCP. It can be specified
      in two ways. First, you can place a dictionary with key ''selfLink'' and value of
      your resource''s selfLink Alternatively, you can add `register: name-of-resource`
      to a gcp_compute_subnetwork task and then set this subnetwork field to "{{ name-of-resource
      }}"'
    required: false
    type: dict

description:
    description:
    - An optional description of this resource. Provide this property when you create
      the resource.
    required: false
    type: str

named_ports:
    description:
    - Assigns a name to a port number.
    - 'For example: {name: "http", port: 80}.'
    - This allows the system to reference ports by the assigned name instead of a port
      number. Named ports can also contain multiple ports.
    - 'For example: [{name: "http", port: 80},{name: "http", port: 8080}] Named ports
      apply to all instances in this instance group.'
    elements: dict
    required: false
    suboptions:
      name:
        description:
        - The name for this named port.
        - The name must be 1-63 characters long, and comply with RFC1035.
        required: false
        type: str
      port:
        description:
        - The port number, which can be a value between 1 and 65535.
        required: false
        type: int
    type: list

service_account_file:
    description:
    - The path of a Service Account JSON file if serviceaccount is selected as type.
    type: path

service_account_email:
    description:
    - An optional service account email address if machineaccount is selected and the
      user does not wish to use the default email.
    type: str

service_account_contents:
    description:
    - The contents of a Service Account JSON file, either in a dictionary or as a JSON
      string that represents it.
    type: jsonarg

Outputs

creationTimestamp:
  description:
  - Creation timestamp in RFC3339 text format.
  returned: success
  type: str
description:
  description:
  - An optional description of this resource. Provide this property when you create
    the resource.
  returned: success
  type: str
id:
  description:
  - A unique identifier for this instance group.
  returned: success
  type: int
instances:
  description:
  - The list of instances associated with this InstanceGroup.
  - All instances must be created before being added to an InstanceGroup.
  - All instances not in this list will be removed from the InstanceGroup and will
    not be deleted.
  - Only the full identifier of the instance will be returned.
  returned: success
  type: list
name:
  description:
  - The name of the instance group.
  - The name must be 1-63 characters long, and comply with RFC1035.
  returned: success
  type: str
namedPorts:
  contains:
    name:
      description:
      - The name for this named port.
      - The name must be 1-63 characters long, and comply with RFC1035.
      returned: success
      type: str
    port:
      description:
      - The port number, which can be a value between 1 and 65535.
      returned: success
      type: int
  description:
  - Assigns a name to a port number.
  - 'For example: {name: "http", port: 80}.'
  - This allows the system to reference ports by the assigned name instead of a port
    number. Named ports can also contain multiple ports.
  - 'For example: [{name: "http", port: 80},{name: "http", port: 8080}] Named ports
    apply to all instances in this instance group.'
  returned: success
  type: complex
network:
  description:
  - The network to which all instances in the instance group belong.
  returned: success
  type: dict
region:
  description:
  - The region where the instance group is located (for regional resources).
  returned: success
  type: str
subnetwork:
  description:
  - The subnetwork to which all instances in the instance group belong.
  returned: success
  type: dict
zone:
  description:
  - A reference to the zone where the instance group resides.
  returned: success
  type: str