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