def __init__(__self__, *, action: Optional[pulumi.Input['RouterNatRuleActionArgs']]=None, description: Optional[pulumi.Input[str]]=None, match: Optional[pulumi.Input[str]]=None, rule_number: Optional[pulumi.Input[int]]=None):
    '\n        :param pulumi.Input[\'RouterNatRuleActionArgs\'] action: The action to be enforced for traffic that matches this rule.\n        :param pulumi.Input[str] description: An optional description of this rule.\n        :param pulumi.Input[str] match: 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 == \'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1\'"\n        :param pulumi.Input[int] rule_number: 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.\n        '
    if (action is not None):
        pulumi.set(__self__, 'action', action)
    if (description is not None):
        pulumi.set(__self__, 'description', description)
    if (match is not None):
        pulumi.set(__self__, 'match', match)
    if (rule_number is not None):
        pulumi.set(__self__, 'rule_number', rule_number)
:param pulumi.Input['RouterNatRuleActionArgs'] action: The action to be enforced for traffic that matches this rule.
:param pulumi.Input[str] description: An optional description of this rule.
:param pulumi.Input[str] match: 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 == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'"
:param pulumi.Input[int] rule_number: 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.
def __init__(__self__, *, action: Optional[pulumi.Input['RouterNatRuleActionArgs']]=None, description: Optional[pulumi.Input[str]]=None, match: Optional[pulumi.Input[str]]=None, rule_number: Optional[pulumi.Input[int]]=None):
    '\n        :param pulumi.Input[\'RouterNatRuleActionArgs\'] action: The action to be enforced for traffic that matches this rule.\n        :param pulumi.Input[str] description: An optional description of this rule.\n        :param pulumi.Input[str] match: 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 == \'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1\'"\n        :param pulumi.Input[int] rule_number: 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.\n        '
    if (action is not None):
        pulumi.set(__self__, 'action', action)
    if (description is not None):
        pulumi.set(__self__, 'description', description)
    if (match is not None):
        pulumi.set(__self__, 'match', match)
    if (rule_number is not None):
        pulumi.set(__self__, 'rule_number', rule_number)