# gcp_forwarding_rule – Create, Update or Destroy a Forwarding_Rule

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_forwarding_rule or gcp_compute_global_forwarding_rule instead.

## 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

Choices:
- present
- absent

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 dictionary | Always. Refer to GCP documentation for detailed field descriptions. | GCP Forwarding_Rule dictionary Sample: {'name': 'my-forwarding_rule', 'target': '...'}
forwarding_rule_name string | Always | Name of the Forwarding_Rule Sample: my-target-proxy
region boolean | Always | Region for Forwarding Rule. Sample: True
state string | Always. | state of the Forwarding_Rule Sample: present

## 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.