Documentation

gcp_backend_service - Create or Destroy a Backend Service.

New in version 2.4.

Synopsis

Requirements (on host that executes module)

  • python >= 2.6
  • apache-libcloud >= 1.3.0

Options

parameter required default choices comments
backend_service_name
yes
Name of the Backend Service.
backends
yes
List of backends that make up the backend service. A backend is made up of an instance group and optionally several other parameters. See https://cloud.google.com/compute/docs/reference/latest/backendServices for details.
credentials_file
no
Path to the JSON file associated with the service account email.
enable_cdn
no
If true, enable Cloud CDN for this Backend Service.
healthchecks
yes
List of healthchecks. Only one healthcheck is supported.
port_name
no
Name of the port on the managed instance group (MIG) that backend services can forward data to. Required for external load balancing.
project_id
no
GCE project ID.
protocol
no
The protocol this Backend Service uses to communicate with backends. Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP.
service_account_email
no
Service account email
state
no present
  • absent
  • present
Desired state of the resource
timeout
no
How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is 1-86400.

Examples

- name: Create Minimum Backend Service
  gcp_backend_service:
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    project_id: "{{ project_id }}"
    backend_service_name: "{{ bes }}"
    backends:
    - instance_group: managed_instance_group_1
    healthchecks:
    - name: healthcheck_name_for_backend_service
    port_name: myhttpport
    state: present

- name: Create BES with extended backend parameters
  gcp_backend_service:
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    project_id: "{{ project_id }}"
    backend_service_name: "{{ bes }}"
    backends:
    - instance_group: managed_instance_group_1
      max_utilization: 0.6
      max_rate: 10
    - instance_group: managed_instance_group_2
      max_utilization: 0.5
      max_rate: 4
    healthchecks:
    - name: healthcheck_name_for_backend_service
    port_name: myhttpport
    state: present
    timeout: 60

Return Values

Common return values are documented here Return Values, the following are the fields unique to this module:

name description returned type sample
protocol Protocol used to communicate with the Backends. When a Backend Service exists. string HTTP
backend_service_deleted Indicator Backend Service was deleted. When a Backend Service is deleted. boolean True
backend_service_created Indicator Backend Service was created. When a Backend Service is created. boolean True
backends List of backends (comprised of instance_group) that make up a Backend Service. When a Backend Service exists. list [ { 'instance_group': 'mig_one', 'zone': 'us-central1-b'} ]
port_name Name of Backend Port. When a Backend Service exists. string myhttpport
timeout In seconds, how long before a request sent to a backend is considered failed. If specified. int myhttpport
enable_cdn If Cloud CDN is enabled. null if not set. When a backend service exists. boolean True
healthchecks List of healthchecks applied to the Backend Service. When a Backend Service exists. list [ 'my-healthcheck' ]
backend_service_name Name of the Backend Service. Always. string my-backend-service


Notes

Note

  • Update is not currently supported.
  • Only global backend services are currently supported. Regional backends not currently supported.
  • Internal load balancing not currently supported.

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Support

This module is community maintained without core committer oversight.

For more information on what this means please read Module Support

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.