NSX-T Data Center REST API
NatRule (type) (Deprecated)
{
"additionalProperties": false,
"deprecated": true,
"description": "The configuration entity to define a NAT rule. It defines how an ip packet is matched via source address or/and destination address or/and service(s), how the address (and/or) port is translated, and how the related firewall stage is involved or bypassed.",
"extends": {
"$ref": "ManagedResource
},
"id": "NatRule",
"module_id": "Nat",
"properties": {
"_create_time": {
"$ref": "EpochMsTimestamp,
"can_sort": true,
"description": "Timestamp of resource creation",
"readonly": true
},
"_create_user": {
"description": "ID of the user who created this resource",
"readonly": true,
"type": "string"
},
"_last_modified_time": {
"$ref": "EpochMsTimestamp,
"can_sort": true,
"description": "Timestamp of last modification",
"readonly": true
},
"_last_modified_user": {
"description": "ID of the user who last modified this resource",
"readonly": true,
"type": "string"
},
"_links": {
"description": "The server will populate this field when returing the resource. Ignored on PUT and POST.",
"items": {
"$ref": "ResourceLink
},
"readonly": true,
"title": "References related to this resource",
"type": "array"
},
"_protection": {
"description": "Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super user and can modify it, but only when providing the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this entity.",
"readonly": true,
"title": "Indicates protection status of this resource",
"type": "string"
},
"_revision": {
"computed": true,
"description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.",
"title": "Generation of this resource config",
"type": "int"
},
"_schema": {
"readonly": true,
"title": "Schema for this resource",
"type": "string"
},
"_self": {
"$ref": "SelfResourceLink,
"readonly": true,
"title": "Link to this resource"
},
"_system_owned": {
"description": "Indicates system owned resource",
"readonly": true,
"type": "boolean"
},
"action": {
"$ref": "NatActions,
"description": "Valid actions: SNAT, DNAT, NO_SNAT, NO_DNAT, REFLEXIVE, NAT64. All rules in a logical router are either stateless or stateful. Mix is not supported. SNAT and DNAT are stateful, can NOT be supported when the logical router is running at active-active HA mode; REFLEXIVE is stateless. NO_SNAT and NO_DNAT have no translated_fields, only match fields are supported.",
"required": true,
"title": "NAT rule action type"
},
"applied_tos": {
"description": "Holds the list of LogicalRouterPort Ids that a NAT rule can be applied to. The LogicalRouterPort used must belong to the same LogicalRouter for which the NAT Rule is created. As of now a NAT rule can only have a single LogicalRouterPort as applied_tos. When applied_tos is not set, the NAT rule is applied to all LogicalRouterPorts beloging to the LogicalRouter.",
"items": {
"$ref": "ResourceReference
},
"maxItems": 1,
"required": false,
"title": "List of LogicalRouterPort resources as applied to",
"type": "array"
},
"description": {
"can_sort": true,
"maxLength": 1024,
"title": "Description of this resource",
"type": "string"
},
"display_name": {
"can_sort": true,
"computed": true,
"description": "Defaults to ID if not set",
"maxLength": 255,
"title": "Identifier to use when displaying entity in logs or GUI",
"type": "string"
},
"enabled": {
"default": true,
"description": "Indicator to enable/disable the rule.",
"required": false,
"title": "enable/disable the rule",
"type": "boolean"
},
"firewall_match": {
"$ref": "NatFirewallMatch,
"description": "Indicate how firewall is applied to a traffic packet. Firewall can be bypassed, or be applied to external/internal address of NAT rule.",
"required": false,
"title": "The rule how the firewall is applied"
},
"id": {
"can_sort": true,
"title": "Unique identifier of this resource",
"type": "string"
},
"internal_rule_id": {
"description": "Internal NAT rule uuid for debug used in Controller and backend.",
"readonly": true,
"required": false,
"title": "Internal NAT rule uuid",
"type": "string"
},
"logging": {
"default": false,
"description": "Enable/disable the logging of rule.",
"required": false,
"title": "Enable/disable the logging of rule",
"type": "boolean"
},
"logical_router_id": {
"description": "The logical router id which the nat rule runs on.",
"readonly": true,
"required": false,
"title": "Logical router id",
"type": "string"
},
"match_destination_network": {
"description": "IP Address | CIDR | (null implies Any)",
"required": false,
"title": "match destination network",
"type": "string"
},
"match_service": {
"$ref": "NSServiceElement,
"description": "A NSServiceElement that specifies the matching services of source ports, destination ports, ip protocol version and number, sub protocol version and number, ICMP type and code, etc. The match_service can be one of IPProtocolNSService,L4PortSetNSService or ICMPTypeNSService. REFLEXIVE NAT does not support match_service.",
"required": false,
"title": "match service"
},
"match_source_network": {
"description": "IP Address | CIDR | (null implies Any)",
"required": false,
"title": "match source network",
"type": "string"
},
"pb_vpn_mode": {
"$ref": "PbVpnMode,
"default": "BYPASS",
"description": "Indicate how the rule applies to Policy-Based VPN traffic. It's supported only for NAT rule action type DNAT and NO_DNAT. BYPASS indicates that NAT rule is applied to the traffic received on Routed-Based VPN tunnel. EXCLUSIVE indicates that NAT rule is applied to the inbound traffic received on Policy-Based VPN tunnel only.",
"required": false,
"title": "The rule how the NAT applies to Policy-Based VPN traffic"
},
"resource_type": {
"description": "The type of this resource.",
"readonly": false,
"type": "string"
},
"rule_priority": {
"default": 1024,
"description": "Ascending, valid range [0-2147483647]. If multiple rules have the same priority, evaluation sequence is undefined.",
"required": false,
"title": "NAT rule priority",
"type": "integer"
},
"tags": {
"items": {
"$ref": "Tag
},
"maxItems": 30,
"title": "Opaque identifiers meaningful to the API user",
"type": "array"
},
"translated_network": {
"description": "The translated address for the matched IP packet. For a SNAT, it can be a single ip address, an ip range, or a CIDR block. For a DNAT and a REFLEXIVE, it can be a single ip address or a CIDR block. Translated network is not supported for NO_SNAT or NO_DNAT.",
"required": false,
"title": "IP Address | IP Range | CIDR",
"type": "string"
},
"translated_ports": {
"description": "The translated port(s) for the mtached IP packet. It can be a single port or a port range. Please note, port translating is supported only for DNAT.",
"required": false,
"title": "port number or port range. DNAT only",
"type": "string"
}
},
"title": "The configuration entity to define a NAT rule",
"type": "object"
}