Documentation

gcp_backend_service – Create or Destroy a Backend Service.

New in version 2.4.

Synopsis

Requirements

The below requirements are needed on the host that executes this module.

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

Parameters

Parameter Choices/Defaults Comments
backend_service_name
- / required
Name of the Backend Service.
backends
- / required
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
-
Path to the JSON file associated with the service account email.
enable_cdn
-
If true, enable Cloud CDN for this Backend Service.
healthchecks
- / required
List of healthchecks. Only one healthcheck is supported.
port_name
-
Name of the port on the managed instance group (MIG) that backend services can forward data to. Required for external load balancing.
project_id
-
GCE project ID.
protocol
-
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
-
Service account email
state
-
    Choices:
  • absent
  • present ←
Desired state of the resource
timeout
-
How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is 1-86400.

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.

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:
    - 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:
    - healthcheck_name_for_backend_service
    port_name: myhttpport
    state: present
    timeout: 60

Return Values

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

Key Returned Description
backend_service_created
boolean
When a Backend Service is created.
Indicator Backend Service was created.

Sample:
True
backend_service_deleted
boolean
When a Backend Service is deleted.
Indicator Backend Service was deleted.

Sample:
True
backend_service_name
string
Always.
Name of the Backend Service.

Sample:
my-backend-service
backends
list
When a Backend Service exists.
List of backends (comprised of instance_group) that make up a Backend Service.

Sample:
[ { 'instance_group': 'mig_one', 'zone': 'us-central1-b'} ]
enable_cdn
boolean
When a backend service exists.
If Cloud CDN is enabled. null if not set.

Sample:
True
healthchecks
list
When a Backend Service exists.
List of healthchecks applied to the Backend Service.

Sample:
[ 'my-healthcheck' ]
port_name
string
When a Backend Service exists.
Name of Backend Port.

Sample:
myhttpport
protocol
string
When a Backend Service exists.
Protocol used to communicate with the Backends.

Sample:
HTTP
timeout
integer
If specified.
In seconds, how long before a request sent to a backend is considered failed.

Sample:
myhttpport


Status

Authors

Hint

If you notice any issues in this documentation you can edit this document to improve it.