Skip to content

Commit f0cd0f7

Browse files
modular-magicianrileykarson
authored andcommitted
Mark Forwarding Rule allPorts as GA (#3309)
<!-- This change is generated by MagicModules. --> /cc @rileykarson
1 parent ef974d2 commit f0cd0f7

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

google/resource_compute_forwarding_rule.go

+22
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ func resourceComputeForwardingRule() *schema.Resource {
6363
ValidateFunc: validation.StringInSlice([]string{"TCP", "UDP", "ESP", "AH", "SCTP", "ICMP", ""}, false),
6464
DiffSuppressFunc: caseDiffSuppress,
6565
},
66+
"all_ports": {
67+
Type: schema.TypeBool,
68+
Optional: true,
69+
ForceNew: true,
70+
},
6671
"backend_service": {
6772
Type: schema.TypeString,
6873
Optional: true,
@@ -230,6 +235,12 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
230235
} else if v, ok := d.GetOkExists("target"); !isEmptyValue(reflect.ValueOf(targetProp)) && (ok || !reflect.DeepEqual(v, targetProp)) {
231236
obj["target"] = targetProp
232237
}
238+
allPortsProp, err := expandComputeForwardingRuleAllPorts(d.Get("all_ports"), d, config)
239+
if err != nil {
240+
return err
241+
} else if v, ok := d.GetOkExists("all_ports"); !isEmptyValue(reflect.ValueOf(allPortsProp)) && (ok || !reflect.DeepEqual(v, allPortsProp)) {
242+
obj["allPorts"] = allPortsProp
243+
}
233244
networkTierProp, err := expandComputeForwardingRuleNetworkTier(d.Get("network_tier"), d, config)
234245
if err != nil {
235246
return err
@@ -346,6 +357,9 @@ func resourceComputeForwardingRuleRead(d *schema.ResourceData, meta interface{})
346357
if err := d.Set("target", flattenComputeForwardingRuleTarget(res["target"], d)); err != nil {
347358
return fmt.Errorf("Error reading ForwardingRule: %s", err)
348359
}
360+
if err := d.Set("all_ports", flattenComputeForwardingRuleAllPorts(res["allPorts"], d)); err != nil {
361+
return fmt.Errorf("Error reading ForwardingRule: %s", err)
362+
}
349363
if err := d.Set("network_tier", flattenComputeForwardingRuleNetworkTier(res["networkTier"], d)); err != nil {
350364
return fmt.Errorf("Error reading ForwardingRule: %s", err)
351365
}
@@ -528,6 +542,10 @@ func flattenComputeForwardingRuleTarget(v interface{}, d *schema.ResourceData) i
528542
return ConvertSelfLinkToV1(v.(string))
529543
}
530544

545+
func flattenComputeForwardingRuleAllPorts(v interface{}, d *schema.ResourceData) interface{} {
546+
return v
547+
}
548+
531549
func flattenComputeForwardingRuleNetworkTier(v interface{}, d *schema.ResourceData) interface{} {
532550
return v
533551
}
@@ -645,6 +663,10 @@ func expandComputeForwardingRuleTarget(v interface{}, d TerraformResourceData, c
645663
return url + v.(string), nil
646664
}
647665

666+
func expandComputeForwardingRuleAllPorts(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
667+
return v, nil
668+
}
669+
648670
func expandComputeForwardingRuleNetworkTier(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
649671
return v, nil
650672
}

google/resource_compute_forwarding_rule_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ resource "google_compute_forwarding_rule" "foobar" {
245245
name = "%s"
246246
load_balancing_scheme = "INTERNAL"
247247
backend_service = "${google_compute_region_backend_service.foobar-bs.self_link}"
248-
ports = ["80"]
248+
all_ports = true
249249
network = "${google_compute_network.foobar.name}"
250250
subnetwork = "%s"
251251
}

website/docs/r/compute_forwarding_rule.html.markdown

+6
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,12 @@ The following arguments are supported:
186186
must be of a type appropriate to the target object.
187187
This field is not used for internal load balancing.
188188

189+
* `all_ports` -
190+
(Optional)
191+
When the load balancing scheme is INTERNAL and protocol is TCP/UDP, omit
192+
`port`/`port_range` and specify this field as `true` to allow packets addressed
193+
to any ports to be forwarded to the backends configured with this forwarding rule.
194+
189195
* `network_tier` -
190196
(Optional)
191197
The networking tier used for configuring this address. This field can

0 commit comments

Comments
 (0)