PolicyLbRule (type)

{
  "additionalProperties": false, 
  "description": "Binding of a LbPoolAccess and Group to a PolicyLbVirtualServer used to route application traffic passing through load balancers. PolicyLbRule uses match conditions to match application traffic passing through a PolicyLbVirtualServer using HTTP or HTTPS. Can bind multiple PolicyLbVirtualServers to a Group. Each PolicyLbRule consists of two optional match conditions, each match contidion defines a criterion for application traffic.  If no match conditions are specified, then the PolicyLbRule will always match and it is used typically to define default rules. If more than one match condition is specified, then matching strategy determines if all conditions should match or any one condition should match for the PolicyLbRule to be considered a match.  A match indicates that the PolicyLbVirtualServer should route the request to the Group (parent of PolicyLbRule).", 
  "extends": {
    "$ref": "PolicyConfigResource
  }, 
  "id": "PolicyLbRule", 
  "module_id": "TempPolicyLoadBalancer", 
  "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"
    }, 
    "children": {
      "description": "subtree for this type within policy tree containing nested elements.", 
      "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"
    }, 
    "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"
    }, 
    "host_match": {
      "description": "This condition is used to match HTTP request messages by the specific HTTP header field, Host.  The Host request header specifies the domain name of the server. The supplied Host HTTP header match condition will be matched as a regular expression. The regular expressions in load balancer rules use the features common to both Java regular expressions and Perl Compatible Regular Expressions (PCREs) with some restrictions. Reference http://www.pcre .org for PCRE and the NSX-T Administrator's Guide for the restrictions. Please note, when regular expressions are used in JSON (JavaScript Object Notation) string, every backslash character (\\) needs to be escaped by one additional backslash character.", 
      "required": false, 
      "title": "Host HTTP header match condition", 
      "type": "string"
    }, 
    "id": {
      "can_sort": true, 
      "title": "Unique identifier of this resource", 
      "type": "string"
    }, 
    "lb_virtual_server": {
      "description": "The path of PolicyLbVirtualServer to bind to this PolicyLbRule and its Group", 
      "required": false, 
      "title": "PolicyLbVirtualServer path", 
      "type": "string"
    }, 
    "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"
    }, 
    "match_strategy": {
      "default": "ANY", 
      "description": "If more than one match condition is specified, then matching strategy determines if all conditions should match or any one condition should match for the LB Rule to be considered a match. - ALL indicates that both host_match and path_match must match for this PolicyLbRule to be considered a match - ANY indicates that either host_match or patch match may match for this PolicyLbRule to be considered a match", 
      "enum": [
        "ALL", 
        "ANY"
      ], 
      "required": false, 
      "title": "Match strategy for determining match of multiple conditions", 
      "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"
    }, 
    "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"
    }, 
    "path_match": {
      "description": "This condition is used to match URIs(Uniform Resource Identifier) of HTTP request messages. The URI field can be specified as a regluar expression. If an HTTP request message is requesting an URI which matches specified regular expression, it matches the condition. The syntax of whole URI looks like this: scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment] This condition matches only the path part of entire URI. The path_match field is used as a regular expression to match URI path of HTTP requests. For example, to match any URI that has \"/image/\" or \"/images/\", uri field can be specified as: \"/image[s]?/\". The regular  expressions in load balancer rules use the features common to both  Java regular expressions and Perl Compatible Regular Expressions  (PCREs) with some restrictions. Reference http://www.pcre .org for  PCRE and the NSX-T Administrator's Guide for the restrictions.  Please note, when regular expressions are used in JSON (JavaScript  Object Notation) string, every backslash character (\\) needs to be  escaped by one additional backslash character.", 
      "required": false, 
      "title": "HTTP request uri match condition", 
      "type": "string"
    }, 
    "relative_path": {
      "description": "Path relative from its parent", 
      "readonly": true, 
      "required": false, 
      "title": "Relative path of this object", 
      "type": "string"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }, 
    "sequence_number": {
      "description": "This field is used to resolve conflicts between multiple PolicyLbRules associated with a single PolicyLbVirtualServer and will be applied numerically or low to high", 
      "required": false, 
      "title": "Sequence number of the this PolicyLbRule", 
      "type": "int"
    }, 
    "tags": {
      "items": {
        "$ref": "Tag
      }, 
      "maxItems": 30, 
      "title": "Opaque identifiers meaningful to the API user", 
      "type": "array"
    }, 
    "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": "Binding of a LbPoolAccess and Group to a PolicyLbVirtualServer", 
  "type": "object"
}