- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# gcp_backend_service – Create or Destroy a Backend Service

New in version 2.4.

- DEPRECATED

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## DEPRECATED

Removed in Ansible

  version: 2.12

Why

  Updated modules released with increased functionality

Alternative

  Use gcp_compute_backend_service instead.

## Synopsis

- Create or Destroy a Backend Service. See https://cloud.google.com/compute/docs/load-balancing/http/backend-service for an overview. Full install/configuration instructions for the Google Cloud modules can be found in the comments of ansible/test/gce_tests.py.

## 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 boolean | Choices: no yes | 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

- This module will be removed in version 2.12. [deprecated]

- For more information see DEPRECATED.

### Authors

- Tom Melendez (@supertom) <tom@supertom.com>

Hint

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