PolicyVpcNatRule (type)

{
  "additionalProperties": false, 
  "description": "Represents a NAT rule between source and destination at for a given VPC.", 
  "extends": {
    "$ref": "PolicyConfigResource
  }, 
  "id": "PolicyVpcNatRule", 
  "module_id": "PolicyVpcNat", 
  "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": {
      "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": {
      "description": "Source NAT(SNAT) - translates a source IP address into an outbound packet so that the packet appears to originate from a different network. Destination NAT(DNAT) - translates the destination IP address of inbound packets so that packets are delivered to a target address into another network. Reflexive NAT(REFLEXIVE) - one-to-one mapping of source and destination IP addresses.", 
      "enum": [
        "SNAT", 
        "DNAT", 
        "REFLEXIVE"
      ], 
      "required": true, 
      "title": "Represents action of NAT Rule SNAT, DNAT, REFLEXIVE", 
      "type": "string"
    }, 
    "children": {
      "description": "Subtree for this type within policy tree containing nested elements. Note that  this type is applicable to be used in Hierarchical API only.", 
      "items": {
        "$ref": "ChildPolicyConfigResource
      }, 
      "required": false, 
      "title": "Subtree for this type within policy tree", 
      "type": "array"
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "destination_network": {
      "$ref": "IPElementList, 
      "description": "This supports single IP address and it does not support IP range or IP sets. For DNAT rules, this is a mandatory field, and represents the destination network for the incoming packets. For other type of rules, optionally it can contain destination network of outgoing packets. NULL value for this field represents ANY network. In case of DNAT NATRule, destination network address should be IPv4 address allocated from External Block associated with VPC.", 
      "required": false, 
      "title": "Represents the destination network"
    }, 
    "display_name": {
      "can_sort": 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": "The flag, which suggests whether the NAT rule is enabled or disabled. The default is True.", 
      "title": "Policy NAT Rule enabled flag", 
      "type": "boolean"
    }, 
    "firewall_match": {
      "default": "MATCH_INTERNAL_ADDRESS", 
      "description": "It indicates how the firewall matches the address after NATing if firewall stage is not skipped.  MATCH_EXTERNAL_ADDRESS indicates the firewall will be applied to external address of a NAT rule. For SNAT, the external address is the translated source address after NAT is done. For DNAT, the external address is the original destination address before NAT is done. For REFLEXIVE, to egress traffic, the firewall will be applied to the translated source address after NAT is done; To ingress traffic, the firewall will be applied to the original destination address before NAT is done.  MATCH_INTERNAL_ADDRESS indicates the firewall will be applied to internal address of a NAT rule. For SNAT, the internal address is the original source address before NAT is done. For DNAT, the internal address is the translated destination address after NAT is done. For REFLEXIVE, to egress traffic, the firewall will be applied to the original source address before NAT is done; To ingress traffic, the firewall will be applied to the translated destination address after NAT is done.  BYPASS indicates the firewall stage will be skipped.", 
      "enum": [
        "MATCH_EXTERNAL_ADDRESS", 
        "MATCH_INTERNAL_ADDRESS", 
        "BYPASS"
      ], 
      "required": false, 
      "title": "Represents the firewall match flag", 
      "type": "string"
    }, 
    "id": {
      "can_sort": true, 
      "title": "Unique identifier of this resource", 
      "type": "string"
    }, 
    "logging": {
      "default": false, 
      "description": "The flag, which suggests whether the logging of NAT rule is enabled or disabled. The default is False.", 
      "title": "Policy NAT Rule logging flag", 
      "type": "boolean"
    }, 
    "marked_for_delete": {
      "default": false, 
      "description": "Intent objects are not directly deleted from the system when a delete is invoked on them. They are marked for deletion and only when all the realized entities for that intent object gets deleted, the intent object is deleted. Objects that are marked for deletion are not returned in GET call. One can use the search API to get these objects.", 
      "readonly": true, 
      "required": false, 
      "title": "Indicates whether the intent object is marked for deletion", 
      "type": "boolean"
    }, 
    "origin_site_id": {
      "description": "This is a UUID generated by the system for knowing which site owns an object. This is used in Pmaas", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system for knowing which site owns an object", 
      "type": "string"
    }, 
    "overridden": {
      "default": false, 
      "description": "Global intent objects cannot be modified by the user. However, certain global intent objects can be overridden locally by use of this property. In such cases, the overridden local values take precedence over the globally defined values for the properties.", 
      "readonly": true, 
      "required": false, 
      "title": "Indicates whether this object is the overridden intent object", 
      "type": "boolean"
    }, 
    "owner_id": {
      "description": "This is a UUID generated by the system for knowing whoes owns this object. This is used in Pmaas", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system for the ownership of an object", 
      "type": "string"
    }, 
    "parent_path": {
      "description": "Path of its parent", 
      "readonly": true, 
      "required": false, 
      "title": "Path of its parent", 
      "type": "string"
    }, 
    "path": {
      "description": "Absolute path of this object", 
      "readonly": true, 
      "required": false, 
      "title": "Absolute path of this object", 
      "type": "string"
    }, 
    "realization_id": {
      "description": "This is a UUID generated by the system for realizing the entity object. In most cases this should be same as 'unique_id' of the entity. However, in some cases this can be different because of entities have migrated thier unique identifier to NSX Policy intent objects later in the timeline and did not use unique_id for realization. Realization id is helpful for users to debug data path to correlate the configuration with corresponding intent.", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system for realizing intent", 
      "type": "string"
    }, 
    "relative_path": {
      "description": "Path relative from its parent", 
      "readonly": true, 
      "required": false, 
      "title": "Relative path of this object", 
      "type": "string"
    }, 
    "remote_path": {
      "description": "This is the path of the object on the local managers when queried on the PMaaS service, and path of the object on PMaaS service when queried from the local managers.", 
      "readonly": true, 
      "required": false, 
      "title": "Path of the object on the remote end.", 
      "type": "string"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }, 
    "sequence_number": {
      "default": 0, 
      "description": "The sequence_number decides the rule_priority of a NAT rule. Sequence_number and rule_priority have 1:1 mapping.For each NAT section, there will be reserved rule_priority numbers.The valid range of rule_priority number is from 0 to 2147483647(MAX_INT). 1. INTERNAL section     rule_priority reserved from 0 - 1023 (1024 rules)     valid sequence_number range  0 - 1023 2. USER section    rule_priority reserved from 1024 - 2147482623 (2147481600 rules)    valid sequence_number range  0 - 2147481599 3. DEFAULT section    rule_priority reserved from 2147482624 - 2147483647 (1024 rules)    valid sequence_number range  0 - 1023", 
      "title": "Sequence number of the Nat Rule", 
      "type": "int"
    }, 
    "source_network": {
      "$ref": "IPElementList, 
      "description": "This supports single IP address or comma separated list of single IP addresses or CIDR. This does not support IP range or IP sets. For SNAT and REFLEXIVE rules, this is a mandatory field and represents the source network of the packets leaving the network. For DNAT rules, optionally it can contain source network of incoming packets. NULL value for this field represents ANY network.", 
      "required": false, 
      "title": "Represents the source network address"
    }, 
    "tags": {
      "items": {
        "$ref": "Tag
      }, 
      "maxItems": 30, 
      "title": "Opaque identifiers meaningful to the API user", 
      "type": "array"
    }, 
    "translated_network": {
      "$ref": "IPElementList, 
      "description": "This supports single IP address or comma separated list of single IP addresses or CIDR. If user specify the CIDR, this value is actually used as an IP pool that includes both the subnet and broadcast addresses as valid for NAT translations. This does not support IP range or IP sets. For SNAT, DNAT and REFLEXIVE rules, this ia a mandatory field, which represents the translated network address. In case of SNAT and Refelexive NATRule, translated network address should be single IPv4 address allocated from External Block associated with VPC.", 
      "required": false, 
      "title": "Represents the translated network address"
    }, 
    "unique_id": {
      "description": "This is a UUID generated by the GM/LM to uniquely identify entites in a federated environment. For entities that are stretched across multiple sites, the same ID will be used on all the stretched sites.", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system", 
      "type": "string"
    }
  }, 
  "title": "Represents a NAT rule between source and destination for a given VPC", 
  "type": "object"
}