{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/graphiant/main/json-schema/graphiant-v1-extranets-monitoring-traffic-security-policy-post-response-schema.json",
  "title": "v1ExtranetsMonitoringTrafficSecurityPolicyPostResponse",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/graphiant-extranets-monitoring-api-openapi.yml#/components/schemas/v1ExtranetsMonitoringTrafficSecurityPolicyPostResponse",
  "type": "object",
  "properties": {
    "securityRules": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/manaV2SecurityPolicyRuleRow"
      }
    },
    "trafficRules": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/manaV2TrafficPolicyRuleRow"
      }
    }
  },
  "additionalProperties": false,
  "$defs": {
    "manaV2PolicyMatch": {
      "type": "object",
      "properties": {
        "destinationPort": {
          "type": "integer",
          "format": "int32",
          "minimum": 0
        },
        "destinationPrefix": {
          "type": "string"
        },
        "icmpType": {
          "type": "integer",
          "format": "int32",
          "minimum": 0
        },
        "protocol": {
          "type": "integer",
          "format": "int32",
          "minimum": 0
        },
        "sourcePort": {
          "type": "integer",
          "format": "int32",
          "minimum": 0
        },
        "sourcePrefix": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "manaV2SecurityPolicyRule": {
      "type": "object",
      "properties": {
        "action": {
          "type": "string"
        },
        "implicit": {
          "type": "boolean"
        },
        "match": {
          "$ref": "#/$defs/manaV2PolicyMatch"
        },
        "policyRuleIndex": {
          "type": "integer",
          "format": "int64"
        },
        "seq": {
          "type": "integer",
          "format": "int32",
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "manaV2SecurityPolicyRuleRow": {
      "type": "object",
      "properties": {
        "device": {
          "$ref": "#/$defs/manaV2SiteDeviceStub"
        },
        "securityPolicyRule": {
          "$ref": "#/$defs/manaV2SecurityPolicyRule"
        },
        "vrfName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "manaV2SiteDeviceStub": {
      "type": "object",
      "properties": {
        "hostname": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "format": "int64"
        }
      },
      "additionalProperties": false
    },
    "manaV2TrafficPolicyAction": {
      "type": "object",
      "properties": {
        "backup": {
          "type": "string",
          "description": "Backup circuit for the traffic policy action"
        },
        "class": {
          "type": "string",
          "description": "Class for the traffic policy action"
        },
        "primary": {
          "type": "string",
          "description": "Primary circuit for the traffic policy action"
        },
        "result": {
          "type": "string",
          "description": "Result for the traffic policy action"
        }
      },
      "additionalProperties": false
    },
    "manaV2TrafficPolicyRule": {
      "type": "object",
      "properties": {
        "action": {
          "$ref": "#/$defs/manaV2TrafficPolicyAction"
        },
        "match": {
          "$ref": "#/$defs/manaV2PolicyMatch"
        },
        "policyRuleIndex": {
          "type": "integer",
          "format": "int64"
        },
        "seq": {
          "type": "integer",
          "format": "int32",
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "manaV2TrafficPolicyRuleRow": {
      "type": "object",
      "properties": {
        "device": {
          "$ref": "#/$defs/manaV2SiteDeviceStub"
        },
        "trafficPolicyRule": {
          "$ref": "#/$defs/manaV2TrafficPolicyRule"
        },
        "vrfName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  }
}