On this page
gcp_forwarding_rule - Create, Update or Destroy a Forwarding_Rule.
New in version 2.4.
Synopsis
- Create, Update or Destroy a Forwarding_Rule. See https://cloud.google.com/compute/docs/load-balancing/http/target-proxies for an overview. More details on the Global Forwarding_Rule API can be found at https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules More details on the Forwarding Rules API can be found at https://cloud.google.com/compute/docs/reference/latest/forwardingRules
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - google-api-python-client >= 1.6.2
 - google-auth >= 0.9.0
 - google-auth-httplib2 >= 0.0.2
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| address | 
        
        IPv4 or named IP address. Must be of the same scope (regional, global). Reserved addresses can (and probably should) be used for global forwarding rules. You may reserve IPs from the console or via the gce_eip module.
         | 
     |
| forwarding_rule_name  
        required
         | 
      
        
        Name of the Forwarding_Rule.
         | 
     |
| port_range | 
        
        For global forwarding rules, must be set to 80 or 8080 for TargetHttpProxy, and 443 for TargetHttpsProxy or TargetSslProxy.
         | 
     |
| protocol | 
        
        For global forwarding rules, TCP, UDP, ESP, AH, SCTP or ICMP. Default is TCP.
         | 
     |
| region | 
        
        The region for this forwarding rule. Currently, only 'global' is supported.
         | 
     |
| state  
        required
         | 
      
       
  | 
      
        
        The state of the Forwarding Rule. 'present' or 'absent'
         | 
     
| target | 
        
        Target resource for forwarding rule. For global proxy, this is a Global TargetProxy resource. Required for external load balancing (including Global load balancing)
         | 
     
Notes
Note
- Currently only supports global forwarding rules. As such, Load Balancing Scheme is always EXTERNAL.
 
Examples
- name: Create Minimum GLOBAL Forwarding_Rule
  gcp_forwarding_rule:
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    project_id: "{{ project_id }}"
    forwarding_rule_name: my-forwarding_rule
    protocol: TCP
    port_range: 80
    region: global
    target: my-target-proxy
    state: present
- name: Create Forwarding_Rule w/reserved static address
  gcp_forwarding_rule:
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    project_id: "{{ project_id }}"
    forwarding_rule_name: my-forwarding_rule
    protocol: TCP
    port_range: 80
    address: my-reserved-static-address-name
    region: global
    target: my-target-proxy
    state: present
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| forwarding_rule  
        dict
         | 
      Always. Refer to GCP documentation for detailed field descriptions. | 
        
        GCP Forwarding_Rule dictionary
         Sample:
        
       
        {'name': 'my-forwarding_rule', 'target': '...'}
         | 
     
| forwarding_rule_name  
        str
         | 
      Always | 
        
        Name of the Forwarding_Rule
         Sample:
        
       
        my-target-proxy
         | 
     
| region  
        bool
         | 
      Always | 
        
        Region for Forwarding Rule.
         Sample:
        
       
        True
         | 
     
| state  
        str
         | 
      Always. | 
        
        state of the Forwarding_Rule
         Sample:
        
       
        present
         | 
     
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_forwarding_rule_module.html