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"
}