On this page
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 | 
        
        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 | 
       
  | 
      
        
        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.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
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.6/modules/gcp_backend_service_module.html