The action to be enforced for traffic that matches this rule.
↳ description
string
An optional description of this rule.
↳ match
string
CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8' The following example is a valid match expression for private NAT: nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'
↳ rule_number
int
An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
getAction
The action to be enforced for traffic that matches this rule.
CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8' The following example is a valid match expression for private NAT: nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'
Returns
Type
Description
string
hasMatch
clearMatch
setMatch
CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8' The following example is a valid match expression for private NAT: nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getRuleNumber
An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
Returns
Type
Description
int
hasRuleNumber
clearRuleNumber
setRuleNumber
An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Compute V1 Client - Class RouterNatRule (1.35.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.35.0 (latest)](/php/docs/reference/cloud-compute/latest/V1.RouterNatRule)\n- [1.34.0](/php/docs/reference/cloud-compute/1.34.0/V1.RouterNatRule)\n- [1.33.0](/php/docs/reference/cloud-compute/1.33.0/V1.RouterNatRule)\n- [1.32.0](/php/docs/reference/cloud-compute/1.32.0/V1.RouterNatRule)\n- [1.31.0](/php/docs/reference/cloud-compute/1.31.0/V1.RouterNatRule)\n- [1.30.0](/php/docs/reference/cloud-compute/1.30.0/V1.RouterNatRule)\n- [1.29.0](/php/docs/reference/cloud-compute/1.29.0/V1.RouterNatRule)\n- [1.28.0](/php/docs/reference/cloud-compute/1.28.0/V1.RouterNatRule)\n- [1.27.0](/php/docs/reference/cloud-compute/1.27.0/V1.RouterNatRule)\n- [1.26.0](/php/docs/reference/cloud-compute/1.26.0/V1.RouterNatRule)\n- [1.25.0](/php/docs/reference/cloud-compute/1.25.0/V1.RouterNatRule)\n- [1.24.0](/php/docs/reference/cloud-compute/1.24.0/V1.RouterNatRule)\n- [1.23.0](/php/docs/reference/cloud-compute/1.23.0/V1.RouterNatRule)\n- [1.22.1](/php/docs/reference/cloud-compute/1.22.1/V1.RouterNatRule)\n- [1.21.0](/php/docs/reference/cloud-compute/1.21.0/V1.RouterNatRule)\n- [1.20.0](/php/docs/reference/cloud-compute/1.20.0/V1.RouterNatRule)\n- [1.19.0](/php/docs/reference/cloud-compute/1.19.0/V1.RouterNatRule)\n- [1.18.1](/php/docs/reference/cloud-compute/1.18.1/V1.RouterNatRule)\n- [1.17.0](/php/docs/reference/cloud-compute/1.17.0/V1.RouterNatRule)\n- [1.16.2](/php/docs/reference/cloud-compute/1.16.2/V1.RouterNatRule)\n- [1.14.0](/php/docs/reference/cloud-compute/1.14.0/V1.RouterNatRule)\n- [1.13.0](/php/docs/reference/cloud-compute/1.13.0/V1.RouterNatRule)\n- [1.12.1](/php/docs/reference/cloud-compute/1.12.1/V1.RouterNatRule)\n- [1.11.1](/php/docs/reference/cloud-compute/1.11.1/V1.RouterNatRule)\n- [1.10.1](/php/docs/reference/cloud-compute/1.10.1/V1.RouterNatRule)\n- [1.9.1](/php/docs/reference/cloud-compute/1.9.1/V1.RouterNatRule)\n- [1.8.3](/php/docs/reference/cloud-compute/1.8.3/V1.RouterNatRule)\n- [1.7.1](/php/docs/reference/cloud-compute/1.7.1/V1.RouterNatRule)\n- [1.6.1](/php/docs/reference/cloud-compute/1.6.1/V1.RouterNatRule)\n- [1.5.0](/php/docs/reference/cloud-compute/1.5.0/V1.RouterNatRule) \nReference documentation and code samples for the Compute V1 Client class RouterNatRule.\n\nGenerated from protobuf message `google.cloud.compute.v1.RouterNatRule`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Compute \\\\ V1\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getAction\n\nThe action to be enforced for traffic that matches this rule.\n\n### hasAction\n\n### clearAction\n\n### setAction\n\nThe action to be enforced for traffic that matches this rule.\n\n### getDescription\n\nAn optional description of this rule.\n\n### hasDescription\n\n### clearDescription\n\n### setDescription\n\nAn optional description of this rule.\n\n### getMatch\n\nCEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: `inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')` `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'` The following example is a valid match expression for private NAT: `nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`\n\n### hasMatch\n\n### clearMatch\n\n### setMatch\n\nCEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: `inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')` `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'` The following example is a valid match expression for private NAT: `nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'`\n\n### getRuleNumber\n\nAn integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.\n\n### hasRuleNumber\n\n### clearRuleNumber\n\n### setRuleNumber\n\nAn integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT."]]