{
  "openapi": "3.0.3",
  "info": {
    "title": "Ddos",
    "description": "Network perimeter hardening through deny list configurations, rule group hierarchies, and encrypted tunnel endpoints. Attack signature detection identifies flood patterns while throttling mechanisms block anomalous traffic bursts. Tunnel health checks verify coverage across distributed segments. Priority ordering governs policy application for multi-layered screening approaches.",
    "version": "8.0.2",
    "contact": {
      "name": "F5 Distributed Cloud",
      "url": "https://docs.cloud.f5.com"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://www.f5.com/company/policies/eula"
    },
    "x-f5xc-description-long": "Network perimeter hardening through deny list configurations, rule group hierarchies, and encrypted tunnel endpoints. Attack signature detection identifies flood patterns while throttling mechanisms block anomalous traffic bursts. Tunnel health checks verify coverage across distributed segments. Priority ordering governs policy application for multi-layered screening approaches.",
    "x-f5xc-summary": "Deny lists, firewall rule groups, and tunnel-based safeguards. Rate limiting and pattern analysis for network perimeter security.",
    "x-f5xc-cli-domain": "ddos",
    "externalDocs": {
      "url": "https://docs.cloud.f5.com/docs/how-to/app-security/ddos-protection",
      "description": "F5 XC Documentation - DDoS Protection"
    },
    "x-f5xc-api-reference-url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/",
    "x-f5xc-best-practices": {
      "common_errors": [
        {
          "code": 400,
          "message": "Invalid request body",
          "resolution": "Validate JSON structure and required fields before submission",
          "prevention": "Use schema validation from OpenAPI spec"
        },
        {
          "code": 401,
          "message": "Authentication failed",
          "resolution": "Verify API token is valid and not expired",
          "prevention": "Use environment variables for token management"
        },
        {
          "code": 403,
          "message": "Permission denied",
          "resolution": "Check user role and namespace permissions",
          "prevention": "Verify RBAC policies before operations"
        },
        {
          "code": 404,
          "message": "Resource not found",
          "resolution": "Verify resource name and namespace exist",
          "prevention": "List resources before attempting operations"
        },
        {
          "code": 409,
          "message": "Resource already exists",
          "resolution": "Use unique name or delete existing resource",
          "prevention": "Check existence before creation"
        },
        {
          "code": 429,
          "message": "Rate limit exceeded",
          "resolution": "Implement exponential backoff and retry logic",
          "prevention": "Batch operations and add delays between requests"
        }
      ],
      "security_notes": [
        "Always use HTTPS for all API communications",
        "Store API tokens securely, never in source code",
        "Rotate API tokens regularly following security policies"
      ],
      "performance_tips": [
        "Use pagination for large result sets",
        "Batch related operations when possible",
        "Cache read-only responses appropriately"
      ]
    },
    "x-f5xc-namespace-profile": {
      "constraint": {
        "allowed": [
          "custom",
          "default",
          "shared"
        ],
        "enforced": false
      },
      "recommendation": {
        "primary": "custom",
        "alternatives": [],
        "rationale": "Standard tenant resource"
      },
      "classification": {
        "category": "application",
        "multi_tenant_pattern": "per-tenant"
      }
    }
  },
  "servers": [
    {
      "url": "https://{tenant}.{console_url}/api/v1/{domain_prefix}/{environment}/{region}/namespaces/{namespace}",
      "description": "F5 Distributed Cloud Console",
      "variables": {
        "tenant": {
          "default": "example-corp",
          "description": "F5 Distributed Cloud tenant identifier (e.g., example-corp, example-partners)"
        },
        "console_url": {
          "default": "console.ves.volterra.io",
          "description": "Console URL base (e.g., console.ves.volterra.io for production, staging.volterra.us for staging)",
          "enum": [
            "console.ves.volterra.io",
            "staging.volterra.us"
          ]
        },
        "environment": {
          "default": "production",
          "description": "Environment designation (production, staging, development)",
          "enum": [
            "production",
            "staging",
            "development"
          ]
        },
        "domain_prefix": {
          "default": "api",
          "description": "Domain naming prefix for consistent naming conventions"
        },
        "region": {
          "default": "us-east-1",
          "description": "Geographic region for API deployment (e.g., us-east-1, eu-west-1)"
        },
        "namespace": {
          "default": "default",
          "description": "Kubernetes-style namespace for environment separation (e.g., 'default', 'production', 'staging')"
        }
      }
    }
  ],
  "security": [
    {
      "ApiToken": []
    }
  ],
  "tags": [
    {
      "name": "data"
    },
    {
      "name": "infraprotect"
    }
  ],
  "paths": {
    "/api/infraprotect/namespaces/system/infraprotect/access": {
      "get": {
        "summary": "Customer access.",
        "description": "RPC to GET customer access and availability info.",
        "operationId": "ves.io.schema.infraprotect.CustomGeneralAPI.CustomerAccess",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectCustomerAccessResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomGeneralAPI.CustomerAccess",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-danger-level": "low",
        "x-discovered-response-time-ms": 159.08,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 159.08,
          "p95_ms": 318.16,
          "p99_ms": 477.24,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomGeneralAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/alert/{alert_id}": {
      "get": {
        "summary": "DDoS Alert.",
        "description": "RPC to GET details of an alert.",
        "operationId": "ves.io.schema.infraprotect.CustomAlertAPI.GetAlert",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectGetAlertResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "alert_id",
            "description": "Alert ID\nID of the alert we want to GET details for.",
            "in": "path",
            "required": true,
            "x-displayname": "Alert ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "12345"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomAlertAPI.GetAlert",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Alert configuration for monitoring",
          "required_fields": [
            "path.alert_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.alert_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomAlertAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/alert/{alert_id}/to_event": {
      "put": {
        "summary": "Link Alert to Event.",
        "description": "Allows customers to link alerts with events. This helps with tracking of any mitigation activity and event investigation.",
        "operationId": "ves.io.schema.infraprotect.CustomAlertAPI.AddAlertToEvent",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectAddAlertToEventResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "alert_id",
            "description": "Alert ID\nAlert to be link with an event.",
            "in": "path",
            "required": true,
            "x-displayname": "Alert ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectAddAlertToEventRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomAlertAPI.AddAlertToEvent",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.alert_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "to-event"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.alert_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "to-event"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomAlertAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/alerts": {
      "post": {
        "summary": "DDoS Alerts.",
        "description": "RPC to GET a list of Alerts. Alerts are raised when an attack is detected by L3/L4 provider.\nAlerts help to start investigate and mitigate any malicious or suspicious activate.",
        "operationId": "ves.io.schema.infraprotect.CustomAlertAPI.ListAlerts",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListAlertsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectListAlertsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomAlertAPI.ListAlerts",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Alert configuration for monitoring",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Alert resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "alert"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "alert"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomAlertAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/data/namespaces/{namespace}/infraprotect/bgp_peer_status": {
      "post": {
        "summary": "BGP Peer Status.",
        "description": "API to GET routed DDoS BGP peer status information.",
        "operationId": "ves.io.schema.infraprotect.CustomDataAPI.BGPPeerStatus",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectBGPPeerStatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectBGPPeerStatusRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomDataAPI.BGPPeerStatus",
        "tags": [
          "data"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Bgp-peer-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "bgp-peer-statu"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "bgp-peer-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomDataAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/event/{event_id}": {
      "get": {
        "summary": "Event details.",
        "description": "Returns details of an event. This allows customers to review any activity related to a DDoS attack.",
        "operationId": "ves.io.schema.infraprotect.CustomEventAPI.GetEvent",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectGetEventResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nID of the event we want to GET details for.",
            "in": "path",
            "required": true,
            "x-displayname": "Evemt ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventAPI.GetEvent",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "put": {
        "summary": "Edit event.",
        "description": "Allows editing of an event, setting its end date and upload any relevant pieces of information.",
        "operationId": "ves.io.schema.infraprotect.CustomEventAPI.EditEvent",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectEditEventResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Alert ID\nID of the event we want to edit.",
            "in": "path",
            "required": true,
            "x-displayname": "Alert ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectEditEventRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventAPI.EditEvent",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "event"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "event"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/event/{event_id}/alerts": {
      "get": {
        "summary": "Event alerts.",
        "description": "Returns a list of alerts triggers while an event is active.",
        "operationId": "ves.io.schema.infraprotect.CustomEventAPI.ListEventAlerts",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListEventAlertsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nID of the event we want to GET alerts for.",
            "in": "path",
            "required": true,
            "x-displayname": "Event ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventAPI.ListEventAlerts",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Alert configuration for monitoring",
          "required_fields": [
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/event/{event_id}/attachments": {
      "get": {
        "summary": "Event attachments.",
        "description": "Returns any attachments associated with an event. This could be Pcap files or any other document.\nObsolete - use `GetEvent` to list out attachments.",
        "operationId": "ves.io.schema.infraprotect.CustomEventAPI.ListEventAttachments",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListEventAttachmentsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nID of the event we want to GET attachments for.",
            "in": "path",
            "required": true,
            "x-displayname": "Event ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventAPI.ListEventAttachments",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/event/{event_id}/detail/{event_detail_id}": {
      "delete": {
        "summary": "DELETE event detail.",
        "description": "DELETE a single event detail, including all dependent objects (e.g. Attachments)",
        "operationId": "ves.io.schema.infraprotect.CustomEventDetailsAPI.DeleteEventDetail",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectDeleteEventDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nEvent ID we want to DELETE the event detail for.",
            "in": "path",
            "required": true,
            "x-displayname": "Event ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302"
          },
          {
            "name": "event_detail_id",
            "description": "Event Detail ID\nEvent detail ID we want to DELETE.",
            "in": "path",
            "required": true,
            "x-displayname": "Event Detail ID.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventDetailsAPI.DeleteEventDetail",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "required_fields": [
            "path.event_detail_id",
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "detail",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_detail_id",
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "detail",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "put": {
        "summary": "Edit event detail.",
        "description": "Allows editing of an event detail, setting its title, description and date.",
        "operationId": "ves.io.schema.infraprotect.CustomEventDetailsAPI.EditEventDetail",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectEditEventDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nEvent ID we want to edit the event detail for.",
            "in": "path",
            "required": true,
            "x-displayname": "Event ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302"
          },
          {
            "name": "event_detail_id",
            "description": "Event Detail ID\nEvent detail ID we want to update.",
            "in": "path",
            "required": true,
            "x-displayname": "Event Detail ID.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectEditEventDetailRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventDetailsAPI.EditEventDetail",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.event_detail_id",
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "detail"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_detail_id",
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "detail"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventDetailsAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/event/{event_id}/details": {
      "get": {
        "summary": "List of event details.",
        "description": "Returns a list of event details. The list contains event details entered by customer and the SOC team members, mitigation annotations and any attachments.",
        "operationId": "ves.io.schema.infraprotect.CustomEventDetailsAPI.ListEventDetails",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListEventDetailsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nEvent ID we want to list the event details for.",
            "in": "path",
            "required": true,
            "x-displayname": "Event ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventDetailsAPI.ListEventDetails",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "post": {
        "summary": "Add Event Detail.",
        "description": "Adds a single event detail to an event.",
        "operationId": "ves.io.schema.infraprotect.CustomEventDetailsAPI.AddEventDetail",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectAddEventDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nEvent ID we want to list the event details for.",
            "in": "path",
            "required": true,
            "x-displayname": "Event ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectAddEventDetailRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventDetailsAPI.AddEventDetail",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Detail resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "detail"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "detail"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventDetailsAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/event/{event_id}/mitigation_annotations": {
      "get": {
        "summary": "Event mitigation annotation.",
        "description": "Return mitigation annotations that occur while an event is active.",
        "operationId": "ves.io.schema.infraprotect.CustomEventAPI.ListEventMitigations",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListEventMitigationsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "event_id",
            "description": "Event ID\nID of the event we want to GET mitigations for.",
            "in": "path",
            "required": true,
            "x-displayname": "Event ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventAPI.ListEventMitigations",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.event_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.event_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/events": {
      "post": {
        "summary": "List of events.",
        "description": "Returns a list of events. Events are created when a high priority mitigation is started. Events then serve as a\none stop shop to review activities to mitigate a DDoS attack.",
        "operationId": "ves.io.schema.infraprotect.CustomEventAPI.ListEvents",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListEventsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectListEventsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventAPI.ListEvents",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Event resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "event"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "event"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/events_summary": {
      "get": {
        "summary": "Simple events view.",
        "description": "Return a list of available event (suitable for an alert)",
        "operationId": "ves.io.schema.infraprotect.CustomEventAPI.ListEventsSummary",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListEventsSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "alert_id",
            "description": "Optional - allows to filter events by alert so only relevant events are returned. If not provided, all user events are returned.",
            "in": "query",
            "required": false,
            "x-displayname": "Alert ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomEventAPI.ListEventsSummary",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomEventAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/mitigation/{mitigation_id}": {
      "get": {
        "summary": "Mitigation details.",
        "description": "Returns details of a single mitigation.",
        "operationId": "ves.io.schema.infraprotect.CustomMitigationAPI.GetMitigation",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectGetMitigationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "mitigation_id",
            "description": "Mitigation ID\nID of the mitigation we want to GET the details for.",
            "in": "path",
            "required": true,
            "x-displayname": "Mitigation ID.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomMitigationAPI.GetMitigation",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.mitigation_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.mitigation_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomMitigationAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/mitigation/{mitigation_id}/annotations": {
      "get": {
        "summary": "Mitigation annotations.",
        "description": "Returns annotations of a single mitigation.",
        "operationId": "ves.io.schema.infraprotect.CustomMitigationAPI.ListMitigationAnnotations",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListMitigationAnnotationsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "mitigation_id",
            "description": "Mitigation ID\nID of the mitigation we want to GET the annotations for.",
            "in": "path",
            "required": true,
            "x-displayname": "Mitigation ID.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-fa2ad3369a06"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomMitigationAPI.ListMitigationAnnotations",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.mitigation_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.mitigation_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomMitigationAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/mitigation/{mitigation_id}/countermeasures": {
      "get": {
        "summary": "Mitigation Countermeasures.",
        "description": "Returns list of Mitigation Countermeasures and their status for mitigation (and allows for searching through it)",
        "operationId": "ves.io.schema.infraprotect.CustomMitigationAPI.GetMitigationCountermeasures",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectGetMitigationCountermeasuresResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "mitigation_id",
            "description": "Mitigation ID\nID of the mitigation we want to GET the countermeasures for.",
            "in": "path",
            "required": true,
            "x-displayname": "Mitigation ID.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomMitigationAPI.GetMitigationCountermeasures",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.mitigation_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.mitigation_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomMitigationAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/mitigation/{mitigation_id}/ips": {
      "get": {
        "summary": "Mitigation IPs.",
        "description": "Returns list of IPs involved in a mitigation (and allows for searching through it)",
        "operationId": "ves.io.schema.infraprotect.CustomMitigationAPI.ListMitigationIPs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListMitigationIPsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "mitigation_id",
            "description": "Mitigation ID\nID of the mitigation we want to GET the IPs for.",
            "in": "path",
            "required": true,
            "x-displayname": "Mitigation ID.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomMitigationAPI.ListMitigationIPs",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.mitigation_id",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.mitigation_id",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomMitigationAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/mitigations": {
      "post": {
        "summary": "List of mitigations.",
        "description": "Returns a list of mitigations.",
        "operationId": "ves.io.schema.infraprotect.CustomMitigationAPI.ListMitigations",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListMitigationsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectListMitigationsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomMitigationAPI.ListMitigations",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Mitigation resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "mitigation"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "mitigation"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomMitigationAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/networks": {
      "get": {
        "summary": "List networks.",
        "description": "Returns a list available reports to be downloaded. Reports summarise an event or a mitigation in a single PDF document.",
        "operationId": "ves.io.schema.infraprotect.CustomNetworkAPI.ListNetworks",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListNetworksResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomNetworkAPI.ListNetworks",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Network configuration for connectivity",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomNetworkAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/report/{report_id}": {
      "get": {
        "summary": "Report details.",
        "description": "Returns details of a report, most importantly the PDF document itself.",
        "operationId": "ves.io.schema.infraprotect.CustomReportAPI.GetReport",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectGetReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          },
          {
            "name": "report_id",
            "description": "Report ID\nID of the document we want to GET the contents for.",
            "in": "path",
            "required": true,
            "x-displayname": "Report ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomReportAPI.GetReport",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace",
            "path.report_id"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace",
          "path.report_id"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomReportAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect/reports": {
      "post": {
        "summary": "List reports.",
        "description": "Returns a list of available reports to be downloaded. Reports summarise an event or a mitigation in a single PDF document.",
        "operationId": "ves.io.schema.infraprotect.CustomReportAPI.ListReports",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectListReportsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThis request is supported only in system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectListReportsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomReportAPI.ListReports",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Report resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "report"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "report"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomReportAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/data/namespaces/{namespace}/infraprotect/transit_usage": {
      "post": {
        "summary": "Transit Usage.",
        "description": "API to GET transit usage data.",
        "operationId": "ves.io.schema.infraprotect.CustomDataAPI.TransitUsage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotectTransitUsageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectTransitUsageRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomDataAPI.TransitUsage",
        "tags": [
          "data"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Transit-usage resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "transit-usage"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "transit-usage"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomDataAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/suggest-values": {
      "post": {
        "summary": "Suggest Values.",
        "description": "SuggestValues returns suggested values for the specified field in the given Create/Replace/Custom request.",
        "operationId": "ves.io.schema.infraprotect.CustomGeneralAPI.SuggestValues",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/schemainfraprotectSuggestValuesResp"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the suggestions are scoped.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "foobar"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotectSuggestValuesReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect.CustomGeneralAPI.SuggestValues",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Suggest-value resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "suggest-value"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "suggest-value"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect.",
      "x-ves-proto-service": "ves.io.schema.infraprotect.CustomGeneralAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_asns": {
      "post": {
        "summary": "Create DDoS transit ASN.",
        "description": "Creates a DDoS transit ASN.",
        "operationId": "ves.io.schema.infraprotect_asn.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asnCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asnCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Infraprotect-asn resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-asn"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-asn"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_asns/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit ASN.",
        "description": "Amends a DDoS transit ASN.",
        "operationId": "ves.io.schema.infraprotect_asn.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asnReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asnReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-asn"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-asn"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_asns": {
      "get": {
        "summary": "List Infraprotect ASN.",
        "description": "List the set of infraprotect_asn in a namespace.",
        "operationId": "ves.io.schema.infraprotect_asn.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asnListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_asn.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_asns/update-asn-review-status": {
      "post": {
        "summary": "Update ASN Review Status.",
        "description": "Update Infraprotect ASN Review Status.",
        "operationId": "ves.io.schema.infraprotect_asn.CustomAPI.UpdateASNReviewStatus",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asnUpdateASNReviewStatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\n\nx-required\nNamespace in which the infraprotect ASN review status is to be updated.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asnUpdateASNReviewStatusRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn.CustomAPI.UpdateASNReviewStatus",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Update-asn-review-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "update-asn-review-statu"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "update-asn-review-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_asns/{name}": {
      "get": {
        "summary": "GET Infraprotect ASN.",
        "description": "GET DDoS transit ASN.",
        "operationId": "ves.io.schema.infraprotect_asn.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asnGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Infraprotect ASN.",
        "description": "DELETE the specified infraprotect_asn.",
        "operationId": "ves.io.schema.infraprotect_asn.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asnDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-asn",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-asn",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_asn_prefixs": {
      "post": {
        "summary": "Create DDoS transit Prefix.",
        "description": "Creates a DDoS transit Prefix.",
        "operationId": "ves.io.schema.infraprotect_asn_prefix.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asn_prefixCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asn_prefixCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn_prefix.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Infraprotect-asn-prefix resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-asn-prefix"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-asn-prefix"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN Prefix.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn_prefix.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_asn_prefixs/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit Prefix.",
        "description": "Amends a DDoS transit Prefix.",
        "operationId": "ves.io.schema.infraprotect_asn_prefix.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asn_prefixReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asn_prefixReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn_prefix.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-asn-prefix"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-asn-prefix"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN Prefix.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn_prefix.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_asn_prefixes/update-asn-prefix-irr-override": {
      "post": {
        "summary": "Update ASN Prefix IRR Override.",
        "description": "Update Infraprotect ASN Prefix IRR Override.",
        "operationId": "ves.io.schema.infraprotect_asn_prefix.CustomAPI.UpdateASNPrefixIRROverride",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asn_prefixUpdateASNPrefixIRROverrideResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\n\nx-required\nNamespace in which the infraprotect ASN prefix irr override is to be updated.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asn_prefixUpdateASNPrefixIRROverrideRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn_prefix.CustomAPI.UpdateASNPrefixIRROverride",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Update-asn-prefix-irr-override resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "update-asn-prefix-irr-override"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "update-asn-prefix-irr-override"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN Prefix.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn_prefix.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_asn_prefixes/update-asn-prefix-review-status": {
      "post": {
        "summary": "Update ASN Prefix Review Status.",
        "description": "Update Infraprotect ASN Prefix Review Status.",
        "operationId": "ves.io.schema.infraprotect_asn_prefix.CustomAPI.UpdateASNPrefixReviewStatus",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asn_prefixUpdateASNPrefixReviewStatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\n\nx-required\nNamespace in which the infraprotect ASN prefix review status is to be updated.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asn_prefixUpdateASNPrefixReviewStatusRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn_prefix.CustomAPI.UpdateASNPrefixReviewStatus",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Update-asn-prefix-review-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "update-asn-prefix-review-statu"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "update-asn-prefix-review-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN Prefix.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn_prefix.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_asn_prefixs": {
      "get": {
        "summary": "List Infraprotect ASN Prefix.",
        "description": "List the set of infraprotect_asn_prefix in a namespace.",
        "operationId": "ves.io.schema.infraprotect_asn_prefix.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asn_prefixListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_asn_prefix.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn_prefix.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN Prefix.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn_prefix.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_asn_prefixs/{name}": {
      "get": {
        "summary": "GET Infraprotect ASN Prefix.",
        "description": "GET DDoS transit Prefix.",
        "operationId": "ves.io.schema.infraprotect_asn_prefix.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_asn_prefixGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn_prefix.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Infraprotect ASN Prefix.",
        "description": "DELETE the specified infraprotect_asn_prefix.",
        "operationId": "ves.io.schema.infraprotect_asn_prefix.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_asn_prefixDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_asn_prefix.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-asn-prefix",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-asn-prefix",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect ASN Prefix.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_asn_prefix.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_deny_list_rules": {
      "post": {
        "summary": "Create DDoS transit Deny List Rule.",
        "description": "Creates a DDoS transit Deny List Rule.",
        "operationId": "ves.io.schema.infraprotect_deny_list_rule.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_deny_list_ruleCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_deny_list_rule.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Infraprotect-deny-list-rule resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-deny-list-rule"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-deny-list-rule"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Deny List Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_deny_list_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_deny_list_rules/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit Deny List Rule.",
        "description": "Amends a DDoS transit Deny List Rule.",
        "operationId": "ves.io.schema.infraprotect_deny_list_rule.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_deny_list_ruleReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_deny_list_rule.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-deny-list-rule"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-deny-list-rule"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Deny List Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_deny_list_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_deny_list_rules": {
      "get": {
        "summary": "List Infraprotect Deny List Rule.",
        "description": "List the set of infraprotect_deny_list_rule in a namespace.",
        "operationId": "ves.io.schema.infraprotect_deny_list_rule.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_deny_list_ruleListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_deny_list_rule.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_deny_list_rule.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Deny List Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_deny_list_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_deny_list_rules/{name}": {
      "get": {
        "summary": "GET Infraprotect Deny List Rule.",
        "description": "GET DDoS transit Deny List Rule.",
        "operationId": "ves.io.schema.infraprotect_deny_list_rule.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_deny_list_ruleGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_deny_list_rule.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Infraprotect Deny List Rule.",
        "description": "DELETE the specified infraprotect_deny_list_rule.",
        "operationId": "ves.io.schema.infraprotect_deny_list_rule.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_deny_list_rule.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-deny-list-rule",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-deny-list-rule",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Deny List Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_deny_list_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_firewall_rules": {
      "post": {
        "summary": "Create DDoS transit Firewall Rule.",
        "description": "Creates a DDoS transit Firewall Rule.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_ruleCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Infraprotect-firewall-rule resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-firewall-rule"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-firewall-rule"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_firewall_rules/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit Firewall Rule.",
        "description": "Amends a DDoS transit Firewall Rule.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_ruleReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-firewall-rule"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-firewall-rule"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_firewall_rules": {
      "get": {
        "summary": "List Infraprotect Firewall Rule.",
        "description": "List the set of infraprotect_firewall_rule in a namespace.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_ruleListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_firewall_rule.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_firewall_rules/{name}": {
      "get": {
        "summary": "GET Infraprotect Firewall Rule.",
        "description": "GET DDoS transit Firewall Rule.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_ruleGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Infraprotect Firewall Rule.",
        "description": "DELETE the specified infraprotect_firewall_rule.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-firewall-rule",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-firewall-rule",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_firewall_rule_groups": {
      "post": {
        "summary": "Replace DDoS transit Firewall Rule Group.",
        "description": "Amends a DDoS transit Firewall Rule Group.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule_group.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_rule_groupCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule_group.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Infraprotect-firewall-rule-group resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-firewall-rule-group"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-firewall-rule-group"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule Group.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_firewall_rule_groups/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit Firewall Rule Group.",
        "description": "Amends a DDoS transit Firewall Rule Group.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule_group.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_rule_groupReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule_group.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-firewall-rule-group"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-firewall-rule-group"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule Group.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_firewall_rule_groups": {
      "get": {
        "summary": "List Infraprotect Firewall Rule Group.",
        "description": "List the set of infraprotect_firewall_rule_group in a namespace.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule_group.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_rule_groupListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_firewall_rule_group.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule_group.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule Group.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_firewall_rule_groups/{name}": {
      "get": {
        "summary": "GET Infraprotect Firewall Rule Group.",
        "description": "GET DDoS transit Firewall Rule Group.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule_group.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_rule_groupGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule_group.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Infraprotect Firewall Rule Group.",
        "description": "DELETE the specified infraprotect_firewall_rule_group.",
        "operationId": "ves.io.schema.infraprotect_firewall_rule_group.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_rule_group.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-firewall-rule-group",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-firewall-rule-group",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Rule Group.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_rule_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_firewall_rulesets/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit Firewall Ruleset.",
        "description": "Amends a DDoS transit Firewall Ruleset.",
        "operationId": "ves.io.schema.infraprotect_firewall_ruleset.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_rulesetReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_firewall_rulesetReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_ruleset.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-firewall-ruleset"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-firewall-ruleset"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Ruleset.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_ruleset.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_firewall_rulesets": {
      "get": {
        "summary": "List Infraprotect Firewall Ruleset.",
        "description": "List the set of infraprotect_firewall_ruleset in a namespace.",
        "operationId": "ves.io.schema.infraprotect_firewall_ruleset.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_rulesetListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_firewall_ruleset.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_ruleset.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Ruleset.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_ruleset.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_firewall_rulesets/{name}": {
      "get": {
        "summary": "GET Infraprotect Firewall Ruleset.",
        "description": "GET DDoS transit Firewall Ruleset.",
        "operationId": "ves.io.schema.infraprotect_firewall_ruleset.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_firewall_rulesetGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_firewall_ruleset.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security policy for threat protection",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Firewall Ruleset.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_firewall_ruleset.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_informations/{name}": {
      "get": {
        "summary": "GET Infraprotect Information.",
        "description": "GET organisation information.",
        "operationId": "ves.io.schema.infraprotect_information.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_informationGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_information.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Information.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_information.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_internet_prefix_advertisements": {
      "post": {
        "summary": "Create DDoS transit Internet Prefix.",
        "description": "Creates a DDoS transit Internet Prefix.",
        "operationId": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Infraprotect-internet-prefix-advertisement resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-internet-prefix-advertisement"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-internet-prefix-advertisement"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Internet Prefix Advertisement.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_internet_prefix_advertisement.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_internet_prefix_advertisements/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit Internet Prefix.",
        "description": "Amends a DDoS transit Internet Prefix.",
        "operationId": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-internet-prefix-advertisement"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-internet-prefix-advertisement"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Internet Prefix Advertisement.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_internet_prefix_advertisement.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_internet_prefix_advertisements": {
      "get": {
        "summary": "List Infraprotect Internet Prefix Advertisement.",
        "description": "List the set of infraprotect_internet_prefix_advertisement in a namespace.",
        "operationId": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_internet_prefix_advertisement.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Internet Prefix Advertisement.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_internet_prefix_advertisement.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_internet_prefix_advertisements/update-advertisement-status": {
      "post": {
        "summary": "Update Infraprotect Internet prefix advertisement.",
        "description": "Update Infraprotect Internet prefix advertisement.",
        "operationId": "ves.io.schema.infraprotect_internet_prefix_advertisement.CustomAPI.UpdateInternetPrefixAdvertisementStatus",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementUpdateInternetPrefixAdvertisementResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\n\nx-required\nNamespace in which internet prefix advertisement status has to be updated.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementUpdateInternetPrefixAdvertisementRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_internet_prefix_advertisement.CustomAPI.UpdateInternetPrefixAdvertisementStatus",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Update-advertisement-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "update-advertisement-statu"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "update-advertisement-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Internet Prefix Advertisement.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_internet_prefix_advertisement.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_internet_prefix_advertisements/{name}": {
      "get": {
        "summary": "GET Infraprotect Internet Prefix.",
        "description": "GET DDoS transit Internet Prefix.",
        "operationId": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Infraprotect Internet Prefix Advertisement.",
        "description": "DELETE the specified infraprotect_internet_prefix_advertisement.",
        "operationId": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_internet_prefix_advertisement.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-internet-prefix-advertisement",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-internet-prefix-advertisement",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Internet Prefix Advertisement.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_internet_prefix_advertisement.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_packet_captures": {
      "post": {
        "summary": "Create DDoS transit Packet Capture.",
        "description": "Creates a DDoS transit Packet Capture.",
        "operationId": "ves.io.schema.infraprotect_packet_capture.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_packet_captureCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_packet_captureCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_packet_capture.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Infraprotect-packet-capture resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-packet-capture"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-packet-capture"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Packet Capture.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_packet_capture.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_packet_captures/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS transit Packet Capture.",
        "description": "Amends a DDoS transit Packet Capture.",
        "operationId": "ves.io.schema.infraprotect_packet_capture.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_packet_captureReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_packet_captureReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_packet_capture.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-packet-capture"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-packet-capture"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Packet Capture.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_packet_capture.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_packet_captures": {
      "get": {
        "summary": "List Infraprotect Packet Capture.",
        "description": "List the set of infraprotect_packet_capture in a namespace.",
        "operationId": "ves.io.schema.infraprotect_packet_capture.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_packet_captureListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_packet_capture.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_packet_capture.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Packet Capture.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_packet_capture.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_packet_captures/{name}": {
      "get": {
        "summary": "GET Infraprotect Packet Capture.",
        "description": "GET DDoS transit Packet Capture.",
        "operationId": "ves.io.schema.infraprotect_packet_capture.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_packet_captureGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_packet_capture.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Infraprotect Packet Capture.",
        "description": "DELETE the specified infraprotect_packet_capture.",
        "operationId": "ves.io.schema.infraprotect_packet_capture.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_packet_captureDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_packet_capture.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-packet-capture",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-packet-capture",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Infraprotect Packet Capture.",
      "x-ves-proto-service": "ves.io.schema.infraprotect_packet_capture.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_tunnels": {
      "post": {
        "summary": "Create DDoS Transit Tunnel.",
        "description": "Creates a DDoS transit tunnel.",
        "operationId": "ves.io.schema.infraprotect_tunnel.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_tunnelCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_tunnelCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_tunnel.API.Create",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Infraprotect-tunnel resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "infraprotect-tunnel"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "infraprotect-tunnel"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Tunnel",
      "x-ves-proto-service": "ves.io.schema.infraprotect_tunnel.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{metadata.namespace}/infraprotect_tunnels/{metadata.name}": {
      "put": {
        "summary": "Replace DDoS Transit Tunnel.",
        "description": "Amends a DDoS transit tunnel.",
        "operationId": "ves.io.schema.infraprotect_tunnel.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_tunnelReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_tunnelReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_tunnel.API.Replace",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "infraprotect-tunnel"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "infraprotect-tunnel"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Tunnel",
      "x-ves-proto-service": "ves.io.schema.infraprotect_tunnel.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_tunnels": {
      "get": {
        "summary": "List Tunnel.",
        "description": "List the set of infraprotect_tunnel in a namespace.",
        "operationId": "ves.io.schema.infraprotect_tunnel.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_tunnelListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of infraprotect_tunnel.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_tunnel.API.List",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Tunnel",
      "x-ves-proto-service": "ves.io.schema.infraprotect_tunnel.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_tunnels/update-tunnel-clear-df-bit": {
      "post": {
        "summary": "Update Tunnel Clear DF Bit.",
        "description": "Update Tunnel Clear DF Bit.",
        "operationId": "ves.io.schema.infraprotect_tunnel.CustomAPI.UpdateTunnelClearDFBit",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_tunnelUpdateTunnelClearDFBitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\n\nx-required\nNamespace in which the tunnel clear df bit is to be updated.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_tunnelUpdateTunnelClearDFBitRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_tunnel.CustomAPI.UpdateTunnelClearDFBit",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Update-tunnel-clear-df-bit resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "update-tunnel-clear-df-bit"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "update-tunnel-clear-df-bit"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Tunnel",
      "x-ves-proto-service": "ves.io.schema.infraprotect_tunnel.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_tunnels/update-tunnel-status": {
      "post": {
        "summary": "Update Tunnel Status.",
        "description": "Update Tunnel Status.",
        "operationId": "ves.io.schema.infraprotect_tunnel.CustomAPI.UpdateTunnelStatus",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_tunnelUpdateTunnelStatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\n\nx-required\nNamespace in which the tunnel status is to be updated.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_tunnelUpdateTunnelStatusRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_tunnel.CustomAPI.UpdateTunnelStatus",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Update-tunnel-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "update-tunnel-statu"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "update-tunnel-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Tunnel",
      "x-ves-proto-service": "ves.io.schema.infraprotect_tunnel.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/infraprotect/namespaces/{namespace}/infraprotect_tunnels/{name}": {
      "get": {
        "summary": "GET Tunnel.",
        "description": "GET DDoS transit tunnel.",
        "operationId": "ves.io.schema.infraprotect_tunnel.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/infraprotect_tunnelGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_tunnel.API.Get",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Tunnel.",
        "description": "DELETE the specified infraprotect_tunnel.",
        "operationId": "ves.io.schema.infraprotect_tunnel.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/infraprotect_tunnelDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/ddos/"
        },
        "x-ves-proto-rpc": "ves.io.schema.infraprotect_tunnel.API.Delete",
        "tags": [
          "infraprotect"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "infraprotect-tunnel",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "infraprotect-tunnel",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Tunnel",
      "x-ves-proto-service": "ves.io.schema.infraprotect_tunnel.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    }
  },
  "components": {
    "securitySchemes": {
      "ApiToken": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "API Token authentication. Format: 'APIToken <your-token>'"
      },
      "apiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "F5 XC API Token (format: APIToken <token>)"
      }
    },
    "schemas": {
      "infraprotectAccessFlag": {
        "type": "object",
        "description": "Single access flag instance.",
        "title": "Single access flag instance",
        "x-displayname": "Access flag.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AccessFlag",
        "properties": {
          "data_expected_ts": {
            "type": "string",
            "description": "If set then it indicates the date when we expect the customer to have data present.",
            "title": "Data expected",
            "format": "date-time",
            "x-displayname": "Data expected.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "If set then it indicates the date when we expect the customer to have data present.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data_present": {
            "type": "boolean",
            "description": "If true then the customer has some data available, otherwise no data available.",
            "title": "Data present",
            "format": "boolean",
            "x-displayname": "Data present.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "If true then the customer has some data available, otherwise no data available.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "enabled": {
            "type": "boolean",
            "description": "If true then the customer has this feature enabled.",
            "title": "Enabled",
            "format": "boolean",
            "x-displayname": "Enabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "If true then the customer has this feature enabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAccessFlag",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAddAlertToEventRequest": {
        "type": "object",
        "description": "Request to add an alert to event (link them together)",
        "title": "Add Alert to Event",
        "x-displayname": "Add Alert to Event.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AddAlertToEventRequest",
        "properties": {
          "alert_id": {
            "type": "string",
            "description": "Alert to be link with an event.",
            "title": "Alert ID",
            "x-displayname": "Alert ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "event_id": {
            "type": "string",
            "description": "Event to be link with an alert.",
            "title": "Event ID",
            "x-displayname": "Event ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "Request to add an alert to event (link them together).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAddAlertToEventRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAddAlertToEventResponse": {
        "type": "object",
        "description": "Response to adding an alert to event.",
        "title": "Add Alert to Event",
        "x-displayname": "Add Alert to Event.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AddAlertToEventResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAddAlertToEventResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAddEventDetailRequest": {
        "type": "object",
        "description": "Request to add a single event detail to an event.",
        "title": "Request to add event detail",
        "x-displayname": "Add event detail request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AddEventDetailRequest",
        "properties": {
          "attachments": {
            "type": "array",
            "description": "All attachments on an event details.",
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/infraprotectAttachment"
            },
            "x-displayname": "Attachments.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Description of the event detail.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "Actions taken: ...",
            "x-f5xc-example": "Actions taken...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "event_id": {
            "type": "string",
            "description": "Event ID we want to list the event details for.",
            "title": "Event ID",
            "x-displayname": "Event ID",
            "x-ves-example": "00000000-0000-4000-8000-7248e7cee302.",
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302",
            "x-f5xc-description-short": "Event ID we want to list the event details for.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "time": {
            "type": "string",
            "description": "Time of the event detail\nFormat: RFC3339.",
            "title": "Time",
            "format": "date-time",
            "x-displayname": "Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Time of the event detail Format: RFC3339.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "temporal",
              "maxLength": 1024,
              "format": "date-time",
              "minLength": 8,
              "pattern": "^\\d{2}:\\d{2}:\\d{2}$",
              "formatDescription": "Time format (e.g., 14:30:00)",
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "title": {
            "type": "string",
            "description": "Title of the event of the event detail.",
            "title": "Title",
            "x-displayname": "Title",
            "x-ves-example": "Actions taken so far.",
            "x-f5xc-example": "Actions taken so far",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Request to add a single event detail to an event.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAddEventDetailRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAddEventDetailResponse": {
        "type": "object",
        "description": "Event detail as stored in the backend.",
        "title": "Event detail as stored",
        "x-displayname": "Event detail as stored.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AddEventDetailResponse",
        "properties": {
          "detail": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectEventDetail"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAddEventDetailResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAlert": {
        "type": "object",
        "description": "Detail of an alert.",
        "title": "Alert detail",
        "x-displayname": "Alert detail.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.Alert",
        "properties": {
          "arbor_id": {
            "type": "string",
            "description": "L3/L4 provider alert identifier.",
            "title": "L3/L4 ID",
            "x-displayname": "L3/L4 ID",
            "x-ves-example": "1323975",
            "x-f5xc-example": "1323975",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "bandwidth": {
            "type": "string",
            "description": "Bandwidth that triggered the alert in BPS.",
            "title": "Bandwidth",
            "format": "int64",
            "x-displayname": "Bandwidth",
            "x-ves-example": "10000000",
            "x-f5xc-example": "10000000",
            "x-f5xc-description-short": "Bandwidth that triggered the alert in BPS.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "creator": {
            "type": "string",
            "description": "Creator of the alert (or SOC if created manually)",
            "title": "Creator",
            "x-displayname": "Creator",
            "x-f5xc-description-short": "Creator of the alert (or SOC if created manually).",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "end_time": {
            "type": "string",
            "description": "End time of the alert. This is when the threshold was restored.",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "End time of the alert. This is when the threshold was restored.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "events": {
            "type": "array",
            "description": "List of associated alerts. These alerts are normally manually associated.",
            "title": "Events",
            "items": {
              "$ref": "#/components/schemas/infraprotectEvent"
            },
            "x-displayname": "Events",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of associated alerts. These alerts are normally manually associated.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "id": {
            "type": "string",
            "description": "ID of the alert used to uniquely identify it.",
            "title": "Id",
            "x-displayname": "ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "x-f5xc-description-short": "ID of the alert used to uniquely identify it.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip": {
            "type": "string",
            "description": "IP the alert is triggered for. This is the \"protected\" IP.",
            "title": "IP address",
            "x-displayname": "IP address.",
            "x-ves-example": "192.0.2.19.",
            "x-f5xc-example": "192.0.2.19",
            "x-f5xc-description-short": "IP the alert is triggered for. This is the \"protected\" IP.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "network_id": {
            "type": "string",
            "description": "Network the alert is related to.",
            "title": "Network ID",
            "x-displayname": "Network ID.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "source_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectAlertSourceType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Start time of the alert. This is when a threshold was exceeded.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start Time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Start time of the alert. This is when a threshold was exceeded.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "type": "string",
            "description": "Type of the alert, e.g. DoS host alert.",
            "title": "Alert type",
            "x-displayname": "Alert type.",
            "x-ves-example": "DoS host alert.",
            "x-f5xc-example": "DoS host alert",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAlert",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAlertDetailMisuseType": {
        "type": "object",
        "description": "Single occurrence of a misuse type in an alert.",
        "title": "Alert detail misuse type",
        "x-displayname": "Alert detail misuse type.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AlertDetailMisuseType",
        "properties": {
          "bytes": {
            "type": "string",
            "description": "Bytes per second for this misuse type.",
            "title": "Bytes",
            "format": "int64",
            "x-displayname": "Bytes",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "packets": {
            "type": "string",
            "description": "Packets per second for this misuse type.",
            "title": "Packets",
            "format": "int64",
            "x-displayname": "Packets",
            "x-ves-example": "123",
            "x-f5xc-example": "123",
            "x-f5xc-description-short": "Packets per second for this misuse type.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "type": "string",
            "description": "Type name of the misuse type.",
            "title": "Type",
            "x-displayname": "Type",
            "x-ves-example": "UDP Flood",
            "x-f5xc-example": "UDP Flood",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Single occurrence of a misuse type in an alert.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAlertDetailMisuseType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAlertPort": {
        "type": "object",
        "description": "Single occurrence of a port in an alert.",
        "title": "Alert port",
        "x-displayname": "Alert port.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AlertPort",
        "properties": {
          "bytes": {
            "type": "string",
            "description": "Bytes received on the port.",
            "title": "Bytes",
            "format": "int64",
            "x-displayname": "Bytes",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "destination": {
            "type": "boolean",
            "description": "Destination flag - if rue then the port field is the destination of the alert.",
            "title": "Destination",
            "format": "boolean",
            "x-displayname": "Destination.",
            "x-f5xc-description-short": "Destination flag - if rue then the port field is the destination of the alert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Logical name of the port.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "HTTPS",
            "x-f5xc-example": "HTTPS",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "number": {
            "type": "integer",
            "description": "Port number involved in the alert.",
            "title": "Port number",
            "format": "int32",
            "x-displayname": "Port number.",
            "x-ves-example": "8080",
            "x-f5xc-example": "8080",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "packets": {
            "type": "string",
            "description": "Packets received on the port.",
            "title": "packets",
            "format": "int64",
            "x-displayname": "Packets",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "protocol": {
            "type": "string",
            "description": "Protocol used on the port.",
            "title": "Protocol",
            "x-displayname": "Protocol",
            "x-ves-example": "UDP",
            "x-f5xc-example": "UDP",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Single occurrence of a port in an alert.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAlertPort",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAlertPrefix": {
        "type": "object",
        "description": "Single occurrence of a prefix in an alert.",
        "title": "Alert prefix",
        "x-displayname": "Alert prefix.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AlertPrefix",
        "properties": {
          "cidr": {
            "type": "string",
            "description": "CIDR of the alert source.",
            "title": "Cidr",
            "x-displayname": "CIDR",
            "x-ves-example": "192.0.2.0/24.",
            "x-f5xc-example": "192.0.2.0/24",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "network",
              "maxLength": 1024,
              "minLength": 9,
              "pattern": "^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}/(3[0-2]|[12]?[0-9])$",
              "format": "cidr",
              "formatDescription": "CIDR notation (e.g., 10.0.0.0/24)",
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "destination": {
            "type": "boolean",
            "description": "Destination flag - if rue then the CIDR field is the destination of the alert.",
            "title": "Destination",
            "format": "boolean",
            "x-displayname": "Destination.",
            "x-f5xc-description-short": "Destination flag - if rue then the CIDR field is the destination of the alert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "num_bytes": {
            "type": "string",
            "description": "Bytes received on the CIDR.",
            "title": "Bytes",
            "format": "int64",
            "x-displayname": "Bytes",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "num_packets": {
            "type": "string",
            "description": "Packets received on the CIDR.",
            "title": "Packets",
            "format": "int64",
            "x-displayname": "Packets",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Single occurrence of a prefix in an alert.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAlertPrefix",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAlertSourceType": {
        "type": "string",
        "description": "Alert source type - helps the UI distinguish alerts coming from different sources\n\n- ALERT_SOURCE_TYPE_UNKNOWN: Unspecified source type\n- ALERT_SOURCE_TYPE_MITIGATED: Alert is sourced from a mitigated-type system\n- ALERT_SOURCE_TYPE_AUTOMITIGATED: Alert is sourced from an automitigated-type system.",
        "title": "Alert source type",
        "enum": [
          "ALERT_SOURCE_TYPE_UNKNOWN",
          "ALERT_SOURCE_TYPE_MITIGATED",
          "ALERT_SOURCE_TYPE_AUTOMITIGATED"
        ],
        "default": "ALERT_SOURCE_TYPE_UNKNOWN",
        "x-displayname": "Alert source type.",
        "x-ves-proto-enum": "ves.io.schema.infraprotect.AlertSourceType",
        "x-f5xc-description-short": "Alert source type - helps the UI distinguish alerts coming from different sources - ALERT_SOURCE_TYPE_UNKNOWN: Unspecified source type ...",
        "x-f5xc-description-medium": "Alert source type - helps the UI distinguish alerts coming from different sources - ALERT_SOURCE_TYPE_UNKNOWN: Unspecified source type - ALERT_SOURCE_TYPE_MITIGATED: Alert is sourced from a mitigated-type system - ALERT_SOURCE_TYPE_AUTOMITIGATED: Alert is sourced from an automitigated-type system.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAlertSourceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ALERT_SOURCE_TYPE_UNKNOWN\"",
          "example_yaml": "ALERT_SOURCE_TYPE_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAlertTcpFlag": {
        "type": "object",
        "description": "Single TCP flag information for an alert.",
        "title": "TCP Flag",
        "x-displayname": "TCP Flag",
        "x-ves-proto-message": "ves.io.schema.infraprotect.AlertTcpFlag",
        "properties": {
          "bytes": {
            "type": "string",
            "description": "Bytes received for this TCP flag combination.",
            "title": "Bytes",
            "format": "int64",
            "x-displayname": "Bytes",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "x-f5xc-description-short": "Bytes received for this TCP flag combination.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "flags": {
            "type": "array",
            "description": "TCP flags combination for this alert entry.",
            "title": "Flags",
            "items": {
              "$ref": "#/components/schemas/infraprotectAlertTcpFlagType"
            },
            "x-displayname": "Flags",
            "x-f5xc-description-short": "TCP flags combination for this alert entry.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "packets": {
            "type": "string",
            "description": "Packets received for this TCP flag combination.",
            "title": "Packets",
            "format": "int64",
            "x-displayname": "Packets",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "x-f5xc-description-short": "Packets received for this TCP flag combination.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Single TCP flag information for an alert.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAlertTcpFlag",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAlertTcpFlagType": {
        "type": "string",
        "description": "TCP flags used in alert analysis and reporting\n\nFIN flag which indicates that there is no more data from the sender, used in the last packet sent from the sender\nSYN flag set in the first packet from sender and receiver while establishing three way handshake between two hosts\nRST flag that resets a connection when the host receives an unexpected packet\nPSH flag that tells the receiver to process packets as they are received, instead of buffering them\nACK flag that acknowledges successful receipt of a packet\nURG flag that notifies the receiver about urgent packets that need to processed before other packets\nECE flag indicating ECN-Echo for congestion notification\nCWR flag indicating sender reduced its congestion window.",
        "title": "TCP Flags for Alert Analysis",
        "enum": [
          "ALERT_TCP_FLAG_FIN",
          "ALERT_TCP_FLAG_SYN",
          "ALERT_TCP_FLAG_RST",
          "ALERT_TCP_FLAG_PSH",
          "ALERT_TCP_FLAG_ACK",
          "ALERT_TCP_FLAG_URG",
          "ALERT_TCP_FLAG_ECE",
          "ALERT_TCP_FLAG_CWR"
        ],
        "default": "ALERT_TCP_FLAG_FIN",
        "x-displayname": "TCP Flags",
        "x-ves-proto-enum": "ves.io.schema.infraprotect.AlertTcpFlagType",
        "x-f5xc-description-short": "TCP flags used in alert analysis and reporting FIN flag which indicates that there is no more data from the sender, used in the last packet sent...",
        "x-f5xc-description-medium": "TCP flags used in alert analysis and reporting FIN flag which indicates that there is no more data from the sender, used in the last packet sent from the sender SYN flag set in the first packet from sender and receiver while establishing three way handshake between two hosts RST flag that resets...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAlertTcpFlagType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ALERT_TCP_FLAG_FIN\"",
          "example_yaml": "ALERT_TCP_FLAG_FIN\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAttachment": {
        "type": "object",
        "description": "Event attachment record (pcap, or any arbitrary file)",
        "title": "Event attachment",
        "x-displayname": "Event attachment.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.Attachment",
        "properties": {
          "attachment_id": {
            "type": "string",
            "description": "ID of the attachment.",
            "title": "Attachment ID",
            "x-displayname": "Attachment ID.",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "attachment_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectAttachmentType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "End time as an RFC3339 string.",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "gos_name": {
            "type": "string",
            "description": "Generic object storage name of the attachment.",
            "title": "GOS name",
            "x-displayname": "GOS name",
            "x-ves-example": "Attachment_123.",
            "x-f5xc-example": "attachment_123",
            "x-f5xc-description-short": "Generic object storage name of the attachment.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "gos_version": {
            "type": "string",
            "description": "Generic object storage version of the attachment.",
            "title": "GOS version",
            "x-displayname": "GOS version.",
            "x-ves-example": "V01-00-00-00.",
            "x-f5xc-example": "v01-00-00-00",
            "x-f5xc-description-short": "Generic object storage version of the attachment.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the attachment.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Last_pcap.file.",
            "x-f5xc-example": "last_pcap.file",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "size_bytes": {
            "type": "string",
            "description": "Size of the attachment.",
            "title": "Size",
            "format": "int64",
            "x-displayname": "Size",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Start time as an RFC3339 string.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Event attachment record (pcap, or any arbitrary file).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAttachment",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectAttachmentType": {
        "type": "string",
        "description": "Attachment type - helps the UI to properly handle attachments as not all attachment can be treated the same\n\n- ATTACHMENT_TYPE_UNKNOWN: Unspecified attachment\n- ATTACHMENT_TYPE_PCAP: Attachment is a PCAP file\n- ATTACHMENT_TYPE_BINARY: Attachment is a binary file\n- ATTACHMENT_TYPE_INVALID_PCAP: Attachment type indicated as, however the file format is different\n- ATTACHMENT_TYPE_OTHER: Attachment is other than above.",
        "title": "Attachment type",
        "enum": [
          "ATTACHMENT_TYPE_UNKNOWN",
          "ATTACHMENT_TYPE_PCAP",
          "ATTACHMENT_TYPE_BINARY",
          "ATTACHMENT_TYPE_INVALID_PCAP",
          "ATTACHMENT_TYPE_OTHER"
        ],
        "default": "ATTACHMENT_TYPE_UNKNOWN",
        "x-displayname": "Attachment type.",
        "x-ves-proto-enum": "ves.io.schema.infraprotect.AttachmentType",
        "x-f5xc-description-short": "Attachment type - helps the UI to properly handle attachments as not all attachment can be treated the same - ATTACHMENT_TYPE_UNKNOWN: Unspecified...",
        "x-f5xc-description-medium": "Attachment type - helps the UI to properly handle attachments as not all attachment can be treated the same - ATTACHMENT_TYPE_UNKNOWN: Unspecified attachment - ATTACHMENT_TYPE_PCAP: Attachment is a PCAP file - ATTACHMENT_TYPE_BINARY: Attachment is a binary file - ATTACHMENT_TYPE_INVALID_PCAP...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectAttachmentType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ATTACHMENT_TYPE_UNKNOWN\"",
          "example_yaml": "ATTACHMENT_TYPE_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectBGPPeerStatusItem": {
        "type": "object",
        "description": "Routed DDoS BGP peer status data specific to a given router/peer combination.",
        "title": "BGP Peer Status Item",
        "x-displayname": "BGP Peer Status Item.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.BGPPeerStatusItem",
        "properties": {
          "asn": {
            "type": "integer",
            "description": "Autonomous System Number for BGP peer.",
            "title": "ASN",
            "format": "int64",
            "x-displayname": "ASN",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "bgp_peer_address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaIpAddressType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "device_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectDeviceLocation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for device location.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "last_established": {
            "type": "string",
            "format": "date-time",
            "description": "Configuration parameter for last established",
            "x-f5xc-description-short": "Configuration parameter for last established.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "session_state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectBgpPeerSessionState"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for session state.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Routed DDoS BGP peer status data specific to a given router/peer combination.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectBGPPeerStatusItem",
          "required_fields": [
            "asn"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"asn\": 1\n}",
          "example_yaml": "asn: 1"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectBGPPeerStatusRequest": {
        "type": "object",
        "description": "Request to GET routed DDoS BGP peer status information.",
        "title": "BGP Peer Status Request",
        "x-displayname": "BGP Peer Status Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.BGPPeerStatusRequest",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "time": {
            "type": "string",
            "description": "Timestamp at which the snapshot of the BGP peer status data should be fetched.\nFormat: unix_timestamp|RFC 3339\n\nOptional: If not specified, then the end_time will be evaluated to <current time>",
            "title": "Time",
            "x-displayname": "Time",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Timestamp at which the snapshot of the BGP peer status data should be fetched.",
            "x-f5xc-description-medium": "Timestamp at which the snapshot of the BGP peer status data should be fetched. Format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated to <current time>.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "temporal",
              "maxLength": 1024,
              "minLength": 8,
              "pattern": "^\\d{2}:\\d{2}:\\d{2}$",
              "format": "time",
              "formatDescription": "Time format (e.g., 14:30:00)",
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request to GET routed DDoS BGP peer status information.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectBGPPeerStatusRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectBGPPeerStatusResponse": {
        "type": "object",
        "description": "Routed DDoS BGP peer status response data.",
        "title": "BGP Peer Status Response",
        "x-displayname": "BGP Peer Status Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.BGPPeerStatusResponse",
        "properties": {
          "items": {
            "type": "array",
            "description": "BGP Peer Status Items contains routed DDoS BGP peer status data for each router/peer combination.",
            "title": "BGP Peer Status Items",
            "items": {
              "$ref": "#/components/schemas/infraprotectBGPPeerStatusItem"
            },
            "x-displayname": "BGP Peer Status Items.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "BGP Peer Status Items contains routed DDoS BGP peer status data for each router/peer combination.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Routed DDoS BGP peer status response data.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectBGPPeerStatusResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectBgpPeerSessionState": {
        "type": "string",
        "description": "Status of BGP connection to this Peer\n\nConnection state is Idle\nConnection state is Connecting\nConnection state is Active\nConnection state is Open Sent\nConnection state is Open Confirm\nConnection state is Established.",
        "title": "BGP Peer Session State",
        "enum": [
          "Idle",
          "Connect",
          "Active",
          "OpenSent",
          "OpenConfirm",
          "Established"
        ],
        "default": "Idle",
        "x-displayname": "BGP Peer Status.",
        "x-ves-proto-enum": "ves.io.schema.infraprotect.BgpPeerSessionState",
        "x-f5xc-description-short": "Status of BGP connection to this Peer Connection state is Idle Connection state is Connecting Connection state is Active Connection state is Open...",
        "x-f5xc-description-medium": "Status of BGP connection to this Peer Connection state is Idle Connection state is Connecting Connection state is Active Connection state is Open Sent Connection state is Open Confirm Connection state is Established.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectBgpPeerSessionState",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"Idle\"",
          "example_yaml": "Idle\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureAIFAndHTTPURLRegularExpression": {
        "type": "object",
        "description": "X-displayName: AIF and HTTP/URL Regular Expression Countermeasure Specification\nAIF and HTTP/URL Regular Expression Countermeasure Specification.",
        "title": "AIF and HTTP/URL Regular Expression Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureAIFAndHTTPURLRegularExpression",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: AIF and HTTP/URL Regular Expression Countermeasure Specification AIF and HTTP/URL Regular Expression Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: AIF and HTTP/URL Regular Expression Countermeasure Specification AIF and HTTP/URL Regular Expression Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureAIFAndHTTPURLRegularExpression",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureDNSAuth": {
        "type": "object",
        "description": "X-displayName: DNS Authentication Countermeasure Specification\nDNS Authentication Countermeasure Specification.",
        "title": "DNS Authentication Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureDNSAuth",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: DNS Authentication Countermeasure Specification DNS Authentication Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: DNS Authentication Countermeasure Specification DNS Authentication Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureDNSAuth",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureDNSMalformed": {
        "type": "object",
        "description": "X-displayName: DNS Malformed Countermeasure Specification\nDNS Malformed Countermeasure Specification.",
        "title": "DNS Malformed Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureDNSMalformed",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: DNS Malformed Countermeasure Specification DNS Malformed Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: DNS Malformed Countermeasure Specification DNS Malformed Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureDNSMalformed",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureDNSNXDomainRateLimiting": {
        "type": "object",
        "description": "X-displayName: DNS NX Domain Rate Limiting Countermeasure Specification\nDNS NX Domain Rate Limiting Countermeasure Specification.",
        "title": "DNS NX Domain Rate Limiting Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureDNSNXDomainRateLimiting",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: DNS NX Domain Rate Limiting Countermeasure Specification DNS NX Domain Rate Limiting Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: DNS NX Domain Rate Limiting Countermeasure Specification DNS NX Domain Rate Limiting Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureDNSNXDomainRateLimiting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureDNSQueryObjectRateLimiting": {
        "type": "object",
        "description": "X-displayName: DNS Query Object Rate Limiting Countermeasure Specification\nDNS Query Object Rate Limiting Countermeasure Specification.",
        "title": "DNS Query Object Rate Limiting Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureDNSQueryObjectRateLimiting",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: DNS Query Object Rate Limiting Countermeasure Specification DNS Query Object Rate Limiting Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: DNS Query Object Rate Limiting Countermeasure Specification DNS Query Object Rate Limiting Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureDNSQueryObjectRateLimiting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureDNSRatelimiting": {
        "type": "object",
        "description": "X-displayName: DNS Rate Limiting Countermeasure Specification\nDNS Rate Limiting Countermeasure Specification.",
        "title": "DNS Rate Limiting Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureDNSRatelimiting",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: DNS Rate Limiting Countermeasure Specification DNS Rate Limiting Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: DNS Rate Limiting Countermeasure Specification DNS Rate Limiting Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureDNSRatelimiting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureDNSRegularExpression": {
        "type": "object",
        "description": "X-displayName: DNS Regular Expression Countermeasure Specification\nDNS Regular Expression Countermeasure Specification.",
        "title": "DNS Regular Expression Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureDNSRegularExpression",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: DNS Regular Expression Countermeasure Specification DNS Regular Expression Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: DNS Regular Expression Countermeasure Specification DNS Regular Expression Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureDNSRegularExpression",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureDNSScoping": {
        "type": "object",
        "description": "X-displayName: DNS Scoping Countermeasure Specification\nDNS Scoping Countermeasure Specification.",
        "title": "DNS Scoping Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureDNSScoping",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: DNS Scoping Countermeasure Specification DNS Scoping Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureDNSScoping",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureHTTPMalformed": {
        "type": "object",
        "description": "X-displayName: HTTP Malformed Countermeasure Specification\nHTTP Malformed Countermeasure Specification.",
        "title": "HTTP Malformed Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureHTTPMalformed",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: HTTP Malformed Countermeasure Specification HTTP Malformed Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: HTTP Malformed Countermeasure Specification HTTP Malformed Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureHTTPMalformed",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureHTTPRatelimiting": {
        "type": "object",
        "description": "X-displayName: HTTP Rate Limiting Countermeasure Specification\nHTTP Rate Limiting Countermeasure Specification.",
        "title": "HTTP Rate Limiting Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureHTTPRatelimiting",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: HTTP Rate Limiting Countermeasure Specification HTTP Rate Limiting Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: HTTP Rate Limiting Countermeasure Specification HTTP Rate Limiting Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureHTTPRatelimiting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureHTTPScoping": {
        "type": "object",
        "description": "X-displayName: HTTP Scoping Countermeasure Specification\nHTTP Scoping Countermeasure Specification.",
        "title": "HTTP Scoping Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureHTTPScoping",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: HTTP Scoping Countermeasure Specification HTTP Scoping Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureHTTPScoping",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureIPAddressFilterlist": {
        "type": "object",
        "description": "X-displayName: IP Address Filterlist Countermeasure Specification\nIP Address Filterlist Countermeasure Specification.",
        "title": "IP Address Filterlist Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureIPAddressFilterlist",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: IP Address Filterlist Countermeasure Specification IP Address Filterlist Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: IP Address Filterlist Countermeasure Specification IP Address Filterlist Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureIPAddressFilterlist",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureIPLocationFilterlist": {
        "type": "object",
        "description": "X-displayName: IP Location Filterlist Countermeasure Specification\nIP Location Filterlist Countermeasure Specification.",
        "title": "IP Location Filterlist Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureIPLocationFilterlist",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: IP Location Filterlist Countermeasure Specification IP Location Filterlist Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: IP Location Filterlist Countermeasure Specification IP Location Filterlist Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureIPLocationFilterlist",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureIPLocationPolicing": {
        "type": "object",
        "description": "X-displayName: IP Location Policing Countermeasure Specification\nIP Location Policing Countermeasure Specification.",
        "title": "IP Location Policing Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureIPLocationPolicing",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: IP Location Policing Countermeasure Specification IP Location Policing Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: IP Location Policing Countermeasure Specification IP Location Policing Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureIPLocationPolicing",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureInvalidPackets": {
        "type": "object",
        "description": "X-displayName: Invalid Packets Countermeasure Specification\nInvalid Packets Countermeasure Specification.",
        "title": "Invalid Packets Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureInvalidPackets",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Invalid Packets Countermeasure Specification Invalid Packets Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: Invalid Packets Countermeasure Specification Invalid Packets Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureInvalidPackets",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasurePacketHeaderFiltering": {
        "type": "object",
        "description": "X-displayName: Packet Header Filtering Countermeasure Specification\nPacket Header Filtering Countermeasure Specification.",
        "title": "Packet Header Filtering Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasurePacketHeaderFiltering",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Packet Header Filtering Countermeasure Specification Packet Header Filtering Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: Packet Header Filtering Countermeasure Specification Packet Header Filtering Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasurePacketHeaderFiltering",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasurePayloadRegularExpression": {
        "type": "object",
        "description": "X-displayName: Payload Regular Expression Specification\nPayload Regular Expression Countermeasure Specification.",
        "title": "Payload Regular Expression Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasurePayloadRegularExpression",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Payload Regular Expression Specification Payload Regular Expression Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: Payload Regular Expression Specification Payload Regular Expression Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasurePayloadRegularExpression",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasurePerConnectionFloodProtection": {
        "type": "object",
        "description": "X-displayName: Per Connection Flood Protection Countermeasure Specification\nPer Connection Flood Protection Countermeasure Specification.",
        "title": "Per Connection Flood Protection Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasurePerConnectionFloodProtection",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Per Connection Flood Protection Countermeasure Specification Per Connection Flood Protection Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: Per Connection Flood Protection Countermeasure Specification Per Connection Flood Protection Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasurePerConnectionFloodProtection",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureProtocolBaselines": {
        "type": "object",
        "description": "X-displayName: Protocol Baselines Countermeasure Specification\nProtocol Baselines Countermeasure Specification.",
        "title": "Protocol Baselines Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureProtocolBaselines",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Protocol Baselines Countermeasure Specification Protocol Baselines Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: Protocol Baselines Countermeasure Specification Protocol Baselines Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureProtocolBaselines",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureProxyListThresholdExceptions": {
        "type": "object",
        "description": "X-displayName: Proxy List Threshold Exceptions Countermeasure Specification\nProxy List Threshold Exceptions Countermeasure Specification.",
        "title": "Proxy List Threshold Exceptions Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureProxyListThresholdExceptions",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Proxy List Threshold Exceptions Countermeasure Specification Proxy List Threshold Exceptions Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: Proxy List Threshold Exceptions Countermeasure Specification Proxy List Threshold Exceptions Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureProxyListThresholdExceptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureSIPMalformed": {
        "type": "object",
        "description": "X-displayName: SIP Malformed Countermeasure Specification\nSIP(Session Initiation Protocol) Malformed Countermeasure Specification.",
        "title": "SIP Malformed Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureSIPMalformed",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: SIP Malformed Countermeasure Specification SIP(Session Initiation Protocol) Malformed Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: SIP Malformed Countermeasure Specification SIP(Session Initiation Protocol) Malformed Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureSIPMalformed",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureSIPRequestLimiting": {
        "type": "object",
        "description": "X-displayName: SIP Request Limiting Countermeasure Specification\nSIP(Session Initiation Protocol) Request Limiting Countermeasure Specification.",
        "title": "SIP Request Limiting Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureSIPRequestLimiting",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: SIP Request Limiting Countermeasure Specification SIP(Session Initiation Protocol) Request Limiting Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: SIP Request Limiting Countermeasure Specification SIP(Session Initiation Protocol) Request Limiting Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureSIPRequestLimiting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureShaping": {
        "type": "object",
        "description": "X-displayName: Shaping Countermeasure Specification\nShaping Countermeasure Specification.",
        "title": "Shaping Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureShaping",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Shaping Countermeasure Specification Shaping Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureShaping",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureTCPConnectionLimiting": {
        "type": "object",
        "description": "X-displayName: TCP Connection Limiting Countermeasure Specification\nTCP Connection Limiting Countermeasure Specification.",
        "title": "TCP Connection Limiting Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureTCPConnectionLimiting",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: TCP Connection Limiting Countermeasure Specification TCP Connection Limiting Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: TCP Connection Limiting Countermeasure Specification TCP Connection Limiting Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureTCPConnectionLimiting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureTCPConnectionReset": {
        "type": "object",
        "description": "X-displayName: TCP Connection Reset Countermeasure Specification\nTCP Connection Reset Countermeasure Specification.",
        "title": "TCP Connection Reset Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureTCPConnectionReset",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: TCP Connection Reset Countermeasure Specification TCP Connection Reset Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: TCP Connection Reset Countermeasure Specification TCP Connection Reset Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureTCPConnectionReset",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureTCPSYNAuthentication": {
        "type": "object",
        "description": "X-displayName: TCP SYN Authentication Countermeasure Specification\nTCP SYN Authentication Countermeasure Specification.",
        "title": "TCP SYN Authentication Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureTCPSYNAuthentication",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: TCP SYN Authentication Countermeasure Specification TCP SYN Authentication Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: TCP SYN Authentication Countermeasure Specification TCP SYN Authentication Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureTCPSYNAuthentication",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureTLSNegotiation": {
        "type": "object",
        "description": "X-displayName: TLS Negotiation Countermeasure Specification\nTLS Negotiation Countermeasure Specification.",
        "title": "TLS Negotiation Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureTLSNegotiation",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: TLS Negotiation Countermeasure Specification TLS Negotiation Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: TLS Negotiation Countermeasure Specification TLS Negotiation Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureTLSNegotiation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureUDPReflectionAmplificationProtection": {
        "type": "object",
        "description": "X-displayName: UDP Reflection/Amplification Protection Countermeasure Specification\nUDP Reflection/Amplification Protection Countermeasure Specification.",
        "title": "UDP Reflection/Amplification Protection Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureUDPReflectionAmplificationProtection",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: UDP Reflection/Amplification Protection Countermeasure Specification UDP Reflection/Amplification Protection Countermeasure...",
        "x-f5xc-description-medium": "X-displayName: UDP Reflection/Amplification Protection Countermeasure Specification UDP Reflection/Amplification Protection Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureUDPReflectionAmplificationProtection",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureUDPSessionAuthentication": {
        "type": "object",
        "description": "X-displayName: UDP Session Authentication Countermeasure Specification\nUDP Session Authentication Countermeasure Specification.",
        "title": "UDP Session Authentication Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureUDPSessionAuthentication",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: UDP Session Authentication Countermeasure Specification UDP Session Authentication Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: UDP Session Authentication Countermeasure Specification UDP Session Authentication Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureUDPSessionAuthentication",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCountermeasureZombieDetection": {
        "type": "object",
        "description": "X-displayName: Zombie Detection Countermeasure Specification\nZombie Detection Countermeasure Specification.",
        "title": "Zombie Detection Countermeasure Specification",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CountermeasureZombieDetection",
        "properties": {
          "applied": {
            "type": "string",
            "description": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "title": "Applied",
            "x-displayname": "Applied",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "\"true\" if the countermeasure is applied, \"false\" if not applied.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-displayName: Zombie Detection Countermeasure Specification Zombie Detection Countermeasure Specification.",
        "x-f5xc-description-medium": "X-displayName: Zombie Detection Countermeasure Specification Zombie Detection Countermeasure Specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCountermeasureZombieDetection",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectCustomerAccessResponse": {
        "type": "object",
        "description": "Infraprotect and L3/L4 DDoS accessibility and availability flags response.",
        "title": "Response to get customer access flags",
        "x-displayname": "Customer access flags.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.CustomerAccessResponse",
        "properties": {
          "l3l4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectAccessFlag"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Infraprotect and L3/L4 DDoS accessibility and availability flags response.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectCustomerAccessResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectDeleteEventDetailResponse": {
        "type": "object",
        "description": "Event detail deletion response message.",
        "title": "Event detail deletion response",
        "x-displayname": "Event detail deletion response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.DeleteEventDetailResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectDeleteEventDetailResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectDeviceLocation": {
        "type": "object",
        "description": "Location of a network device (aka router) where DDoS transit tunnels are provisioned.",
        "title": "Device Location",
        "x-displayname": "Device Location.",
        "x-ves-oneof-field-zone": "[\"zone1\",\"zone2\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect.DeviceLocation",
        "properties": {
          "name": {
            "type": "string",
            "description": "Device location name.",
            "title": "Location Name",
            "maxLength": 256,
            "x-displayname": "Location Name.",
            "x-ves-example": "VES-I/O-seattle.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "ves-io-seattle",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "zone1": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "zone2"
            ]
          },
          "zone2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "zone1"
            ]
          }
        },
        "x-f5xc-description-short": "Location of a network device (aka router) where DDoS transit tunnels are provisioned.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectDeviceLocation",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"ves-io-seattle\"\n}",
          "example_yaml": "name: ves-io-seattle"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectEditEventDetailRequest": {
        "type": "object",
        "description": "Request to update a single event detail.",
        "title": "Request to update event detail",
        "x-displayname": "Update event detail request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.EditEventDetailRequest",
        "properties": {
          "attachments": {
            "type": "array",
            "description": "All attachments on an event details, missing will be removed, extras will be added.",
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/infraprotectAttachment"
            },
            "x-displayname": "Attachments.",
            "x-f5xc-description-short": "All attachments on an event details, missing will be removed, extras will be added.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Description of the event detail.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "Actions taken: ...",
            "x-f5xc-example": "Actions taken...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "event_detail_id": {
            "type": "string",
            "description": "Event detail ID we want to update.",
            "title": "Event Detail ID",
            "x-displayname": "Event Detail ID.",
            "x-ves-example": "00000000-0000-4000-8000-7248e7cee302.",
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "event_id": {
            "type": "string",
            "description": "Event ID we want to edit the event detail for.",
            "title": "Event ID",
            "x-displayname": "Event ID",
            "x-ves-example": "00000000-0000-4000-8000-7248e7cee302.",
            "x-f5xc-example": "00000000-0000-4000-8000-7248e7cee302",
            "x-f5xc-description-short": "Event ID we want to edit the event detail for.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "time": {
            "type": "string",
            "description": "Time of the event detail\nFormat: RFC3339.",
            "title": "Time",
            "format": "date-time",
            "x-displayname": "Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Time of the event detail Format: RFC3339.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "temporal",
              "maxLength": 1024,
              "format": "date-time",
              "minLength": 8,
              "pattern": "^\\d{2}:\\d{2}:\\d{2}$",
              "formatDescription": "Time format (e.g., 14:30:00)",
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "title": {
            "type": "string",
            "description": "Title of the event of the event detail.",
            "title": "Title",
            "x-displayname": "Title",
            "x-ves-example": "Actions taken so far.",
            "x-f5xc-example": "Actions taken so far",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Request to update a single event detail.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectEditEventDetailRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectEditEventDetailResponse": {
        "type": "object",
        "description": "Event detail as stored in the backend.",
        "title": "Event detail as stored",
        "x-displayname": "Event detail as stored.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.EditEventDetailResponse",
        "properties": {
          "detail": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectEventDetail"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectEditEventDetailResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectEditEventRequest": {
        "type": "object",
        "description": "Request to GET a single event.",
        "title": "Event request",
        "x-displayname": "Event request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.EditEventRequest",
        "properties": {
          "description": {
            "type": "string",
            "description": "New description of the event.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "New description of the event.",
            "x-f5xc-example": "New description of the event",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "end_time": {
            "type": "string",
            "description": "New end time of the event (note that end time is always set manually)",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "New end time of the event (note that end time is always set manually).",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "event_attachments": {
            "type": "array",
            "description": "List of event's attachments.",
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/infraprotectAttachment"
            },
            "x-displayname": "Attachments.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "event_id": {
            "type": "string",
            "description": "ID of the event we want to edit.",
            "title": "Alert ID",
            "x-displayname": "Alert ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "name": {
            "type": "string",
            "description": "New name of the event.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Event_123",
            "x-f5xc-example": "event_123",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectEditEventRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectEditEventResponse": {
        "type": "object",
        "description": "Updated event as a response to an event editing.",
        "title": "Edit event response",
        "x-displayname": "Edit event response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.EditEventResponse",
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectEvent"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Updated event as a response to an event editing.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectEditEventResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectEvent": {
        "type": "object",
        "description": "Event (an attack record) that holds info an attack and its mitigation(s)",
        "title": "Single instance of an event",
        "x-displayname": "Event",
        "x-ves-proto-message": "ves.io.schema.infraprotect.Event",
        "properties": {
          "attachments": {
            "type": "array",
            "description": "Attachments on an event.",
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/infraprotectAttachment"
            },
            "x-displayname": "Attachments.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "creator": {
            "type": "string",
            "description": "Creator of the event.",
            "title": "Creator",
            "x-displayname": "Creator",
            "x-ves-example": "SOC",
            "x-f5xc-example": "SOC",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "description": {
            "type": "string",
            "description": "More detailed description of the event. Most of the time list of actions taken.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "[object_name1, object_name2]",
            "x-f5xc-example": "[object_name1, object_name2]",
            "x-f5xc-description-short": "More detailed description of the event. Most of the time list of actions taken.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "end_time": {
            "type": "string",
            "description": "End time as an RFC3339 string.",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "has_attachment": {
            "type": "boolean",
            "description": "True if event has any attachment other than PCAP files.",
            "title": "Has attachment",
            "format": "boolean",
            "x-displayname": "Has attachment.",
            "x-f5xc-description-short": "True if event has any attachment other than PCAP files.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "has_details": {
            "type": "boolean",
            "description": "True if the event already has details assigned, otherwise false.",
            "title": "Has details",
            "format": "boolean",
            "x-displayname": "Has details.",
            "x-f5xc-description-short": "True if the event already has details assigned, otherwise false.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "id": {
            "type": "string",
            "description": "ID of the event used to uniquely identify it.",
            "title": "Id",
            "x-displayname": "ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "x-f5xc-description-short": "ID of the event used to uniquely identify it.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip": {
            "type": "string",
            "description": "Target IP",
            "title": "IP",
            "x-displayname": "IP",
            "x-ves-example": "192.0.2.0/24.",
            "x-f5xc-example": "192.0.2.0/24",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mitigation_id": {
            "type": "string",
            "description": "Mitigation the event is related to.",
            "title": "Mitigation ID",
            "x-displayname": "Mitigation ID.",
            "x-ves-example": "UUID-12345-56789.",
            "x-f5xc-example": "uuid-12345-56789",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "name": {
            "type": "string",
            "description": "Name of an event.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Mainnet_1234_2022.",
            "x-f5xc-example": "mainnet_1234_2022",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "network_id": {
            "type": "string",
            "description": "Network the event is related to.",
            "title": "Network ID",
            "x-displayname": "Network ID.",
            "x-ves-example": "UUID-12345-56789.",
            "x-f5xc-example": "uuid-12345-56789",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "start_time": {
            "type": "string",
            "description": "Start time as an RFC3339 string.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Event (an attack record) that holds info an attack and its mitigation(s).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectEvent",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectEventDetail": {
        "type": "object",
        "description": "Event detail represents a single occurrence of event detail, that tracks customer, SOC notes on a given event.",
        "title": "Event detail",
        "x-displayname": "Event detail.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.EventDetail",
        "properties": {
          "attachments": {
            "type": "array",
            "description": "All attachments on an event details.",
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/infraprotectAttachment"
            },
            "x-displayname": "Attachments.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "creator": {
            "type": "string",
            "description": "Creator of the event detail.",
            "title": "Creator",
            "x-displayname": "Creator",
            "x-ves-example": "SOC",
            "x-f5xc-example": "SOC",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "description": {
            "type": "string",
            "description": "Textual description of the event detail record.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "List of actions taken so far ...",
            "x-f5xc-example": "List of actions taken so far ...",
            "x-f5xc-description-short": "Textual description of the event detail record.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "id": {
            "type": "string",
            "description": "ID of the event detail used to uniquely identify it.",
            "title": "Id",
            "x-displayname": "ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "x-f5xc-description-short": "ID of the event detail used to uniquely identify it.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "time": {
            "type": "string",
            "description": "Time the event details applies to. Details can be added retrospectively this fields allow pin point to detail to a specific time. The value must fall within the event time range.",
            "title": "Time",
            "format": "date-time",
            "x-displayname": "Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Time the event details applies to. Details can be added retrospectively this fields allow pin point to detail to a specific time.",
            "x-f5xc-description-medium": "Time the event details applies to. Details can be added retrospectively this fields allow pin point to detail to a specific time. The value must fall within the event time range.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "temporal",
              "maxLength": 1024,
              "format": "date-time",
              "minLength": 8,
              "pattern": "^\\d{2}:\\d{2}:\\d{2}$",
              "formatDescription": "Time format (e.g., 14:30:00)",
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "title": {
            "type": "string",
            "description": "Title of the event detail.",
            "title": "Title",
            "x-displayname": "Title",
            "x-ves-example": "Additional details.",
            "x-f5xc-example": "Additional details",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Event detail represents a single occurrence of event detail, that tracks customer, SOC notes on a given event.",
        "x-f5xc-description-medium": "Event detail represents a single occurrence of event detail, that tracks customer, SOC notes on a given event.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectEventDetail",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectEventSummary": {
        "type": "object",
        "description": "Simplified view of an event.",
        "title": "Simplified event",
        "x-displayname": "Simplified event.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.EventSummary",
        "properties": {
          "id": {
            "type": "string",
            "description": "Event ID",
            "title": "ID",
            "x-displayname": "ID",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the event (to be displayed to the customer)",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Event_12345_2022.",
            "x-f5xc-example": "event_12345_2022",
            "x-f5xc-description-short": "Name of the event (to be displayed to the customer).",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectEventSummary",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectGetAlertResponse": {
        "type": "object",
        "description": "Response to the single alert request.",
        "title": "Alert response",
        "x-displayname": "Alert response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.GetAlertResponse",
        "properties": {
          "misuse_types": {
            "type": "array",
            "description": "List of misuse types involved in the alert.",
            "title": "Misuse Types",
            "items": {
              "$ref": "#/components/schemas/infraprotectAlertDetailMisuseType"
            },
            "x-displayname": "Misuse Types.",
            "x-f5xc-description-short": "List of misuse types involved in the alert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ports": {
            "type": "array",
            "description": "List of ports involved in the alert.",
            "title": "Ports",
            "items": {
              "$ref": "#/components/schemas/infraprotectAlertPort"
            },
            "x-displayname": "Ports",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "prefixes": {
            "type": "array",
            "description": "List of prefixes involved in the alert.",
            "title": "Prefixes",
            "items": {
              "$ref": "#/components/schemas/infraprotectAlertPrefix"
            },
            "x-displayname": "Prefixes",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tcp_flags": {
            "type": "array",
            "description": "TCP flags information for the alert.",
            "title": "TCP Flags",
            "items": {
              "$ref": "#/components/schemas/infraprotectAlertTcpFlag"
            },
            "x-displayname": "TCP Flags",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectGetAlertResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectGetEventResponse": {
        "type": "object",
        "description": "Response to GET a single event.",
        "title": "Event response",
        "x-displayname": "Event response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.GetEventResponse",
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectEvent"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectGetEventResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectGetMitigationCountermeasuresResponse": {
        "type": "object",
        "description": "List of Mitigation countermeasures.",
        "title": "Mitigation Countermeasures",
        "x-displayname": "Mitigation Countermeasures Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.GetMitigationCountermeasuresResponse",
        "properties": {
          "aif_and_http_url_regular_expression": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureAIFAndHTTPURLRegularExpression"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "dns_auth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureDNSAuth"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "dns_malformed": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureDNSMalformed"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for dns malformed.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "dns_nxdomain_ratelimiting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureDNSNXDomainRateLimiting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for dns nxdomain ratelimiting.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "dns_object_ratelimiting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureDNSQueryObjectRateLimiting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for dns object ratelimiting.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "dns_ratelimiting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureDNSRatelimiting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for dns ratelimiting.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "dns_regular_expression": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureDNSRegularExpression"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for dns regular expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "dns_scoping": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureDNSScoping"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for dns scoping.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_malformed": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureHTTPMalformed"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http malformed.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_rate_limiting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureHTTPRatelimiting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http rate limiting.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_scoping": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureHTTPScoping"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http scoping.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "invalid_packets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureInvalidPackets"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for invalid packets.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip_address_filter_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureIPAddressFilterlist"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip_location_filter_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureIPLocationFilterlist"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip_location_policing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureIPLocationPolicing"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "packet_header_filtering": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasurePacketHeaderFiltering"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for packet header filtering.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "payload_regular_expression": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasurePayloadRegularExpression"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for payload regular expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "per_connection_flood_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasurePerConnectionFloodProtection"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for per connection flood protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "protocol_baselines": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureProtocolBaselines"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol baselines.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "proxy_list_threshold_exceptions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureProxyListThresholdExceptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for proxy list threshold exceptions.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "shaping": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureShaping"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sip_malformed": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureSIPMalformed"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sip_request_limiting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureSIPRequestLimiting"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tcp_connection_limiting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureTCPConnectionLimiting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tcp connection limiting.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tcp_connection_reset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureTCPConnectionReset"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tcp connection reset.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tcp_syn_auth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureTCPSYNAuthentication"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tcp syn auth.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tls_negotiation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureTLSNegotiation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls negotiation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "udp_reflection_amp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureUDPReflectionAmplificationProtection"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for udp reflection amp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "udp_session_authentication": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureUDPSessionAuthentication"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for udp session authentication.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "zombie_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectCountermeasureZombieDetection"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for zombie detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectGetMitigationCountermeasuresResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectGetMitigationResponse": {
        "type": "object",
        "description": "Details of a mitigation.",
        "title": "Mitigation response",
        "x-displayname": "Mitigation response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.GetMitigationResponse",
        "properties": {
          "details": {
            "type": "string",
            "description": "Base64 encoded document with mitigation details. The document resembles HTML and should be displayed as such.",
            "title": "Details",
            "format": "byte",
            "x-displayname": "Details",
            "x-f5xc-example": "\"\"",
            "x-f5xc-description-short": "Base64 encoded document with mitigation details. The document resembles HTML and should be displayed as such.",
            "x-f5xc-description-medium": "Base64 encoded document with mitigation details. The document resembles HTML and should be displayed as such.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "byte",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "prefixes": {
            "type": "array",
            "description": "Prefixes associated to mitigation.",
            "title": "Prefixes",
            "items": {
              "type": "string"
            },
            "x-displayname": "Prefixes",
            "x-ves-example": "192.0.2.0/24 192.0.2.0/24.",
            "x-f5xc-example": "192.0.2.0/24 192.0.2.0/24",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectGetMitigationResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectGetReportResponse": {
        "type": "object",
        "description": "Single report document content.",
        "title": "Report response",
        "x-displayname": "Report response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.GetReportResponse",
        "properties": {
          "attachment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectAttachment"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectGetReportResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListAlertsRequest": {
        "type": "object",
        "description": "Request to GET customer alerts with optional filtering.",
        "title": "Alerts request",
        "x-displayname": "Alerts request.",
        "x-ves-oneof-field-alert_type": "[\"alert_type_ddos\",\"alert_type_infrastructure\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListAlertsRequest",
        "properties": {
          "alert_type_ddos": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for alert type ddos.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "alert_type_infrastructure"
            ]
          },
          "alert_type_infrastructure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "alert_type_ddos"
            ]
          },
          "end_time": {
            "type": "string",
            "description": "End time of metric collection from which data will be considered to build graph.\nFormat: RFC3339\n\nOptional: If not specified, then the end_time will be evaluated to <current time>",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "End time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "End time of metric collection from which data will be considered to build graph. Format: RFC3339 Optional: If not specified, then the end_time will be evaluated to <current time>.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "event_id": {
            "type": "string",
            "description": "Event ID when we want to filter by an event start and end time.\n\nOptional: If not specified, then no events filtering occurs.",
            "title": "Event ID",
            "x-displayname": "Event ID",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "x-f5xc-description-short": "Event ID when we want to filter by an event start and end time. Optional: If not specified, then no events filtering occurs.",
            "x-f5xc-description-medium": "Event ID when we want to filter by an event start and end time. Optional: If not specified, then no events filtering occurs.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "network_id": {
            "type": "string",
            "description": "Network ID when we want to filter by a network. It is assured that the network belongs to the tenant.\n\nOptional: If not specified, then no network filtering occurs.",
            "title": "Network ID",
            "x-displayname": "Network ID.",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "x-f5xc-description-short": "Network ID when we want to filter by a network. It is assured that the network belongs to the tenant.",
            "x-f5xc-description-medium": "Network ID when we want to filter by a network. It is assured that the network belongs to the tenant. Optional: If not specified, then no network filtering occurs.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "start_time": {
            "type": "string",
            "description": "Start time of metric collection from which data will be considered to build graph.\nFormat: RFC3339\n\nOptional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start Time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Start time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "Start time of metric collection from which data will be considered to build graph. Format: RFC3339 Optional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request to GET customer alerts with optional filtering.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListAlertsRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListAlertsResponse": {
        "type": "object",
        "description": "Response to the alerts request.",
        "title": "Alerts response",
        "x-displayname": "Alerts response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListAlertsResponse",
        "properties": {
          "alerts": {
            "type": "array",
            "description": "List if alerts.",
            "title": "Alerts",
            "items": {
              "$ref": "#/components/schemas/infraprotectAlert"
            },
            "x-displayname": "Alerts",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListAlertsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListEventAlertsResponse": {
        "type": "object",
        "description": "Response, list of alerts associated with an event.",
        "title": "Event alerts response",
        "x-displayname": "Event alerts response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListEventAlertsResponse",
        "properties": {
          "alerts": {
            "type": "array",
            "description": "List of alerts related to the event.",
            "title": "Alerts",
            "items": {
              "$ref": "#/components/schemas/infraprotectAlert"
            },
            "x-displayname": "Alerts",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response, list of alerts associated with an event.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListEventAlertsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListEventAttachmentsResponse": {
        "type": "object",
        "description": "Response, list of attachments associated with an event.",
        "title": "Event attachments response",
        "x-displayname": "Event attachments response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListEventAttachmentsResponse",
        "properties": {
          "attachments": {
            "type": "array",
            "description": "List of Attachments related to the event.",
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/infraprotectAttachment"
            },
            "x-displayname": "Attachments.",
            "x-f5xc-description-short": "List of Attachments related to the event.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response, list of attachments associated with an event.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListEventAttachmentsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListEventDetailsResponse": {
        "type": "object",
        "description": "All details of the event.",
        "title": "List event details response",
        "x-displayname": "List event details response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListEventDetailsResponse",
        "properties": {
          "details": {
            "type": "array",
            "description": "List of event details the event may have.",
            "title": "Event details",
            "items": {
              "$ref": "#/components/schemas/infraprotectEventDetail"
            },
            "x-displayname": "Event details.",
            "x-f5xc-description-short": "List of event details the event may have.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListEventDetailsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListEventMitigationsResponse": {
        "type": "object",
        "description": "Response, list of mitigations associated with an event.",
        "title": "Event mitigations response",
        "x-displayname": "Event mitigations response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListEventMitigationsResponse",
        "properties": {
          "mitigations": {
            "type": "array",
            "description": "List of mitigations related to the event.",
            "title": "Mitigations",
            "items": {
              "$ref": "#/components/schemas/infraprotectMitigationAnnotation"
            },
            "x-displayname": "Mitigations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of mitigations related to the event.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response, list of mitigations associated with an event.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListEventMitigationsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListEventsRequest": {
        "type": "object",
        "description": "Request to GET a list of events.",
        "title": "List of events request",
        "x-displayname": "Events",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListEventsRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "End time of metric collection from which data will be considered to build graph.\nFormat: RFC3339\n\nOptional: If not specified, then the end_time will be evaluated to <current time>",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "End time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "End time of metric collection from which data will be considered to build graph. Format: RFC3339 Optional: If not specified, then the end_time will be evaluated to <current time>.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mitigation_id": {
            "type": "string",
            "description": "Filter events by mitigation\n\nOptional: If not specified, then events are returned regardless of mitigation.",
            "title": "Mitigation",
            "x-displayname": "Mitigation.",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "x-f5xc-description-short": "Filter events by mitigation Optional: If not specified, then events are returned regardless of mitigation.",
            "x-f5xc-description-medium": "Filter events by mitigation Optional: If not specified, then events are returned regardless of mitigation.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "network_id": {
            "type": "string",
            "description": "Filter events by network\n\nOptional: If not specified, then all tenant's networks are considerate.",
            "title": "Network",
            "x-displayname": "Network",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "x-f5xc-description-short": "Filter events by network Optional: If not specified, then all tenant's networks are considerate.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "start_time": {
            "type": "string",
            "description": "Start time of metric collection from which data will be considered to build graph.\nFormat: RFC3339\n\nOptional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start Time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Start time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "Start time of metric collection from which data will be considered to build graph. Format: RFC3339 Optional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListEventsRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListEventsResponse": {
        "type": "object",
        "description": "Response to GET a list of events.",
        "title": "List of events response",
        "x-displayname": "Events",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListEventsResponse",
        "properties": {
          "events": {
            "type": "array",
            "description": "Recorder events filtered by events requests.",
            "title": "Events",
            "items": {
              "$ref": "#/components/schemas/infraprotectEvent"
            },
            "x-displayname": "Events",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Recorder events filtered by events requests.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListEventsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListEventsSummaryResponse": {
        "type": "object",
        "description": "Response to the simplified events view request.",
        "title": "Simplified events response",
        "x-displayname": "Simplified events response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListEventsSummaryResponse",
        "properties": {
          "events": {
            "type": "array",
            "description": "List of events.",
            "title": "Events",
            "items": {
              "$ref": "#/components/schemas/infraprotectEventSummary"
            },
            "x-displayname": "Events",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response to the simplified events view request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListEventsSummaryResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListMitigationAnnotationsResponse": {
        "type": "object",
        "description": "List of mitigation annotations (i.e. Mitigation notes sorted chronologically)",
        "title": "Mitigation annotations response",
        "x-displayname": "Mitigation annotations response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListMitigationAnnotationsResponse",
        "properties": {
          "annotations": {
            "type": "array",
            "description": "Mitigation annotations of a mitigation.",
            "title": "Annotations",
            "items": {
              "$ref": "#/components/schemas/infraprotectMitigationAnnotation"
            },
            "x-displayname": "Annotations.",
            "x-ves-example": "['done this', 'done that']",
            "x-f5xc-example": "['done this', 'done that']",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "List of mitigation annotations (i.e. Mitigation notes sorted chronologically)",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListMitigationAnnotationsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListMitigationIPsResponse": {
        "type": "object",
        "description": "List of mitigation Ips.",
        "title": "Mitigation IPs response",
        "x-displayname": "Mitigation IPs response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListMitigationIPsResponse",
        "properties": {
          "ips": {
            "type": "array",
            "description": "List of IP addresses along with log count.",
            "title": "IPs",
            "items": {
              "$ref": "#/components/schemas/infraprotectMitigationIP"
            },
            "x-displayname": "IPs",
            "x-f5xc-description-short": "List of IP addresses along with log count.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "networking",
              "minItems": 0,
              "maxItems": 100,
              "uniqueItems": true,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListMitigationIPsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListMitigationsRequest": {
        "type": "object",
        "description": "Request to GET a list of mitigations.",
        "title": "Mitigations request",
        "x-displayname": "Mitigations request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListMitigationsRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "End time of metric collection from which data will be considered to build graph.\nFormat: RFC3339 string\n\nOptional: If not specified, then the end_time will be evaluated to <current time>",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "End time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "End time of metric collection from which data will be considered to build graph. Format: RFC3339 string Optional: If not specified, then the end_time will be evaluated to <current time>.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "event_id": {
            "type": "string",
            "description": "Filter mitigations by an event\n\nOptional: If not specified, then all tenant's events are considerate.",
            "title": "Event",
            "x-displayname": "Event",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "x-f5xc-description-short": "Filter mitigations by an event Optional: If not specified, then all tenant's events are considerate.",
            "x-f5xc-description-medium": "Filter mitigations by an event Optional: If not specified, then all tenant's events are considerate.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "network_id": {
            "type": "string",
            "description": "Filter mitigations by network\n\nOptional: If not specified, then all tenant's networks are considerate.",
            "title": "Network",
            "x-displayname": "Network",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "x-f5xc-description-short": "Filter mitigations by network Optional: If not specified, then all tenant's networks are considerate.",
            "x-f5xc-description-medium": "Filter mitigations by network Optional: If not specified, then all tenant's networks are considerate.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "start_time": {
            "type": "string",
            "description": "Start time of metric collection from which data will be considered to build graph.\nFormat: RFC3339 string\n\nOptional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start Time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Start time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "Start time of metric collection from which data will be considered to build graph. Format: RFC3339 string Optional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListMitigationsRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListMitigationsResponse": {
        "type": "object",
        "description": "Response giving a list of mitigations.",
        "title": "Mitigations response",
        "x-displayname": "Mitigations response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListMitigationsResponse",
        "properties": {
          "mitigations": {
            "type": "array",
            "description": "Filtered mitigations.",
            "title": "Mitigations",
            "items": {
              "$ref": "#/components/schemas/infraprotectMitigation"
            },
            "x-displayname": "Mitigations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListMitigationsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListNetworksResponse": {
        "type": "object",
        "description": "Response containing all networks available to the customer.",
        "title": "Networks response",
        "x-displayname": "Networks response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListNetworksResponse",
        "properties": {
          "networks": {
            "type": "array",
            "description": "List of networks the customer has.",
            "title": "Networks",
            "items": {
              "$ref": "#/components/schemas/infraprotectNetwork"
            },
            "x-displayname": "Networks",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "networking",
              "minItems": 0,
              "maxItems": 32,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response containing all networks available to the customer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListNetworksResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListReportsRequest": {
        "type": "object",
        "description": "Request to GET a list of available reports.",
        "title": "Reports request",
        "x-displayname": "Reports request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListReportsRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "End time of metric collection from which data will be considered to build graph.\nFormat: RFC3339 string\n\nOptional: If not specified, then the end_time will be evaluated to <current time>",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "End time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "End time of metric collection from which data will be considered to build graph. Format: RFC3339 string Optional: If not specified, then the end_time will be evaluated to <current time>.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "This request is supported only in system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Request is supported only in system namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "start_time": {
            "type": "string",
            "description": "Start time of metric collection from which data will be considered to build graph.\nFormat: RFC3339 string\n\nOptional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start Time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Start time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "Start time of metric collection from which data will be considered to build graph. Format: RFC3339 string Optional: If not specified, then the start_time will be evaluated to <current time>-3d.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request to GET a list of available reports.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListReportsRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectListReportsResponse": {
        "type": "object",
        "description": "List of available reports.",
        "title": "Reports response",
        "x-displayname": "Reports response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.ListReportsResponse",
        "properties": {
          "reports": {
            "type": "array",
            "description": "List of reports available to the tenant.",
            "title": "Reports",
            "items": {
              "$ref": "#/components/schemas/infraprotectReport"
            },
            "x-displayname": "Reports",
            "x-f5xc-description-short": "List of reports available to the tenant.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectListReportsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectMitigation": {
        "type": "object",
        "description": "Mitigation details.",
        "title": "Mitigation",
        "x-displayname": "Mitigation.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.Mitigation",
        "properties": {
          "arbor_id": {
            "type": "string",
            "description": "L3/L4 provider identity string.",
            "title": "L3/L4 ID",
            "x-displayname": "L3/L4 ID",
            "x-ves-example": "Tms-123",
            "x-f5xc-example": "tms-123",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator": {
            "type": "string",
            "description": "Creator of the alert (or SOC if created manually)",
            "title": "Creator",
            "x-displayname": "Creator",
            "x-f5xc-description-short": "Creator of the alert (or SOC if created manually).",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "end_time": {
            "type": "string",
            "description": "RFC3339 string of the mitigation end time.",
            "title": "End time",
            "format": "date-time",
            "x-displayname": "End time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "RFC3339 string of the mitigation end time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "id": {
            "type": "string",
            "description": "Mitigation ID.",
            "title": "ID",
            "x-displayname": "ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "is_ongoing": {
            "type": "boolean",
            "description": "True if the mitigation is still ongoing.",
            "title": "Ongoing",
            "format": "boolean",
            "x-displayname": "Ongoing",
            "x-f5xc-description-short": "True if the mitigation is still ongoing.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Mitigation name.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Dosproof_123.",
            "x-f5xc-example": "dosproof_123",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "network_id": {
            "type": "string",
            "description": "ID of the network involved in the mitigation.",
            "title": "NetworkID",
            "x-displayname": "Network ID.",
            "x-f5xc-description-short": "ID of the network involved in the mitigation.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "network_name": {
            "type": "string",
            "description": "Name of the network involved in the mitigation.",
            "title": "Network",
            "x-displayname": "Network",
            "x-ves-example": "Dosproof_123.",
            "x-f5xc-example": "dosproof_123",
            "x-f5xc-description-short": "Name of the network involved in the mitigation.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "offramp": {
            "type": "string",
            "description": "Offramp related to the mitigation.",
            "title": "Offramp",
            "x-displayname": "Offramp",
            "x-ves-example": "192.0.2.0/24.",
            "x-f5xc-example": "192.0.2.0/24",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "RFC3339 string of the mitigation start time.",
            "title": "Start time",
            "format": "date-time",
            "x-displayname": "Start time.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "RFC3339 string of the mitigation start time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectMitigation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectMitigationAnnotation": {
        "type": "object",
        "description": "Mitigation annotation.",
        "title": "MitigationAnnotation",
        "x-displayname": "MitigationAnnotation.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.MitigationAnnotation",
        "properties": {
          "annotation": {
            "type": "string",
            "description": "Annotation text.",
            "title": "Annotation",
            "x-displayname": "Annotation.",
            "x-ves-example": "Annotation 1.",
            "x-f5xc-example": "Annotation 1",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "creator": {
            "type": "string",
            "description": "Annotation creator.",
            "title": "Creator",
            "x-displayname": "Creator",
            "x-ves-example": "User1",
            "x-f5xc-example": "user1",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "id": {
            "type": "string",
            "description": "Mitigation ID.",
            "title": "ID",
            "x-displayname": "ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "time": {
            "type": "string",
            "description": "Annotation creation time as an RFC3339 string.",
            "title": "Time",
            "format": "date-time",
            "x-displayname": "Time",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "x-f5xc-description-short": "Annotation creation time as an RFC3339 string.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "temporal",
              "maxLength": 1024,
              "format": "date-time",
              "minLength": 8,
              "pattern": "^\\d{2}:\\d{2}:\\d{2}$",
              "formatDescription": "Time format (e.g., 14:30:00)",
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectMitigationAnnotation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectMitigationIP": {
        "type": "object",
        "description": "A single mitigation IP record including log record count.",
        "title": "Mitigation IP record",
        "x-displayname": "Mitigation IP record.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.MitigationIP",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Mitigation source IP.",
            "title": "IP",
            "x-displayname": "IP",
            "x-ves-example": "192.0.2.0/24.",
            "x-f5xc-example": "192.0.2.0/24",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "log_count": {
            "type": "string",
            "description": "Number of times the IP appears in the log.",
            "title": "Log count",
            "format": "int64",
            "x-displayname": "Log count",
            "x-ves-example": "123",
            "x-f5xc-example": "123",
            "x-f5xc-description-short": "Number of times the IP appears in the log.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Single mitigation IP record including log record count.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectMitigationIP",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectNetwork": {
        "type": "object",
        "description": "A single customer network record.",
        "title": "Network record",
        "x-displayname": "Network record.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.Network",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the network.",
            "title": "Network IDListNetworksResponse",
            "x-displayname": "Network ID.",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the network.",
            "title": "Network name",
            "x-displayname": "Network name.",
            "x-ves-example": "DDOS_proof_1.",
            "x-f5xc-example": "DDOS_proof_1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "prefixes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaPrefixListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "primary": {
            "type": "boolean",
            "description": "If true then the network is the primary customer's network and should always be preferred.\nThe rules governing:\n* The network is flagged as such during onboarding via the signup object->infraprotect_information\n* Customer network called %customer_name%_local - e.g. Defensenet_local\n* The only customer's network (if customer has only one network)",
            "title": "Primary",
            "format": "boolean",
            "x-displayname": "Primary",
            "x-f5xc-description-short": "If true then the network is the primary customer's network and should always be preferred.",
            "x-f5xc-description-medium": "If true then the network is the primary customer's network and should always be preferred. The rules governing: * The network is flagged as such during onboarding via the signup object->infraprotect_information * Customer network called %customer_name%_local - e.g. Defensenet_local * The only...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectNetwork",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectReport": {
        "type": "object",
        "description": "A single DDoS report record.",
        "title": "Report record",
        "x-displayname": "Report record.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.Report",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "RFC3339 string of the creation date.",
            "title": "Created date",
            "format": "date-time",
            "x-displayname": "Created date.",
            "x-ves-example": "2021-01-01T00:00:00Z.",
            "x-f5xc-example": "2021-01-01T00:00:00Z",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "temporal",
              "maxLength": 1024,
              "format": "date-time",
              "minLength": 20,
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z?$",
              "formatDescription": "ISO 8601 date-time (e.g., 2026-01-19T12:00:00Z)",
              "validation": {
                "standard": "ISO 8601"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.95,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "gos_name": {
            "type": "string",
            "description": "Name of the report.",
            "title": "Storage name",
            "x-displayname": "Storage name.",
            "x-ves-example": "Dos-proof-report.",
            "x-f5xc-example": "dos-proof-report",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "id": {
            "type": "string",
            "description": "ID of the report.",
            "title": "Report ID",
            "x-displayname": "Report ID",
            "x-ves-example": "00000000-0000-4000-8000-8bd111298e1f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8bd111298e1f",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the report.",
            "title": "Report name",
            "x-displayname": "Report name.",
            "x-ves-example": "DOS proof report 01/2022.",
            "x-f5xc-example": "DOS proof report 01/2022",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "scheduled": {
            "type": "boolean",
            "description": "True if the report is scheduled.",
            "title": "Scheduled flag",
            "format": "boolean",
            "x-displayname": "Scheduled",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scheduled_name": {
            "type": "string",
            "description": "Full name, including the date part.\nOptional, only present if `scheduled` is set to true.",
            "title": "Scheduled name",
            "x-displayname": "Scheduled name.",
            "x-ves-example": "Dos-proof-report-01-01-2022.",
            "x-f5xc-example": "dos-proof-report-01-01-2022",
            "x-f5xc-description-short": "Full name, including the date part. Optional, only present if is set to true.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "type": "string",
            "description": "Type of the report.",
            "title": "Report type",
            "x-displayname": "Report type.",
            "x-ves-example": "DoS proof daily report.",
            "x-f5xc-example": "DoS proof daily report",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "version": {
            "type": "string",
            "description": "Document version assigned by generic object store.",
            "title": "Storage version",
            "x-displayname": "Version",
            "x-ves-example": "V01-00-00-00.",
            "x-f5xc-example": "v01-00-00-00",
            "x-f5xc-description-short": "Document version assigned by generic object store.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectReport",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectSuggestValuesReq": {
        "type": "object",
        "description": "Request body of SuggestValues request.",
        "title": "SuggestValuesReq",
        "x-displayname": "Request for SuggestValues.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.SuggestValuesReq",
        "properties": {
          "field_path": {
            "type": "string",
            "description": "JSON path of the field for which the suggested values are being requested.",
            "title": "field_path",
            "maxLength": 1024,
            "x-displayname": "Field Path.",
            "x-ves-example": "spec.rule_choice.rule_list.rules[2].spec.api_group_matcher.match.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "1024"
            },
            "x-f5xc-example": "spec.rule_choice.rule_list.rules[2].spec.api_group_matcher.match",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "1024"
            },
            "x-f5xc-description-short": "JSON path of the field for which the suggested values are being requested.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "match_value": {
            "type": "string",
            "description": "A substring that must be present in either the value or description of each SuggestedItem in the response.",
            "title": "match_value",
            "maxLength": 256,
            "x-displayname": "Match Value.",
            "x-ves-example": "Some-substring.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "some-substring",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Substring that must be present in either the value or description of each SuggestedItem in the response.",
            "x-f5xc-description-medium": "Substring that must be present in either the value or description of each SuggestedItem in the response.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the suggestions are scoped.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Foobar",
            "x-f5xc-example": "foobar",
            "x-f5xc-description-short": "Namespace in which the suggestions are scoped.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "request_body": {
            "allOf": [
              {
                "$ref": "#/components/schemas/protobufAny"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectSuggestValuesReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectTransitUsageData": {
        "type": "object",
        "description": "Transit Usage data contains the transit usage type and the corresponding metric value.",
        "title": "Transit Usage Data",
        "x-displayname": "Transit Usage Data.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.TransitUsageData",
        "properties": {
          "data": {
            "type": "array",
            "description": "List of metric data.",
            "title": "Data",
            "items": {
              "$ref": "#/components/schemas/infraprotectTransitUsageTypeData"
            },
            "x-displayname": "Data",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotectTransitUsageType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaUnitType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Transit Usage data contains the transit usage type and the corresponding metric value.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectTransitUsageData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectTransitUsageLabel": {
        "type": "string",
        "description": "Labels in transit usage metrics.",
        "title": "Transit Usage Label",
        "enum": [
          "POP",
          "DEVICE",
          "INTERFACE",
          "CIRCUIT_ID"
        ],
        "default": "POP",
        "x-displayname": "Transit Usage Label.",
        "x-ves-proto-enum": "ves.io.schema.infraprotect.TransitUsageLabel",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectTransitUsageLabel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"POP\"",
          "example_yaml": "POP\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectTransitUsageRequest": {
        "type": "object",
        "description": "Request to GET transit usage data.",
        "title": "Transit Usage Request",
        "x-displayname": "Transit Usage Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.TransitUsageRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "End time of metric collection from which data will be considered to build graph.\nFormat: unix_timestamp|RFC 3339\n\nOptional: If not specified, then the end_time will be evaluated to start_time+10m\nIf start_time is not specified, then the end_time will be evaluated to <current time>",
            "title": "End time",
            "x-displayname": "End Time",
            "x-ves-example": "1570197600.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570197600",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "End time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "End time of metric collection from which data will be considered to build graph. Format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated to start_time+10m If start_time is not specified, then the end_time will be evaluated to <current time>.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "field_selector": {
            "type": "array",
            "description": "Select fields to be returned in the response.\nOne or more fields in {IN_THROUGHPUT_BYTES, IN_THROUGHPUT_PACKETS, OUT_THROUGHPUT_BYTES, OUT_THROUGHPUT_PACKETS} can be specified.",
            "title": "Field Selector",
            "minItems": 1,
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/infraprotectTransitUsageType"
            },
            "x-displayname": "Field Selector.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Select fields to be returned in the response.",
            "x-f5xc-description-medium": "Select fields to be returned in the response. One or more fields in {IN_THROUGHPUT_BYTES, IN_THROUGHPUT_PACKETS, OUT_THROUGHPUT_BYTES, OUT_THROUGHPUT_PACKETS} can be specified.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 8,
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "filter": {
            "type": "string",
            "description": "Filter is used to specify the list of matchers\nsyntax for filter := {[<matcher>]}\n<matcher> := <label><operator>\"<value>\"\n<label> := string\nOne or more labels defined in MetricLabel {POP, DEVICE, INTERFACE} can be specified in the filter.\n<value> := string\n<operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"]\n= : equal to\n!= : not equal to\n=~ : regex match\n!~ : not regex match\n\nOptional: If not specified, metric will be aggregated based on the group_by labels.",
            "title": "Label Filter",
            "x-displayname": "Filter",
            "x-ves-example": "{POP=\\\"POP-1\\\"}",
            "x-f5xc-example": "\"{POP=\\\"pop-1\\\"}\"",
            "x-f5xc-description-short": "Filter is used to specify the list of matchers syntax for filter := {[<matcher>]} <matcher> := <label><operator>\"<value>\" <label> := string One or...",
            "x-f5xc-description-medium": "Filter is used to specify the list of matchers syntax for filter := {[<matcher>]} <matcher> := <label><operator>\"<value>\" <label> := string One or more labels defined in MetricLabel {POP, DEVICE, INTERFACE} can be specified in the filter. <value> := string <operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"] = ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "group_by": {
            "type": "array",
            "description": "Aggregate data by zero or more labels {POP, DEVICE, INTERFACE}",
            "title": "Group by",
            "items": {
              "$ref": "#/components/schemas/infraprotectTransitUsageLabel"
            },
            "x-displayname": "Group By",
            "x-f5xc-description-short": "Aggregate data by zero or more labels {POP, DEVICE, INTERFACE}.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "range": {
            "type": "string",
            "description": "Range decides how far to go back in time to fetch values for each step.\nFor example, if the range is 5m, then for step t1, query will be evaluated for t1-5m and for\nt2, query will be evaluated for t2-5m and so on.\nFormat: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days\n\nNote: For non-timeseries query, i.e., for step=end_time-start_time, range should be set to end_time-start_time\n\nOptional: If not specified, range is set to 5m.",
            "title": "Range",
            "x-displayname": "Range",
            "x-ves-example": "10m",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-example": "10m",
            "x-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-description-short": "Range decides how far to go back in time to fetch values for each step.",
            "x-f5xc-description-medium": "Range decides how far to go back in time to fetch values for each step. For example, if the range is 5m, then for step t1, query will be evaluated for t1-5m and for t2, query will be evaluated for t2-5m and so on. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Start time of metric collection from which data will be considered to build graph.\nFormat: unix_timestamp|RFC 3339\n\nOptional: If not specified, then the start_time will be evaluated to end_time-10m\nIf end_time is not specified, then the start_time will be evaluated to <current time>-10m.",
            "title": "Start time",
            "x-displayname": "Start Time.",
            "x-ves-example": "1570194000.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570194000",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Start time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "Start time of metric collection from which data will be considered to build graph. Format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be evaluated to end_time-10m If end_time is not specified, then the start_time will be evaluated to <current time>-10m.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "step": {
            "type": "string",
            "description": "Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response.\nThe timestamps in the response will be t1=start_time, t2=t1+step, ... Tn=tn-1+step, where tn <= end_time.\nFormat: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days\n\nOptional: If not specified, then step size is evaluated to <end_time - start_time>",
            "title": "Step",
            "x-displayname": "Step",
            "x-ves-example": "5m",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_step": "true"
            },
            "x-f5xc-example": "5m",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_step": "true"
            },
            "x-f5xc-description-short": "Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response.",
            "x-f5xc-description-medium": "Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response. The timestamps in the response will be t1=start_time, t2=t1+step, ... Tn=tn-1+step, where tn <= end_time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectTransitUsageRequest",
          "required_fields": [
            "field_selector"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"field_selector\": [\n    \"IN_THROUGHPUT_BYTES\"\n  ]\n}",
          "example_yaml": "field_selector:\n- IN_THROUGHPUT_BYTES"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectTransitUsageResponse": {
        "type": "object",
        "description": "Transit usage response data.",
        "title": "Transit Usage Response",
        "x-displayname": "Transit Usage Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.TransitUsageResponse",
        "properties": {
          "data": {
            "type": "array",
            "description": "Data contains time-series Transit Usage data.",
            "title": "Data",
            "items": {
              "$ref": "#/components/schemas/infraprotectTransitUsageData"
            },
            "x-displayname": "Data",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data contains time-series Transit Usage data.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "step": {
            "type": "string",
            "description": "Actual step size used in the response. It could be higher than the requested step due to metric rollups and the query duration.\nFormat: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.",
            "title": "step",
            "x-displayname": "Step",
            "x-ves-example": "30m",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-example": "30m",
            "x-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-description-short": "Actual step size used in the response. It could be higher than the requested step due to metric rollups and the query duration.",
            "x-f5xc-description-medium": "Actual step size used in the response. It could be higher than the requested step due to metric rollups and the query duration. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectTransitUsageResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectTransitUsageType": {
        "type": "string",
        "description": "List of Transit Usage metric types\n\nx-unit: \"Bps\"\nx-unit: \"pps\"\nx-unit: \"Bps\"\nx-unit: \"pps\"",
        "title": "Transit Usage Type",
        "enum": [
          "IN_THROUGHPUT_BYTES",
          "IN_THROUGHPUT_PACKETS",
          "OUT_THROUGHPUT_BYTES",
          "OUT_THROUGHPUT_PACKETS"
        ],
        "default": "IN_THROUGHPUT_BYTES",
        "x-displayname": "Transit Usage Type.",
        "x-ves-proto-enum": "ves.io.schema.infraprotect.TransitUsageType",
        "x-f5xc-description-short": "List of Transit Usage metric types x-unit: \"Bps\" x-unit: \"pps\" x-unit: \"Bps\" x-unit: \"pps\".",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectTransitUsageType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"IN_THROUGHPUT_BYTES\"",
          "example_yaml": "IN_THROUGHPUT_BYTES\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotectTransitUsageTypeData": {
        "type": "object",
        "description": "Transit Usage Type Data contains key/value pair that uniquely identifies the group_by labels specified in the request.",
        "title": "Transit Usage Type Data",
        "x-displayname": "Transit Usage Type Data.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.TransitUsageTypeData",
        "properties": {
          "key": {
            "type": "object",
            "description": "Key contains the name/value pair.\n\"name\" is the label name defined in \"TransitUsageLabel\"",
            "title": "Key",
            "x-displayname": "Key",
            "x-f5xc-example": "[REDACTED_PUBLIC_KEY]",
            "x-f5xc-description-short": "Key contains the name/value pair. \"name\" is the label name defined in \"TransitUsageLabel\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 16,
            "minLength": 7,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "value": {
            "type": "array",
            "description": "List of metric values.",
            "title": "Value",
            "items": {
              "$ref": "#/components/schemas/schemaMetricValue"
            },
            "x-displayname": "Value",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 15,
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Transit Usage Type Data contains key/value pair that uniquely identifies the group_by labels specified in the request.",
        "x-f5xc-description-medium": "Transit Usage Type Data contains key/value pair that uniquely identifies the group_by labels specified in the request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotectTransitUsageTypeData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "protobufAny": {
        "type": "object",
        "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\nFoo foo = ...;\nAny any;\nany.packfrom(foo);\n...\nIf (any.unpackto(&foo)) {\n...\n}\n\nExample 2: Pack and unpack a message in Java.\n\nFoo foo = ...;\nAny any = any.pack(foo);\n...\nIf (any.is(foo.class)) {\nfoo = any.unpack(foo.class);\n}\n\nExample 3: Pack and unpack a message in Python.\n\nFoo = Foo(...)\nany = Any()\nany.pack(foo)\n...\nIf any.is(foo.descriptor):\nany.unpack(foo)\n...\n\nExample 4: Pack and unpack a message in Go\n\nfoo := &pb.foo{...}\nany, err := ptypes.marshalany(foo)\n...\nFoo := &pb.foo{}\nif err := ptypes.unmarshalany(any, foo); err != nil {\n...\n}\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.example.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\npackage google.profile;\nmessage Person {\nstring first_name = 1;\nstring last_name = 2;\n}\n\n{\n\"@type\": \"type.googleapis.com/google.profile.person\",\n\"firstName\": <string>,\n\"lastName\": <string>\n}\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.duration][]):\n\n{\n\"@type\": \"type.googleapis.com/google.protobuf.duration\",\n\"value\": \"1.212s\"\n}",
        "properties": {
          "type_url": {
            "type": "string",
            "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `HTTP`, `HTTPS`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `HTTPS` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.type][]\nvalue in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\nURL, or have them precompiled into a binary to avoid any\nlookup. Therefore, binary compatibility needs to be preserved\non changes to types. (Use versioned type names to manage\nbreaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `HTTP`, `HTTPS` (or the empty scheme) might be\nused with implementation specific semantics.",
            "x-f5xc-description-short": "URL identifying the protocol buffer message type.",
            "x-f5xc-description-medium": "URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL's path must represent the fully qualified name of the type (as in ).",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Must be a valid serialized protocol buffer of the above specified type.",
            "format": "byte",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "byte",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.",
        "x-f5xc-description-medium": "Contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for protobufAny",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaEmpty": {
        "type": "object",
        "description": "This can be used for messages where no values are needed.",
        "title": "Empty",
        "x-displayname": "Empty",
        "x-ves-proto-message": "ves.io.schema.Empty",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaEmpty",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaIpAddressType": {
        "type": "object",
        "description": "IP Address used to specify an IPv4 or IPv6 address.",
        "title": "IP Address",
        "x-displayname": "IP Address.",
        "x-ves-displayorder": "3",
        "x-ves-oneof-field-ver": "[\"ipv4\",\"ipv6\"]",
        "x-ves-proto-message": "ves.io.schema.IpAddressType",
        "properties": {
          "ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaIpv4AddressType"
              }
            ],
            "x-f5xc-example": "192.0.2.1",
            "x-f5xc-description-short": "IPv4 address in dotted decimal notation (e.g., 192.0.2.1).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ipv6"
            ]
          },
          "ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaIpv6AddressType"
              }
            ],
            "x-f5xc-example": "2001:db8::1",
            "x-f5xc-description-short": "IPv6 address in colon-separated hexadecimal format.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ipv4"
            ]
          }
        },
        "x-f5xc-description-short": "IP Address used to specify an IPv4 or IPv6 address.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaIpAddressType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaIpv4AddressType": {
        "type": "object",
        "description": "IPv4 Address in dot-decimal notation.",
        "title": "IPv4 Address",
        "x-displayname": "IPv4 Address.",
        "x-ves-proto-message": "ves.io.schema.Ipv4AddressType",
        "properties": {
          "addr": {
            "type": "string",
            "description": "IPv4 Address in string form with dot-decimal notation.",
            "title": "IPv4 Address",
            "x-displayname": "IPv4 Address.",
            "x-ves-example": "192.0.2.198.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-example": "192.0.2.198",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-description-short": "IPv4 Address in string form with dot-decimal notation.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "ipv4",
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaIpv4AddressType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaIpv6AddressType": {
        "type": "object",
        "description": "IPv6 Address specified as hexadecimal numbers separated by ':'",
        "title": "IPv6 Address",
        "x-displayname": "IPv6 Address.",
        "x-ves-proto-message": "ves.io.schema.Ipv6AddressType",
        "properties": {
          "addr": {
            "type": "string",
            "description": "IPv6 Address in form of string. IPv6 address must be specified as hexadecimal numbers separated by ':'\nThe address can be compacted by suppressing zeros\ne.g. '2001:db8:0:0:0:0:2:1' becomes '2001:db8::2:1' or '2001:db8:0:0:0:2:0:0' becomes '2001:db8::2::'",
            "title": "IPv6 Address",
            "x-displayname": "IPv6 Address.",
            "x-ves-example": "2001:db8:0:0:0:0:2:1.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv6": "true"
            },
            "x-f5xc-example": "2001:db8:0:0:0:0:2:1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv6": "true"
            },
            "x-f5xc-description-medium": "IPv6 Address in form of string. IPv6 address must be specified as hexadecimal numbers separated by ':' The address can be compacted by suppressing zeros e.g. '2001:db8:0:0:0:0:2:1' becomes '2001:db8::2:1' or '2001:db8:0:0:0:2:0:0' becomes '2001:db8::2::'.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "ipv6",
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "IPv6 Address specified as hexadecimal numbers separated by ':'.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaIpv6AddressType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaMetricValue": {
        "type": "object",
        "description": "Metric data contains timestamp and the value.",
        "title": "Metric Value",
        "x-displayname": "Metric Value.",
        "x-ves-proto-message": "ves.io.schema.MetricValue",
        "properties": {
          "timestamp": {
            "type": "number",
            "description": "Timestamp",
            "title": "Timestamp",
            "format": "double",
            "x-displayname": "Timestamp",
            "x-ves-example": "1570007981.",
            "x-f5xc-example": "1570007981",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "trend_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTrendValue"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for trend value.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Configuration parameter for value",
            "title": "Value",
            "x-displayname": "Value",
            "x-ves-example": "15",
            "x-f5xc-example": "15",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Metric data contains timestamp and the value.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaMetricValue",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaPrefixListType": {
        "type": "object",
        "description": "List of IP Address prefixes. Prefix must contain both prefix and prefix-length\nThe list can contain mix of both IPv4 and IPv6 prefixes.",
        "title": "IP Prefix List",
        "x-displayname": "IP Prefix List.",
        "x-ves-proto-message": "ves.io.schema.PrefixListType",
        "properties": {
          "prefix": {
            "type": "array",
            "description": "IP Address prefix in string format. String must contain both prefix and prefix-length.",
            "title": "Prefix",
            "maxItems": 256,
            "items": {
              "type": "string"
            },
            "x-displayname": "Prefix",
            "x-ves-example": "[192.0.2.0/24, 192.0.2.0/24]\"",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ipv4_prefix": "true",
              "ves.io.schema.rules.repeated.max_items": "256"
            },
            "x-f5xc-example": "\"[192.0.2.0/24, 192.0.2.0/24]\"\"",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ipv4_prefix": "true",
              "ves.io.schema.rules.repeated.max_items": "256"
            },
            "x-f5xc-description-short": "IP Address prefix in string format. String must contain both prefix and prefix-length.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 256,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "List of IP Address prefixes. Prefix must contain both prefix and prefix-length The list can contain mix of both IPv4 and IPv6 prefixes.",
        "x-f5xc-description-medium": "List of IP Address prefixes. Prefix must contain both prefix and prefix-length The list can contain mix of both IPv4 and IPv6 prefixes.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaPrefixListType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaTrendSentiment": {
        "type": "string",
        "description": "Trend sentiment\n\nIndicates trend sentiment is positive\nIndicates trend sentiment is negative.",
        "title": "Trend Sentiment",
        "enum": [
          "TREND_SENTIMENT_NONE",
          "TREND_SENTIMENT_POSITIVE",
          "TREND_SENTIMENT_NEGATIVE"
        ],
        "default": "TREND_SENTIMENT_NONE",
        "x-displayname": "Trend Sentiment.",
        "x-ves-proto-enum": "ves.io.schema.TrendSentiment",
        "x-f5xc-description-short": "Trend sentiment Indicates trend sentiment is positive Indicates trend sentiment is negative.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTrendSentiment",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TREND_SENTIMENT_NONE\"",
          "example_yaml": "TREND_SENTIMENT_NONE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaTrendValue": {
        "type": "object",
        "description": "Trend value contains trend value, trend sentiment and trend calculation description and window size.",
        "title": "Trend Value",
        "x-displayname": "Trend Value.",
        "x-ves-proto-message": "ves.io.schema.TrendValue",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of the method used to calculate trend.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "Trend was calculated by comparing the avg of window size intervals of end-start Time and last window time interval.",
            "x-f5xc-example": "Trend was calculated by comparing the avg of window size intervals of end-start Time and last window time interval",
            "x-f5xc-description-short": "Description of the method used to calculate trend.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "previous_value": {
            "type": "string",
            "description": "Configuration parameter for previous value",
            "title": "Previous Value",
            "x-displayname": "Previous Value.",
            "x-ves-example": "200.00",
            "x-f5xc-example": "200.00",
            "x-f5xc-description-short": "Configuration parameter for previous value.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sentiment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTrendSentiment"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Configuration parameter for value",
            "title": "Value",
            "x-displayname": "Value",
            "x-ves-example": "-15",
            "x-f5xc-example": "-15",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Trend value contains trend value, trend sentiment and trend calculation description and window size.",
        "x-f5xc-description-medium": "Trend value contains trend value, trend sentiment and trend calculation description and window size.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTrendValue",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaUnitType": {
        "type": "string",
        "description": "UnitType is enumeration of units for scalar fields.",
        "title": "UnitType",
        "enum": [
          "UNIT_MILLISECONDS",
          "UNIT_SECONDS",
          "UNIT_MINUTES",
          "UNIT_HOURS",
          "UNIT_DAYS",
          "UNIT_BYTES",
          "UNIT_KBYTES",
          "UNIT_MBYTES",
          "UNIT_GBYTES",
          "UNIT_TBYTES",
          "UNIT_KIBIBYTES",
          "UNIT_MIBIBYTES",
          "UNIT_GIBIBYTES",
          "UNIT_TEBIBYTES",
          "UNIT_BITS_PER_SECOND",
          "UNIT_BYTES_PER_SECOND",
          "UNIT_KBITS_PER_SECOND",
          "UNIT_KBYTES_PER_SECOND",
          "UNIT_MBITS_PER_SECOND",
          "UNIT_MBYTES_PER_SECOND",
          "UNIT_CONNECTIONS_PER_SECOND",
          "UNIT_ERRORS_PER_SECOND",
          "UNIT_PACKETS_PER_SECOND",
          "UNIT_REQUESTS_PER_SECOND",
          "UNIT_PACKETS",
          "UNIT_PERCENTAGE",
          "UNIT_COUNT"
        ],
        "default": "UNIT_MILLISECONDS",
        "x-displayname": "Unit",
        "x-ves-proto-enum": "ves.io.schema.UnitType",
        "x-f5xc-description-short": "UnitType is enumeration of units for scalar fields.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaUnitType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"UNIT_MILLISECONDS\"",
          "example_yaml": "UNIT_MILLISECONDS\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemainfraprotectSuggestValuesResp": {
        "type": "object",
        "description": "Response body of SuggestValues request.",
        "title": "SuggestValuesResp",
        "x-displayname": "Response for SuggestValues.",
        "x-ves-proto-message": "ves.io.schema.infraprotect.SuggestValuesResp",
        "properties": {
          "items": {
            "type": "array",
            "description": "List of suggested items.",
            "title": "item_lists",
            "items": {
              "$ref": "#/components/schemas/schemainfraprotectSuggestedItem"
            },
            "x-displayname": "Suggested Items.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemainfraprotectSuggestValuesResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemainfraprotectSuggestedItem": {
        "type": "object",
        "description": "A tuple with a suggested value and it's description.",
        "title": "SuggestedItem",
        "x-displayname": "Suggested Item.",
        "x-ves-oneof-field-value_choice": "[\"ref_value\",\"str_value\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect.SuggestedItem",
        "properties": {
          "description": {
            "type": "string",
            "description": "Optional description for the suggested value.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "Optional description for the suggested value.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "ref_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "str_value"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "ref_value",
                "gated_by": {
                  "choice": "value_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "str_value": {
            "type": "string",
            "description": "Exclusive with [ref_value]",
            "title": "str_value",
            "x-displayname": "String",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ref_value"
            ]
          },
          "value": {
            "type": "string",
            "description": "Suggested value for the field.\nShould use value_choice.str_value instead.",
            "title": "value",
            "x-displayname": "Value",
            "x-f5xc-description-short": "Suggested value for the field. Should use value_choice.str_value instead.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Tuple with a suggested value and it's description.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemainfraprotectSuggestedItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaviewsObjectRefType": {
        "type": "object",
        "description": "This type establishes a direct reference from one object(the referrer) to another(the referred).\nSuch a reference is in form of tenant/namespace/name.",
        "title": "ObjectRefType",
        "x-displayname": "Object reference.",
        "x-ves-proto-message": "ves.io.schema.views.ObjectRefType",
        "properties": {
          "name": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen name will hold the referred object's(e.g. Route's) name.",
            "title": "name",
            "minLength": 1,
            "maxLength": 128,
            "x-displayname": "Name",
            "x-ves-example": "Contacts-route.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "128",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "contacts-route",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "128",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 128,
              "byteLength": {
                "max": 128,
                "min": 1
              },
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen namespace will hold the referred object's(e.g. Route's) namespace.",
            "title": "namespace",
            "maxLength": 63,
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "x-f5xc-example": "ns1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "byteLength": {
                "max": 64
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "tenant": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen tenant will hold the referred object's(e.g. Route's) tenant.",
            "title": "tenant",
            "maxLength": 64,
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "x-f5xc-example": "example-corp",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "byteLength": {
                "max": 64
              },
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Type establishes a direct reference from one object(the referrer) to another(the referred).",
        "x-f5xc-description-medium": "Type establishes a direct reference from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaviewsObjectRefType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"contacts-route\"\n}",
          "example_yaml": "name: contacts-route"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotect_asnCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_asn",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asnCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asnGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnCreateSpecType": {
        "type": "object",
        "description": "Creates a DDoS transit ASN.",
        "title": "DDoS transit ASN",
        "x-displayname": "Create DDoS transit ASN.",
        "x-ves-oneof-field-bgp_session": "[\"bgp_session_disabled\",\"bgp_session_enabled\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.CreateSpecType",
        "properties": {
          "asn": {
            "type": "integer",
            "description": "2-byte or 4-byte Autonomous System Number (ASN)",
            "format": "int64",
            "x-displayname": "ASN",
            "x-ves-example": "12345",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "4199999999"
            },
            "x-f5xc-example": "12345",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "4199999999"
            },
            "x-f5xc-description-short": "2-byte or 4-byte Autonomous System Number (ASN).",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 4199999999,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "bgp_session_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bgp_session_enabled"
            ]
          },
          "bgp_session_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bgp_session_disabled"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnCreateSpecType",
          "required_fields": [
            "asn"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"asn\": 1\n}",
          "example_yaml": "asn: 1"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_asn",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_asn",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asnCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asnReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asnGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_asnStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit ASN.",
        "title": "Get DDoS transit ASN",
        "x-displayname": "GET Infraprotect ASN.",
        "x-ves-oneof-field-bgp_session": "[\"bgp_session_disabled\",\"bgp_session_enabled\"]",
        "x-ves-oneof-field-review_type": "[\"review_type_approved\",\"review_type_pending\",\"review_type_rejected\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.GetSpecType",
        "properties": {
          "asn": {
            "type": "integer",
            "description": "2-byte or 4-byte Autonomous System Number (ASN)",
            "format": "int64",
            "x-displayname": "ASN",
            "x-ves-example": "12345",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "4199999999"
            },
            "x-f5xc-example": "12345",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "4199999999"
            },
            "x-f5xc-description-short": "2-byte or 4-byte Autonomous System Number (ASN).",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 4199999999,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "bgp_session_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bgp_session_enabled"
            ]
          },
          "bgp_session_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bgp_session_disabled"
            ]
          },
          "review_type_approved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type approved.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_pending",
              "review_type_rejected"
            ]
          },
          "review_type_pending": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type pending.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_rejected"
            ]
          },
          "review_type_rejected": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type rejected.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_pending"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnGetSpecType",
          "required_fields": [
            "asn"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"asn\": 1\n}",
          "example_yaml": "asn: 1"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_asn",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_asnListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_asn is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_asn",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_asn.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_asn.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_asn.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_asn.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_asn is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_asn is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asnGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_asn.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_asn.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_asn.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_asnStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_asn.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_asn.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_asn is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_asn is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_asn",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asnReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit ASN.",
        "title": "DDoS transit ASN",
        "x-displayname": "Replace DDoS transit ASN.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.ReplaceSpecType",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnUpdateASNReviewStatusRequest": {
        "type": "object",
        "description": "Request to update infraprotect ASN review status.",
        "title": "Update Infraprotect ASN Review Status",
        "x-displayname": "Update Infraprotect ASN Review Status Request.",
        "x-ves-oneof-field-review_type": "[\"review_type_approved\",\"review_type_pending\",\"review_type_rejected\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.UpdateASNReviewStatusRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the infraprotect ASN object to be updated.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "The name of the infraprotect ASN object to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the infraprotect ASN review status is to be updated.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace in which the infraprotect ASN review status is to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "review_type_approved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type approved.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_pending",
              "review_type_rejected"
            ]
          },
          "review_type_pending": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type pending.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_rejected"
            ]
          },
          "review_type_rejected": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type rejected.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_pending"
            ]
          }
        },
        "x-f5xc-description-short": "Request to update infraprotect ASN review status.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnUpdateASNReviewStatusRequest",
          "required_fields": [
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"system\"\n}",
          "example_yaml": "namespace: system"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asnUpdateASNReviewStatusResponse": {
        "type": "object",
        "description": "Response returned from a ASN review status update.",
        "title": "Update ASN Review Status Response",
        "x-displayname": "Update ASN Review Status Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn.UpdateASNReviewStatusResponse",
        "x-f5xc-description-short": "Response returned from a ASN review status update.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asnUpdateASNReviewStatusResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "ioschemaEmpty": {
        "type": "object",
        "description": "This can be used for messages where no values are needed.",
        "title": "Empty",
        "x-displayname": "Empty",
        "x-ves-proto-message": "ves.io.schema.Empty",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaEmpty",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaConditionType": {
        "type": "object",
        "description": "Conditions are used in the object status to describe the current state of the\nobject, e.g. Ready, Succeeded, etc.",
        "title": "ConditionType",
        "x-displayname": "Status Condition.",
        "x-ves-proto-message": "ves.io.schema.ConditionType",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "Hostname of the instance of the site that sent the status.",
            "title": "hostname",
            "x-displayname": "Hostname",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Hostname of the instance of the site that sent the status.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "network",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$",
              "format": "fqdn",
              "validation": {
                "rfc": "RFC 1123"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.95,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "pattern": "^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$",
            "minLength": 1
          },
          "last_update_time": {
            "type": "string",
            "description": "Last time the condition was updated.",
            "title": "last_update_time",
            "format": "date-time",
            "x-displayname": "Last Updated.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "reason": {
            "type": "string",
            "description": "A human readable string explaining the reason for reaching this condition.",
            "title": "reason",
            "x-displayname": "Reason",
            "x-ves-example": "Insufficient memory in data plane.",
            "x-f5xc-example": "Insufficient memory in data plane",
            "x-f5xc-description-short": "Human readable string explaining the reason for reaching this condition.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 27,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "service_name": {
            "type": "string",
            "description": "Name of the service that sent the status.",
            "title": "service name",
            "x-displayname": "Service Name.",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Name of the service that sent the status.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "string",
            "description": "Status of the condition\n\"Success\" Validation has succeeded. Requested operation was successful.\n\"Failed\" Validation has failed.\n\"Incomplete\" Validation of configuration has failed due to missing configuration.\n\"Installed\" Validation has passed and configuration has been installed in data path or K8s\n\"Down\" Configuration is operationally down. E.g. Down interface\n\"Disabled\" Configuration is administratively disabled i.e. objectmetatype.disable = true.\n\"NotApplicable\" Configuration is not applicable e.g. Tenant service_policy_set(s) in system namespace are not applicable on REs.",
            "title": "status",
            "x-displayname": "Status",
            "x-ves-example": "Failed",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Success\\\",\\\"Failed\\\",\\\"Incomplete\\\",\\\"Installed\\\",\\\"Down\\\",\\\"Disabled\\\",\\\"NotApplicable\\\"]"
            },
            "x-f5xc-example": "Failed",
            "x-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Success\\\",\\\"Failed\\\",\\\"Incomplete\\\",\\\"Installed\\\",\\\"Down\\\",\\\"Disabled\\\",\\\"NotApplicable\\\"]"
            },
            "x-f5xc-description-short": "Status of the condition \"Success\" Validation has succeeded.",
            "x-f5xc-description-medium": "Status of the condition \"Success\" Validation has succeeded. Requested operation was successful. \"Failed\" Validation has failed. \"Incomplete\" Validation of configuration has failed due to missing configuration. \"Installed\" Validation has passed and configuration has been installed in data path or...",
            "maxLength": 1024,
            "enum": [
              "Success",
              "Failed",
              "Incomplete",
              "Installed",
              "Down",
              "Disabled",
              "NotApplicable"
            ],
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "type": {
            "type": "string",
            "description": "Type of the condition\n\"Validation\" represents validation user given configuration object\n\"Operational\" represents operational status of a given configuration object.",
            "title": "type",
            "x-displayname": "Type",
            "x-ves-example": "Operational.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Validation\\\",\\\"Operational\\\"]"
            },
            "x-f5xc-example": "Operational",
            "x-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Validation\\\",\\\"Operational\\\"]"
            },
            "x-f5xc-description-short": "Type of the condition \"Validation\" represents validation user given configuration object \"Operational\" represents operational status of a given...",
            "x-f5xc-description-medium": "Type of the condition \"Validation\" represents validation user given configuration object \"Operational\" represents operational status of a given configuration object.",
            "maxLength": 1024,
            "enum": [
              "Validation",
              "Operational"
            ],
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Conditions are used in the object status to describe the current state of the object, e.g.",
        "x-f5xc-description-medium": "Conditions are used in the object status to describe the current state of the object, e.g. Ready, Succeeded, etc.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaConditionType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaErrorCode": {
        "type": "string",
        "description": "Union of all possible error-codes from system\n\n- EOK: No error\n- EPERMS: Permissions error\n- EBADINPUT: Input is not correct\n- ENOTFOUND: Not found\n- EEXISTS: Already exists\n- EUNKNOWN: Unknown/catchall error\n- ESERIALIZE: Error in serializing/de-serializing\n- EINTERNAL: Server error\n- EPARTIAL: Partial error.",
        "title": "ErrorCode",
        "enum": [
          "EOK",
          "EPERMS",
          "EBADINPUT",
          "ENOTFOUND",
          "EEXISTS",
          "EUNKNOWN",
          "ESERIALIZE",
          "EINTERNAL",
          "EPARTIAL"
        ],
        "default": "EOK",
        "x-displayname": "Error Code.",
        "x-ves-proto-enum": "ves.io.schema.ErrorCode",
        "x-f5xc-description-short": "Union of all possible error-codes from system - EOK: No error - EPERMS: Permissions error - EBADINPUT: Input is not correct - ENOTFOUND: Not found...",
        "x-f5xc-description-medium": "Union of all possible error-codes from system - EOK: No error - EPERMS: Permissions error - EBADINPUT: Input is not correct - ENOTFOUND: Not found - EEXISTS: Already exists - EUNKNOWN: Unknown/catchall error - ESERIALIZE: Error in serializing/de-serializing - EINTERNAL: Server error - EPARTIAL...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaErrorCode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"EOK\"",
          "example_yaml": "EOK\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaErrorType__ves_io_schema_ai_assistant": {
        "type": "object",
        "description": "Information about a error in API operation.",
        "title": "ErrorType",
        "x-displayname": "Error Type.",
        "x-ves-proto-message": "ves.io.schema.ErrorType",
        "properties": {
          "code": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaErrorCode"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "error_obj": {
            "allOf": [
              {
                "$ref": "#/components/schemas/protobufAny"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "message": {
            "type": "string",
            "description": "A human readable string of the error.",
            "title": "message",
            "x-displayname": "Message",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Information about a error in API operation.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaErrorType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaInitializerType": {
        "type": "object",
        "description": "Initializer is information about an initializer that has not yet completed.",
        "title": "InitializerType",
        "x-displayname": "Initializer.",
        "x-ves-proto-message": "ves.io.schema.InitializerType",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the service that is responsible for initializing this object.",
            "title": "name",
            "x-displayname": "Name",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Name of the service that is responsible for initializing this object.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "Initializer is information about an initializer that has not yet completed.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaInitializerType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaInitializersType__ves_io_schema_api_sec_api_crawler": {
        "type": "object",
        "description": "Initializers tracks the progress of initialization of a configuration object.",
        "title": "InitializersType",
        "x-displayname": "Initializers.",
        "x-ves-proto-message": "ves.io.schema.InitializersType",
        "properties": {
          "pending": {
            "type": "array",
            "description": "Pending is a list of initializers that must execute in order before this object is initialized.\nWhen the last pending initializer is removed, and no failing result is set, the initializers\nstruct will be set to nil and the object is considered as initialized and visible to all\nclients.",
            "title": "pending",
            "items": {
              "$ref": "#/components/schemas/schemaInitializerType"
            },
            "x-displayname": "Pending",
            "x-f5xc-description-short": "Pending is a list of initializers that must execute in order before this object is initialized.",
            "x-f5xc-description-medium": "Pending is a list of initializers that must execute in order before this object is initialized. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Initializers tracks the progress of initialization of a configuration object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaInitializersType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaObjectCreateMetaType": {
        "type": "object",
        "description": "ObjectCreateMetaType is metadata that can be specified in Create request of an object.",
        "title": "ObjectCreateMetaType",
        "x-displayname": "Create Metadata.",
        "x-ves-proto-message": "ves.io.schema.ObjectCreateMetaType",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.",
            "title": "annotations",
            "x-displayname": "Annotation.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-description-short": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.",
            "x-f5xc-description-medium": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Human readable description for the object.",
            "title": "description",
            "maxLength": 1200,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-description-short": "Human readable description for the object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1200,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1200
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disable": {
            "type": "boolean",
            "description": "A value of true will administratively disable the object.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Value of true will administratively disable the object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the user. Values specified here will be used\nby selector expression.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "This is the name of configuration object. It has to be unique within the namespace.\nIt can only be specified during create API and cannot be changed during replace API.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of configuration object. It has to be unique within the namespace.",
            "x-f5xc-description-medium": "Name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Staging",
            "x-f5xc-example": "staging",
            "x-f5xc-description-short": "Defines the workspace within which each the configuration object is to be created.",
            "x-f5xc-description-medium": "Defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "ObjectCreateMetaType is metadata that can be specified in Create request of an object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectCreateMetaType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "name: example-corp-web"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaObjectGetMetaType": {
        "type": "object",
        "description": "ObjectGetMetaType is metadata that can be specified in GET/Create response of an object.",
        "title": "ObjectGetMetaType",
        "x-displayname": "GET Metadata.",
        "x-ves-proto-message": "ves.io.schema.ObjectGetMetaType",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.",
            "title": "annotations",
            "x-displayname": "Annotation.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-description-short": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.",
            "x-f5xc-description-medium": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Human readable description for the object.",
            "title": "description",
            "maxLength": 1200,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-description-short": "Human readable description for the object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1200,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1200
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disable": {
            "type": "boolean",
            "description": "A value of true will administratively disable the object.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Value of true will administratively disable the object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the user. Values specified here will be used\nby selector expression.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "This is the name of configuration object. It has to be unique within the namespace.\nIt can only be specified during create API and cannot be changed during replace API.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of configuration object. It has to be unique within the namespace.",
            "x-f5xc-description-medium": "Name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Staging",
            "x-f5xc-example": "staging",
            "x-f5xc-description-short": "Defines the workspace within which each the configuration object is to be created.",
            "x-f5xc-description-medium": "Defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "ObjectGetMetaType is metadata that can be specified in GET/Create response of an object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectGetMetaType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "name: example-corp-web"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaObjectRefType": {
        "type": "object",
        "description": "This type establishes a 'direct reference' from one object(the referrer) to another(the referred).\nSuch a reference is in form of tenant/namespace/name for public API and Uid for private API\nThis type of reference is called direct because the relation is explicit and concrete (as opposed\nto selector reference which builds a group based on labels of selectee objects)",
        "title": "ObjectRefType",
        "x-displayname": "Object reference.",
        "x-ves-proto-message": "ves.io.schema.ObjectRefType",
        "properties": {
          "kind": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen kind will hold the referred object's kind (e.g. \"route\")",
            "title": "kind",
            "x-displayname": "Kind",
            "x-ves-example": "Virtual_site.",
            "x-f5xc-example": "virtual_site",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\")",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\").",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen name will hold the referred object's(e.g. Route's) name.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Contactus-route.",
            "x-f5xc-example": "contactus-route",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "namespace": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen namespace will hold the referred object's(e.g. Route's) namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "tenant": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen tenant will hold the referred object's(e.g. Route's) tenant.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen uid will hold the referred object's(e.g. Route's) uid.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g. Route's) uid.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred).",
        "x-f5xc-description-medium": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name for public API and Uid for private API This type of reference is called direct because the relation is explicit and concrete (as opposed to selector...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectRefType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaObjectReplaceMetaType": {
        "type": "object",
        "description": "ObjectReplaceMetaType is metadata that can be specified in Replace request of an object.",
        "title": "ObjectReplaceMetaType",
        "x-displayname": "Replace Metadata.",
        "x-ves-proto-message": "ves.io.schema.ObjectReplaceMetaType",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-description-short": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.",
            "x-f5xc-description-medium": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Human readable description for the object.",
            "title": "description",
            "maxLength": 1200,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-description-short": "Human readable description for the object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1200,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1200
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disable": {
            "type": "boolean",
            "description": "A value of true will administratively disable the object.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Value of true will administratively disable the object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the user. Values specified here will be used\nby selector expression.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "This is the name of configuration object. It has to be unique within the namespace.\nIt can only be specified during create API and cannot be changed during replace API.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of configuration object. It has to be unique within the namespace.",
            "x-f5xc-description-medium": "Name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Staging",
            "x-f5xc-example": "staging",
            "x-f5xc-description-short": "Defines the workspace within which each the configuration object is to be created.",
            "x-f5xc-description-medium": "Defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "ObjectReplaceMetaType is metadata that can be specified in Replace request of an object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectReplaceMetaType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "name: example-corp-web"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaStatusMetaType": {
        "type": "object",
        "description": "StatusMetaType is metadata that all status must have.",
        "title": "StatusMetaType",
        "x-displayname": "Metadata",
        "x-ves-proto-message": "ves.io.schema.StatusMetaType",
        "properties": {
          "creation_timestamp": {
            "type": "string",
            "description": "Creation_timestamp is when the status object was created. It is used to find/tie-break\nfor latest status object from same origin.",
            "title": "creation_timestamp",
            "format": "date-time",
            "x-displayname": "Creation Timestamp.",
            "x-f5xc-description-short": "Creation_timestamp is when the status object was created. It is used to find/tie-break for latest status object from same origin.",
            "x-f5xc-description-medium": "Creation_timestamp is when the status object was created. It is used to find/tie-break for latest status object from same origin.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_class": {
            "type": "string",
            "description": "Class of creator which created this StatusObject. This will be service's DNS FQDN.\nThis will be set by the system based on client certificate information.",
            "title": "creator_class",
            "x-displayname": "Creator Class.",
            "x-ves-example": "ver.re1.int.ves.I/O.",
            "x-f5xc-example": "ver.re1.int.F5 XC",
            "x-f5xc-description-short": "Class of creator which created this StatusObject. This will be service's DNS FQDN.",
            "x-f5xc-description-medium": "Class of creator which created this StatusObject. This will be service's DNS FQDN. This will be set by the system based on client certificate information.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_id": {
            "type": "string",
            "description": "ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g.\nIdentifying the environment also). This will be set by the system based on client certificate\ninformation.",
            "title": "creator_id",
            "x-displayname": "Creator ID.",
            "x-ves-example": "Ver-instance-1.",
            "x-f5xc-example": "ver-instance-1",
            "x-f5xc-description-short": "ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g.",
            "x-f5xc-description-medium": "ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g. Identifying the environment also). This will be set by the system based on client certificate information.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "publish": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusPublishType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status_id": {
            "type": "string",
            "description": "Status_id is a field used by the generator to distinguish (if necessary) between two status\nobjects for the same config object from the same site and same service and potentially same\ndaemon(creator-ID)",
            "title": "status_id",
            "x-displayname": "Status ID",
            "x-f5xc-description-short": "Status_id is a field used by the generator to distinguish (if necessary) between two status objects for the same config object from the same site...",
            "x-f5xc-description-medium": "Status_id is a field used by the generator to distinguish (if necessary) between two status objects for the same config object from the same site and same service and potentially same daemon(creator-ID).",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "uid": {
            "type": "string",
            "description": "Uid is the unique in time and space value for a StatusObject.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "Uid is the unique in time and space value for a StatusObject.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "vtrp_id": {
            "type": "string",
            "description": "Origin of this status exchanged by VTRP.",
            "title": "vtrp_id",
            "x-displayname": "VTRP ID",
            "x-f5xc-description-short": "Origin of this status exchanged by VTRP.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "vtrp_stale": {
            "type": "boolean",
            "description": "Indicate whether mars deems this object to be stale via graceful restart timer information.",
            "title": "vtrp_stale",
            "format": "boolean",
            "x-displayname": "VTRP Stale.",
            "x-f5xc-description-short": "Indicate whether mars deems this object to be stale via graceful restart timer information.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "StatusMetaType is metadata that all status must have.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaStatusMetaType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaStatusPublishType": {
        "type": "string",
        "description": "StatusPublishType is all possible publish operations on a StatusObject\n\n- STATUS_DO_NOT_PUBLISH: Do Not Publish\n\nDo not propagate this status to user. This could be because status is only informational\n- STATUS_PUBLISH: Publish\n\nPropagate this status up to user as it might be actionable.",
        "title": "StatusPublishType",
        "enum": [
          "STATUS_DO_NOT_PUBLISH",
          "STATUS_PUBLISH"
        ],
        "default": "STATUS_DO_NOT_PUBLISH",
        "x-displayname": "Status Publish Type.",
        "x-ves-proto-enum": "ves.io.schema.StatusPublishType",
        "x-f5xc-description-short": "StatusPublishType is all possible publish operations on a StatusObject - STATUS_DO_NOT_PUBLISH: Do Not Publish Do not propagate this status to user.",
        "x-f5xc-description-medium": "StatusPublishType is all possible publish operations on a StatusObject - STATUS_DO_NOT_PUBLISH: Do Not Publish Do not propagate this status to user. This could be because status is only informational - STATUS_PUBLISH: Publish Propagate this status up to user as it might be actionable.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaStatusPublishType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"STATUS_DO_NOT_PUBLISH\"",
          "example_yaml": "STATUS_DO_NOT_PUBLISH\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaStatusType": {
        "type": "object",
        "description": "Status is a return value for calls that don't return other objects.",
        "title": "StatusType",
        "x-displayname": "Status",
        "x-ves-proto-message": "ves.io.schema.StatusType",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Suggested HTTP return code for this status, 0 if not set.",
            "title": "code",
            "format": "int32",
            "x-displayname": "Code",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Suggested HTTP return code for this status, 0 if not set.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "reason": {
            "type": "string",
            "description": "A human-readable description of why this operation is in the\n\"Failure\" status. If this value is empty there\nis no information available.",
            "title": "reason",
            "x-displayname": "Reason",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Human-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available.",
            "x-f5xc-description-medium": "Human-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 27,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "status": {
            "type": "string",
            "description": "Status of the operation.\nOne of: \"Success\" or \"Failure\".",
            "title": "status",
            "x-displayname": "Status",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Status of the operation. One of: \"Success\" or \"Failure\".",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Status is a return value for calls that don't return other objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaStatusType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler": {
        "type": "object",
        "description": "SystemObjectGetMetaType is metadata generated or populated by the system for all persisted objects and\ncannot be updated directly by users.",
        "title": "SystemObjectGetMetaType",
        "x-displayname": "System Metadata.",
        "x-ves-proto-message": "ves.io.schema.SystemObjectGetMetaType",
        "properties": {
          "creation_timestamp": {
            "type": "string",
            "description": "CreationTimestamp is a timestamp representing the server time when this object was\ncreated. It is not guaranteed to be set in happens-before order across separate operations.\nClients may not set this value. It is represented in RFC3339 form and is in UTC.",
            "title": "creation_timestamp",
            "format": "date-time",
            "x-displayname": "Creation Timestamp.",
            "x-f5xc-description-short": "CreationTimestamp is a timestamp representing the server time when this object was created.",
            "x-f5xc-description-medium": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_class": {
            "type": "string",
            "description": "A value identifying the class of the user or service which created this configuration object.",
            "title": "creator_class",
            "x-displayname": "Creator Class.",
            "x-ves-example": "Prism",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Value identifying the class of the user or service which created this configuration object.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_id": {
            "type": "string",
            "description": "A value identifying the exact user or service that created this configuration object.",
            "title": "creator_id",
            "x-displayname": "Creator ID.",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Value identifying the exact user or service that created this configuration object.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "deletion_timestamp": {
            "type": "string",
            "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This\nfield is set by the server when a graceful deletion is requested by the user, and is not\ndirectly settable by a client. The resource is expected to be deleted (no longer visible\nfrom resource lists, and not reachable by name) after the time in this field, once the\nfinalizers list is empty. As long as the finalizers list contains items, deletion is blocked.\nOnce the deletionTimestamp is set, this value may not be unset or be set further into the\nfuture, although it may be shortened or the resource may be deleted prior to this time.\nFor example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react\nby sending a graceful termination signal to the containers in the pod. After that 30 seconds,\nthe Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup,\nremove the pod from the API. In the presence of network partitions, this object may still\nexist after this timestamp, until an administrator or automated process can determine the\nresource is fully terminated.\nIf not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested.\nRead-only.",
            "title": "deletion_timestamp",
            "format": "date-time",
            "x-displayname": "Deletion Timestamp.",
            "x-f5xc-description-short": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted.",
            "x-f5xc-description-medium": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "finalizers": {
            "type": "array",
            "description": "Must be empty before the object is deleted from the registry. Each entry\nis an identifier for the responsible component that will remove the entry\nfrom the list. If the deletionTimestamp of the object is non-nil, entries\nin this list can only be removed.",
            "title": "finalizers",
            "items": {
              "type": "string"
            },
            "x-displayname": "Finalizers.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Must be empty before the object is deleted from the registry.",
            "x-f5xc-description-medium": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "initializers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaInitializersType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for initializers.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the operator or software. Values here can be interpreted\nby software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "'VES.I/O/soft-deleted': 'true'",
            "x-f5xc-example": "'F5 XC/soft-deleted''true'",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "modification_timestamp": {
            "type": "string",
            "description": "ModificationTimestamp is a timestamp representing the server time when this object was\nlast modified.",
            "title": "modification_timestamp",
            "format": "date-time",
            "x-displayname": "Modification Timestamp.",
            "x-f5xc-description-short": "ModificationTimestamp is a timestamp representing the server time when this object was last modified.",
            "x-f5xc-description-medium": "ModificationTimestamp is a timestamp representing the server time when this object was last modified.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "object_index": {
            "type": "integer",
            "description": "Unique index for the object. Some objects need a unique integer index to be allocated\nfor each object type. This field will be populated for all objects that need it and will\nbe zero otherwise.",
            "title": "object_index",
            "format": "int64",
            "x-displayname": "Object Index.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Unique index for the object. Some objects need a unique integer index to be allocated for each object type.",
            "x-f5xc-description-medium": "Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "tenant": {
            "type": "string",
            "description": "Tenant to which this configuration object belongs to. The value for this is found from\npresented credentials.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "x-f5xc-description-short": "Tenant to which this configuration object belongs to. The value for this is found from presented credentials.",
            "x-f5xc-description-medium": "Tenant to which this configuration object belongs to. The value for this is found from presented credentials.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "Uid is the unique in time and space value for this object. It is generated by\nthe server on successful creation of an object and is not allowed to change on Replace\nAPI. The value of is taken from uid field of ObjectMetaType, if provided.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "Uid is the unique in time and space value for this object.",
            "x-f5xc-description-medium": "Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "SystemObjectGetMetaType is metadata generated or populated by the system for all persisted objects and cannot be updated directly by users.",
        "x-f5xc-description-medium": "SystemObjectGetMetaType is metadata generated or populated by the system for all persisted objects and cannot be updated directly by users.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSystemObjectGetMetaType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaViewRefType": {
        "type": "object",
        "description": "ViewRefType represents a reference to a view.",
        "title": "ViewRefType",
        "x-displayname": "View Reference.",
        "x-ves-proto-message": "ves.io.schema.ViewRefType",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Kind of the view object.",
            "title": "kind",
            "x-displayname": "Kind",
            "x-ves-example": "Http_proxy.",
            "x-f5xc-example": "http_proxy",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen name will hold the referred object's(e.g. Route's) name.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Contactus-route.",
            "x-f5xc-example": "contactus-route",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen namespace will hold the referred object's(e.g. Route's) namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "uid": {
            "type": "string",
            "description": "UID of the view object.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d543fad8e1f8.",
            "x-f5xc-example": "00000000-0000-4000-8000-d543fad8e1f8",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "ViewRefType represents a reference to a view.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaViewRefType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotect_asn_prefixCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_asn_prefix",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asn_prefixCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asn_prefixGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixCreateSpecType": {
        "type": "object",
        "description": "Creates a DDoS transit Prefix.",
        "title": "DDoS transit Prefix",
        "x-displayname": "Create DDoS transit Prefix.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.CreateSpecType",
        "properties": {
          "asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "bgp_asn_set",
                "field_path": "asn",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Prefix",
            "x-displayname": "Prefix",
            "x-ves-example": "192.0.2.0/24.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.0/24",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixCreateSpecType",
          "required_fields": [
            "prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix\": \"192.0.2.0/24\"\n}",
          "example_yaml": "prefix: 192.0.2.0/24"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_asn_prefix",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_asn_prefix",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asn_prefixCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asn_prefixReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asn_prefixGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_asn_prefixStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit Prefix.",
        "title": "Get DDoS transit Prefix",
        "x-displayname": "GET Infraprotect ASN Prefix.",
        "x-ves-oneof-field-irr_override": "[]",
        "x-ves-oneof-field-irr_status": "[\"irr_status_missing\",\"irr_status_unverified\",\"irr_status_valid\"]",
        "x-ves-oneof-field-review_type": "[\"review_type_approved\",\"review_type_grace\",\"review_type_pending\",\"review_type_rejected\"]",
        "x-ves-oneof-field-rpki_status": "[\"rpki_status_invalid\",\"rpki_status_unknown\",\"rpki_status_unverified\",\"rpki_status_valid\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.GetSpecType",
        "properties": {
          "asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "bgp_asn_set",
                "field_path": "asn",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "customer_asn": {
            "type": "integer",
            "description": "Customer ASN.",
            "format": "int64",
            "x-displayname": "Customer ASN.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "irr_status_missing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "irr_status_unverified",
              "irr_status_valid"
            ]
          },
          "irr_status_unverified": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "irr_status_missing",
              "irr_status_valid"
            ]
          },
          "irr_status_valid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "irr_status_missing",
              "irr_status_unverified"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Prefix",
            "x-displayname": "Prefix",
            "x-ves-example": "192.0.2.0/24.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.0/24",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "review_type_approved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type approved.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_grace",
              "review_type_pending",
              "review_type_rejected"
            ]
          },
          "review_type_grace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type grace.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_pending",
              "review_type_rejected"
            ]
          },
          "review_type_pending": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type pending.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_grace",
              "review_type_rejected"
            ]
          },
          "review_type_rejected": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type rejected.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_grace",
              "review_type_pending"
            ]
          },
          "rpki_status_invalid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "rpki_status_unknown",
              "rpki_status_unverified",
              "rpki_status_valid"
            ]
          },
          "rpki_status_unknown": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "rpki_status_invalid",
              "rpki_status_unverified",
              "rpki_status_valid"
            ]
          },
          "rpki_status_unverified": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "rpki_status_invalid",
              "rpki_status_unknown",
              "rpki_status_valid"
            ]
          },
          "rpki_status_valid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "rpki_status_invalid",
              "rpki_status_unknown",
              "rpki_status_unverified"
            ]
          },
          "state_change_timestamp": {
            "type": "string",
            "description": "Last State Change.",
            "format": "date-time",
            "x-displayname": "Last State Change.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixGetSpecType",
          "required_fields": [
            "prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix\": \"192.0.2.0/24\"\n}",
          "example_yaml": "prefix: 192.0.2.0/24"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_asn_prefix",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_asn_prefixListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_asn_prefix is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_asn_prefix",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_asn_prefix.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_asn_prefix.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_asn_prefix.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_asn_prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_asn_prefix is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_asn_prefix is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asn_prefixGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_asn_prefix.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_asn_prefix.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_asn_prefix.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this infraprotect_asn_prefix.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_asn_prefixStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_asn_prefix.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_asn_prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_asn_prefix is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_asn_prefix is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_asn_prefix",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_asn_prefixReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Prefix.",
        "title": "DDoS transit Prefix",
        "x-displayname": "Replace DDoS transit Prefix.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.ReplaceSpecType",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixUpdateASNPrefixIRROverrideRequest": {
        "type": "object",
        "description": "Request to update infraprotect ASN irr override status.",
        "title": "Update Infraprotect ASN IRR Override",
        "x-displayname": "Update Infraprotect ASN IRR Override Request.",
        "x-ves-oneof-field-irr_override": "[]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.UpdateASNPrefixIRROverrideRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the infraprotect ASN prefix object to be updated.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "The name of the infraprotect ASN prefix object to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the infraprotect ASN prefix irr override is to be updated.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace in which the infraprotect ASN prefix irr override is to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "Request to update infraprotect ASN irr override status.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixUpdateASNPrefixIRROverrideRequest",
          "required_fields": [
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"system\"\n}",
          "example_yaml": "namespace: system"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixUpdateASNPrefixIRROverrideResponse": {
        "type": "object",
        "description": "Response returned from a ASN prefix irr override update.",
        "title": "Update ASN Prefix IRR Override Response",
        "x-displayname": "Update ASN Prefix IRR Override Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.UpdateASNPrefixIRROverrideResponse",
        "x-f5xc-description-short": "Response returned from a ASN prefix irr override update.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixUpdateASNPrefixIRROverrideResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixUpdateASNPrefixReviewStatusRequest": {
        "type": "object",
        "description": "Request to update infraprotect ASN prefix review status.",
        "title": "Update Infraprotect ASN Prefix Review Status",
        "x-displayname": "Update Infraprotect ASN Prefix Review Status Request.",
        "x-ves-oneof-field-review_type": "[\"review_type_approved\",\"review_type_pending\",\"review_type_rejected\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.UpdateASNPrefixReviewStatusRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the infraprotect ASN prefix object to be updated.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "The name of the infraprotect ASN prefix object to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the infraprotect ASN prefix review status is to be updated.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace in which the infraprotect ASN prefix review status is to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "review_type_approved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type approved.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_pending",
              "review_type_rejected"
            ]
          },
          "review_type_pending": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type pending.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_rejected"
            ]
          },
          "review_type_rejected": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for review type rejected.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "review_type_approved",
              "review_type_pending"
            ]
          }
        },
        "x-f5xc-description-short": "Request to update infraprotect ASN prefix review status.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixUpdateASNPrefixReviewStatusRequest",
          "required_fields": [
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"system\"\n}",
          "example_yaml": "namespace: system"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_asn_prefixUpdateASNPrefixReviewStatusResponse": {
        "type": "object",
        "description": "Response returned from a ASN prefix review status update.",
        "title": "Update ASN Prefix Review Status Response",
        "x-displayname": "Update ASN Prefix Review Status Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_asn_prefix.UpdateASNPrefixReviewStatusResponse",
        "x-f5xc-description-short": "Response returned from a ASN prefix review status update.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_asn_prefixUpdateASNPrefixReviewStatusResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "ioschemaObjectRefType": {
        "type": "object",
        "description": "This type establishes a 'direct reference' from one object(the referrer) to another(the referred).\nSuch a reference is in form of tenant/namespace/name for public API and Uid for private API\nThis type of reference is called direct because the relation is explicit and concrete (as opposed\nto selector reference which builds a group based on labels of selectee objects)",
        "title": "ObjectRefType",
        "x-displayname": "Object reference.",
        "x-ves-proto-message": "ves.io.schema.ObjectRefType",
        "properties": {
          "kind": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen kind will hold the referred object's kind (e.g. \"route\")",
            "title": "kind",
            "x-displayname": "Kind",
            "x-ves-example": "Virtual_site.",
            "x-f5xc-example": "virtual_site",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\")",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\").",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen name will hold the referred object's(e.g. Route's) name.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Contactus-route.",
            "x-f5xc-example": "contactus-route",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "namespace": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen namespace will hold the referred object's(e.g. Route's) namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "tenant": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen tenant will hold the referred object's(e.g. Route's) tenant.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen uid will hold the referred object's(e.g. Route's) uid.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g. Route's) uid.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred).",
        "x-f5xc-description-medium": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name for public API and Uid for private API This type of reference is called direct because the relation is explicit and concrete (as opposed to selector...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaObjectRefType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotect_deny_list_ruleCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_deny_list_rule",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleCreateSpecType": {
        "type": "object",
        "description": "Creates a DDoS transit Deny List Rule.",
        "title": "DDoS transit Deny List Rule",
        "x-displayname": "Create DDoS transit Deny List Rule.",
        "x-ves-oneof-field-expiration": "[\"expiration_never\",\"expiration_timestamp\",\"one_day\",\"one_hour\",\"one_month\",\"one_year\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.CreateSpecType",
        "properties": {
          "expiration_never": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expiration never.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_timestamp",
              "one_day",
              "one_hour",
              "one_month",
              "one_year"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Exclusive with [expiration_never one_day one_hour one_month one_year]\nThis deny list rule will expire at the given timestamp and will be removed from the system afterwards.",
            "format": "date-time",
            "x-displayname": "Expiration Time (UTC)",
            "x-f5xc-description-short": "Exclusive with [expiration_never one_day one_hour one_month one_year] This deny list rule will expire at the given timestamp and will be removed...",
            "x-f5xc-description-medium": "Exclusive with [expiration_never one_day one_hour one_month one_year] This deny list rule will expire at the given timestamp and will be removed from the system afterwards.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "one_day",
              "one_hour",
              "one_month",
              "one_year"
            ]
          },
          "one_day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_hour",
              "one_month",
              "one_year"
            ]
          },
          "one_hour": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_day",
              "one_month",
              "one_year"
            ]
          },
          "one_month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_day",
              "one_hour",
              "one_year"
            ]
          },
          "one_year": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_day",
              "one_hour",
              "one_month"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Prefix",
            "x-displayname": "Prefix",
            "x-ves-example": "192.0.2.161/24 or 192.0.2.145/32.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.161/24 or 192.0.2.145/32",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleCreateSpecType",
          "required_fields": [
            "prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix\": \"192.0.2.161/24 or 192.0.2.145/32\"\n}",
          "example_yaml": "prefix: 192.0.2.161/24 or 192.0.2.145/32"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_deny_list_rule",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_deny_list_rule",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_deny_list_ruleStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit Deny List Rule.",
        "title": "Get DDoS transit Deny List Rule",
        "x-displayname": "GET Infraprotect Deny List Rule.",
        "x-ves-oneof-field-expiration": "[\"expiration_never\",\"expiration_timestamp\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.GetSpecType",
        "properties": {
          "expiration_never": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expiration never.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_timestamp"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Exclusive with [expiration_never]\nThis deny list rule will expire at the given timestamp and will be removed from the system afterwards.",
            "format": "date-time",
            "x-displayname": "Expiration Time (UTC)",
            "x-f5xc-description-short": "Exclusive with [expiration_never] This deny list rule will expire at the given timestamp and will be removed from the system afterwards.",
            "x-f5xc-description-medium": "Exclusive with [expiration_never] This deny list rule will expire at the given timestamp and will be removed from the system afterwards.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Prefix",
            "x-displayname": "Prefix",
            "x-ves-example": "192.0.2.161/24 or 192.0.2.145/32.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.161/24 or 192.0.2.145/32",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleGetSpecType",
          "required_fields": [
            "prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix\": \"192.0.2.161/24 or 192.0.2.145/32\"\n}",
          "example_yaml": "prefix: 192.0.2.161/24 or 192.0.2.145/32"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_deny_list_rule",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_deny_list_ruleListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_deny_list_rule is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_deny_list_rule",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_deny_list_rule.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_deny_list_rule.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_deny_list_rule.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_deny_list_rule.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_deny_list_rule is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_deny_list_rule is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_deny_list_rule.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_deny_list_rule.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_deny_list_rule.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this infraprotect_deny_list_rule.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_deny_list_ruleStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_deny_list_rule.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_deny_list_rule.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_deny_list_rule is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_deny_list_rule is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_deny_list_rule",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_deny_list_ruleReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Deny List Rule.",
        "title": "DDoS transit Deny List Rule",
        "x-displayname": "Replace DDoS transit Deny List Rule.",
        "x-ves-oneof-field-expiration": "[\"expiration_never\",\"expiration_timestamp\",\"one_day\",\"one_hour\",\"one_month\",\"one_year\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.ReplaceSpecType",
        "properties": {
          "expiration_never": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expiration never.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_timestamp",
              "one_day",
              "one_hour",
              "one_month",
              "one_year"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Exclusive with [expiration_never one_day one_hour one_month one_year]\nThis deny list rule will expire at the given timestamp and will be removed from the system afterwards.",
            "format": "date-time",
            "x-displayname": "Expiration Time (UTC)",
            "x-f5xc-description-short": "Exclusive with [expiration_never one_day one_hour one_month one_year] This deny list rule will expire at the given timestamp and will be removed...",
            "x-f5xc-description-medium": "Exclusive with [expiration_never one_day one_hour one_month one_year] This deny list rule will expire at the given timestamp and will be removed from the system afterwards.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "one_day",
              "one_hour",
              "one_month",
              "one_year"
            ]
          },
          "one_day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_hour",
              "one_month",
              "one_year"
            ]
          },
          "one_hour": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_day",
              "one_month",
              "one_year"
            ]
          },
          "one_month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_day",
              "one_hour",
              "one_year"
            ]
          },
          "one_year": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never",
              "expiration_timestamp",
              "one_day",
              "one_hour",
              "one_month"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Prefix",
            "x-displayname": "Prefix",
            "x-ves-example": "192.0.2.161/24 or 192.0.2.145/32.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.161/24 or 192.0.2.145/32",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleReplaceSpecType",
          "required_fields": [
            "prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix\": \"192.0.2.161/24 or 192.0.2.145/32\"\n}",
          "example_yaml": "prefix: 192.0.2.161/24 or 192.0.2.145/32"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_deny_list_ruleStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_deny_list_rule.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_deny_list_ruleStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_firewall_rule",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleCreateSpecType": {
        "type": "object",
        "description": "Creates a DDoS transit Firewall Rule.",
        "title": "DDoS transit Firewall Rule",
        "x-displayname": "Create DDoS transit Firewall Rule.",
        "x-ves-oneof-field-action": "[\"action_allow\",\"action_deny\"]",
        "x-ves-oneof-field-destination_prefix": "[\"destination_prefix_all\",\"destination_prefix_single\"]",
        "x-ves-oneof-field-fragments": "[\"fragments_allow\",\"fragments_deny\"]",
        "x-ves-oneof-field-protocol": "[\"protocol_ah\",\"protocol_all\",\"protocol_esp\",\"protocol_gre\",\"protocol_icmp\",\"protocol_icmp6\",\"protocol_ipv6\",\"protocol_tcp\",\"protocol_udp\"]",
        "x-ves-oneof-field-source_prefix": "[\"source_prefix_all\",\"source_prefix_single\"]",
        "x-ves-oneof-field-state": "[\"state_off\",\"state_on\"]",
        "x-ves-oneof-field-version": "[\"version_ipv4\",\"version_ipv6\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.CreateSpecType",
        "properties": {
          "action_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_deny"
            ]
          },
          "action_deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_allow"
            ]
          },
          "destination_prefix_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for destination prefix all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_prefix_single"
            ]
          },
          "destination_prefix_single": {
            "type": "string",
            "description": "Exclusive with [destination_prefix_all]\nPrefix.",
            "x-displayname": "Prefix",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Exclusive with [destination_prefix_all] Prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_prefix_all"
            ]
          },
          "fragments_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fragments allow.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragments_deny"
            ]
          },
          "fragments_deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fragments deny.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragments_allow"
            ]
          },
          "protocol_ah": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol ah.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_esp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol esp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_gre": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol gre.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_icmp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleICMPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol icmp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_icmp6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleICMP6Protocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol icmp6.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_tcp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleTCPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol tcp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_udp"
            ]
          },
          "protocol_udp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleUDPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol udp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp"
            ]
          },
          "source_prefix_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for source prefix all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_prefix_single"
            ]
          },
          "source_prefix_single": {
            "type": "string",
            "description": "Exclusive with [source_prefix_all]\nPrefix.",
            "x-displayname": "Prefix",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Exclusive with [source_prefix_all] Prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_prefix_all"
            ]
          },
          "state_off": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "state_on"
            ]
          },
          "state_on": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "state_off"
            ]
          },
          "version_ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv6"
            ]
          },
          "version_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv4"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_firewall_rule",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_firewall_rule",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_ruleStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit Firewall Rule.",
        "title": "Get DDoS transit Firewall Rule",
        "x-displayname": "GET Infraprotect Firewall Rule.",
        "x-ves-oneof-field-action": "[\"action_allow\",\"action_deny\"]",
        "x-ves-oneof-field-destination_prefix": "[\"destination_prefix_all\",\"destination_prefix_single\"]",
        "x-ves-oneof-field-fragments": "[\"fragments_allow\",\"fragments_deny\"]",
        "x-ves-oneof-field-protocol": "[\"protocol_ah\",\"protocol_all\",\"protocol_esp\",\"protocol_gre\",\"protocol_icmp\",\"protocol_icmp6\",\"protocol_ipv6\",\"protocol_tcp\",\"protocol_udp\"]",
        "x-ves-oneof-field-source_prefix": "[\"source_prefix_all\",\"source_prefix_single\"]",
        "x-ves-oneof-field-state": "[\"state_off\",\"state_on\"]",
        "x-ves-oneof-field-version": "[\"version_ipv4\",\"version_ipv6\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.GetSpecType",
        "properties": {
          "action_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_deny"
            ]
          },
          "action_deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_allow"
            ]
          },
          "destination_prefix_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for destination prefix all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_prefix_single"
            ]
          },
          "destination_prefix_single": {
            "type": "string",
            "description": "Exclusive with [destination_prefix_all]\nPrefix.",
            "x-displayname": "Prefix",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Exclusive with [destination_prefix_all] Prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_prefix_all"
            ]
          },
          "fragments_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fragments allow.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragments_deny"
            ]
          },
          "fragments_deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fragments deny.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragments_allow"
            ]
          },
          "protocol_ah": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol ah.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_esp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol esp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_gre": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol gre.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_icmp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleICMPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol icmp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_icmp6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleICMP6Protocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol icmp6.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_tcp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleTCPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol tcp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_udp"
            ]
          },
          "protocol_udp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleUDPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol udp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp"
            ]
          },
          "source_prefix_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for source prefix all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_prefix_single"
            ]
          },
          "source_prefix_single": {
            "type": "string",
            "description": "Exclusive with [source_prefix_all]\nPrefix.",
            "x-displayname": "Prefix",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Exclusive with [source_prefix_all] Prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_prefix_all"
            ]
          },
          "state_off": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "state_on"
            ]
          },
          "state_on": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "state_off"
            ]
          },
          "version_ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv6"
            ]
          },
          "version_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv4"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleICMP6Protocol": {
        "type": "object",
        "description": "ICMP6 Protocol.",
        "title": "ICMP6 Protocol",
        "x-displayname": "ICMP6 Protocol.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.ICMP6Protocol",
        "properties": {
          "destination_unreachable": {
            "type": "boolean",
            "description": "Destination-Unreachable.",
            "title": "Destination-Unreachable",
            "format": "boolean",
            "x-displayname": "Destination-Unreachable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "echo_reply": {
            "type": "boolean",
            "description": "Echo-Reply.",
            "title": "Echo-Reply",
            "format": "boolean",
            "x-displayname": "Echo-Reply.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "echo_request": {
            "type": "boolean",
            "description": "Echo-Request.",
            "title": "Echo-Request",
            "format": "boolean",
            "x-displayname": "Echo-Request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "neighbor_advertisement": {
            "type": "boolean",
            "description": "Neighbor-Advertisement.",
            "title": "Neighbor-Advertisement",
            "format": "boolean",
            "x-displayname": "Neighbor-Advertisement.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "neighbor_solicit": {
            "type": "boolean",
            "description": "Neighbor-Solicit.",
            "title": "Neighbor-Solicit",
            "format": "boolean",
            "x-displayname": "Neighbor-Solicit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "packet_too_big": {
            "type": "boolean",
            "description": "Packet-Too-Big.",
            "title": "Packet-Too-Big",
            "format": "boolean",
            "x-displayname": "Packet-Too-Big.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "parameter_problem": {
            "type": "boolean",
            "description": "Parameter-Problem.",
            "title": "Parameter-Problem",
            "format": "boolean",
            "x-displayname": "Parameter-Problem.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "redirect": {
            "type": "boolean",
            "description": "Redirect",
            "title": "Redirect",
            "format": "boolean",
            "x-displayname": "Redirect",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "router_advertisement": {
            "type": "boolean",
            "description": "Router-Advertisement.",
            "title": "Router-Advertisement",
            "format": "boolean",
            "x-displayname": "Router-Advertisement.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "router_solicit": {
            "type": "boolean",
            "description": "Router-Solicit.",
            "title": "Router-Solicit",
            "format": "boolean",
            "x-displayname": "Router-Solicit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "time_exceeded": {
            "type": "boolean",
            "description": "Time-Exceeded.",
            "title": "Time-Exceeded",
            "format": "boolean",
            "x-displayname": "Time-Exceeded.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleICMP6Protocol",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleICMPProtocol": {
        "type": "object",
        "description": "ICMP Protocol.",
        "title": "ICMP Protocol",
        "x-displayname": "ICMP Protocol.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.ICMPProtocol",
        "properties": {
          "echo_reply": {
            "type": "boolean",
            "description": "Echo-Reply.",
            "title": "Echo-Reply",
            "format": "boolean",
            "x-displayname": "Echo-Reply.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "echo_request": {
            "type": "boolean",
            "description": "Echo-Request.",
            "title": "Echo-Request",
            "format": "boolean",
            "x-displayname": "Echo-Request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "parameter_problem": {
            "type": "boolean",
            "description": "Parameter-Problem.",
            "title": "Parameter-Problem",
            "format": "boolean",
            "x-displayname": "Parameter-Problem.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "redirect": {
            "type": "boolean",
            "description": "Redirect",
            "title": "Redirect",
            "format": "boolean",
            "x-displayname": "Redirect",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "source_quench": {
            "type": "boolean",
            "description": "Source-Quench.",
            "title": "Source-Quench",
            "format": "boolean",
            "x-displayname": "Source-Quench.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "time_exceeded": {
            "type": "boolean",
            "description": "Time-Exceeded.",
            "title": "Time-Exceeded",
            "format": "boolean",
            "x-displayname": "Time-Exceeded.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "unreachable": {
            "type": "boolean",
            "description": "Unreachable.",
            "title": "Unreachable",
            "format": "boolean",
            "x-displayname": "Unreachable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleICMPProtocol",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_firewall_rule",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_ruleListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_firewall_rule is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_firewall_rule",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_firewall_rule.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_firewall_rule.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_firewall_rule.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_firewall_rule.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_firewall_rule is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_firewall_rule is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_firewall_rule.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_firewall_rule.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_firewall_rule.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this infraprotect_firewall_rule.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_ruleStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_firewall_rule.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_firewall_rule.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_firewall_rule is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_firewall_rule is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_firewall_rule",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Firewall Rule.",
        "title": "DDoS transit Firewall Rule",
        "x-displayname": "Replace DDoS transit Firewall Rule.",
        "x-ves-oneof-field-action": "[\"action_allow\",\"action_deny\"]",
        "x-ves-oneof-field-destination_prefix": "[\"destination_prefix_all\",\"destination_prefix_single\"]",
        "x-ves-oneof-field-fragments": "[\"fragments_allow\",\"fragments_deny\"]",
        "x-ves-oneof-field-protocol": "[\"protocol_ah\",\"protocol_all\",\"protocol_esp\",\"protocol_gre\",\"protocol_icmp\",\"protocol_icmp6\",\"protocol_ipv6\",\"protocol_tcp\",\"protocol_udp\"]",
        "x-ves-oneof-field-source_prefix": "[\"source_prefix_all\",\"source_prefix_single\"]",
        "x-ves-oneof-field-state": "[\"state_off\",\"state_on\"]",
        "x-ves-oneof-field-version": "[\"version_ipv4\",\"version_ipv6\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.ReplaceSpecType",
        "properties": {
          "action_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_deny"
            ]
          },
          "action_deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_allow"
            ]
          },
          "destination_prefix_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for destination prefix all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_prefix_single"
            ]
          },
          "destination_prefix_single": {
            "type": "string",
            "description": "Exclusive with [destination_prefix_all]\nPrefix.",
            "x-displayname": "Prefix",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Exclusive with [destination_prefix_all] Prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_prefix_all"
            ]
          },
          "fragments_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fragments allow.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragments_deny"
            ]
          },
          "fragments_deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fragments deny.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragments_allow"
            ]
          },
          "protocol_ah": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol ah.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_esp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol esp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_gre": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol gre.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_icmp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleICMPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol icmp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_icmp6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleICMP6Protocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol icmp6.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_ipv6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_tcp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleTCPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol tcp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_udp"
            ]
          },
          "protocol_udp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_ruleUDPProtocol"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol udp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_ah",
              "protocol_all",
              "protocol_esp",
              "protocol_gre",
              "protocol_icmp",
              "protocol_icmp6",
              "protocol_ipv6",
              "protocol_tcp"
            ]
          },
          "source_prefix_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for source prefix all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_prefix_single"
            ]
          },
          "source_prefix_single": {
            "type": "string",
            "description": "Exclusive with [source_prefix_all]\nPrefix.",
            "x-displayname": "Prefix",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Exclusive with [source_prefix_all] Prefix.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_prefix_all"
            ]
          },
          "state_off": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "state_on"
            ]
          },
          "state_on": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "state_off"
            ]
          },
          "version_ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv6"
            ]
          },
          "version_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv4"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleTCPProtocol": {
        "type": "object",
        "description": "TCP Protocol.",
        "title": "TCP Protocol",
        "x-displayname": "TCP Protocol.",
        "x-ves-oneof-field-destination_port": "[\"destination_port_all\",\"destination_port_range\"]",
        "x-ves-oneof-field-source_port": "[\"source_port_all\",\"source_port_range\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.TCPProtocol",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.",
            "title": "Description",
            "x-displayname": "Description.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "destination_port_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_port_range"
            ]
          },
          "destination_port_range": {
            "type": "string",
            "description": "Exclusive with [destination_port_all]\nPort Range.",
            "title": "Port Range",
            "x-displayname": "Port Range.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Exclusive with [destination_port_all] Port Range.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_port_all"
            ]
          },
          "source_port_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_port_range"
            ]
          },
          "source_port_range": {
            "type": "string",
            "description": "Exclusive with [source_port_all]\nPort Range.",
            "title": "Port Range",
            "x-displayname": "Port Range.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Exclusive with [source_port_all] Port Range.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_port_all"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleTCPProtocol",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_ruleUDPProtocol": {
        "type": "object",
        "description": "UDP Protocol.",
        "title": "UDP Protocol",
        "x-displayname": "UDP Protocol.",
        "x-ves-oneof-field-destination_port": "[\"destination_port_all\",\"destination_port_range\"]",
        "x-ves-oneof-field-source_port": "[\"source_port_all\",\"source_port_range\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule.UDPProtocol",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.",
            "title": "Description",
            "x-displayname": "Description.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "destination_port_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_port_range"
            ]
          },
          "destination_port_range": {
            "type": "string",
            "description": "Exclusive with [destination_port_all]\nPort Range.",
            "title": "Port Range",
            "x-displayname": "Port Range.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Exclusive with [destination_port_all] Port Range.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "destination_port_all"
            ]
          },
          "source_port_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_port_range"
            ]
          },
          "source_port_range": {
            "type": "string",
            "description": "Exclusive with [source_port_all]\nPort Range.",
            "title": "Port Range",
            "x-displayname": "Port Range.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Exclusive with [source_port_all] Port Range.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "source_port_all"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_ruleUDPProtocol",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_firewall_rule_group",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupCreateSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Firewall Rule Group.",
        "title": "DDoS transit Firewall Rule Group",
        "x-displayname": "Replace DDoS transit Firewall Rule Group.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.CreateSpecType",
        "properties": {
          "firewall_rule_group_name": {
            "type": "string",
            "description": "Firewall Rule Group Name.",
            "x-displayname": "Firewall Rule Group Name.",
            "x-ves-example": "Group Name.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "Group Name",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Amends a DDoS transit Firewall Rule Group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupCreateSpecType",
          "required_fields": [
            "firewall_rule_group_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"firewall_rule_group_name\": \"Group Name\"\n}",
          "example_yaml": "firewall_rule_group_name: Group Name"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_firewall_rule_group",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_firewall_rule_group",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_rule_groupStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit Firewall Rule Group.",
        "title": "Get DDoS transit Firewall Rule Group",
        "x-displayname": "GET Infraprotect Firewall Rule Group.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.GetSpecType",
        "properties": {
          "firewall_rule_group_name": {
            "type": "string",
            "description": "Firewall Rule Group Name.",
            "x-displayname": "Firewall Rule Group Name.",
            "x-ves-example": "Group Name.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "Group Name",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "firewall_ruleset": {
            "type": "array",
            "description": "Firewall Rulesets.",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Firewall Rulesets.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupGetSpecType",
          "required_fields": [
            "firewall_rule_group_name",
            "firewall_ruleset"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"firewall_rule_group_name\": \"Group Name\",\n  \"firewall_ruleset\": [\n    {}\n  ]\n}",
          "example_yaml": "firewall_rule_group_name: Group Name\nfirewall_ruleset:\n- {}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_firewall_rule_group",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_rule_groupListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_firewall_rule_group is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_firewall_rule_group",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_firewall_rule_group.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_firewall_rule_group.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_firewall_rule_group.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_firewall_rule_group.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_firewall_rule_group is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_firewall_rule_group is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_firewall_rule_group.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_firewall_rule_group.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_firewall_rule_group.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this infraprotect_firewall_rule_group.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_rule_groupStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_firewall_rule_group.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_firewall_rule_group.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_firewall_rule_group is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_firewall_rule_group is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_firewall_rule_group",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rule_groupReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Firewall Rule Group.",
        "title": "DDoS transit Firewall Rule Group",
        "x-displayname": "Replace DDoS transit Firewall Rule Group.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.ReplaceSpecType",
        "properties": {
          "firewall_rule_group_name": {
            "type": "string",
            "description": "Firewall Rule Group Name.",
            "x-displayname": "Firewall Rule Group Name.",
            "x-ves-example": "Group Name.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "Group Name",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Amends a DDoS transit Firewall Rule Group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupReplaceSpecType",
          "required_fields": [
            "firewall_rule_group_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"firewall_rule_group_name\": \"Group Name\"\n}",
          "example_yaml": "firewall_rule_group_name: Group Name"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rule_groupStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_rule_group.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rule_groupStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_firewall_ruleset",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.GetResponse",
        "properties": {
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rulesetReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rulesetGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_rulesetStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit Firewall Ruleset.",
        "title": "Get DDoS transit Firewall Ruleset",
        "x-displayname": "GET Infraprotect Firewall Ruleset.",
        "x-ves-oneof-field-version": "[\"version_ipv4\",\"version_ipv6\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.GetSpecType",
        "properties": {
          "firewall_rule": {
            "type": "array",
            "description": "Firewall Rules.",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Firewall Rules.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "version_ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv6"
            ]
          },
          "version_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "version_ipv4"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetGetSpecType",
          "required_fields": [
            "firewall_rule"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"firewall_rule\": [\n    {}\n  ]\n}",
          "example_yaml": "firewall_rule:\n- {}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_firewall_ruleset",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_rulesetListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_firewall_ruleset is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_firewall_ruleset",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_firewall_ruleset.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_firewall_ruleset.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_firewall_ruleset.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_firewall_ruleset.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_firewall_ruleset is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_firewall_ruleset is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rulesetGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_firewall_ruleset.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_firewall_ruleset.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_firewall_ruleset.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this infraprotect_firewall_ruleset.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_firewall_rulesetStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_firewall_ruleset.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_firewall_ruleset.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_firewall_ruleset is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_firewall_ruleset is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_firewall_ruleset",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_firewall_rulesetReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Firewall Ruleset.",
        "title": "DDoS transit Firewall Ruleset",
        "x-displayname": "Replace DDoS transit Firewall Ruleset.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.ReplaceSpecType",
        "properties": {
          "firewall_rule": {
            "type": "array",
            "description": "Firewall Rules.",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Firewall Rules.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetReplaceSpecType",
          "required_fields": [
            "firewall_rule"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"firewall_rule\": [\n    {}\n  ]\n}",
          "example_yaml": "firewall_rule:\n- {}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_firewall_rulesetStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_firewall_ruleset.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_firewall_rulesetStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_informationGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_information",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_information.GetResponse",
        "properties": {
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_informationGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_informationStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_informationGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotect_informationGetSpecType": {
        "type": "object",
        "description": "GET organisation information.",
        "title": "Get InfraProtect Information",
        "x-displayname": "GET Infraprotect Information.",
        "x-ves-oneof-field-as_path_choice": "[\"as_path_choice_full\",\"as_path_choice_none\",\"as_path_choice_origin\"]",
        "x-ves-oneof-field-default_tunnel_bgp_secret_choice": "[\"default_tunnel_bgp_secret\",\"default_tunnel_bgp_secret_none\"]",
        "x-ves-oneof-field-proxy_network_export_choice": "[\"proxy_network_export_disabled\",\"proxy_network_export_enabled\"]",
        "x-ves-oneof-field-route_advertisement_management_choice": "[\"route_advertisement_mgmt_not_specified\",\"route_advertisement_mgmt_not_using_f5xc\",\"route_advertisement_mgmt_using_f5xc\"]",
        "x-ves-oneof-field-routed_network_export_choice": "[\"routed_network_export_disabled\",\"routed_network_export_enabled\"]",
        "x-ves-oneof-field-tunnel_f5_ip_usage_choice": "[\"reuse_ips\",\"use_dedicated_ips\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_information.GetSpecType",
        "properties": {
          "arbor_cid": {
            "type": "string",
            "description": "L3/L4 provider customer ID.",
            "x-displayname": "L3/L4 CID",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "as_path_choice_full": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "as_path_choice_none",
              "as_path_choice_origin"
            ]
          },
          "as_path_choice_none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "as_path_choice_full",
              "as_path_choice_origin"
            ]
          },
          "as_path_choice_origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "as_path_choice_full",
              "as_path_choice_none"
            ]
          },
          "asn": {
            "type": "integer",
            "description": "AS Number",
            "format": "int32",
            "x-displayname": "ASN",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_tunnel_bgp_secret": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_tunnel_bgp_secret_none"
            ]
          },
          "default_tunnel_bgp_secret_none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_tunnel_bgp_secret"
            ]
          },
          "policer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_informationPolicer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "prefixes": {
            "type": "array",
            "description": "List of tenant 'super' prefixes noted in CIDR.",
            "items": {
              "type": "string"
            },
            "x-displayname": "Super prefixes.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "List of tenant 'super' prefixes noted in CIDR.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "primary_network_name": {
            "type": "string",
            "description": "Name of the default customer network.",
            "x-displayname": "Primary network name.",
            "x-ves-example": "Defensenet_local.",
            "x-f5xc-example": "defensenet_local",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "proxy_network_export_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "proxy_network_export_enabled"
            ]
          },
          "proxy_network_export_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "proxy_network_export_disabled"
            ]
          },
          "reuse_ips": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "use_dedicated_ips"
            ]
          },
          "route_advertisement_mgmt_not_specified": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "route_advertisement_mgmt_not_using_f5xc",
              "route_advertisement_mgmt_using_f5xc"
            ]
          },
          "route_advertisement_mgmt_not_using_f5xc": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for route advertisement mgmt not using f5xc.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "route_advertisement_mgmt_not_specified",
              "route_advertisement_mgmt_using_f5xc"
            ]
          },
          "route_advertisement_mgmt_using_f5xc": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for route advertisement mgmt using f5xc.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "route_advertisement_mgmt_not_specified",
              "route_advertisement_mgmt_not_using_f5xc"
            ]
          },
          "routed_network_export_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "routed_network_export_enabled"
            ]
          },
          "routed_network_export_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "routed_network_export_disabled"
            ]
          },
          "use_dedicated_ips": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "reuse_ips"
            ]
          },
          "uuid": {
            "type": "string",
            "description": "Organisation UUID.",
            "x-displayname": "UUID",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "format": "uuid",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identifier",
              "maxLength": 1024,
              "format": "uuid",
              "minLength": 36,
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
              "formatDescription": "RFC 4122 UUID format (e.g., 550e8400-e29b-41d4-a716-446655440000)",
              "validation": {
                "rfc": "RFC 4122"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_informationGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotect_informationPolicer": {
        "type": "object",
        "description": "Policer config for bandwidth restrictions.",
        "title": "Policer Config",
        "x-displayname": "Policer Config.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_information.Policer",
        "properties": {
          "bandwidth_max_mb": {
            "type": "integer",
            "description": "Bandwidth max allowed for a customer defined by contract.",
            "title": "Bandwidth Max",
            "format": "int64",
            "x-displayname": "Bandwidth Max in MB.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "9999"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "9999"
            },
            "x-f5xc-description-short": "Bandwidth max allowed for a customer defined by contract.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 9999,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Policer config for bandwidth restrictions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_informationPolicer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "rate_limiting",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "infraprotect_informationStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_information.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_informationStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBlindfoldSecretInfoType": {
        "type": "object",
        "description": "BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management.",
        "title": "BlindfoldSecretInfoType",
        "x-displayname": "Blindfold Secret.",
        "x-ves-displayorder": "3,1,2",
        "x-ves-proto-message": "ves.io.schema.BlindfoldSecretInfoType",
        "properties": {
          "decryption_provider": {
            "type": "string",
            "description": "Name of the Secret Management Access object that contains information about the backend Secret Management service.",
            "title": "Decryption Provider",
            "x-displayname": "Decryption Provider.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of the Secret Management Access object that contains information about the backend Secret Management service.",
            "x-f5xc-description-medium": "Name of the Secret Management Access object that contains information about the backend Secret Management service.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "location": {
            "type": "string",
            "description": "Location is the uri_ref. It could be in URL format for string:///\nOr it could be a path if the store provider is an HTTP/HTTPS location.",
            "title": "Location",
            "x-displayname": "Location",
            "x-ves-example": "String:///U2VjcmV0SW5mb3JtYXRpb24=.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-sensitive": true,
            "x-f5xc-example": "string:///U2VjcmV0SW5mb3JtYXRpb24=",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Location is the uri_ref. It could be in URL format for string:/// Or it could be a path if the store provider is an HTTP/HTTPS location.",
            "x-f5xc-description-medium": "Location is the uri_ref. It could be in URL format for string:/// Or it could be a path if the store provider is an HTTP/HTTPS location.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "minLength": 4,
              "maxLength": 131072,
              "format": "uri",
              "deterministic": true,
              "metadata": {
                "source": "manual-override",
                "confidence": 1.0,
                "category": "content",
                "note": "Blindfold envelope encryption (AES-256-GCM + RSA-OAEP) of an RSA-2048 TLS private key produces ~3700 char string:/// URL. 128KB max secret size = ~175KB base64. Discovery reported 1024 which is incorrect.",
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 4,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "store_provider": {
            "type": "string",
            "description": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes\nThis field needs to be provided only if the URL scheme is not string:///.",
            "title": "Store Provider",
            "x-displayname": "Store Provider.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only...",
            "x-f5xc-description-medium": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only if the URL scheme is not string:///.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBlindfoldSecretInfoType",
          "required_fields": [
            "location"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"location\": \"string:///U2VjcmV0SW5mb3JtYXRpb24=\"\n}",
          "example_yaml": "location: string:///U2VjcmV0SW5mb3JtYXRpb24="
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaClearSecretInfoType": {
        "type": "object",
        "description": "ClearSecretInfoType specifies information about the Secret that is not encrypted.",
        "title": "ClearSecretInfoType",
        "x-displayname": "In-Clear Secret.",
        "x-ves-displayorder": "2,1",
        "x-ves-proto-message": "ves.io.schema.ClearSecretInfoType",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes\nThis field needs to be provided only if the URL scheme is not string:///.",
            "title": "Provider",
            "x-displayname": "Provider",
            "x-ves-example": "Box-provider.",
            "x-f5xc-example": "box-provider",
            "x-f5xc-description-short": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only...",
            "x-f5xc-description-medium": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only if the URL scheme is not string:///.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "url": {
            "type": "string",
            "description": "URL of the secret. Currently supported URL schemes is string:///.\nFor string:/// scheme, Secret needs to be encoded Base64 format.\nWhen asked for this secret, caller will GET Secret bytes after Base64 decoding.",
            "title": "URL",
            "maxLength": 131072,
            "x-displayname": "URL",
            "x-ves-example": "String:///U2VjcmV0SW5mb3JtYXRpb24=.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-sensitive": true,
            "x-f5xc-example": "string:///U2VjcmV0SW5mb3JtYXRpb24=",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "URL of the secret. Currently supported URL schemes is string:///.",
            "x-f5xc-description-medium": "URL of the secret. Currently supported URL schemes is string:///. For string:/// scheme, Secret needs to be encoded Base64 format. When asked for this secret, caller will GET Secret bytes after Base64 decoding.",
            "format": "uri",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 131072,
              "format": "uri",
              "minLength": 1,
              "pattern": "^(https?|ftp)://[^\\s/$.?#].[^\\s]*$",
              "formatDescription": "RFC 3986 URI with scheme (http, https, ftp)",
              "validation": {
                "rfc": "RFC 3986"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "byteLength": {
                "max": 131072
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "ClearSecretInfoType specifies information about the Secret that is not encrypted.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaClearSecretInfoType",
          "required_fields": [
            "url"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"url\": \"string:///U2VjcmV0SW5mb3JtYXRpb24=\"\n}",
          "example_yaml": "url: string:///U2VjcmV0SW5mb3JtYXRpb24="
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaSecretType": {
        "type": "object",
        "description": "SecretType is used in an object to indicate a sensitive/confidential field.",
        "title": "SecretType",
        "x-displayname": "Secret",
        "x-ves-oneof-field-secret_info_oneof": "[\"blindfold_secret_info\",\"clear_secret_info\"]",
        "x-ves-proto-message": "ves.io.schema.SecretType",
        "properties": {
          "blindfold_secret_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBlindfoldSecretInfoType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "clear_secret_info"
            ]
          },
          "clear_secret_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaClearSecretInfoType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "blindfold_secret_info"
            ]
          }
        },
        "x-f5xc-description-short": "SecretType is used in an object to indicate a sensitive/confidential field.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSecretType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Secret management is platform-level"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_internet_prefix_advertisement",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementCreateSpecType": {
        "type": "object",
        "description": "Creates a DDoS transit Internet Prefix.",
        "title": "DDoS transit Internet Prefix",
        "x-displayname": "Create DDoS transit Internet Prefix.",
        "x-ves-oneof-field-activation_selection": "[\"activation_announce\",\"activation_withdraw\"]",
        "x-ves-oneof-field-expiration": "[\"expiration_never\",\"expiration_timestamp\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.CreateSpecType",
        "properties": {
          "activation_announce": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation announce.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_withdraw"
            ]
          },
          "activation_withdraw": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation withdraw.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_announce"
            ]
          },
          "expiration_never": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expiration never.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_timestamp"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Exclusive with [expiration_never]\nThis advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "format": "date-time",
            "x-displayname": "Expiration Time (UTC)",
            "x-f5xc-description-short": "Exclusive with [expiration_never] This advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "x-f5xc-description-medium": "Exclusive with [expiration_never] This advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Advertisement Prefix\n\nAdvertisement prefix lookup depending on type.",
            "x-displayname": "Prefix",
            "x-ves-example": "192.0.2.2/24.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.2/24",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Advertisement Prefix Advertisement prefix lookup depending on type.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementCreateSpecType",
          "required_fields": [
            "prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix\": \"192.0.2.2/24\"\n}",
          "example_yaml": "prefix: 192.0.2.2/24"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_internet_prefix_advertisement",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_internet_prefix_advertisement",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit Internet Prefix.",
        "title": "Get DDoS transit Internet Prefix",
        "x-displayname": "GET Infraprotect Internet Prefix.",
        "x-ves-oneof-field-activation_selection": "[\"activation_announce\",\"activation_withdraw\"]",
        "x-ves-oneof-field-expiration": "[\"expiration_never\",\"expiration_timestamp\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.GetSpecType",
        "properties": {
          "activation_announce": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation announce.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_withdraw"
            ]
          },
          "activation_withdraw": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation withdraw.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_announce"
            ]
          },
          "expiration_never": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expiration never.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_timestamp"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Exclusive with [expiration_never]\nThis advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "format": "date-time",
            "x-displayname": "Expiration Time (UTC)",
            "x-f5xc-description-short": "Exclusive with [expiration_never] This advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "x-f5xc-description-medium": "Exclusive with [expiration_never] This advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Advertisement Prefix\n\nAdvertisement prefix lookup depending on type.",
            "x-displayname": "Prefix",
            "x-ves-example": "192.0.2.2/24.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.2/24",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-description-short": "Advertisement Prefix Advertisement prefix lookup depending on type.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementGetSpecType",
          "required_fields": [
            "prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix\": \"192.0.2.2/24\"\n}",
          "example_yaml": "prefix: 192.0.2.2/24"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_internet_prefix_advertisement",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_internet_prefix_advertisement is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_internet_prefix_advertisement",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_internet_prefix_advertisement.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_internet_prefix_advertisement.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_internet_prefix_advertisement.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_internet_prefix_advertisement.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_internet_prefix_advertisement is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_internet_prefix_advertisement is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_internet_prefix_advertisement.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_internet_prefix_advertisement.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_internet_prefix_advertisement.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this infraprotect_internet_prefix_advertisement.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_internet_prefix_advertisement.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_internet_prefix_advertisement.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_internet_prefix_advertisement is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_internet_prefix_advertisement is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_internet_prefix_advertisement",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_internet_prefix_advertisementReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Internet Prefix.",
        "title": "DDoS transit Internet Prefix",
        "x-displayname": "Replace DDoS transit Internet Prefix.",
        "x-ves-oneof-field-activation_selection": "[\"activation_announce\",\"activation_withdraw\"]",
        "x-ves-oneof-field-expiration": "[\"expiration_never\",\"expiration_timestamp\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.ReplaceSpecType",
        "properties": {
          "activation_announce": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation announce.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_withdraw"
            ]
          },
          "activation_withdraw": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation withdraw.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_announce"
            ]
          },
          "expiration_never": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expiration never.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_timestamp"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Exclusive with [expiration_never]\nThis advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "format": "date-time",
            "x-displayname": "Expiration Time (UTC)",
            "x-f5xc-description-short": "Exclusive with [expiration_never] This advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "x-f5xc-description-medium": "Exclusive with [expiration_never] This advertisement will expire at the given timestamp and will be removed from the system afterwards.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expiration_never"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementUpdateInternetPrefixAdvertisementRequest": {
        "type": "object",
        "description": "Request to toggle Internet prefix advertisement announcement/withdrawal.",
        "title": "Toggle Internet Prefix Advertisement Announcement",
        "x-displayname": "Toggle Infraprotect Internet Prefix advertisement Request.",
        "x-ves-oneof-field-activation_selection": "[\"activation_announce\",\"activation_withdraw\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.UpdateInternetPrefixAdvertisementRequest",
        "properties": {
          "activation_announce": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation announce.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_withdraw"
            ]
          },
          "activation_withdraw": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for activation withdraw.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "activation_announce"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the infraprotect internet prefix advertisement that has to be updated.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Internet-prefix-advertisement-1.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "internet-prefix-advertisement-1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "The name of the infraprotect internet prefix advertisement that has to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which internet prefix advertisement status has to be updated.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace in which internet prefix advertisement status has to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "Request to toggle Internet prefix advertisement announcement/withdrawal.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementUpdateInternetPrefixAdvertisementRequest",
          "required_fields": [
            "name",
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"internet-prefix-advertisement-1\",\n  \"namespace\": \"system\"\n}",
          "example_yaml": "name: internet-prefix-advertisement-1\nnamespace: system"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_internet_prefix_advertisementUpdateInternetPrefixAdvertisementResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_internet_prefix_advertisement.UpdateInternetPrefixAdvertisementResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_internet_prefix_advertisementUpdateInternetPrefixAdvertisementResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureCaptureStatus": {
        "type": "string",
        "description": "Current status of the packet capture.\n\nPending capture status\nIn Progress capture status\nCompleted capture status\nError - Needs Attention.",
        "title": "DDoS transit packet capture status",
        "enum": [
          "CAPTURE_STATUS_PENDING",
          "CAPTURE_STATUS_IN_PROGRESS",
          "CAPTURE_STATUS_COMPLETED",
          "CAPTURE_STATUS_ERROR"
        ],
        "default": "CAPTURE_STATUS_PENDING",
        "x-displayname": "Capture Status.",
        "x-ves-proto-enum": "ves.io.schema.infraprotect_packet_capture.CaptureStatus",
        "x-f5xc-description-short": "Current status of the packet capture. Pending capture status In Progress capture status Completed capture status Error - Needs Attention.",
        "x-f5xc-description-medium": "Current status of the packet capture. Pending capture status In Progress capture status Completed capture status Error - Needs Attention.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureCaptureStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CAPTURE_STATUS_PENDING\"",
          "example_yaml": "CAPTURE_STATUS_PENDING\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_packet_capture",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureCreateSpecType": {
        "type": "object",
        "description": "Creates a DDoS transit Packet Capture.",
        "title": "Create DDoS transit Packet Capture",
        "x-displayname": "Create DDoS transit Packet Capture.",
        "x-ves-oneof-field-packet_count": "[\"all\",\"limit\"]",
        "x-ves-oneof-field-start_time": "[\"start_asap\",\"start_timestamp\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.CreateSpecType",
        "properties": {
          "all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "limit"
            ]
          },
          "duration": {
            "type": "integer",
            "description": "Configuration parameter for duration",
            "format": "int64",
            "x-displayname": "Duration",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "60",
              "ves.io.schema.rules.uint32.lte": "3600"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "60",
              "ves.io.schema.rules.uint32.lte": "3600"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 60,
              "maximum": 3600,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "limit": {
            "type": "integer",
            "description": "Exclusive with [all]\nLimit packet count.",
            "format": "int64",
            "x-displayname": "Limit",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "250000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "250000"
            },
            "x-f5xc-description-short": "Exclusive with [all] Limit packet count.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 250000,
              "multipleOf": 1,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all"
            ]
          },
          "rule": {
            "type": "array",
            "description": "Rule Definitions.",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/infraprotect_packet_captureRule"
            },
            "x-displayname": "Rules",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "minItems": 0,
              "uniqueItems": false,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "start_asap": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "start_timestamp"
            ]
          },
          "start_timestamp": {
            "type": "string",
            "description": "Exclusive with [start_asap]\nCapture Start at Designated Time.",
            "format": "date-time",
            "x-displayname": "Start Time.",
            "x-f5xc-description-short": "Exclusive with [start_asap] Capture Start at Designated Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "start_asap"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureCreateSpecType",
          "required_fields": [
            "duration",
            "rule"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"duration\": 60,\n  \"rule\": [\n    {\n      \"source_port\": [\n        0\n      ],\n      \"target_port\": [\n        0\n      ]\n    }\n  ]\n}",
          "example_yaml": "duration: 60\nrule:\n- source_port:\n  - 0\n  target_port:\n  - 0"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_packet_capture",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_packet_capture",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_packet_captureStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit Packet Capture.",
        "title": "Get DDoS transit Packet Capture",
        "x-displayname": "GET Infraprotect Packet Capture.",
        "x-ves-oneof-field-packet_count": "[\"all\",\"limit\"]",
        "x-ves-oneof-field-start_time": "[\"start_asap\",\"start_timestamp\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.GetSpecType",
        "properties": {
          "all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "limit"
            ]
          },
          "capture_file_creation_timestamp": {
            "type": "string",
            "description": "Time at which the packet capture file was created and made available for download by a user.",
            "format": "date-time",
            "x-displayname": "Capture File Creation Timestamp.",
            "x-f5xc-description-short": "Time at which the packet capture file was created and made available for download by a user.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "capture_file_name": {
            "type": "string",
            "description": "Name for the packet capture file at the time it was made available for download by a user.",
            "x-displayname": "Capture File Name.",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Name for the packet capture file at the time it was made available for download by a user.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "capture_file_version": {
            "type": "string",
            "description": "Version of the packet capture file at the time it was made available for download by a user.",
            "x-displayname": "Capture File Version.",
            "x-f5xc-description-short": "Version of the packet capture file at the time it was made available for download by a user.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "capture_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureCaptureStatus"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "duration": {
            "type": "integer",
            "description": "Configuration parameter for duration",
            "format": "int64",
            "x-displayname": "Duration",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "60",
              "ves.io.schema.rules.uint32.lte": "3600"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "60",
              "ves.io.schema.rules.uint32.lte": "3600"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 60,
              "maximum": 3600,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "limit": {
            "type": "integer",
            "description": "Exclusive with [all]\nLimit packet count.",
            "format": "int64",
            "x-displayname": "Limit",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "250000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "250000"
            },
            "x-f5xc-description-short": "Exclusive with [all] Limit packet count.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 250000,
              "multipleOf": 1,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all"
            ]
          },
          "rule": {
            "type": "array",
            "description": "Rule Definitions.",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/infraprotect_packet_captureRule"
            },
            "x-displayname": "Rules",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "minItems": 0,
              "uniqueItems": false,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "start_asap": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "start_timestamp"
            ]
          },
          "start_timestamp": {
            "type": "string",
            "description": "Exclusive with [start_asap]\nCapture Start at Designated Time.",
            "format": "date-time",
            "x-displayname": "Start Time.",
            "x-f5xc-description-short": "Exclusive with [start_asap] Capture Start at Designated Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "start_asap"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureGetSpecType",
          "required_fields": [
            "duration",
            "rule"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"duration\": 60,\n  \"rule\": [\n    {\n      \"source_port\": [\n        0\n      ],\n      \"target_port\": [\n        0\n      ]\n    }\n  ]\n}",
          "example_yaml": "duration: 60\nrule:\n- source_port:\n  - 0\n  target_port:\n  - 0"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_packet_capture",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_packet_captureListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_packet_capture is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_packet_capture",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_packet_capture.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_packet_capture.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_packet_capture.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_packet_capture.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_packet_capture is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_packet_capture is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_packet_capture.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_packet_capture.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_packet_capture.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this infraprotect_packet_capture.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_packet_captureStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_packet_capture.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_packet_capture.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_packet_capture is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_packet_capture is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_packet_capture",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_packet_captureReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit Packet Capture.",
        "title": "DDoS transit Packet Capture",
        "x-displayname": "Replace DDoS transit Packet Capture.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.ReplaceSpecType",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureRule": {
        "type": "object",
        "description": "Packet Capture Rule.",
        "title": "Packet Capture Rule",
        "x-displayname": "Packet Capture Rule.",
        "x-ves-oneof-field-protocol": "[\"protocol_all\",\"protocol_tcp\",\"protocol_udp\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.Rule",
        "properties": {
          "protocol_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_tcp",
              "protocol_udp"
            ]
          },
          "protocol_tcp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol tcp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_all",
              "protocol_udp"
            ]
          },
          "protocol_udp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for protocol udp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "protocol_all",
              "protocol_tcp"
            ]
          },
          "source_port": {
            "type": "array",
            "description": "Source Port.",
            "title": "Source Port",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-displayname": "Source Port.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "source_prefix": {
            "type": "array",
            "description": "Source Prefix.",
            "title": "Source Prefix",
            "items": {
              "type": "string"
            },
            "x-displayname": "Source Prefix.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "[\"192.0.2.0/24\"]",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "target_port": {
            "type": "array",
            "description": "Target Port.",
            "title": "Target Port",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-displayname": "Target Port.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "target_prefix": {
            "type": "array",
            "description": "Target Prefix.",
            "title": "Target Prefix",
            "items": {
              "type": "string"
            },
            "x-displayname": "Target Prefix.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-example": "[\"192.0.2.0/24\"]",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip_prefix_globally_routable": "true"
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureRule",
          "required_fields": [
            "source_port",
            "target_port"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"source_port\": [\n    0\n  ],\n  \"target_port\": [\n    0\n  ]\n}",
          "example_yaml": "source_port:\n- 0\ntarget_port:\n- 0"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_packet_captureStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_packet_capture.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_packet_captureStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "DDoS transit packet capture is platform-level InfraProtect configuration"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelBGPInformation": {
        "type": "object",
        "description": "BGP information associated with a DDoS transit tunnel.",
        "title": "Tunnel BGP Information",
        "x-displayname": "BGP",
        "x-ves-oneof-field-peer_secret_choice": "[\"no_secret\",\"peer_secret_override\",\"use_default_secret\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.BGPInformation",
        "properties": {
          "asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "bgp_asn_set",
                "field_path": "asn",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "holddown_timer_seconds": {
            "type": "integer",
            "description": "BGP hold down timer, in seconds.",
            "title": "Hold down timer in seconds",
            "format": "int64",
            "x-displayname": "Hold down Timer.",
            "x-ves-example": "90",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "30",
              "ves.io.schema.rules.uint32.lte": "300"
            },
            "x-f5xc-example": "90",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "30",
              "ves.io.schema.rules.uint32.lte": "300"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 30,
              "maximum": 300,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "no_secret": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "peer_secret_override",
              "use_default_secret"
            ]
          },
          "peer_secret_override": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_secret",
              "use_default_secret"
            ]
          },
          "use_default_secret": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_secret",
              "peer_secret_override"
            ]
          }
        },
        "x-f5xc-description-short": "BGP information associated with a DDoS transit tunnel.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelBGPInformation",
          "required_fields": [
            "holddown_timer_seconds"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"holddown_timer_seconds\": 30\n}",
          "example_yaml": "holddown_timer_seconds: 30"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelBandwidth": {
        "type": "object",
        "description": "Bandwidth max allowed.",
        "title": "Bandwidth",
        "x-displayname": "Bandwidth Speed Configuration.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.Bandwidth",
        "properties": {
          "bandwidth_max_mb": {
            "type": "integer",
            "description": "Bandwidth max allowed.",
            "title": "Bandwidth Max",
            "format": "int64",
            "x-displayname": "Bandwidth Max in MB.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "9999"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "9999"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 9999,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelBandwidth",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of infraprotect_tunnel",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelCreateSpecType": {
        "type": "object",
        "description": "Creates a DDoS transit tunnel.",
        "title": "DDoS transit tunnel",
        "x-displayname": "Create DDoS Transit Tunnel.",
        "x-ves-oneof-field-tunnel_type": "[\"gre_ipv4\",\"gre_ipv6\",\"ip_in_ip\",\"ipv6_to_ipv6\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.CreateSpecType",
        "properties": {
          "bandwidth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelBandwidth"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "bgp_information": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelBGPInformation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "firewall_rule_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "fast_acl",
                "field_path": "firewall_rule_group",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "gre_ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGreIpv4Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv6",
              "ip_in_ip",
              "ipv6_to_ipv6"
            ]
          },
          "gre_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGreIpv6Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "ip_in_ip",
              "ipv6_to_ipv6"
            ]
          },
          "ip_in_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelIpInIpTunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ipv6_to_ipv6"
            ]
          },
          "ipv6_to_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelIpv6ToIpv6Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ip_in_ip"
            ]
          },
          "tunnel_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelTunnelLocation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tunnel location.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a infraprotect_tunnel",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelFragmentationEnabled": {
        "type": "object",
        "description": "IPv4 Tunnel.",
        "title": "Fragmentation Enabled",
        "x-displayname": "Fragmentation Enabled.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.FragmentationEnabled",
        "properties": {
          "mtu": {
            "type": "integer",
            "description": "Maximum Transmission Unit.",
            "title": "MTU",
            "format": "int64",
            "x-displayname": "Maximum Transmission Unit.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1200",
              "ves.io.schema.rules.uint32.lte": "9000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1200",
              "ves.io.schema.rules.uint32.lte": "9000"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1200,
              "maximum": 9000,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelFragmentationEnabled",
          "required_fields": [
            "mtu"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"mtu\": 1200\n}",
          "example_yaml": "mtu: 1200"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read infraprotect_tunnel",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_tunnelStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelGetSpecType": {
        "type": "object",
        "description": "GET DDoS transit tunnel.",
        "title": "Get DDoS transit tunnel",
        "x-displayname": "GET Tunnel.",
        "x-ves-oneof-field-clear_df_bit": "[]",
        "x-ves-oneof-field-tunnel_type": "[\"gre_ipv4\",\"gre_ipv6\",\"ip_in_ip\",\"ipv6_to_ipv6\",\"l2_direct_connect\",\"l2_equinix\",\"l2_megaport\",\"l2_packet_fabric\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.GetSpecType",
        "properties": {
          "bandwidth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelBandwidth"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "bgp_information": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelBGPInformation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "customer_asn": {
            "type": "integer",
            "description": "Customer ASN.",
            "format": "int64",
            "x-displayname": "Customer ASN.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "customer_ipv4_interconnect": {
            "type": "string",
            "description": "Customer IPv4 Interconnect.",
            "x-displayname": "Customer IPv4 Interconnect.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "customer_ipv6_interconnect": {
            "type": "string",
            "description": "Customer IPv6 Interconnect.",
            "x-displayname": "Customer IPv6 Interconnect.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "f5_endpoint_ip": {
            "type": "string",
            "description": "IP address for the F5 endpoint of the tunnel.",
            "x-displayname": "F5 Endpoint IP.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "IP address for the F5 endpoint of the tunnel.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "f5_ipv4_interconnect": {
            "type": "string",
            "description": "F5 IPv4 Interconnect.",
            "x-displayname": "F5 IPv4 Interconnect.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "f5_ipv6_interconnect": {
            "type": "string",
            "description": "F5 IPv6 Interconnect.",
            "x-displayname": "F5 IPv6 Interconnect.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "f5_peer_asn": {
            "type": "integer",
            "description": "F5 Peer ASN.",
            "format": "int64",
            "x-displayname": "F5 Peer ASN.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "firewall_rule_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "fast_acl",
                "field_path": "firewall_rule_group",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "gre_ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGreIpv4Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv6",
              "ip_in_ip",
              "ipv6_to_ipv6",
              "l2_direct_connect",
              "l2_equinix",
              "l2_megaport",
              "l2_packet_fabric"
            ]
          },
          "gre_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGreIpv6Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "ip_in_ip",
              "ipv6_to_ipv6",
              "l2_direct_connect",
              "l2_equinix",
              "l2_megaport",
              "l2_packet_fabric"
            ]
          },
          "id": {
            "type": "string",
            "description": "ID of the tunnel used to uniquely identify it. A customer can use this\nvalue in support tickets to specify which tunnel they are having trouble\nworking with and it will facilitate lookup by internal teams into the\ninternal systems this value travels across.",
            "x-displayname": "ID",
            "x-ves-example": "F5XC-ASH-T-000004.",
            "x-f5xc-example": "F5XC-ASH-T-000004",
            "x-f5xc-description-short": "ID of the tunnel used to uniquely identify it.",
            "x-f5xc-description-medium": "ID of the tunnel used to uniquely identify it. A customer can use this value in support tickets to specify which tunnel they are having trouble working with and it will facilitate lookup by internal teams into the internal systems this value travels across.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip_in_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelIpInIpTunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ipv6_to_ipv6",
              "l2_direct_connect",
              "l2_equinix",
              "l2_megaport",
              "l2_packet_fabric"
            ]
          },
          "ipv6_to_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelIpv6ToIpv6Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ip_in_ip",
              "l2_direct_connect",
              "l2_equinix",
              "l2_megaport",
              "l2_packet_fabric"
            ]
          },
          "l2_direct_connect": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelL2DirectConnectTunnel"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for l2 direct connect.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ip_in_ip",
              "ipv6_to_ipv6",
              "l2_equinix",
              "l2_megaport",
              "l2_packet_fabric"
            ]
          },
          "l2_equinix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelL2EquinixTunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ip_in_ip",
              "ipv6_to_ipv6",
              "l2_direct_connect",
              "l2_megaport",
              "l2_packet_fabric"
            ]
          },
          "l2_megaport": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelL2MegaportTunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ip_in_ip",
              "ipv6_to_ipv6",
              "l2_direct_connect",
              "l2_equinix",
              "l2_packet_fabric"
            ]
          },
          "l2_packet_fabric": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelL2PacketFabricTunnel"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for l2 packet fabric.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ip_in_ip",
              "ipv6_to_ipv6",
              "l2_direct_connect",
              "l2_equinix",
              "l2_megaport"
            ]
          },
          "tunnel_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelTunnelLocation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tunnel location.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tunnel_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelTunnelStatus"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelGreIpv4Tunnel": {
        "type": "object",
        "description": "IPv4 Tunnel.",
        "title": "GRE IPv4 Tunnel",
        "x-displayname": "GRE IPv4 Tunnel.",
        "x-ves-oneof-field-fragmentation_choice": "[\"fragmentation_disabled\",\"fragmentation_enabled\"]",
        "x-ves-oneof-field-ipv6_interconnect_choice": "[\"ipv6_interconnect_disabled\",\"ipv6_interconnect_enabled\"]",
        "x-ves-oneof-field-keepalive_choice": "[\"keepalive_disabled\",\"keepalive_enabled\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.GreIpv4Tunnel",
        "properties": {
          "customer_endpoint_ipv4": {
            "type": "string",
            "description": "IPv4 address for the customer endpoint of the tunnel.",
            "title": "Customer Endpoint IPv4 Address",
            "x-displayname": "Customer Endpoint IP.",
            "x-ves-example": "192.0.2.104.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv4_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.104",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv4_globally_routable": "true"
            },
            "x-f5xc-description-short": "IPv4 address for the customer endpoint of the tunnel.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "fragmentation_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragmentation_enabled"
            ]
          },
          "fragmentation_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelFragmentationEnabled"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fragmentation_disabled"
            ]
          },
          "ipv6_interconnect_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ipv6_interconnect_enabled"
            ]
          },
          "ipv6_interconnect_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ipv6_interconnect_disabled"
            ]
          },
          "keepalive_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "keepalive_enabled"
            ]
          },
          "keepalive_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "keepalive_disabled"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelGreIpv4Tunnel",
          "required_fields": [
            "customer_endpoint_ipv4"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"customer_endpoint_ipv4\": \"192.0.2.104\"\n}",
          "example_yaml": "customer_endpoint_ipv4: 192.0.2.104"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelGreIpv6Tunnel": {
        "type": "object",
        "description": "IPv6 Tunnel.",
        "title": "GRE IPv6 Tunnel",
        "x-displayname": "GRE IPv6 Tunnel.",
        "x-ves-oneof-field-ipv4_interconnect_choice": "[\"ipv4_interconnect_disabled\",\"ipv4_interconnect_enabled\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.GreIpv6Tunnel",
        "properties": {
          "customer_endpoint_ipv6": {
            "type": "string",
            "description": "IPv6 address for the customer endpoint of the tunnel.",
            "title": "Customer Endpoint IPv6 Address",
            "x-displayname": "Customer Endpoint IP.",
            "x-ves-example": "2001:db8:0:0:0:0:2:0.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv6_globally_routable": "true"
            },
            "x-f5xc-example": "2001:db8:0:0:0:0:2:0",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv6_globally_routable": "true"
            },
            "x-f5xc-description-short": "IPv6 address for the customer endpoint of the tunnel.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "ipv4_interconnect_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ipv4_interconnect_enabled"
            ]
          },
          "ipv4_interconnect_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ipv4_interconnect_disabled"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelGreIpv6Tunnel",
          "required_fields": [
            "customer_endpoint_ipv6"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"customer_endpoint_ipv6\": \"2001:db8:0:0:0:0:2:0\"\n}",
          "example_yaml": "customer_endpoint_ipv6: 2001:db8:0:0:0:0:2:0"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelIpInIpTunnel": {
        "type": "object",
        "description": "IP in IP Tunnel.",
        "title": "IP in IP Tunnel",
        "x-displayname": "IP in IP Tunnel.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.IpInIpTunnel",
        "properties": {
          "customer_endpoint_ipv4": {
            "type": "string",
            "description": "IPv4 address for the customer endpoint of the tunnel.",
            "title": "Customer Endpoint IPv4 Address",
            "x-displayname": "Customer Endpoint IP.",
            "x-ves-example": "192.0.2.104.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv4_globally_routable": "true"
            },
            "x-f5xc-example": "192.0.2.104",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv4_globally_routable": "true"
            },
            "x-f5xc-description-short": "IPv4 address for the customer endpoint of the tunnel.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelIpInIpTunnel",
          "required_fields": [
            "customer_endpoint_ipv4"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"customer_endpoint_ipv4\": \"192.0.2.104\"\n}",
          "example_yaml": "customer_endpoint_ipv4: 192.0.2.104"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelIpv6ToIpv6Tunnel": {
        "type": "object",
        "description": "IPv6 to IPv6 Tunnel.",
        "title": "IPv6 to IPv6 Tunnel",
        "x-displayname": "IPv6 to IPv6 Tunnel.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.Ipv6ToIpv6Tunnel",
        "properties": {
          "customer_endpoint_ipv6": {
            "type": "string",
            "description": "IPv6 address for the customer endpoint of the tunnel.",
            "title": "Customer Endpoint IPv6 Address",
            "x-displayname": "Customer Endpoint IP.",
            "x-ves-example": "2001:db8:0:0:0:0:2:0.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv6_globally_routable": "true"
            },
            "x-f5xc-example": "2001:db8:0:0:0:0:2:0",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv6_globally_routable": "true"
            },
            "x-f5xc-description-short": "IPv6 address for the customer endpoint of the tunnel.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelIpv6ToIpv6Tunnel",
          "required_fields": [
            "customer_endpoint_ipv6"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"customer_endpoint_ipv6\": \"2001:db8:0:0:0:0:2:0\"\n}",
          "example_yaml": "customer_endpoint_ipv6: 2001:db8:0:0:0:0:2:0"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelL2DirectConnectTunnel": {
        "type": "object",
        "description": "L2 Direct Connect Tunnel.",
        "title": "L2 Direct Connect Tunnel",
        "x-displayname": "L2 Direct Connect Tunnel.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.L2DirectConnectTunnel",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelL2DirectConnectTunnel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelL2EquinixTunnel": {
        "type": "object",
        "description": "L2 Equinix Tunnel.",
        "title": "L2 ECX Tunnel",
        "x-displayname": "L2 ECX Tunnel.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.L2EquinixTunnel",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelL2EquinixTunnel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelL2MegaportTunnel": {
        "type": "object",
        "description": "L2 Megaport Tunnel.",
        "title": "L2 Megaport Tunnel",
        "x-displayname": "L2 Megaport Tunnel.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.L2MegaportTunnel",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelL2MegaportTunnel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelL2PacketFabricTunnel": {
        "type": "object",
        "description": "L2 Packet Fabric Tunnel.",
        "title": "L2 Packet Fabric Tunnel",
        "x-displayname": "L2 Packet Fabric Tunnel.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.L2PacketFabricTunnel",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelL2PacketFabricTunnel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of infraprotect_tunnel",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/infraprotect_tunnelListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelListResponseItem": {
        "type": "object",
        "description": "By default a summary of infraprotect_tunnel is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of infraprotect_tunnel",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this infraprotect_tunnel.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this infraprotect_tunnel.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this infraprotect_tunnel.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this infraprotect_tunnel.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates infraprotect_tunnel is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates infraprotect_tunnel is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this infraprotect_tunnel.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this infraprotect_tunnel.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this infraprotect_tunnel.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/infraprotect_tunnelStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this infraprotect_tunnel.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this infraprotect_tunnel.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of infraprotect_tunnel is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-description-medium": "By default a summary of infraprotect_tunnel is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a infraprotect_tunnel",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelReplaceSpecType": {
        "type": "object",
        "description": "Amends a DDoS transit tunnel.",
        "title": "DDoS transit tunnel",
        "x-displayname": "Replace DDoS Transit Tunnel.",
        "x-ves-oneof-field-tunnel_type": "[\"gre_ipv4\",\"gre_ipv6\",\"ip_in_ip\",\"ipv6_to_ipv6\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.ReplaceSpecType",
        "properties": {
          "bandwidth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelBandwidth"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "firewall_rule_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "fast_acl",
                "field_path": "firewall_rule_group",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "gre_ipv4": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGreIpv4Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv6",
              "ip_in_ip",
              "ipv6_to_ipv6"
            ]
          },
          "gre_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelGreIpv6Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "ip_in_ip",
              "ipv6_to_ipv6"
            ]
          },
          "ip_in_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelIpInIpTunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ipv6_to_ipv6"
            ]
          },
          "ipv6_to_ipv6": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelIpv6ToIpv6Tunnel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gre_ipv4",
              "gre_ipv6",
              "ip_in_ip"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelTunnelLocation": {
        "type": "object",
        "description": "Location of a DDoS transit tunnel.",
        "title": "Location Name",
        "x-displayname": "Location",
        "x-ves-oneof-field-zone": "[\"zone1\",\"zone2\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.TunnelLocation",
        "properties": {
          "name": {
            "type": "string",
            "description": "Destination tunnel Location.",
            "title": "Name",
            "maxLength": 256,
            "x-displayname": "Location Name.",
            "x-ves-example": "Frankfurt XC-FRA-DE-1 (Equinix FR4)",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "Frankfurt XC-FRA-DE-1 (Equinix FR4)",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "zone1": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "zone2"
            ]
          },
          "zone2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "zone1"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelTunnelLocation",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Frankfurt XC-FRA-DE-1 (Equinix FR4)\"\n}",
          "example_yaml": "name: Frankfurt XC-FRA-DE-1 (Equinix FR4)"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelTunnelStatus": {
        "type": "string",
        "description": "Current status of the tunnel.\n\nInactive config status\nDown config status\nActive config status\nActivation Pending config status\nActivation Error - Needs Attention\nActivation Initializing.",
        "title": "DDoS transit config status",
        "enum": [
          "TUNNEL_STATUS_INACTIVE",
          "TUNNEL_STATUS_DOWN",
          "TUNNEL_STATUS_ACTIVE",
          "TUNNEL_STATUS_ACTIVATION_PENDING",
          "TUNNEL_STATUS_ACTIVATION_ERROR",
          "TUNNEL_STATUS_ACTIVATION_INITIALIZING"
        ],
        "default": "TUNNEL_STATUS_INACTIVE",
        "x-displayname": "Config Status.",
        "x-ves-proto-enum": "ves.io.schema.infraprotect_tunnel.TunnelStatus",
        "x-f5xc-description-medium": "Current status of the tunnel. Inactive config status Down config status Active config status Activation Pending config status Activation Error - Needs Attention Activation Initializing.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelTunnelStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TUNNEL_STATUS_INACTIVE\"",
          "example_yaml": "TUNNEL_STATUS_INACTIVE\n..."
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelUpdateTunnelClearDFBitRequest": {
        "type": "object",
        "description": "Request to update tunnel lear DF bit.",
        "title": "Update Tunnel Clear DF Bit",
        "x-displayname": "Update Tunnel Clear DF Bit Request.",
        "x-ves-oneof-field-clear_df_bit": "[\"clear_df_bit_disabled\",\"clear_df_bit_enabled\"]",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.UpdateTunnelClearDFBitRequest",
        "properties": {
          "clear_df_bit_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "clear_df_bit_enabled"
            ]
          },
          "clear_df_bit_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "clear_df_bit_disabled"
            ]
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the tunnel clear df bit is to be updated.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace in which the tunnel clear df bit is to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "tunnel_id": {
            "type": "string",
            "description": "Unique identifier of the tunnel to update.",
            "title": "Tunnel identifier",
            "x-displayname": "Tunnel ID",
            "x-ves-example": "F5XC-ASH-T-000004.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "F5XC-ASH-T-000004",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Unique identifier of the tunnel to update.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelUpdateTunnelClearDFBitRequest",
          "required_fields": [
            "namespace",
            "tunnel_id"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"system\",\n  \"tunnel_id\": \"F5XC-ASH-T-000004\"\n}",
          "example_yaml": "namespace: system\ntunnel_id: F5XC-ASH-T-000004"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelUpdateTunnelClearDFBitResponse": {
        "type": "object",
        "description": "Response returned from a tunnel clear df bit update.",
        "title": "Update Tunnel Clear DF Bit Response",
        "x-displayname": "Update Tunnel Clear DF Bit Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.UpdateTunnelClearDFBitResponse",
        "x-f5xc-description-short": "Response returned from a tunnel clear df bit update.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelUpdateTunnelClearDFBitResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelUpdateTunnelStatusRequest": {
        "type": "object",
        "description": "Request to update tunnel status.",
        "title": "Update Tunnel Status",
        "x-displayname": "Update Tunnel Status Request.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.UpdateTunnelStatusRequest",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace in which the tunnel status is to be updated.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace in which the tunnel status is to be updated.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "tunnel_id": {
            "type": "string",
            "description": "Unique identifier of the tunnel to update.",
            "title": "Tunnel identifier",
            "x-displayname": "Tunnel ID",
            "x-ves-example": "F5XC-ASH-T-000004.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "F5XC-ASH-T-000004",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Unique identifier of the tunnel to update.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "tunnel_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/infraprotect_tunnelTunnelStatus"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelUpdateTunnelStatusRequest",
          "required_fields": [
            "namespace",
            "tunnel_id"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"system\",\n  \"tunnel_id\": \"F5XC-ASH-T-000004\"\n}",
          "example_yaml": "namespace: system\ntunnel_id: F5XC-ASH-T-000004"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "infraprotect_tunnelUpdateTunnelStatusResponse": {
        "type": "object",
        "description": "Response returned from a tunnel status update.",
        "title": "Update Tunnel Status Response",
        "x-displayname": "Update Tunnel Status Response.",
        "x-ves-proto-message": "ves.io.schema.infraprotect_tunnel.UpdateTunnelStatusResponse",
        "x-f5xc-description-short": "Response returned from a tunnel status update.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for infraprotect_tunnelUpdateTunnelStatusResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "ddos",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "requestBodies": {}
  }
}
