gcp_backend_service - Create or Destroy a Backend Service.
New in version 2.4.
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 | Default: None | 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 | Default: None | Name of the port on the managed instance group (MIG) that backend services can forward data to. Required for external load balancing. |
project_id | Default: None | 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 | Default: None | Service account email |
state |
| 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: - 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, 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 int | If specified. | In seconds, how long before a request sent to a backend is considered failed. Sample: myhttpport |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Author
- Tom Melendez (@supertom) <tom@supertom.com>
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/gcp_backend_service_module.html