FirewallRule (type)

{
  "extends": {
    "$ref": "DSRule
  }, 
  "id": "FirewallRule", 
  "module_id": "Firewall", 
  "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 distributed service rule. Currently DS Layer supports below actions. ALLOW           - Forward any packet when a rule with this action gets a match (Used by Firewall). DROP            - Drop any packet when a rule with this action gets a match. Packets won't go further(Used by Firewall). REJECT          - Terminate TCP connection by sending TCP reset for a packet when a rule with this action gets a match (Used by Firewall). REDIRECT        - Redirect any packet to a partner appliance when a rule with this action gets a match (Used by Service Insertion). DO_NOT_REDIRECT - Do not redirect any packet to a partner appliance when a rule with this action gets a match (Used by Service Insertion). DETECT          - Detect IDS Signatures.", 
      "enum": [
        "ALLOW", 
        "DROP", 
        "REJECT", 
        "REDIRECT", 
        "DO_NOT_REDIRECT", 
        "DETECT"
      ], 
      "readonly": false, 
      "required": true, 
      "title": "Action", 
      "type": "string"
    }, 
    "applied_tos": {
      "description": "List of object where rule will be enforced. The section level field overrides this one. Null will be treated as any.", 
      "items": {
        "$ref": "ResourceReference
      }, 
      "maxItems": 128, 
      "readonly": false, 
      "required": false, 
      "title": "AppliedTo List", 
      "type": "array"
    }, 
    "context_profiles": {
      "description": "NS Profile object which accepts attributes and sub-attributes of various network services (ex. L7 AppId, domain name, encryption algorithm) as key value pairs.", 
      "items": {
        "$ref": "ResourceReference
      }, 
      "maxItems": 128, 
      "title": "Context Profiles", 
      "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"
    }, 
    "destinations_excluded": {
      "default": false, 
      "description": "Negation of the destination.", 
      "readonly": false, 
      "required": false, 
      "title": "Negation of destination", 
      "type": "boolean"
    }, 
    "direction": {
      "default": "IN_OUT", 
      "description": "Rule direction in case of stateless distributed service rules. This will only considered if section level parameter is set to stateless. Default to IN_OUT if not specified.", 
      "enum": [
        "IN", 
        "OUT", 
        "IN_OUT"
      ], 
      "readonly": false, 
      "required": false, 
      "title": "Rule direction", 
      "type": "string"
    }, 
    "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"
    }, 
    "extended_sources": {
      "description": "List of NSGroups that have end point attributes like AD Groups(SID), process name, process hash etc. For Flash release, only NSGroups containing AD Groups are supported.", 
      "items": {
        "$ref": "ResourceReference
      }, 
      "maxItems": 128, 
      "title": "Extended Sources", 
      "type": "array"
    }, 
    "id": {
      "description": "Identifier of the resource", 
      "readonly": true, 
      "required": false, 
      "type": "string"
    }, 
    "ip_protocol": {
      "default": "IPV4_IPV6", 
      "description": "Type of IP packet that should be matched while enforcing the rule.", 
      "enum": [
        "IPV4", 
        "IPV6", 
        "IPV4_IPV6"
      ], 
      "readonly": false, 
      "required": false, 
      "title": "IPv4 vs IPv6 packet type", 
      "type": "string"
    }, 
    "is_default": {
      "description": "Flag to indicate whether rule is default.", 
      "readonly": true, 
      "required": false, 
      "title": "Default rule", 
      "type": "boolean"
    }, 
    "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"
    }, 
    "priority": {
      "description": "Priority of the rule.", 
      "readonly": true, 
      "required": false, 
      "title": "Rule priority", 
      "type": "integer"
    }, 
    "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"
    }, 
    "section_id": {
      "description": "Section Id of the section to which this rule belongs to.", 
      "readonly": true, 
      "required": false, 
      "title": "Section Id", 
      "type": "string"
    }, 
    "services": {
      "description": "List of the services. Null will be treated as any.", 
      "items": {
        "$ref": "FirewallService
      }, 
      "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"
    }, 
    "sources_excluded": {
      "default": false, 
      "description": "Negation of the source.", 
      "readonly": false, 
      "required": false, 
      "title": "Negation of source", 
      "type": "boolean"
    }
  }, 
  "type": "object"
}