PBRRule (type)

{
  "extends": {
    "$ref": "EmbeddedResource
  }, 
  "id": "PBRRule", 
  "module_id": "PBR", 
  "properties": {
    "_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"
    }, 
    "_owner": {
      "$ref": "OwnerResourceLink, 
      "readonly": true, 
      "title": "Owner of this resource"
    }, 
    "_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"
    }, 
    "action": {
      "description": "Action enforced on the packets which matches the PBR rule.", 
      "enum": [
        "ROUTE_TO_UNDERLAY_NAT", 
        "ROUTE_TO_OVERLAY_NAT", 
        "ROUTE_TO_UNDERLAY", 
        "ROUTE_TO_OVERLAY", 
        "ROUTE_FROM_OVERLAY", 
        "ROUTE_FROM_UNDERLAY"
      ], 
      "readonly": false, 
      "required": true, 
      "title": "Action", 
      "type": "string"
    }, 
    "applied_tos": {
      "description": "List of object where rule will be enforced. field overrides this one. Null will be treated as any.", 
      "items": {
        "$ref": "ResourceReference
      }, 
      "maxItems": 128, 
      "readonly": false, 
      "required": false, 
      "title": "AppliedTo List", 
      "type": "array"
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "destinations": {
      "description": "List of the destinations. Null will be treated as any.", 
      "items": {
        "$ref": "ResourceReference
      }, 
      "maxItems": 128, 
      "readonly": false, 
      "required": false, 
      "title": "Destination List", 
      "type": "array"
    }, 
    "disabled": {
      "default": false, 
      "description": "Flag to disable rule. Disabled will only be persisted but never provisioned/realized.", 
      "readonly": false, 
      "required": false, 
      "title": "Rule enable/disable flag", 
      "type": "boolean"
    }, 
    "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"
    }, 
    "id": {
      "description": "Identifier of the resource", 
      "readonly": true, 
      "required": false, 
      "type": "string"
    }, 
    "logged": {
      "default": false, 
      "description": "Flag to enable packet logging. Default is disabled.", 
      "readonly": false, 
      "required": false, 
      "title": "Enable logging flag", 
      "type": "boolean"
    }, 
    "notes": {
      "description": "User notes specific to the rule.", 
      "maxLength": 2048, 
      "readonly": false, 
      "required": false, 
      "title": "Notes", 
      "type": "string"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }, 
    "rule_tag": {
      "description": "User level field which will be printed in CLI and packet logs.", 
      "maxLength": 32, 
      "readonly": false, 
      "required": false, 
      "title": "Tag", 
      "type": "string"
    }, 
    "services": {
      "description": "List of the services. Null will be treated as any.", 
      "items": {
        "$ref": "PBRService
      }, 
      "maxItems": 128, 
      "readonly": false, 
      "required": false, 
      "title": "Service List", 
      "type": "array"
    }, 
    "sources": {
      "description": "List of sources. Null will be treated as any.", 
      "items": {
        "$ref": "ResourceReference
      }, 
      "maxItems": 128, 
      "readonly": false, 
      "required": false, 
      "title": "Source List", 
      "type": "array"
    }
  }, 
  "type": "object"
}