{
  "openapi": "3.0.3",
  "info": {
    "title": "Cdn",
    "description": "Content delivery networks with edge caching, geographic distribution, and cache management. Supports custom rules, asset purge operations, and performance analytics. Enables worldwide asset distribution, optimization, and delivery monitoring across regions and protocols.",
    "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": "Content delivery networks with edge caching, geographic distribution, and cache management. Supports custom rules, asset purge operations, and performance analytics. Enables worldwide asset distribution, optimization, and delivery monitoring across regions and protocols.",
    "x-f5xc-summary": "Global distribution with cache rules and purge operations. Performance monitoring and analytics.",
    "x-f5xc-cli-domain": "cdn",
    "externalDocs": {
      "url": "https://docs.cloud.f5.com/docs/how-to/app-networking/cdn",
      "description": "F5 XC Documentation - Content Delivery Network"
    },
    "x-f5xc-api-reference-url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/",
    "x-f5xc-best-practices": {
      "common_errors": [
        {
          "code": 400,
          "message": "Invalid cache key configuration",
          "resolution": "Review cache key parameters and syntax",
          "prevention": "Use cache key templates for consistency"
        },
        {
          "code": 409,
          "message": "CDN distribution already exists for origin",
          "resolution": "Update existing distribution or delete first",
          "prevention": "Check existing distributions before creation"
        },
        {
          "code": 504,
          "message": "Origin server timeout",
          "resolution": "Increase timeout values or fix origin performance",
          "prevention": "Configure realistic timeout thresholds"
        }
      ],
      "security_notes": [
        "Use signed URLs/cookies for private content",
        "Configure origin access identity for S3 origins",
        "Enable field-level encryption for sensitive data",
        "Set appropriate CORS policies for cross-origin requests"
      ],
      "performance_tips": [
        "Configure optimal cache TTLs for content types",
        "Enable compression for text-based content",
        "Use edge computing for dynamic content personalization",
        "Configure cache warming for popular content"
      ]
    },
    "x-f5xc-guided-workflows": [
      {
        "id": "enable_cdn_distribution",
        "name": "Enable CDN Distribution",
        "description": "Configure CDN for content delivery",
        "complexity": "medium",
        "estimated_steps": 5,
        "prerequisites": [
          "Existing origin server or load balancer",
          "Content cacheable via HTTP headers"
        ],
        "steps": [
          {
            "order": 1,
            "action": "create_origin",
            "name": "Define Origin",
            "description": "Configure origin server for CDN",
            "resource": "cdn_origin",
            "required_fields": [
              "name",
              "origin_address"
            ]
          },
          {
            "order": 2,
            "action": "configure_cache_rules",
            "name": "Configure Cache Rules",
            "description": "Define caching behavior per content type",
            "tips": [
              "Set longer TTL for static assets",
              "Use vary headers appropriately"
            ]
          },
          {
            "order": 3,
            "action": "create_distribution",
            "name": "Create Distribution",
            "description": "Configure CDN distribution",
            "resource": "cdn_distribution",
            "depends_on": [
              1
            ]
          },
          {
            "order": 4,
            "action": "configure_ssl",
            "name": "Configure SSL",
            "description": "Set up HTTPS for CDN endpoints",
            "optional": true
          },
          {
            "order": 5,
            "action": "verify_caching",
            "name": "Verify Caching",
            "description": "Test CDN cache behavior",
            "verification": [
              "Check X-Cache headers",
              "Verify content delivery from edge"
            ]
          }
        ]
      }
    ],
    "x-f5xc-namespace-profile": {
      "constraint": {
        "allowed": [
          "custom",
          "default",
          "shared"
        ],
        "enforced": true
      },
      "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": "cdn"
    },
    {
      "name": "config"
    },
    {
      "name": "data"
    },
    {
      "name": "ml"
    },
    {
      "name": "waf"
    }
  ],
  "paths": {
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/block_client/suggestion": {
      "post": {
        "summary": "Suggest block client rule.",
        "description": "Suggest blocking SimpleClientSrcRule for a given IP/ASN.",
        "operationId": "ves.io.schema.app_security.AppSecurityClientRuleAPI.GetSuggestedBlockClientRuleForCDN",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_securityGetSuggestedBlockClientRuleRsp"
                }
              }
            }
          },
          "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 of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nHTTP load balancer for which this WAF exclusion will be applied.",
            "in": "path",
            "required": true,
            "x-displayname": "HTTP Load Balancer Name.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ves-io-frontend"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app_securityGetSuggestedBlockClientRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.app_security.AppSecurityClientRuleAPI.GetSuggestedBlockClientRuleForCDN",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Suggestion resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "suggestion"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "suggestion"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.app_security.AppSecurityClientRuleAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/ddos_mitigation/suggestion": {
      "post": {
        "summary": "Suggest CDN DDoS Mitigation rule.",
        "description": "Suggest DDoSMitigatonRule to mitigate a given IP/ASN/Region/TLS.",
        "operationId": "ves.io.schema.app_security.AppSecurityClientRuleAPI.GetSuggestedDDoSMitigationRuleForCDN",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_securityGetSuggestedDDoSMitigtionRuleRsp"
                }
              }
            }
          },
          "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 of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nload balancer for which this WAF exclusion will be applied.",
            "in": "path",
            "required": true,
            "x-displayname": "Load Balancer Name.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ves-io-frontend"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app_securityGetSuggestedDDoSMitigtionRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.app_security.AppSecurityClientRuleAPI.GetSuggestedDDoSMitigationRuleForCDN",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Suggestion resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "suggestion"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "suggestion"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.app_security.AppSecurityClientRuleAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/trust_client/suggestion": {
      "post": {
        "summary": "Suggest trust client rule.",
        "description": "Suggest SimpleClientSrcRule to trust a given IP/ASN.",
        "operationId": "ves.io.schema.app_security.AppSecurityClientRuleAPI.GetSuggestedTrustClientRuleForCDN",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_securityGetSuggestedTrustClientRuleRsp"
                }
              }
            }
          },
          "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 of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nHTTP load balancer for which this client blocking rule will be applied.",
            "in": "path",
            "required": true,
            "x-displayname": "HTTP Load Balancer Name.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ves-io-frontend"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app_securityGetSuggestedTrustClientRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.app_security.AppSecurityClientRuleAPI.GetSuggestedTrustClientRuleForCDN",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Suggestion resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "suggestion"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "suggestion"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.app_security.AppSecurityClientRuleAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/waf_exclusion/suggestion": {
      "post": {
        "summary": "Suggest WAF Exclusion Rule.",
        "description": "Suggest service policy rule to set up WAF exclusion for a given WAF security event.",
        "operationId": "ves.io.schema.app_security.AppSecurityWafExclusionAPI.GetSuggestedWAFExclusionRuleForCDN",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_securityGetSuggestedWAFExclusionRuleRsp"
                }
              }
            }
          },
          "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 of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nHTTP load balancer for which this WAF exclusion will be applied.",
            "in": "path",
            "required": true,
            "x-displayname": "HTTP Load Balancer Name.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ves-io-frontend"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app_securityGetSuggestedWAFExclusionRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.app_security.AppSecurityWafExclusionAPI.GetSuggestedWAFExclusionRuleForCDN",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Suggestion resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "suggestion"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "suggestion"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.app_security.AppSecurityWafExclusionAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/system/lilac-cdn/addon/subscribe": {
      "post": {
        "summary": "Subscribe to CDN Loadbalancer.",
        "description": "Subscribe to CDN Loadbalancer.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.Subscribe",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerSubscribeResponse"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cdn_loadbalancerSubscribeRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.Subscribe",
        "tags": [
          "cdn"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Subscribe resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "subscribe"
            ]
          },
          "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"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "subscribe"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/system/lilac-cdn/addon/unsubscribe": {
      "post": {
        "summary": "Unsubscribe to CDN Loadbalancer.",
        "description": "Unsubscribe to CDN Loadbalancer.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.Unsubscribe",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerUnsubscribeResponse"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cdn_loadbalancerUnsubscribeRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.Unsubscribe",
        "tags": [
          "cdn"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Unsubscribe resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "unsubscribe"
            ]
          },
          "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"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "unsubscribe"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/cdn_loadbalancers": {
      "post": {
        "summary": "Create CDN Loadbalancer.",
        "description": "Shape of the CDN loadbalancer specification.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerCreateResponse"
                }
              }
            }
          },
          "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/cdn_loadbalancerCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.API.Create",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Load balancing configuration for traffic distribution",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Cdn-loadbalancer resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "cdn-loadbalancer"
            ]
          },
          "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": [
            "cdn-loadbalancer"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/cdn_loadbalancers/{metadata.name}": {
      "put": {
        "summary": "Replace CDN Loadbalancer.",
        "description": "Shape of the CDN loadbalancer specification.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerReplaceResponse"
                }
              }
            }
          },
          "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/cdn_loadbalancerReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.API.Replace",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Load balancing configuration for traffic distribution",
          "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": [
              "cdn-loadbalancer"
            ]
          },
          "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": [
            "cdn-loadbalancer"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/access_logs": {
      "post": {
        "summary": "GET CDN Access Logs.",
        "description": "Retrieve CDN Load-Balancer Access logs.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNAccessLogs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerCDNLogResponse"
                }
              }
            }
          },
          "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\nfetch access logs for a given namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNAccessLogRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNAccessLogs",
        "tags": [
          "cdn"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Logging configuration for audit and analysis",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Access-log resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "access-log"
            ]
          },
          "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": [
            "access-log"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/access_logs/aggregation": {
      "post": {
        "summary": "CDN Access Log Aggregation Query.",
        "description": "Request to GET summary/analytics data for the CDN access logs that matches the query in request for a given namespace.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNAccessLogAggregationQuery",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerCDNLogAggregationResponse"
                }
              }
            }
          },
          "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\nGET aggregation data for a given namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNAccessLogAggregationRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNAccessLogAggregationQuery",
        "tags": [
          "cdn"
        ],
        "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": [
              "Aggregation resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "aggregation"
            ]
          },
          "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": [
            "aggregation"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/get-service-operation-status": {
      "post": {
        "summary": "GET Service Operation Status.",
        "description": "GET status of an operation command for a given CDN Loadbalancer.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.GetServiceOperation",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_cdnGetServiceOperationRsp"
                }
              }
            }
          },
          "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\nx-required\nNamespace scope of the operation request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "default"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/common_cdnGetServiceOperationReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.GetServiceOperation",
        "tags": [
          "cdn"
        ],
        "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": [
              "Get-service-operation-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "get-service-operation-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": [
            "get-service-operation-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/list-service-operations-status": {
      "post": {
        "summary": "List of CDN Operation Commands.",
        "description": "List of service operations for a given CDN LB.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.ListServiceOperations",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_cdnListServiceOperationsRsp"
                }
              }
            }
          },
          "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\nx-required\nThe namespace this item belongs to.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/common_cdnListServiceOperationsReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.ListServiceOperations",
        "tags": [
          "cdn"
        ],
        "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": [
              "List-service-operations-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "list-service-operations-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": [
            "list-service-operations-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/metrics": {
      "post": {
        "summary": "GET CDN Metrics.",
        "description": "Initial metrics request for CDN loadbalancers.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNMetrics",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsResponse"
                }
              }
            }
          },
          "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\nx-required\nNamespace scope of the metric request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "default"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNMetrics",
        "tags": [
          "cdn"
        ],
        "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": [
              "Metric resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "metric"
            ]
          },
          "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": [
            "metric"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/{name}/cache-purge": {
      "post": {
        "summary": "Purge CDN Cache.",
        "description": "Initiate Purge for Edge CDN Cache\nDEPRECATED. Use CDN Purge Command.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNCachePurge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_cdnLilacCDNCachePurgeResponse"
                }
              }
            }
          },
          "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\nx-required\nNamespace scope of the metric request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "default"
          },
          {
            "name": "name",
            "description": "CDN Distribution Name\nx-required\nFormat: string.",
            "in": "path",
            "required": true,
            "x-displayname": "Name of the CDN distrubition.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "cdn-1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/common_cdnLilacCDNCachePurgeRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-deprecated": "Use CDN Purge Command",
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNCachePurge",
        "tags": [
          "cdn"
        ],
        "deprecated": true,
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Cache-purge resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "cache-purge"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "cache-purge"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers": {
      "get": {
        "summary": "List CDN Loadbalancer.",
        "description": "List the set of cdn_loadbalancer in a namespace.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerListResponse"
                }
              }
            }
          },
          "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 cdn_loadbalancer.",
            "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/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.API.List",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Load balancing configuration for traffic distribution",
          "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-discovered-response-time-ms": 155.34,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 155.34,
          "p95_ms": 310.68,
          "p99_ms": 466.02,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/get_security_config": {
      "post": {
        "summary": "GET Security Config for CDN Load Balancer.",
        "description": "Fetch the corresponding Security Config for the given CDN load balancers.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.GetCDNSecurityConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_securityGetSecurityConfigRsp"
                }
              }
            }
          },
          "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 of the CDN Load Balancer for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cdn_loadbalancerGetCDNSecurityConfigReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.GetCDNSecurityConfig",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Security configuration retrieval",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Get-security-config resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "get-security-config"
            ]
          },
          "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": [
            "get-security-config"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}": {
      "get": {
        "summary": "GET CDN Loadbalancer.",
        "description": "Shape of the CDN loadbalancer specification.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_loadbalancerGetResponse"
                }
              }
            }
          },
          "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/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.API.Get",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Load balancing configuration for traffic distribution",
          "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 CDN Loadbalancer.",
        "description": "DELETE the specified cdn_loadbalancer.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.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/cdn_loadbalancerDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Load balancing configuration for traffic distribution",
          "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": [
              "cdn-loadbalancer",
              "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": [
            "cdn-loadbalancer",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/dos_automitigation_rules": {
      "get": {
        "summary": "GET DoS Auto-Mitigation Rules for CDN Load Balancer.",
        "description": "GET the corresponding DoS Auto-Mitigation Rules for the given CDN load balancer.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.GetCDNDoSAutoMitigationRules",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_securityGetDoSAutoMitigationRulesRsp"
                }
              }
            }
          },
          "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 of the Load Balancer.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nName of the Load Balancer.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "blogging-app"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.GetCDNDoSAutoMitigationRules",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Automated DDoS mitigation rule configuration",
          "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": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-discovered-response-time-ms": 164.48,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 164.48,
          "p95_ms": 328.96,
          "p99_ms": 493.44,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/dos_automitigation_rules/{dos_automitigation_rule_name}": {
      "delete": {
        "summary": "DELETE DoS Auto-Mitigation Rule for CDN Load Balancer.",
        "description": "DELETE the corresponding DoS Auto-Mitigation Rule for the given CDN load balancer.",
        "operationId": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.DeleteCDNDoSAutoMitigationRule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_securityDeleteDoSAutoMitigationRuleRsp"
                }
              }
            }
          },
          "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 of the Load Balancer.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nName of the Load Balancer.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "blogging-app"
          },
          {
            "name": "dos_automitigation_rule_name",
            "description": "DoS Mitigation Rule Name\nName of the DoS Mitigation Rule.",
            "in": "path",
            "required": true,
            "x-displayname": "DoS Mitigation Rule Name.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "dos-auto-mitigation-ves-io-http-loadbalancer-ce22"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.DeleteCDNDoSAutoMitigationRule",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Automated DDoS mitigation rule configuration",
          "required_fields": [
            "path.dos_automitigation_rule_name",
            "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": [
              "dos-automitigation-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.dos_automitigation_rule_name",
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "dos-automitigation-rule",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN Loadbalancer.",
      "x-ves-proto-service": "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/cdn_purge_commands": {
      "post": {
        "summary": "Create CDN Cache Purge Command.",
        "description": "Shape of the CDN Purge Command specification.",
        "operationId": "ves.io.schema.cdn_purge_command.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_purge_commandCreateResponse"
                }
              }
            }
          },
          "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/cdn_purge_commandCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_purge_command.API.Create",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Cdn-purge-command resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "cdn-purge-command"
            ]
          },
          "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": [
            "cdn-purge-command"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN cache purge command.",
      "x-ves-proto-service": "ves.io.schema.cdn_purge_command.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_purge_commands": {
      "get": {
        "summary": "List CDN cache purge command.",
        "description": "List the set of cdn_purge_command in a namespace.",
        "operationId": "ves.io.schema.cdn_purge_command.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_purge_commandListResponse"
                }
              }
            }
          },
          "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 cdn_purge_command.",
            "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/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_purge_command.API.List",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "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": "CDN cache purge command.",
      "x-ves-proto-service": "ves.io.schema.cdn_purge_command.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_purge_commands/{name}": {
      "get": {
        "summary": "GET CDN Cache Purge Command.",
        "description": "Shape of the CDN Purge Command specification.",
        "operationId": "ves.io.schema.cdn_purge_command.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_purge_commandGetResponse"
                }
              }
            }
          },
          "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 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_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/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_purge_command.API.Get",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "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 CDN cache purge command.",
        "description": "DELETE the specified cdn_purge_command.",
        "operationId": "ves.io.schema.cdn_purge_command.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/cdn_purge_commandDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_purge_command.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "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": [
              "cdn-purge-command",
              "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": [
            "cdn-purge-command",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN cache purge command.",
      "x-ves-proto-service": "ves.io.schema.cdn_purge_command.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/cdn_cache_rules": {
      "post": {
        "summary": "Create CDN cache rule.",
        "description": "Shape of the CDN loadbalancer specification.",
        "operationId": "ves.io.schema.cdn_cache_rule.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_cache_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/cdn_cache_ruleCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_cache_rule.API.Create",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Cdn-cache-rule resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "cdn-cache-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": [
            "cdn-cache-rule"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN cache rule.",
      "x-ves-proto-service": "ves.io.schema.cdn_cache_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/cdn_cache_rules/{metadata.name}": {
      "put": {
        "summary": "Replace CDN cache rule.",
        "description": "Shape of the CDN loadbalancer specification.",
        "operationId": "ves.io.schema.cdn_cache_rule.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_cache_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/cdn_cache_ruleReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_cache_rule.API.Replace",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "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": [
              "cdn-cache-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": [
            "cdn-cache-rule"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN cache rule.",
      "x-ves-proto-service": "ves.io.schema.cdn_cache_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_cache_rules": {
      "get": {
        "summary": "List CDN cache rule.",
        "description": "List the set of cdn_cache_rule in a namespace.",
        "operationId": "ves.io.schema.cdn_cache_rule.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_cache_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 cdn_cache_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/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_cache_rule.API.List",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "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-discovered-response-time-ms": 148.74,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 148.74,
          "p95_ms": 297.48,
          "p99_ms": 446.22,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "CDN cache rule.",
      "x-ves-proto-service": "ves.io.schema.cdn_cache_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/cdn_cache_rules/{name}": {
      "get": {
        "summary": "GET CDN cache rule.",
        "description": "Shape of the CDN loadbalancer specification.",
        "operationId": "ves.io.schema.cdn_cache_rule.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cdn_cache_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 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_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/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_cache_rule.API.Get",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "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 CDN cache rule.",
        "description": "DELETE the specified cdn_cache_rule.",
        "operationId": "ves.io.schema.cdn_cache_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/cdn_cache_ruleDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.cdn_cache_rule.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "CDN configuration for content delivery",
          "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": [
              "cdn-cache-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": [
            "cdn-cache-rule",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "CDN cache rule.",
      "x-ves-proto-service": "ves.io.schema.cdn_cache_rule.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/http_loadbalancer/get-service-operation-status": {
      "post": {
        "summary": "GET Service Operation Status for HTTPLB when Caching Enabled.",
        "description": "GET status of an operation command for a given HTTP LB when caching enabled.",
        "operationId": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI.GetServiceOperationHTTPLBCacheEnabled",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_cdnGetServiceOperationRsp"
                }
              }
            }
          },
          "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\nx-required\nNamespace scope of the operation request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "default"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/common_cdnGetServiceOperationReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI.GetServiceOperationHTTPLBCacheEnabled",
        "tags": [
          "cdn"
        ],
        "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": [
              "Get-service-operation-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "get-service-operation-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": [
            "get-service-operation-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Configure HTTP Load Balancer.",
      "x-ves-proto-service": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/http_loadbalancer/list-service-operations-status": {
      "post": {
        "summary": "List of HTTPLB Operation Commands when Caching Enabled.",
        "description": "List of service operations for a given HTTP LB when Caching Enabled.",
        "operationId": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI.ListServiceOperationsHTTPLBCacheEnabled",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_cdnListServiceOperationsRsp"
                }
              }
            }
          },
          "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\nx-required\nThe namespace this item belongs to.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/common_cdnListServiceOperationsReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI.ListServiceOperationsHTTPLBCacheEnabled",
        "tags": [
          "cdn"
        ],
        "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": [
              "List-service-operations-statu resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "list-service-operations-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": [
            "list-service-operations-statu"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Configure HTTP Load Balancer.",
      "x-ves-proto-service": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/cdn/namespaces/{namespace}/http_loadbalancer/{name}/cache-purge": {
      "post": {
        "summary": "Purge the LB Cache.",
        "description": "Initiate Purge on the LB Cache\nDEPRECATED. Use CDN Purge Command.",
        "operationId": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI.CDNCachePurgeHTTPLBCacheEnabled",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/common_cdnLilacCDNCachePurgeResponse"
                }
              }
            }
          },
          "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\nx-required\nNamespace scope of the metric request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "default"
          },
          {
            "name": "name",
            "description": "CDN Distribution Name\nx-required\nFormat: string.",
            "in": "path",
            "required": true,
            "x-displayname": "Name of the CDN distrubition.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "cdn-1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/common_cdnLilacCDNCachePurgeRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/cdn/"
        },
        "x-ves-deprecated": "Use CDN Purge Command",
        "x-ves-proto-rpc": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI.CDNCachePurgeHTTPLBCacheEnabled",
        "tags": [
          "cdn"
        ],
        "deprecated": true,
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Cache-purge resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "cache-purge"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "cache-purge"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Configure HTTP Load Balancer.",
      "x-ves-proto-service": "ves.io.schema.views.http_loadbalancer.CDNCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_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": {
      "app_firewallAppFirewallViolationType": {
        "type": "string",
        "description": "List of all supported Violation Types\n\nVIOL_NONE\nVIOL_FILETYPE\nVIOL_METHOD\nVIOL_MANDATORY_HEADER\nVIOL_HTTP_RESPONSE_STATUS\nVIOL_REQUEST_MAX_LENGTH\nVIOL_FILE_UPLOAD\nVIOL_FILE_UPLOAD_IN_BODY\nVIOL_XML_MALFORMED\nVIOL_JSON_MALFORMED\nVIOL_ASM_COOKIE_MODIFIED\nVIOL_HTTP_PROTOCOL_MULTIPLE_HOST_HEADERS\nVIOL_HTTP_PROTOCOL_BAD_HOST_HEADER_VALUE\nVIOL_HTTP_PROTOCOL_UNPARSABLE_REQUEST_CONTENT\nVIOL_HTTP_PROTOCOL_NULL_IN_REQUEST\nVIOL_HTTP_PROTOCOL_BAD_HTTP_VERSION\nVIOL_HTTP_PROTOCOL_CRLF_CHARACTERS_BEFORE_REQUEST_START\nVIOL_HTTP_PROTOCOL_NO_HOST_HEADER_IN_HTTP_1_1_REQUEST\nVIOL_HTTP_PROTOCOL_BAD_MULTIPART_PARAMETERS_PARSING\nVIOL_HTTP_PROTOCOL_SEVERAL_CONTENT_LENGTH_HEADERS\nVIOL_HTTP_PROTOCOL_CONTENT_LENGTH_SHOULD_BE_A_POSITIVE_NUMBER\nVIOL_EVASION_DIRECTORY_TRAVERSALS\nVIOL_MALFORMED_REQUEST\nVIOL_EVASION_MULTIPLE_DECODING\nVIOL_DATA_GUARD\nVIOL_EVASION_APACHE_WHITESPACE\nVIOL_COOKIE_MODIFIED\nVIOL_EVASION_IIS_UNICODE_CODEPOINTS\nVIOL_EVASION_IIS_BACKSLASHES\nVIOL_EVASION_PERCENT_U_DECODING\nVIOL_EVASION_BARE_BYTE_DECODING\nVIOL_EVASION_BAD_UNESCAPE\nVIOL_HTTP_PROTOCOL_BAD_MULTIPART_FORMDATA_REQUEST_PARSING\nVIOL_HTTP_PROTOCOL_BODY_IN_GET_OR_HEAD_REQUEST\nVIOL_HTTP_PROTOCOL_HIGH_ASCII_CHARACTERS_IN_HEADERS\nVIOL_ENCODING\nVIOL_COOKIE_MALFORMED\nVIOL_GRAPHQL_FORMAT\nVIOL_GRAPHQL_MALFORMED\nVIOL_GRAPHQL_INTROSPECTION_QUERY.",
        "title": "App Firewall Violation Type",
        "enum": [
          "VIOL_NONE",
          "VIOL_FILETYPE",
          "VIOL_METHOD",
          "VIOL_MANDATORY_HEADER",
          "VIOL_HTTP_RESPONSE_STATUS",
          "VIOL_REQUEST_MAX_LENGTH",
          "VIOL_FILE_UPLOAD",
          "VIOL_FILE_UPLOAD_IN_BODY",
          "VIOL_XML_MALFORMED",
          "VIOL_JSON_MALFORMED",
          "VIOL_ASM_COOKIE_MODIFIED",
          "VIOL_HTTP_PROTOCOL_MULTIPLE_HOST_HEADERS",
          "VIOL_HTTP_PROTOCOL_BAD_HOST_HEADER_VALUE",
          "VIOL_HTTP_PROTOCOL_UNPARSABLE_REQUEST_CONTENT",
          "VIOL_HTTP_PROTOCOL_NULL_IN_REQUEST",
          "VIOL_HTTP_PROTOCOL_BAD_HTTP_VERSION",
          "VIOL_HTTP_PROTOCOL_CRLF_CHARACTERS_BEFORE_REQUEST_START",
          "VIOL_HTTP_PROTOCOL_NO_HOST_HEADER_IN_HTTP_1_1_REQUEST",
          "VIOL_HTTP_PROTOCOL_BAD_MULTIPART_PARAMETERS_PARSING",
          "VIOL_HTTP_PROTOCOL_SEVERAL_CONTENT_LENGTH_HEADERS",
          "VIOL_HTTP_PROTOCOL_CONTENT_LENGTH_SHOULD_BE_A_POSITIVE_NUMBER",
          "VIOL_EVASION_DIRECTORY_TRAVERSALS",
          "VIOL_MALFORMED_REQUEST",
          "VIOL_EVASION_MULTIPLE_DECODING",
          "VIOL_DATA_GUARD",
          "VIOL_EVASION_APACHE_WHITESPACE",
          "VIOL_COOKIE_MODIFIED",
          "VIOL_EVASION_IIS_UNICODE_CODEPOINTS",
          "VIOL_EVASION_IIS_BACKSLASHES",
          "VIOL_EVASION_PERCENT_U_DECODING",
          "VIOL_EVASION_BARE_BYTE_DECODING",
          "VIOL_EVASION_BAD_UNESCAPE",
          "VIOL_HTTP_PROTOCOL_BAD_MULTIPART_FORMDATA_REQUEST_PARSING",
          "VIOL_HTTP_PROTOCOL_BODY_IN_GET_OR_HEAD_REQUEST",
          "VIOL_HTTP_PROTOCOL_HIGH_ASCII_CHARACTERS_IN_HEADERS",
          "VIOL_ENCODING",
          "VIOL_COOKIE_MALFORMED",
          "VIOL_GRAPHQL_FORMAT",
          "VIOL_GRAPHQL_MALFORMED",
          "VIOL_GRAPHQL_INTROSPECTION_QUERY"
        ],
        "default": "VIOL_NONE",
        "x-displayname": "App Firewall Violation Type.",
        "x-ves-proto-enum": "ves.io.schema.app_firewall.AppFirewallViolationType",
        "x-f5xc-description-short": "List of all supported Violation Types VIOL_NONE VIOL_FILETYPE VIOL_METHOD VIOL_MANDATORY_HEADER VIOL_HTTP_RESPONSE_STATUS VIOL_REQUEST_MAX_LENGTH...",
        "x-f5xc-description-medium": "List of all supported Violation Types VIOL_NONE VIOL_FILETYPE VIOL_METHOD VIOL_MANDATORY_HEADER VIOL_HTTP_RESPONSE_STATUS VIOL_REQUEST_MAX_LENGTH VIOL_FILE_UPLOAD VIOL_FILE_UPLOAD_IN_BODY VIOL_XML_MALFORMED VIOL_JSON_MALFORMED VIOL_ASM_COOKIE_MODIFIED VIOL_HTTP_PROTOCOL_MULTIPLE_HOST_HEADERS...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_firewallAppFirewallViolationType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"VIOL_NONE\"",
          "example_yaml": "VIOL_NONE\n..."
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Security policies benefit from centralized management in shared namespace"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "app_firewallAttackType": {
        "type": "string",
        "description": "List of all Attack Types\n\nATTACK_TYPE_NONE\nATTACK_TYPE_NON_BROWSER_CLIENT\nATTACK_TYPE_OTHER_APPLICATION_ATTACKS\nATTACK_TYPE_TROJAN_BACKDOOR_SPYWARE\nATTACK_TYPE_DETECTION_EVASION\nATTACK_TYPE_VULNERABILITY_SCAN\nATTACK_TYPE_ABUSE_OF_FUNCTIONALITY\nATTACK_TYPE_AUTHENTICATION_AUTHORIZATION_ATTACKS\nATTACK_TYPE_BUFFER_OVERFLOW\nATTACK_TYPE_PREDICTABLE_RESOURCE_LOCATION\nATTACK_TYPE_INFORMATION_LEAKAGE\nATTACK_TYPE_DIRECTORY_INDEXING\nATTACK_TYPE_PATH_TRAVERSAL\nATTACK_TYPE_XPATH_INJECTION\nATTACK_TYPE_LDAP_INJECTION\nATTACK_TYPE_SERVER_SIDE_CODE_INJECTION\nATTACK_TYPE_COMMAND_EXECUTION\nATTACK_TYPE_SQL_INJECTION\nATTACK_TYPE_CROSS_SITE_SCRIPTING\nATTACK_TYPE_DENIAL_OF_SERVICE\nATTACK_TYPE_HTTP_PARSER_ATTACK\nATTACK_TYPE_SESSION_HIJACKING\nATTACK_TYPE_HTTP_RESPONSE_SPLITTING\nATTACK_TYPE_FORCEFUL_BROWSING\nATTACK_TYPE_REMOTE_FILE_INCLUDE\nATTACK_TYPE_MALICIOUS_FILE_UPLOAD\nATTACK_TYPE_GRAPHQL_PARSER_ATTACK.",
        "title": "AttackType",
        "enum": [
          "ATTACK_TYPE_NONE",
          "ATTACK_TYPE_NON_BROWSER_CLIENT",
          "ATTACK_TYPE_OTHER_APPLICATION_ATTACKS",
          "ATTACK_TYPE_TROJAN_BACKDOOR_SPYWARE",
          "ATTACK_TYPE_DETECTION_EVASION",
          "ATTACK_TYPE_VULNERABILITY_SCAN",
          "ATTACK_TYPE_ABUSE_OF_FUNCTIONALITY",
          "ATTACK_TYPE_AUTHENTICATION_AUTHORIZATION_ATTACKS",
          "ATTACK_TYPE_BUFFER_OVERFLOW",
          "ATTACK_TYPE_PREDICTABLE_RESOURCE_LOCATION",
          "ATTACK_TYPE_INFORMATION_LEAKAGE",
          "ATTACK_TYPE_DIRECTORY_INDEXING",
          "ATTACK_TYPE_PATH_TRAVERSAL",
          "ATTACK_TYPE_XPATH_INJECTION",
          "ATTACK_TYPE_LDAP_INJECTION",
          "ATTACK_TYPE_SERVER_SIDE_CODE_INJECTION",
          "ATTACK_TYPE_COMMAND_EXECUTION",
          "ATTACK_TYPE_SQL_INJECTION",
          "ATTACK_TYPE_CROSS_SITE_SCRIPTING",
          "ATTACK_TYPE_DENIAL_OF_SERVICE",
          "ATTACK_TYPE_HTTP_PARSER_ATTACK",
          "ATTACK_TYPE_SESSION_HIJACKING",
          "ATTACK_TYPE_HTTP_RESPONSE_SPLITTING",
          "ATTACK_TYPE_FORCEFUL_BROWSING",
          "ATTACK_TYPE_REMOTE_FILE_INCLUDE",
          "ATTACK_TYPE_MALICIOUS_FILE_UPLOAD",
          "ATTACK_TYPE_GRAPHQL_PARSER_ATTACK"
        ],
        "default": "ATTACK_TYPE_NONE",
        "x-displayname": "Attack Types.",
        "x-ves-proto-enum": "ves.io.schema.app_firewall.AttackType",
        "x-f5xc-description-short": "List of all Attack Types ATTACK_TYPE_NONE ATTACK_TYPE_NON_BROWSER_CLIENT ATTACK_TYPE_OTHER_APPLICATION_ATTACKS ATTACK_TYPE_TROJAN_BACKDOOR_SPYWARE...",
        "x-f5xc-description-medium": "List of all Attack Types ATTACK_TYPE_NONE ATTACK_TYPE_NON_BROWSER_CLIENT ATTACK_TYPE_OTHER_APPLICATION_ATTACKS ATTACK_TYPE_TROJAN_BACKDOOR_SPYWARE ATTACK_TYPE_DETECTION_EVASION ATTACK_TYPE_VULNERABILITY_SCAN ATTACK_TYPE_ABUSE_OF_FUNCTIONALITY ATTACK_TYPE_AUTHENTICATION_AUTHORIZATION_ATTACKS...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_firewallAttackType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ATTACK_TYPE_NONE\"",
          "example_yaml": "ATTACK_TYPE_NONE\n..."
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Security policies benefit from centralized management in shared namespace"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "app_securityApiEndpoint": {
        "type": "object",
        "description": "API Endpoint identified by collapsed_url and method.",
        "title": "API Endpoint",
        "x-displayname": "API Endpoint.",
        "x-ves-proto-message": "ves.io.schema.app_security.ApiEndpoint",
        "properties": {
          "collapsed_url": {
            "type": "string",
            "description": "Collapsed URL is the path with identified DYN components.",
            "title": "Collapsed URL",
            "maxLength": 256,
            "x-displayname": "Collapsed URL.",
            "x-ves-example": "/abcd/DYN/xyz.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/abcd/DYN/xyz",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Collapsed URL is the path with identified DYN components.",
            "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
            }
          },
          "method": {
            "type": "string",
            "description": "HTTP method.",
            "title": "method",
            "x-displayname": "Method",
            "x-f5xc-example": "GET",
            "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": "API Endpoint identified by collapsed_url and method.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityApiEndpoint",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedAPIEndpointProtectionRuleReq": {
        "type": "object",
        "description": "GET suggested API endpoint protection rule for a given path.",
        "title": "GetSuggestedAPIEndpointProtectionRuleReq",
        "x-displayname": "GET Suggested API endpoint protection Rule Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedAPIEndpointProtectionRuleReq",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this API endpoint protection rule applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this API endpoint protection rule applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the API endpoint protection to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-description-short": "Path to apply the API endpoint protection to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          }
        },
        "x-f5xc-description-short": "GET suggested API endpoint protection rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedAPIEndpointProtectionRuleReq",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/example\"\n}",
          "example_yaml": "path: /example"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedAPIEndpointProtectionRuleRsp": {
        "type": "object",
        "description": "GET suggested API endpoint protection rule for a given path.",
        "title": "GetSuggestedAPIEndpointProtectionRuleRsp",
        "x-displayname": "GET Suggested API endpoint protection Rule Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedAPIEndpointProtectionRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIEndpointProtectionRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested API endpoint protection rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedAPIEndpointProtectionRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedBlockClientRuleReq": {
        "type": "object",
        "description": "GET suggested blocking SimpleClientSrcRule for a given IP/ASN.",
        "title": "GetSuggestedBlockClientRuleReq",
        "x-displayname": "GET Suggested Block Client Rule Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedBlockClientRuleReq",
        "properties": {
          "as_description": {
            "type": "string",
            "description": "AS description.",
            "title": "Description",
            "maxLength": 256,
            "x-displayname": "AS Description.",
            "x-ves-example": "As-description.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "as-description",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "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
            }
          },
          "as_number": {
            "type": "integer",
            "description": "RFC 6793 defined 4-byte AS number.",
            "title": "as number",
            "format": "int64",
            "x-displayname": "AS Number",
            "x-ves-example": "4683",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-example": "4683",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 401308,
              "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
            }
          },
          "ip_prefix": {
            "type": "string",
            "description": "IP prefix string.",
            "title": "ip prefix",
            "x-displayname": "IP 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": "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": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "cidr",
              "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
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this WAF exclusion will be applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this WAF exclusion will be applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "user_id": {
            "type": "string",
            "description": "User ID of blocked client.",
            "title": "user id",
            "maxLength": 256,
            "x-displayname": "User ID",
            "x-ves-example": "Abc",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "abc",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "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
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-description-short": "GET suggested blocking SimpleClientSrcRule for a given IP/ASN.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedBlockClientRuleReq",
          "required_fields": [
            "as_number",
            "ip_prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"as_number\": 0,\n  \"ip_prefix\": \"192.0.2.0/24\"\n}",
          "example_yaml": "as_number: 0\nip_prefix: 192.0.2.0/24"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedBlockClientRuleRsp": {
        "type": "object",
        "description": "GET suggested blocking SimpleClientSrcRule for a given IP/ASN.",
        "title": "GetSuggestedBlockClientRuleRsp",
        "x-displayname": "GET Suggested Block Client Rule Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedBlockClientRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this WAF exclusion will be applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this WAF exclusion will be applied.",
            "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])?$"
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested blocking SimpleClientSrcRule for a given IP/ASN.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedBlockClientRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedDDoSMitigtionRuleReq": {
        "type": "object",
        "description": "GET suggested blocking DDoSMitigtionRule for a given IP/ASN/Country/TLS.",
        "title": "GetSuggestedDDoSMitigtionRuleReq",
        "x-displayname": "GET Suggested DDoS Mitigtion Rule Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedDDoSMitigtionRuleReq",
        "properties": {
          "asn_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "country_list": {
            "type": "array",
            "description": "Sources that are located in one of the countries in the given list.",
            "title": "country_list",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyCountryCode"
            },
            "x-displayname": "Country List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Sources that are located in one of the countries in the given list.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ja4_tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyJA4TlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ja4 tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Load balancer for which this WAF exclusion will be applied.",
            "title": "Name",
            "x-displayname": "Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "Load balancer for which this WAF exclusion will be applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyTlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested blocking DDoSMitigtionRule for a given IP/ASN/Country/TLS.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedDDoSMitigtionRuleReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedDDoSMitigtionRuleRsp": {
        "type": "object",
        "description": "GET suggested DDoS Mitigtion Rule for a given IP/ASN/Country/TLS.",
        "title": "GetSuggestedDDoSMitigtionRuleRsp",
        "x-displayname": "GET Suggested DDoS Mitigtion Rule Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedDDoSMitigtionRuleRsp",
        "properties": {
          "found_existing_mitigation_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mitigation_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityDDoSMitigationRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mitigation_rule_name": {
            "type": "string",
            "description": "HTTP load balancer for which this DDoS Mitigation Rule will be applied.",
            "title": "Name",
            "x-displayname": "DDoS Mitigation Rule Name.",
            "x-ves-example": "VES-I/O-DDoS-mitigation-rule.",
            "x-f5xc-example": "ves-io-ddos-mitigation-rule",
            "x-f5xc-description-short": "HTTP load balancer for which this DDoS Mitigation Rule will be 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": "GET suggested DDoS Mitigtion Rule for a given IP/ASN/Country/TLS.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedDDoSMitigtionRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedOasValidationRuleReq": {
        "type": "object",
        "description": "GET suggested Open API specification validation for a given path.",
        "title": "GetSuggestedOasValidationRuleReq",
        "x-displayname": "GET Suggested Open API specification validation Rule Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedOasValidationRuleReq",
        "properties": {
          "api_groups": {
            "type": "array",
            "description": "List of API Groups the API Endpoint is a member of.",
            "title": "API Groups membership",
            "items": {
              "type": "string"
            },
            "x-displayname": "API Groups membership.",
            "x-f5xc-example": "[\"group-1\", \"group-2\"]",
            "x-f5xc-description-short": "List of API Groups the API Endpoint is a member of.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this Open API specification validation rule applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this Open API specification validation rule applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the Open API specification validation to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-description-short": "Path to apply the Open API specification validation to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          }
        },
        "x-f5xc-description-short": "GET suggested Open API specification validation for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedOasValidationRuleReq",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/example\"\n}",
          "example_yaml": "path: /example"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedOasValidationRuleRsp": {
        "type": "object",
        "description": "GET suggested Open API specification validation for a given path.",
        "title": "GetSuggestedOasValidationRuleRsp",
        "x-displayname": "GET Suggested Open API specification validation Rule Response.",
        "x-ves-oneof-field-api_validation_choice": "[\"all_endpoints_oas_validation\",\"custom_oas_validation\"]",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedOasValidationRuleRsp",
        "properties": {
          "all_endpoints_oas_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationAllSpecEndpointsSettings__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_oas_validation"
            ]
          },
          "custom_oas_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for custom oas validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_endpoints_oas_validation"
            ]
          },
          "found_existing_rule": {
            "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-description-short": "GET suggested Open API specification validation for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedOasValidationRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedRateLimitRuleReq": {
        "type": "object",
        "description": "GET suggested rate limit rule for a given path.",
        "title": "GetSuggestedRateLimitRuleReq",
        "x-displayname": "GET Suggested Rate Limit Rule Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedRateLimitRuleReq",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this rate limit rule applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this rate limit rule applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the rate limit to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          }
        },
        "x-f5xc-description-short": "GET suggested rate limit rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedRateLimitRuleReq",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/example\"\n}",
          "example_yaml": "path: /example"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedRateLimitRuleRsp": {
        "type": "object",
        "description": "GET suggested rate limit rule for a given path.",
        "title": "GetSuggestedRateLimitRuleRsp",
        "x-displayname": "GET Suggested Rate Limit Rule Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedRateLimitRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested rate limit rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedRateLimitRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedSensitiveDataRuleReq": {
        "type": "object",
        "description": "GET suggested sensitive data rule for a given path.",
        "title": "GetSuggestedSensitiveDataRuleReq",
        "x-displayname": "GET Suggested Sensitive Data Rule Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedSensitiveDataRuleReq",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this sensitive data rule applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this sensitive data rule applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the sensitive data to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          }
        },
        "x-f5xc-description-short": "GET suggested sensitive data rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedSensitiveDataRuleReq",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/example\"\n}",
          "example_yaml": "path: /example"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedSensitiveDataRuleRsp": {
        "type": "object",
        "description": "GET suggested sensitive data rule for a given path.",
        "title": "GetSuggestedSensitiveDataRuleRsp",
        "x-displayname": "GET Suggested Sensitive Data Rule Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedSensitiveDataRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSensitiveDataTypes__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested sensitive data rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedSensitiveDataRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedTrustClientRuleReq": {
        "type": "object",
        "description": "GET suggested blocking SimpleClientSrcRule for a given IP/ASN.",
        "title": "GetSuggestedTrustClientRuleReq",
        "x-displayname": "GET Suggested Trust Client Rule Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedTrustClientRuleReq",
        "properties": {
          "as_description": {
            "type": "string",
            "description": "AS description.",
            "title": "Description",
            "maxLength": 256,
            "x-displayname": "AS Description.",
            "x-ves-example": "As-description.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "as-description",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "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
            }
          },
          "as_number": {
            "type": "integer",
            "description": "RFC 6793 defined 4-byte AS number.",
            "title": "as number",
            "format": "int64",
            "x-displayname": "AS Number",
            "x-ves-example": "4683",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-example": "4683",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 401308,
              "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
            }
          },
          "ip_prefix": {
            "type": "string",
            "description": "IP prefix string.",
            "title": "ip prefix",
            "x-displayname": "IP 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": "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": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "cidr",
              "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
            }
          },
          "ip_reputation": {
            "type": "boolean",
            "description": "Indicates whether the security event is IP reputation.",
            "title": "IP Reputation Security Event",
            "format": "boolean",
            "x-displayname": "IP Reputation Security Event.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Indicates whether the security event is IP reputation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this client blocking rule will be applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this client blocking rule will be applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "sec_event_name": {
            "type": "string",
            "description": "The name of Security Event.",
            "title": "Security Event Name",
            "x-displayname": "Security Event Name.",
            "x-ves-example": "Malicious User Mitigation.",
            "x-f5xc-example": "Malicious User 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
            }
          },
          "sec_event_types": {
            "type": "array",
            "description": "List of Security Event types that should stop being generated for this client.",
            "title": "Security Event Types",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/app_securitySecEventType"
            },
            "x-displayname": "Security Event Types.",
            "x-ves-example": "[WAF_SEC_EVENT]",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "4",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[WAF_SEC_EVENT]",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "4",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of Security Event types that should stop being generated for this client.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "uniqueItems": true,
              "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
            }
          },
          "threat_mesh": {
            "type": "boolean",
            "description": "Indicates whether the security event is threat mesh.",
            "title": "Threat Mesh Security Event",
            "format": "boolean",
            "x-displayname": "Threat Mesh Security Event.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Indicates whether the security event is threat mesh.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_id": {
            "type": "string",
            "description": "User ID of trusted client.",
            "title": "user id",
            "maxLength": 256,
            "x-displayname": "User ID",
            "x-ves-example": "Abc",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "abc",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "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
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-description-short": "GET suggested blocking SimpleClientSrcRule for a given IP/ASN.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedTrustClientRuleReq",
          "required_fields": [
            "as_number",
            "ip_prefix"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"as_number\": 0,\n  \"ip_prefix\": \"192.0.2.0/24\"\n}",
          "example_yaml": "as_number: 0\nip_prefix: 192.0.2.0/24"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedTrustClientRuleRsp": {
        "type": "object",
        "description": "GET suggested SimpleClientSrcRule to trust a given IP/ASN.",
        "title": "GetSuggestedTrustClientRuleRsp",
        "x-displayname": "GET Suggested Trust Client Rule Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedTrustClientRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this client rule will be applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this client rule will be applied.",
            "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])?$"
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested SimpleClientSrcRule to trust a given IP/ASN.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedTrustClientRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedWAFExclusionRuleReq": {
        "type": "object",
        "description": "GET suggested service policy rule to set up WAF rule exclusion for a given WAF security event.",
        "title": "GetSuggestedWAFExclusionRuleReq",
        "x-displayname": "GET Suggested WAF Exclusion Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedWAFExclusionRuleReq",
        "properties": {
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securityApiEndpoint"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "domain": {
            "type": "string",
            "description": "Domain",
            "title": "Domain",
            "maxLength": 256,
            "x-displayname": "Domain",
            "x-ves-example": "juiceshop.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "juiceshop.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "hostname",
              "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
            },
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "exclude_bot_names": {
            "type": "array",
            "description": "Bot name contexts to be excluded for this request.",
            "title": "Exclude Bot Name Contexts",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyBotNameContext"
            },
            "x-displayname": "Exclude Bot Name Contexts.",
            "x-ves-example": "Hydra, Nikto.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "Hydra, Nikto",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Bot name contexts to be excluded for this request.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "exclude_signature_contexts": {
            "type": "array",
            "description": "App Firewall signature contexts to be excluded for this request.",
            "title": "Exclude Signature Contexts",
            "maxItems": 1024,
            "items": {
              "$ref": "#/components/schemas/policyAppFirewallSignatureContext"
            },
            "x-displayname": "Exclude App Firewall Signature Contexts.",
            "x-ves-example": "[[10000001, 30000000]]",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1024",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[[10000001, 30000000]]",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1024",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "App Firewall signature contexts to be excluded for this request.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 1024,
              "uniqueItems": true,
              "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
            }
          },
          "exclude_violation_contexts": {
            "type": "array",
            "description": "App Firewall violation contexts to be excluded for this request.",
            "title": "Exclude Violation Contexts",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyAppFirewallViolationContext"
            },
            "x-displayname": "Exclude App Firewall Violation Contexts.",
            "x-ves-example": "[[VIOL_MANDATORY_HEADER, VIOL_REQUEST_MAX_LENGTH]]",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[[VIOL_MANDATORY_HEADER, VIOL_REQUEST_MAX_LENGTH]]",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "App Firewall violation contexts to be excluded for this request.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this WAF exclusion will be applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this WAF exclusion will be applied.",
            "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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])?$"
          },
          "req_path": {
            "type": "string",
            "description": "Request URL path.",
            "title": "Request Path",
            "maxLength": 256,
            "x-displayname": "Request Path.",
            "x-ves-example": "/abcd/2452422c/xyz.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/abcd/2452422c/xyz",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "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
            }
          },
          "route_uuid": {
            "type": "string",
            "description": "Unique identifier for the request route.",
            "title": "Route UUID",
            "x-displayname": "Route UUID.",
            "x-ves-example": "00000000-0000-4000-8000-25a697151bfa.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.pattern": "^$|^[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}$"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-25a697151bfa",
            "x-validation-rules": {
              "ves.io.schema.rules.string.pattern": "^$|^[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}$"
            },
            "x-f5xc-description-short": "Unique identifier for the request route.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "pattern": "^$|^[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}$",
              "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": "GET suggested service policy rule to set up WAF rule exclusion for a given WAF security event.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedWAFExclusionRuleReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityGetSuggestedWAFExclusionRuleRsp": {
        "type": "object",
        "description": "GET suggested service policy rule to set up WAF rule exclusion for a given WAF security event.",
        "title": "GetSuggestedWAFExclusionRuleRsp",
        "x-displayname": "GET Suggested WAF Exclusion Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.GetSuggestedWAFExclusionRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "HTTP load balancer for which this WAF exclusion will be applied.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "x-f5xc-description-short": "HTTP load balancer for which this WAF exclusion will be applied.",
            "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])?$"
          },
          "waf_exclusion_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "waf_exclusion_policy",
                "field_path": "waf_exclusion_policy",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "waf_exclusion_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policySimpleWafExclusionRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested service policy rule to set up WAF rule exclusion for a given WAF security event.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityGetSuggestedWAFExclusionRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityLoadbalancerData": {
        "type": "object",
        "description": "List of virtual hosts in all the namespaces matching filter provided in the request.",
        "title": "LoadbalancerData",
        "x-displayname": "Load Balancer data.",
        "x-ves-proto-message": "ves.io.schema.app_security.LoadbalancerData",
        "properties": {
          "name": {
            "type": "string",
            "description": "HTTP load balancer name.",
            "title": "Name",
            "x-displayname": "HTTP Load Balancer Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-f5xc-example": "ves-io-frontend",
            "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 of the virtual host.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-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",
              "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_data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securityRequestData"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "security_events_data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySecurityEventsData"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "List of virtual hosts in all the namespaces matching filter provided in the request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityLoadbalancerData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityRequestData": {
        "type": "object",
        "description": "Request Data.",
        "title": "RequestData",
        "x-displayname": "Request Data.",
        "x-ves-proto-message": "ves.io.schema.app_security.RequestData",
        "properties": {
          "count": {
            "type": "string",
            "description": "The number of requests matching the filter for virtual host in the given namespace.",
            "format": "uint64",
            "x-displayname": "Count",
            "x-f5xc-example": "15",
            "x-f5xc-description-short": "The number of requests matching the filter for virtual host in the given namespace.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "max_time": {
            "type": "string",
            "description": "Maximum time at which request ID was found.",
            "title": "Maximum Time",
            "format": "date-time",
            "x-displayname": "Maximum time.",
            "x-ves-example": "01-01-1970T00:00:00Z.",
            "x-f5xc-example": "01-01-1970T00:00:00Z",
            "x-f5xc-description-short": "Maximum time at which request ID was found.",
            "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
            }
          },
          "min_time": {
            "type": "string",
            "description": "Minimum time at which the request ID was found.",
            "title": "Minimum Time",
            "format": "date-time",
            "x-displayname": "Minimum time.",
            "x-ves-example": "01-01-1970T00:00:00Z.",
            "x-f5xc-example": "01-01-1970T00:00:00Z",
            "x-f5xc-description-short": "Minimum time at which the request ID was found.",
            "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 app_securityRequestData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySearchAfterSortValues": {
        "type": "object",
        "description": "These are timestamp and doc_id values returned by elastic search in the search request.\nClient is expected to set these values in a subsequent request to GET the next page of results.",
        "title": "SearchAfterSortValues",
        "x-displayname": "Search After Sort Values.",
        "x-ves-proto-message": "ves.io.schema.app_security.SearchAfterSortValues",
        "properties": {
          "last_doc_id": {
            "type": "string",
            "description": "This is a unique UUID generated by elastic search.",
            "title": "last_doc_id",
            "x-displayname": "Last Doc ID.",
            "x-ves-example": "-8881051689166072872.",
            "x-f5xc-example": "-8881051689166072872",
            "x-f5xc-description-short": "Unique UUID generated by elastic search.",
            "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"
          },
          "last_timestamp": {
            "type": "number",
            "description": "Configuration parameter for last timestamp",
            "title": "last timestamp",
            "format": "double",
            "x-displayname": "Last Timestamp.",
            "x-f5xc-example": "1745695692759",
            "x-f5xc-description-short": "Configuration parameter for last timestamp.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "These are timestamp and doc_id values returned by elastic search in the search request.",
        "x-f5xc-description-medium": "These are timestamp and doc_id values returned by elastic search in the search request. Client is expected to set these values in a subsequent request to GET the next page of results.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySearchAfterSortValues",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySearchFilter": {
        "type": "object",
        "description": "Metric label filter can be specified to query specific metrics based on label match.",
        "title": "Search Filter",
        "x-displayname": "Search Filter.",
        "x-ves-proto-message": "ves.io.schema.app_security.SearchFilter",
        "properties": {
          "label": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchLabel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "op": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchLabelOperator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "array",
            "description": "Value to be compared with.",
            "title": "Value",
            "maxItems": 5,
            "items": {
              "type": "string"
            },
            "x-displayname": "Value",
            "x-ves-example": "[\"blogging-app-namespace-1\", \"namespace-2\"]",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5"
            },
            "x-f5xc-example": "\"[\"blogging-app-namespace-1\", \"namespace-2\"]\"",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5,
              "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
            },
            "maxLength": 15,
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Metric label filter can be specified to query specific metrics based on label match.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySearchFilter",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySearchLabel": {
        "type": "string",
        "description": "List of Virtual Hosts will be returned matching the following labels.",
        "title": "Search Label for VH list API",
        "enum": [
          "REQUEST_ID",
          "SOURCE_IP",
          "DOMAIN_NAME"
        ],
        "default": "REQUEST_ID",
        "x-displayname": "Search Label for VH List API.",
        "x-ves-proto-enum": "ves.io.schema.app_security.SearchLabel",
        "x-f5xc-description-short": "List of Virtual Hosts will be returned matching the following labels.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySearchLabel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"REQUEST_ID\"",
          "example_yaml": "REQUEST_ID\n..."
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySearchLabelOperator": {
        "type": "string",
        "description": "Search Label Operator\nfoo\", \"bar\"]\"",
        "title": "Search Label Operator",
        "enum": [
          "IN",
          "NOT_IN"
        ],
        "default": "IN",
        "x-displayname": "Search Label Operator.",
        "x-ves-proto-enum": "ves.io.schema.app_security.SearchLabelOperator",
        "x-f5xc-example": "field: [",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySearchLabelOperator",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"field: [\"",
          "example_yaml": "'field: ['"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySearchLoadBalancersRequest": {
        "type": "object",
        "description": "GET a list of virtual hosts in all the namespaces matching filter provided in the request.\nThe filter can be a) Request ID b) Source IP.",
        "title": "SearchLoadBalancersRequest",
        "x-displayname": "Search Load Balancers Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SearchLoadBalancersRequest",
        "properties": {
          "label_filter": {
            "type": "array",
            "description": "List of label filter expressions of the form \"label\" `Op` \"value\".\nResponse will only contain data that matches all the conditions specified in the `label_filter`.\nOne or more of the following labels can be specified in the label_filter.\n`REQUEST_ID`, `SOURCE_IP``.",
            "title": "Label Filter",
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/app_securitySearchFilter"
            },
            "x-displayname": "Label Filter.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5"
            },
            "x-f5xc-description-short": "List of label filter expressions of the form \"label\" \"value\". Response will only contain data that matches all the conditions specified in the .",
            "x-f5xc-description-medium": "List of label filter expressions of the form \"label\" \"value\". Response will only contain data that matches all the conditions specified in the . One or more of the following labels can be specified in the label_filter. , `.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5,
              "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 of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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": "GET a list of virtual hosts in all the namespaces matching filter provided in the request.",
        "x-f5xc-description-medium": "GET a list of virtual hosts in all the namespaces matching filter provided in the request. The filter can be a) Request ID b) Source IP.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySearchLoadBalancersRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySearchLoadBalancersResponse": {
        "type": "object",
        "description": "List of virtual hosts in all the namespaces matching filter provided in the request.",
        "title": "SearchLoadBalancersResponse",
        "x-displayname": "Search Load Balancers Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SearchLoadBalancersResponse",
        "properties": {
          "loadbalancers": {
            "type": "array",
            "description": "HTTP load balancer list for which the SearchFilter is applied.",
            "title": "Loadbalancers",
            "items": {
              "$ref": "#/components/schemas/app_securityLoadbalancerData"
            },
            "x-displayname": "HTTP Load Balancer List.",
            "x-ves-example": "[VES-I/O-frontend\", \"ns1\" , \"1\", \"0\"]",
            "x-f5xc-example": "\"[ves-io-frontend\", \"ns1\" , \"1\", \"0\"]\"",
            "x-f5xc-description-short": "HTTP load balancer list for which the SearchFilter is applied.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "List of virtual hosts in all the namespaces matching filter provided in the request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySearchLoadBalancersResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecEventType": {
        "type": "string",
        "description": "Security event can be one of the following types.",
        "title": "Security Event Type",
        "enum": [
          "WAF_SEC_EVENT",
          "L7_POLICY_SEC_EVENT",
          "JS_CHALLENGE_SEC_EVENT",
          "CAPTCHA_CHALLENGE_SEC_EVENT",
          "MALICIOUS_USER_SEC_EVENT",
          "SVC_POLICY_SEC_EVENT",
          "BOT_DEFENSE_SEC_EVENT",
          "API_SEC_EVENT",
          "DDOS_SEC_EVENT",
          "DOS_SEC_EVENT"
        ],
        "default": "WAF_SEC_EVENT",
        "x-displayname": "Security Event Type.",
        "x-ves-proto-enum": "ves.io.schema.app_security.SecEventType",
        "x-f5xc-description-short": "Security event can be one of the following types.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecEventType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"WAF_SEC_EVENT\"",
          "example_yaml": "WAF_SEC_EVENT\n..."
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsAggregationRequest": {
        "type": "object",
        "description": "Request to GET only aggregation data for security events.",
        "title": "Security Events Aggregation Request",
        "x-displayname": "Security Events Aggregation Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsAggregationRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregations are key'ed by user-defined aggregation name. The response will be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security events response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch security events whose timestamp <= end_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security events whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated...",
            "x-f5xc-description-medium": "Fetch security events whose timestamp <= end_time 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
            }
          },
          "namespace": {
            "type": "string",
            "description": "Fetch security events for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch security events for a given 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])?$"
          },
          "query": {
            "type": "string",
            "description": "Query is used to specify the list of matchers\nsyntax for query := {[<matcher>]}\n<matcher> := <field_name><operator>\"<value>\"\n<field_name> := string\nOne or more of these fields in the security event may be specified in the query.\nVh_name - name of the virtual host\nsrc_site - source site\ncity - name of the city\ncountry - country code\n<value> := string\n<operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"]\n= : equal to\n!= : not equal to\n=~ : regex match\n!~ : not regex match\nWhen more than one matcher is specified in the query, then security events matching ALL the matchers will be returned in the response.\nExample: query={country=\"United States\", city=\"California\"} will return all security events originating from California, United States.\n\nOptional: If not specified, all the security events matching the given tenant and namespace will be returned in the response.",
            "title": "query",
            "x-displayname": "Query",
            "x-ves-example": "Query={app_type=\"blogging_app\"}",
            "x-f5xc-example": "\"query={app_type=\"blogging_app\"}\"",
            "x-f5xc-description-short": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> :=...",
            "x-f5xc-description-medium": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> := string One or more of these fields in the security event may be specified in the query. Vh_name - name of the virtual host src_site - source site city ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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": "Fetch security events whose timestamp >= start_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security events whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be...",
            "x-f5xc-description-medium": "Fetch security events whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-description-short": "Request to GET only aggregation data for security events.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityEventsAggregationRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsAggregationResponse": {
        "type": "object",
        "description": "Response message for SecurityEventsAggregationRequest.",
        "title": "Security Events Aggregation Response",
        "x-displayname": "Security Events Aggregation Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsAggregationResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregation data is key'ed with the aggregation name specified in the request.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security events response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregation data is key'ed with the...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of security events that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Total number of security events that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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": "Response message for SecurityEventsAggregationRequest.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityEventsAggregationResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsCountRequest": {
        "type": "object",
        "description": "Request to GET number of security events for a given namespace.",
        "title": "SecurityEventsCountRequest",
        "x-displayname": "Security Events Count Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsCountRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "End time of metric collection from which data will be considered.\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "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.",
            "x-f5xc-description-medium": "End time of metric collection from which data will be considered. 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
            }
          },
          "group_by": {
            "type": "array",
            "description": "Aggregate data by one or more labels listed here.\n`NAMESPACE`, `VIRTUAL_HOST`, `SRC_SITE`, `SRC_INSTANCE`, `SEC_EVENT_TYPE`.\n\nOptional: If not specified, then the security events are aggregated/grouped by `VIRTUAL_HOST`, `SEC_EVENT_TYPE`.",
            "title": "Group by",
            "items": {
              "$ref": "#/components/schemas/metricsSecurityMetricLabel"
            },
            "x-displayname": "Group By",
            "x-f5xc-description-short": "Aggregate data by one or more labels listed here. , , , , . Optional: If not specified, then the security events are aggregated/grouped by , .",
            "x-f5xc-description-medium": "Aggregate data by one or more labels listed here. , , , , . Optional: If not specified, then the security events are aggregated/grouped by , .",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "label_filter": {
            "type": "array",
            "description": "List of label filter expressions of the form \"label\" `Op` \"value\".\nResponse will only contain data that matches all the conditions specified in the `label_filter`.\nOne or more of the following labels can be specified in the label_filter.\n`VIRTUAL_HOST`, `SRC_SITE`, `SRC_INSTANCE`, `SEC_EVENT_TYPE`.\n\nOptional: If not specified, then the metrics will be filtered only based on the `namespace` in the request.",
            "title": "Label Filter",
            "items": {
              "$ref": "#/components/schemas/metricsSecurityMetricLabelFilter"
            },
            "x-displayname": "Label Filter.",
            "x-f5xc-description-short": "List of label filter expressions of the form \"label\" \"value\". Response will only contain data that matches all the conditions specified in the .",
            "x-f5xc-description-medium": "List of label filter expressions of the form \"label\" \"value\". Response will only contain data that matches all the conditions specified in the . One or more of the following labels can be specified in the label_filter. , , , .",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace is used to scope the security events for the given namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Namespace is used to scope the security events for the given 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.\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "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.",
            "x-f5xc-description-medium": "Start time of metric collection from which data will be considered. 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": "15m",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_step": "true"
            },
            "x-f5xc-example": "15m",
            "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-description-short": "Request to GET number of security events for a given namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityEventsCountRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsCountResponse": {
        "type": "object",
        "description": "Number of security events for each unique combination of group_by labels in the SecurityEventsCountRequest.",
        "title": "SecurityEventsCountResponse",
        "x-displayname": "Security Events Count Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsCountResponse",
        "properties": {
          "data": {
            "type": "array",
            "description": "List of security events counter data.",
            "title": "Security events counter data",
            "items": {
              "$ref": "#/components/schemas/metricsSecurityEventsCounter"
            },
            "x-displayname": "Security events counter data.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "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-description-short": "Number of security events for each unique combination of group_by labels in the SecurityEventsCountRequest.",
        "x-f5xc-description-medium": "Number of security events for each unique combination of group_by labels in the SecurityEventsCountRequest.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityEventsCountResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsData": {
        "type": "object",
        "description": "Security events data.",
        "title": "SecurityEventsData",
        "x-displayname": "Security Events Data.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsData",
        "properties": {
          "count": {
            "type": "string",
            "description": "The number of security events for virtual host in the given namespace.",
            "format": "uint64",
            "x-displayname": "Count",
            "x-f5xc-example": "15",
            "x-f5xc-description-short": "The number of security events for virtual host in the given namespace.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "max_time": {
            "type": "string",
            "description": "Maximum start time at which security event was found.",
            "title": "Maximum Time",
            "format": "date-time",
            "x-displayname": "Maximum time.",
            "x-ves-example": "01-01-1970T00:00:00Z.",
            "x-f5xc-example": "01-01-1970T00:00:00Z",
            "x-f5xc-description-short": "Maximum start time at which security event was found.",
            "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
            }
          },
          "min_time": {
            "type": "string",
            "description": "Minimum time at which the security event was found.",
            "title": "Minimum Time",
            "format": "date-time",
            "x-displayname": "Minimum time.",
            "x-ves-example": "01-01-1970T00:00:00Z.",
            "x-f5xc-example": "01-01-1970T00:00:00Z",
            "x-f5xc-description-short": "Minimum time at which the security event was found.",
            "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 app_securitySecurityEventsData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsRequest": {
        "type": "object",
        "description": "Request to fetch security events.",
        "title": "Security Events Request",
        "x-displayname": "Security Events Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregations are key'ed by user-defined aggregation name. The response will be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security events response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch security events whose timestamp <= end_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security events whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated...",
            "x-f5xc-description-medium": "Fetch security events whose timestamp <= end_time 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
            }
          },
          "limit": {
            "type": "integer",
            "description": "Limits the number of security events returned in the response\nOptional: If not specified, first or last 500 security events that matches the query (depending on the sort order) will be returned in the response.\nThe maximum value for limit is 500.",
            "title": "limit",
            "format": "int32",
            "x-displayname": "Limit",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-description-short": "Limits the number of security events returned in the response Optional: If not specified, first or last 500 security events that matches the query...",
            "x-f5xc-description-medium": "Limits the number of security events returned in the response Optional: If not specified, first or last 500 security events that matches the query (depending on the sort order) will be returned in the response. The maximum value for limit is 500.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "policy",
              "minimum": 1,
              "maximum": 1000000,
              "multipleOf": 1,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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": "Fetch security events for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch security events for a given 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])?$"
          },
          "query": {
            "type": "string",
            "description": "Query is used to specify the list of matchers\nsyntax for query := {[<matcher>]}\n<matcher> := <field_name><operator>\"<value>\"\n<field_name> := string\nOne or more of these fields in the security event may be specified in the query.\nVh_name - name of the virtual host\nsrc_site - source site\ncity - name of the city\ncountry - country code\n<value> := string\n<operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"]\n= : equal to\n!= : not equal to\n=~ : regex match\n!~ : not regex match\nWhen more than one matcher is specified in the query, then security events matching ALL the matchers will be returned in the response.\nExample: query={country=\"United States\", city=\"California\"} will return all security events originating from California, United States.\n\nOptional: If not specified, all the security events matching the given tenant and namespace will be returned in the response.",
            "title": "query",
            "x-displayname": "Query",
            "x-ves-example": "Query={app_type=\"blogging_app\"}",
            "x-f5xc-example": "\"query={app_type=\"blogging_app\"}\"",
            "x-f5xc-description-short": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> :=...",
            "x-f5xc-description-medium": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> := string One or more of these fields in the security event may be specified in the query. Vh_name - name of the virtual host src_site - source site city ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scroll": {
            "type": "boolean",
            "description": "Scroll is used to retrieve large number of security events (or all security events) that matches the query.\nIf scroll is set to true, the scroll_id in the response can be used in the scroll API to fetch the next\nbatch of security events until there are no more security events left to return. The number of messages in each batch is determined\nby the limit field.\nNote: Scroll is used for processing large amount of data and therefore is not intended for real time user request.\nOptional: default is false.",
            "title": "scroll",
            "format": "boolean",
            "x-displayname": "Scroll",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Scroll is used to retrieve large number of security events (or all security events) that matches the query.",
            "x-f5xc-description-medium": "Scroll is used to retrieve large number of security events (or all security events) that matches the query. If scroll is set to true, the scroll_id in the response can be used in the scroll API to fetch the next batch of security events until there are no more security events left to return. The...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "search_after": {
            "type": "boolean",
            "description": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query.\nIf search_after is set to true, the sort_values in the response can be used in the API to fetch the next\nbatch of logs. The number of messages in each batch is determined by the limit field.\nNote: Search After is used for processing large amount of data and therefore is not intended for real time user request.\nOptional: default is false.",
            "title": "search after",
            "format": "boolean",
            "x-displayname": "Search After.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query.",
            "x-f5xc-description-medium": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query. If search_after is set to true, the sort_values in the response can be used in the API to fetch the next batch of logs. The number of messages in each batch is determined by the limit field.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sort": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSortOrder"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sort_by": {
            "type": "string",
            "description": "Optional: default is sort by last_event_time.",
            "title": "sort by",
            "x-displayname": "Sort By",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Optional: default is sort by last_event_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
            }
          },
          "sort_values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchAfterSortValues"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Fetch security events whose timestamp >= start_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security events whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be...",
            "x-f5xc-description-medium": "Fetch security events whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityEventsRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsResponse": {
        "type": "object",
        "description": "Response message for SecurityEventsRequest/SecurityEventsScrollRequest.",
        "title": "Security Events Response",
        "x-displayname": "Security Events Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security events response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "events": {
            "type": "array",
            "description": "List of security events that matched the query. Contains no more than 500 messages.",
            "title": "events",
            "items": {
              "type": "string"
            },
            "x-displayname": "Events",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "List of security events that matched the query. Contains no more than 500 messages.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "last_sort_values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchAfterSortValues"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scroll_id": {
            "type": "string",
            "description": "Long Base-64 encoded string which can be used to retrieve the next batch of security events using the scroll request.\nEmpty scroll_id indicates no more messages to scroll (EOF).\nNote: scroll_id is valid only for 2 minutes. I.e., If one intend to retrieve next batch of the result, then the\nscroll request should be sent within 2 minutes upon receiving the SecurityEventsResponse.",
            "title": "scroll id",
            "x-displayname": "Scroll ID",
            "x-ves-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==.",
            "x-f5xc-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
            "x-f5xc-description-short": "Long Base-64 encoded string which can be used to retrieve the next batch of security events using the scroll request.",
            "x-f5xc-description-medium": "Long Base-64 encoded string which can be used to retrieve the next batch of security events using the scroll request. Empty scroll_id indicates no more messages to scroll (EOF).",
            "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"
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of security events that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Total number of security events that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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": "Response message for SecurityEventsRequest/SecurityEventsScrollRequest.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityEventsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityEventsScrollRequest": {
        "type": "object",
        "description": "Scroll request is used to fetch large number of security events in multiple batches with each SecurityEventsResponse\ncontaining no more than 500 messages. To scroll through more than 500 or all WAF security events, one can use the\nSecurityEventScrollRequest. Use the scroll_id returned in the SecurityEventsResponse to fetch the next batch of security events and\none can continue this process till the scroll_id returned is \"\" which indicates no more messages to scroll.",
        "title": "Security Events Scroll Request",
        "x-displayname": "Security Events Scroll Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityEventsScrollRequest",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Fetch the WAF security events scoped by namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch the WAF security events scoped by 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])?$"
          },
          "scroll_id": {
            "type": "string",
            "description": "Long Base-64 encoded string which can be used to retrieve next batch of security events.",
            "title": "scroll id",
            "x-displayname": "Scroll ID",
            "x-ves-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==.",
            "x-f5xc-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
            "x-f5xc-description-short": "Long Base-64 encoded string which can be used to retrieve next batch of security events.",
            "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"
          }
        },
        "x-f5xc-description-short": "Scroll request is used to fetch large number of security events in multiple batches with each SecurityEventsResponse containing no more than 500...",
        "x-f5xc-description-medium": "Scroll request is used to fetch large number of security events in multiple batches with each SecurityEventsResponse containing no more than 500 messages. To scroll through more than 500 or all WAF security events, one can use the SecurityEventScrollRequest. Use the scroll_id returned in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityEventsScrollRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityIncidentsAggregationRequest": {
        "type": "object",
        "description": "Request to GET only aggregation data for security incidents.",
        "title": "Security Incidents Aggregation Request",
        "x-displayname": "Security Incidents Aggregation Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityIncidentsAggregationRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over security incidents response. If the number of security incidents\nthat matched the query is large and cannot be returned in a single response message, user can GET helpful\ninsights/summary using aggregations. The aggregations are key'ed by user-defined aggregation name.\nThe response will be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over security incidents response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over security incidents response. If the number of security incidents that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch security incidents whose timestamp <= end_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security incidents whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be...",
            "x-f5xc-description-medium": "Fetch security incidents whose timestamp <= end_time 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
            }
          },
          "namespace": {
            "type": "string",
            "description": "Fetch security incidents for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch security incidents for a given 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])?$"
          },
          "query": {
            "type": "string",
            "description": "Query is used to specify the list of matchers\nsyntax for query := {[<matcher>]}\n<matcher> := <field_name><operator>\"<value>\"\n<field_name> := string\nOne or more of these fields in the security event may be specified in the query.\nVh_name - name of the virtual host\nsrc_site - source site\ncity - name of the city\ncountry - country code\n<value> := string\n<operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"]\n= : equal to\n!= : not equal to\n=~ : regex match\n!~ : not regex match\nWhen more than one matcher is specified in the query, then security incidents matching ALL the matchers will be\nreturned in the response.\nExample: query={country=\"United States\", city=\"California\"} will return all security incidents originating from\nCalifornia, United States.\n\nOptional: If not specified, all security incidents matching the given tenant and namespace will be returned in\nthe response.",
            "title": "query",
            "x-displayname": "Query",
            "x-ves-example": "Query={app_type=\"blogging_app\"}",
            "x-f5xc-example": "\"query={app_type=\"blogging_app\"}\"",
            "x-f5xc-description-short": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> :=...",
            "x-f5xc-description-medium": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> := string One or more of these fields in the security event may be specified in the query. Vh_name - name of the virtual host src_site - source site city ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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": "Fetch security incidents whose timestamp >= start_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security incidents whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be...",
            "x-f5xc-description-medium": "Fetch security incidents whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-description-short": "Request to GET only aggregation data for security incidents.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityIncidentsAggregationRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityIncidentsAggregationResponse": {
        "type": "object",
        "description": "Response message for SecurityIncidentsAggregationRequest.",
        "title": "Security Incidents Aggregation Response",
        "x-displayname": "Security Incidents Aggregation Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityIncidentsAggregationResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security incidents response. If the number of security incidents\nthat matched the query is large and cannot be returned in a single response message, user can GET helpful\ninsights/summary using aggregations. The aggregation data is key'ed with the aggregation name specified in the request.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security incidents response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security incidents response. If the number of security incidents that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregation data is key'ed with...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of security incidents that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Total number of security incidents that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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": "Response message for SecurityIncidentsAggregationRequest.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityIncidentsAggregationResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityIncidentsRequest": {
        "type": "object",
        "description": "Request to fetch security incidents.",
        "title": "Security Incidents Request",
        "x-displayname": "Security Incidents Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityIncidentsRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security incidents response. If the number of security incidents\nthat matched the query is large and cannot be returned in a single response message, user can GET helpful\ninsights/summary using aggregations. The aggregations are key'ed by user-defined aggregation name. The response\nwill be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security incidents response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security incidents response. If the number of security incidents that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch security incidents whose timestamp <= end_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security incidents whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be...",
            "x-f5xc-description-medium": "Fetch security incidents whose timestamp <= end_time 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
            }
          },
          "limit": {
            "type": "integer",
            "description": "Limits the number of security incidents returned in the response\nOptional: If not specified, first or last 500 security events that matches the query (depending on the sort order) will be returned in the response.\nThe maximum value for limit is 500.",
            "title": "limit",
            "format": "int32",
            "x-displayname": "Limit",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-description-short": "Limits the number of security incidents returned in the response Optional: If not specified, first or last 500 security events that matches the...",
            "x-f5xc-description-medium": "Limits the number of security incidents returned in the response Optional: If not specified, first or last 500 security events that matches the query (depending on the sort order) will be returned in the response. The maximum value for limit is 500.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "policy",
              "minimum": 1,
              "maximum": 1000000,
              "multipleOf": 1,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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": "Fetch security incidents for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch security incidents for a given 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])?$"
          },
          "query": {
            "type": "string",
            "description": "Query is used to specify the list of matchers\nsyntax for query := {[<matcher>]}\n<matcher> := <field_name><operator>\"<value>\"\n<field_name> := string\nOne or more of these fields in the security incident may be specified in the query.\nVh_name - name of the virtual host\nsrc_site - source site\ncity - name of the city\ncountry - country code\n<value> := string\n<operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"]\n= : equal to\n!= : not equal to\n=~ : regex match\n!~ : not regex match\nWhen more than one matcher is specified in the query, then security incidents matching ALL the matchers will be returned in the response.\nExample: query={country=\"United States\", city=\"California\"} will return all security events originating from California, United States.\n\nOptional: If not specified, all the security events matching the given tenant and namespace will be returned in the response.",
            "title": "query",
            "x-displayname": "Query",
            "x-ves-example": "Query={app_type=\"blogging_app\"}",
            "x-f5xc-example": "\"query={app_type=\"blogging_app\"}\"",
            "x-f5xc-description-short": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> :=...",
            "x-f5xc-description-medium": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> := string One or more of these fields in the security incident may be specified in the query. Vh_name - name of the virtual host src_site - source site city ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scroll": {
            "type": "boolean",
            "description": "Scroll is used to retrieve large number of security incidents (or all security incidents) that matches the query.\nIf scroll is set to true, the scroll_id in the response can be used in the scroll API to fetch the next\nbatch of security events until there are no more security events left to return. The number of messages in each\nbatch is determined by the limit field.\nNote: Scroll is used for processing large amount of data and therefore is not intended for real time user request.\nOptional: default is false.",
            "title": "scroll",
            "format": "boolean",
            "x-displayname": "Scroll",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Scroll is used to retrieve large number of security incidents (or all security incidents) that matches the query.",
            "x-f5xc-description-medium": "Scroll is used to retrieve large number of security incidents (or all security incidents) that matches the query. If scroll is set to true, the scroll_id in the response can be used in the scroll API to fetch the next batch of security events until there are no more security events left to...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "search_after": {
            "type": "boolean",
            "description": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query.\nIf search_after is set to true, the sort_values in the response can be used in the API to fetch the next\nbatch of logs. The number of messages in each batch is determined by the limit field.\nNote: Search After is used for processing large amount of data and therefore is not intended for real time user request.\nOptional: default is false.",
            "title": "search after",
            "format": "boolean",
            "x-displayname": "Search After.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query.",
            "x-f5xc-description-medium": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query. If search_after is set to true, the sort_values in the response can be used in the API to fetch the next batch of logs. The number of messages in each batch is determined by the limit field.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sort": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSortOrder"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sort_by": {
            "type": "string",
            "description": "Optional: default is sort by last_event_time.",
            "title": "sort by",
            "x-displayname": "Sort By",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Optional: default is sort by last_event_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
            }
          },
          "sort_values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchAfterSortValues"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Fetch security incidents whose timestamp >= start_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch security incidents whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be...",
            "x-f5xc-description-medium": "Fetch security incidents whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityIncidentsRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityIncidentsResponse": {
        "type": "object",
        "description": "Response message for SecurityIncidentsRequest/SecurityIncidentsScrollRequest.",
        "title": "Security Incidents Response",
        "x-displayname": "Security Incidents Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityIncidentsResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security incidents response. If the number of security incidents\nthat matched the query is large and cannot be returned in a single response message, user can GET helpful\ninsights/summary using aggregations.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security incidents response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security incidents response. If the number of security incidents that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "incidents": {
            "type": "array",
            "description": "List of security incidents that matched the query. Contains no more than 500 messages.",
            "title": "incidents",
            "items": {
              "type": "string"
            },
            "x-displayname": "Incidents",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "List of security incidents that matched the query. Contains no more than 500 messages.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "last_sort_values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchAfterSortValues"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scroll_id": {
            "type": "string",
            "description": "Long Base-64 encoded string which can be used to retrieve the next batch of security incidents using the scroll\nrequest.\nEmpty scroll_id indicates no more messages to scroll (EOF).\nNote: scroll_id is valid only for 2 minutes. I.e., If one intend to retrieve next batch of the result, then the\nscroll request should be sent within 2 minutes upon receiving the SecurityIncidentsResponse.",
            "title": "scroll id",
            "x-displayname": "Scroll ID",
            "x-ves-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==.",
            "x-f5xc-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
            "x-f5xc-description-short": "Long Base-64 encoded string which can be used to retrieve the next batch of security incidents using the scroll request.",
            "x-f5xc-description-medium": "Long Base-64 encoded string which can be used to retrieve the next batch of security incidents using the scroll request. Empty scroll_id indicates no more messages to scroll (EOF).",
            "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"
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of security events that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Total number of security events that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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": "Response message for SecurityIncidentsRequest/SecurityIncidentsScrollRequest.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityIncidentsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySecurityIncidentsScrollRequest": {
        "type": "object",
        "description": "Scroll request is used to fetch large number of security incidents in multiple batches with each SecurityIncidentsResponse\ncontaining no more than 500 messages. To scroll through more than 500 or all security incidents, one can use the\nSecurityIncidentsScrollRequest. Use the scroll_id returned in the SecurityIncidentsResponse to fetch the next batch\nof security events and one can continue this process till the scroll_id returned is \"\" which indicates no more\nmessages to scroll.",
        "title": "Security Incidents Scroll Request",
        "x-displayname": "Security Incidents Scroll Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SecurityIncidentsScrollRequest",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Fetch security incidents for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch security incidents for a given 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])?$"
          },
          "scroll_id": {
            "type": "string",
            "description": "Long Base-64 encoded string which can be used to retrieve next batch of security events.",
            "title": "scroll id",
            "x-displayname": "Scroll ID",
            "x-ves-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==.",
            "x-f5xc-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
            "x-f5xc-description-short": "Long Base-64 encoded string which can be used to retrieve next batch of security events.",
            "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"
          }
        },
        "x-f5xc-description-short": "Scroll request is used to fetch large number of security incidents in multiple batches with each SecurityIncidentsResponse containing no more than...",
        "x-f5xc-description-medium": "Scroll request is used to fetch large number of security incidents in multiple batches with each SecurityIncidentsResponse containing no more than 500 messages. To scroll through more than 500 or all security incidents, one can use the SecurityIncidentsScrollRequest. Use the scroll_id returned...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySecurityIncidentsScrollRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySuspiciousUserLogsAggregationRequest": {
        "type": "object",
        "description": "Request to GET only aggregation data for suspicious user logs.",
        "title": "Suspicious User Logs Aggregation Request",
        "x-displayname": "Suspicious User Logs Aggregation Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SuspiciousUserLogsAggregationRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the suspicious user logs response. If the number of logs that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregations are key'ed by user-defined aggregation name. The response will be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the suspicious user logs response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the suspicious user logs response. If the number of logs that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by user-defined...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch suspicious user logs whose timestamp <= end_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch suspicious user logs whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be...",
            "x-f5xc-description-medium": "Fetch suspicious user logs whose timestamp <= end_time 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
            }
          },
          "namespace": {
            "type": "string",
            "description": "Fetch suspicious user logs for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch suspicious user logs for a given 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])?$"
          },
          "query": {
            "type": "string",
            "description": "Query is used to specify the list of matchers\nsyntax for query := {[<matcher>]}\n<matcher> := <field_name><operator>\"<value>\"\n<field_name> := string\nOne or more of these fields in the suspicious user logs may be specified in the query.\nVh_name - name of the virtual host\nuser - user ID\nsite - source site\ncity - name of the city\ncountry - country code\n<value> := string\n<operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"]\n= : equal to\n!= : not equal to\n=~ : regex match\n!~ : not regex match\nWhen more than one matcher is specified in the query, then suspicious user logs matching ALL the matchers will be returned in the response.\n\nOptional: If not specified, all the suspicious user logs matching the given tenant and namespace will be returned in the response.",
            "title": "query",
            "x-displayname": "Query",
            "x-ves-example": "Query={vh_name=\"vh-1\", site=\"CE-01\"}",
            "x-f5xc-example": "\"query={vh_name=\"vh-1\", site=\"ce-01\"}\"",
            "x-f5xc-description-short": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> :=...",
            "x-f5xc-description-medium": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> := string One or more of these fields in the suspicious user logs may be specified in the query. Vh_name - name of the virtual host user - user ID site ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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": "Fetch suspicious user logs whose timestamp >= start_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch suspicious user logs whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be...",
            "x-f5xc-description-medium": "Fetch suspicious user logs whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-description-short": "Request to GET only aggregation data for suspicious user logs.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySuspiciousUserLogsAggregationRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySuspiciousUserLogsAggregationResponse": {
        "type": "object",
        "description": "Response message for SuspiciousUserLogsAggregationRequest.",
        "title": "Suspicious User Logs Aggregation Response",
        "x-displayname": "Suspicious User Logs Aggregation Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SuspiciousUserLogsAggregationResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the suspicious user logs response. If the number of logs that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregation data is key'ed with the aggregation name specified in the request.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the suspicious user logs response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the suspicious user logs response. If the number of logs that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregation data is key'ed with the...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of suspicious user logs that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "1400",
            "x-f5xc-example": "1400",
            "x-f5xc-description-short": "Total number of suspicious user logs that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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": "Response message for SuspiciousUserLogsAggregationRequest.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySuspiciousUserLogsAggregationResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySuspiciousUserLogsRequest": {
        "type": "object",
        "description": "Request to fetch suspicious user logs.",
        "title": "Suspicious User Logs Request",
        "x-displayname": "Suspicious User Logs Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SuspiciousUserLogsRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the suspicious user logs response. If the number of logs that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregations are key'ed by user-defined aggregation name. The response will be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the suspicious user logs response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the suspicious user logs response. If the number of logs that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by user-defined...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch suspicious user logs whose timestamp <= end_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch suspicious user logs whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be...",
            "x-f5xc-description-medium": "Fetch suspicious user logs whose timestamp <= end_time 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
            }
          },
          "limit": {
            "type": "integer",
            "description": "Limits the number of logs returned in the response\nOptional: If not specified, first or last 500 logs that matches the query (depending on the sort order) will be returned in the response.\nThe maximum value for limit is 500.",
            "title": "limit",
            "format": "int32",
            "x-displayname": "Limit",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-description-short": "Limits the number of logs returned in the response Optional: If not specified, first or last 500 logs that matches the query (depending on the...",
            "x-f5xc-description-medium": "Limits the number of logs returned in the response Optional: If not specified, first or last 500 logs that matches the query (depending on the sort order) will be returned in the response. The maximum value for limit is 500.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "policy",
              "minimum": 1,
              "maximum": 1000000,
              "multipleOf": 1,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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": "Fetch suspicious user logs for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch suspicious user logs for a given 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])?$"
          },
          "query": {
            "type": "string",
            "description": "Query is used to specify the list of matchers\nsyntax for query := {[<matcher>]}\n<matcher> := <field_name><operator>\"<value>\"\n<field_name> := string\nOne or more of these fields in the suspicious user logs may be specified in the query.\nVh_name - name of the virtual host\nuser - user ID\nsite - source site\ncity - name of the city\ncountry - country code\n<value> := string\n<operator> := [\"=\"|\"!=\"|\"=~\"|\"!~\"]\n= : equal to\n!= : not equal to\n=~ : regex match\n!~ : not regex match\nWhen more than one matcher is specified in the query, then suspicious user logs matching ALL the matchers will be returned in the response.\n\nOptional: If not specified, all the suspicious user logs matching the given tenant and namespace will be returned in the response.",
            "title": "query",
            "x-displayname": "Query",
            "x-ves-example": "Query={vh_name=\"vh-1\", site=\"CE-01\"}",
            "x-f5xc-example": "\"query={vh_name=\"vh-1\", site=\"ce-01\"}\"",
            "x-f5xc-description-short": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> :=...",
            "x-f5xc-description-medium": "Query is used to specify the list of matchers syntax for query := {[<matcher>]} <matcher> := <field_name><operator>\"<value>\" <field_name> := string One or more of these fields in the suspicious user logs may be specified in the query. Vh_name - name of the virtual host user - user ID site ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scroll": {
            "type": "boolean",
            "description": "Scroll is used to retrieve large number of logs (or all logs) that matches the query.\nIf scroll is set to true, the scroll_id in the response can be used in the scroll API to fetch the next\nbatch of logs until there are no logs left to return. The number of logs in each batch is determined\nby the limit field.\nNote: Scroll is used for processing large amount of data and therefore is not intended for real time user request.\nOptional: default is false.",
            "title": "scroll",
            "format": "boolean",
            "x-displayname": "Scroll",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Scroll is used to retrieve large number of logs (or all logs) that matches the query.",
            "x-f5xc-description-medium": "Scroll is used to retrieve large number of logs (or all logs) that matches the query. If scroll is set to true, the scroll_id in the response can be used in the scroll API to fetch the next batch of logs until there are no logs left to return. The number of logs in each batch is determined by...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "search_after": {
            "type": "boolean",
            "description": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query.\nIf search_after is set to true, the sort_values in the response can be used in the API to fetch the next\nbatch of logs. The number of messages in each batch is determined by the limit field.\nNote: Search After is used for processing large amount of data and therefore is not intended for real time user request.\nOptional: default is false.",
            "title": "search after",
            "format": "boolean",
            "x-displayname": "Search After.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query.",
            "x-f5xc-description-medium": "Search After is used to retrieve large number of log messages (or all log messages) that matches the query. If search_after is set to true, the sort_values in the response can be used in the API to fetch the next batch of logs. The number of messages in each batch is determined by the limit field.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sort": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSortOrder"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sort_by": {
            "type": "string",
            "description": "Optional: default is sort by last_event_time.",
            "title": "sort by",
            "x-displayname": "Sort By",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Optional: default is sort by last_event_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
            }
          },
          "sort_values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchAfterSortValues"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Fetch suspicious user logs whose timestamp >= start_time\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": "1570007981.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570007981",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch suspicious user logs whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be...",
            "x-f5xc-description-medium": "Fetch suspicious user logs whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySuspiciousUserLogsRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySuspiciousUserLogsResponse": {
        "type": "object",
        "description": "Response message for Suspicious User Logs Request.",
        "title": "Suspicious User Logs Response",
        "x-displayname": "Suspicious User Logs Response.",
        "x-ves-proto-message": "ves.io.schema.app_security.SuspiciousUserLogsResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the security events response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the security events response. If the number of security events that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "last_sort_values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_securitySearchAfterSortValues"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "logs": {
            "type": "array",
            "description": "List of log messages that matched the query. Contains no more than 500 messages.",
            "title": "events",
            "items": {
              "type": "string"
            },
            "x-displayname": "Events",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "List of log messages that matched the query. Contains no more than 500 messages.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scroll_id": {
            "type": "string",
            "description": "Long Base-64 encoded string which can be used to retrieve the next batch of suspicious user logs using the scroll request.\nEmpty scroll_id indicates no more messages to scroll (EOF).\nNote: scroll_id is valid only for 2 minutes. I.e., If one intend to retrieve next batch of the result, then the\nscroll request should be sent within 2 minutes upon receiving the SuspiciousUserLogsResponse.",
            "title": "scroll id",
            "x-displayname": "Scroll ID",
            "x-ves-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==.",
            "x-f5xc-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
            "x-f5xc-description-short": "Long Base-64 encoded string which can be used to retrieve the next batch of suspicious user logs using the scroll request.",
            "x-f5xc-description-medium": "Long Base-64 encoded string which can be used to retrieve the next batch of suspicious user logs using the scroll request. Empty scroll_id indicates no more messages to scroll (EOF).",
            "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"
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of logs that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-description-short": "Total number of logs that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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": "Response message for Suspicious User Logs Request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySuspiciousUserLogsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securitySuspiciousUserLogsScrollRequest": {
        "type": "object",
        "description": "Scroll request is used to fetch large number of suspicious user logs in multiple batches with each SuspiciousUserLogsResponse\ncontaining no more than 500 messages. To scroll through more than 500 or all messages, one can use the\nSuspiciousUserLogsScrollRequest. Use the scroll_id returned in the SuspiciousUserLogsResponse to fetch the next batch of logs\nand one can continue this process till the scroll_id returned is \"\" which indicates no more logs to scroll.",
        "title": "Suspicious User Logs Scroll Request",
        "x-displayname": "Suspicious User Logs Scroll Request.",
        "x-ves-proto-message": "ves.io.schema.app_security.SuspiciousUserLogsScrollRequest",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Fetch the next batch of suspicious user logs scoped by namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Bloggin-app-namespace-1.",
            "x-f5xc-example": "bloggin-app-namespace-1",
            "x-f5xc-description-short": "Fetch the next batch of suspicious user logs scoped by 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])?$"
          },
          "scroll_id": {
            "type": "string",
            "description": "Long Base-64 encoded string which can be used to retrieve next batch of security events.",
            "title": "scroll id",
            "x-displayname": "Scroll ID",
            "x-ves-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==.",
            "x-f5xc-example": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
            "x-f5xc-description-short": "Long Base-64 encoded string which can be used to retrieve next batch of security events.",
            "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"
          }
        },
        "x-f5xc-description-short": "Scroll request is used to fetch large number of suspicious user logs in multiple batches with each SuspiciousUserLogsResponse containing no more...",
        "x-f5xc-description-medium": "Scroll request is used to fetch large number of suspicious user logs in multiple batches with each SuspiciousUserLogsResponse containing no more than 500 messages. To scroll through more than 500 or all messages, one can use the SuspiciousUserLogsScrollRequest. Use the scroll_id returned in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securitySuspiciousUserLogsScrollRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_securityThreatCampaign": {
        "type": "object",
        "description": "Threat Campaign object representing the created threat campaign.",
        "title": "Threat Campaign",
        "x-displayname": "Threat Campaign.",
        "x-ves-proto-message": "ves.io.schema.app_security.ThreatCampaign",
        "properties": {
          "attack_type": {
            "type": "string",
            "description": "The Threat Campaign Attack Type.",
            "title": "attack_type",
            "x-displayname": "Attack Type.",
            "x-ves-example": "Server Side Code Injection.",
            "x-f5xc-example": "Server Side Code Injection",
            "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
            }
          },
          "description": {
            "type": "string",
            "description": "The Threat Campaign Description.",
            "title": "description",
            "x-displayname": "Description.",
            "x-ves-example": "This campaign aims to identify Drupal web servers vulnerable to Drupalgeddon2 RCE vulnerability (CVE-2018-7600). The threat actor instructs the server to download and execute a cryptocurrency miner. The same threat actor was previously detected exploiting Drupal REST Module RCE vulnerability (CVE-2019-6340).",
            "x-f5xc-example": "This campaign aims to identify Drupal web servers vulnerable to Drupalgeddon2 RCE vulnerability (CVE-2018-7600). The threat actor instructs the server to download and execute a cryptocurrency miner.   The same threat actor was previously detected exploiting Drupal REST Module RCE vulnerability (CVE-2019-6340).",
            "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": "The Threat Campaign ID.",
            "title": "id",
            "x-displayname": "ID",
            "x-ves-example": "Cmp5641a5adbeabaf2708ce7663ad937df8.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "cmp5641a5adbeabaf2708ce7663ad937df8",
            "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
            }
          },
          "intent": {
            "type": "string",
            "description": "The Threat Campaign Intent.",
            "title": "intent",
            "x-displayname": "Intent",
            "x-ves-example": "Malware Spreading - Crypto Currency Miner.",
            "x-f5xc-example": "Malware Spreading - Crypto Currency Miner",
            "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
            }
          },
          "last_update": {
            "type": "string",
            "description": "The Threat Campaign last update time.",
            "title": "last_update",
            "x-displayname": "Last Update.",
            "x-ves-example": "2022/11/29 20:19:17.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "2022/11/29 20:19:17",
            "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
            }
          },
          "malwares": {
            "type": "array",
            "description": "The Threat Campaign Malwares.",
            "title": "malwares",
            "items": {
              "type": "string"
            },
            "x-displayname": "Malwares",
            "x-ves-example": "['Cryptocurrency Miner']",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "['Cryptocurrency Miner']",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The Threat Campaign Name.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Drupal 'Drupalgeddon2' RCE - exec48ne.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "Drupal 'Drupalgeddon2' RCE - exec48ne",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "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])?$"
          },
          "references": {
            "type": "array",
            "description": "The Threat Campaign References.",
            "title": "references",
            "items": {
              "type": "string"
            },
            "x-displayname": "References.",
            "x-ves-example": "['CVE-2018-7600']",
            "x-f5xc-example": "['CVE-2018-7600']",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "risk": {
            "type": "string",
            "description": "The Threat Campaign Risk.",
            "title": "risk",
            "x-displayname": "Risk",
            "x-ves-example": "High",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "High",
            "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
            }
          },
          "systems": {
            "type": "array",
            "description": "The Threat Campaign Systems.",
            "title": "systems",
            "items": {
              "type": "string"
            },
            "x-displayname": "Systems",
            "x-ves-example": "['PHP', 'Unix/Linux']",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "['PHP', 'Unix/Linux']",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Threat Campaign object representing the created threat campaign.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_securityThreatCampaign",
          "required_fields": [
            "id",
            "last_update",
            "malwares",
            "name",
            "risk",
            "systems"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"id\": \"cmp5641a5adbeabaf2708ce7663ad937df8\",\n  \"last_update\": \"2022/11/29 20:19:17\",\n  \"malwares\": [\n    \"value\"\n  ],\n  \"name\": \"Drupal 'Drupalgeddon2' RCE - exec48ne\",\n  \"risk\": \"High\",\n  \"systems\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "id: cmp5641a5adbeabaf2708ce7663ad937df8\nlast_update: 2022/11/29 20:19:17\nmalwares:\n- value\nname: Drupal 'Drupalgeddon2' RCE - exec48ne\nrisk: High\nsystems:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityDDoSClientSource": {
        "type": "object",
        "description": "DDoS Mitigation sources to be blocked.",
        "title": "DDoSClientSource",
        "x-displayname": "DDoS Client Source Choice.",
        "x-ves-displayorder": "1,3,5,6",
        "x-ves-proto-message": "ves.io.schema.views.common_security.DDoSClientSource",
        "properties": {
          "asn_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "country_list": {
            "type": "array",
            "description": "Sources that are located in one of the countries in the given list.",
            "title": "country_list",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyCountryCode"
            },
            "x-displayname": "Country List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[0]",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[0]",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Sources that are located in one of the countries in the given list.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "ja4_tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyJA4TlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ja4 tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyTlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityDDoSClientSource",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityDDoSMitigationRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "DDoS Mitigation Rule specifies the sources to be blocked.",
        "title": "DDoSMitigationRule",
        "x-displayname": "DDoS Mitigation Rule.",
        "x-ves-displayorder": "1,2,7,10",
        "x-ves-oneof-field-mitigation_action": "[\"block\"]",
        "x-ves-oneof-field-mitigation_choice": "[\"ddos_client_source\",\"ip_prefix_list\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.DDoSMitigationRule",
        "properties": {
          "block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ddos_client_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityDDoSClientSource"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ip_prefix_list"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "The expiration_timestamp is the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in\nthe configuration but is not applied anymore.",
            "title": "expiration timestamp",
            "format": "date-time",
            "x-displayname": "Expiration Timestamp.",
            "x-ves-example": "2019-12-31:44:34.171543432Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-example": "2019-12-31:44:34.171543432Z",
            "x-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-description-short": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired.",
            "x-f5xc-description-medium": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in the configuration but is not applied anymore.",
            "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
            }
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ddos_client_source"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "DDoS Mitigation Rule specifies the sources to be blocked.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityDDoSMitigationRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIEndpointProtectionRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "API Protection Rule for a specific endpoint.",
        "title": "API Endpoint Protection Rule",
        "x-displayname": "API Endpoint Protection Rule.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIEndpointProtectionRule",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIProtectionRuleAction__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyHttpMethodMatcherType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_endpoint_path": {
            "type": "string",
            "description": "The endpoint (path) of the request.",
            "title": "api endpoint path",
            "maxLength": 1024,
            "x-displayname": "API Endpoint.",
            "x-ves-example": "/endpoint1.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/endpoint1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.\nFor example: api.example.com.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-example": "api.example.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "api.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain. For",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-description-short": "API Protection Rule for a specific endpoint.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPIEndpointProtectionRule",
          "required_fields": [
            "api_endpoint_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoint_path\": \"/endpoint1\"\n}",
          "example_yaml": "api_endpoint_path: /endpoint1"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIProtectionRuleAction__ves_io_schema_app_security": {
        "type": "object",
        "description": "The action to take if the input request matches the rule.",
        "title": "API Protection Rule Action",
        "x-displayname": "API Protection Rule Action.",
        "x-ves-oneof-field-action": "[\"allow\",\"deny\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIProtectionRuleAction",
        "properties": {
          "allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "deny"
            ]
          },
          "deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "allow"
            ]
          }
        },
        "x-f5xc-description-short": "The action to take if the input request matches the rule.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPIProtectionRuleAction",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiEndpointDetails": {
        "type": "object",
        "description": "This defines API endpoint.",
        "title": "ApiEndpointDetails",
        "x-displayname": "API Endpoint.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiEndpointDetails",
        "properties": {
          "methods": {
            "type": "array",
            "description": "Methods to be matched.",
            "title": "Methods",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "Methods",
            "x-ves-example": "GET",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "GET",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "path": {
            "type": "string",
            "description": "Path to be matched.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Path",
            "x-ves-example": "/API/v1/login.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/api/v1/login",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiEndpointDetails",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/api/v1/login\"\n}",
          "example_yaml": "path: /api/v1/login"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiEndpointRule__ves_io_schema_app_security": {
        "type": "object",
        "title": "ApiEndpointRule",
        "x-displayname": "ApiEndpointRule.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-oneof-field-rate_limiter_choice": "[\"inline_rate_limiter\",\"ref_rate_limiter\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiEndpointRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyHttpMethodMatcherType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_endpoint_path": {
            "type": "string",
            "description": "The endpoint (path) of the request.",
            "title": "api endpoint path",
            "maxLength": 1024,
            "x-displayname": "API Endpoint.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "inline_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafInlineRateLimiter__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inline rate limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Inline rate-limiter settings for this domain, base-path, or endpoint rule. Select this field as the required rate_limiter_choice when no stored rate-limiter object is used.",
            "x-f5xc-conflicts-with": [
              "ref_rate_limiter"
            ]
          },
          "ref_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ref rate limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Reference to a stored rate-limiter object for this scoped rule. Select exactly one of ref_rate_limiter and inline_rate_limiter.",
            "x-f5xc-conflicts-with": [
              "inline_rate_limiter"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "rate_limiter",
                "field_path": "ref_rate_limiter",
                "gated_by": {
                  "choice": "rate_limiter_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiEndpointRule",
          "required_fields": [
            "api_endpoint_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoint_path\": \"value\"\n}",
          "example_yaml": "api_endpoint_path: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafClientSrcRuleAction": {
        "type": "string",
        "description": "Action that should be taken when client identifier matches the rule.",
        "title": "action",
        "enum": [
          "SKIP_PROCESSING_WAF",
          "SKIP_PROCESSING_BOT",
          "SKIP_PROCESSING_MUM",
          "SKIP_PROCESSING_IP_REPUTATION",
          "SKIP_PROCESSING_API_PROTECTION",
          "SKIP_PROCESSING_OAS_VALIDATION",
          "SKIP_PROCESSING_DDOS_PROTECTION",
          "SKIP_PROCESSING_THREAT_MESH",
          "SKIP_PROCESSING_MALWARE_PROTECTION"
        ],
        "default": "SKIP_PROCESSING_WAF",
        "x-displayname": "Action",
        "x-ves-proto-enum": "ves.io.schema.views.common_waf.ClientSrcRuleAction",
        "x-f5xc-description-short": "Action that should be taken when client identifier matches the rule.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafClientSrcRuleAction",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SKIP_PROCESSING_WAF\"",
          "example_yaml": "SKIP_PROCESSING_WAF\n..."
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafCustomFallThroughMode__ves_io_schema_app_security": {
        "type": "object",
        "description": "Define the fall through settings.",
        "title": "Custom Fall Through Mode",
        "x-displayname": "Custom Fall Through Mode.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.CustomFallThroughMode",
        "properties": {
          "open_api_validation_rules": {
            "type": "array",
            "description": "Rule or policy definition",
            "title": "Custom Fall Through Rule List",
            "maxItems": 15,
            "items": {
              "$ref": "#/components/schemas/common_wafFallThroughRule__ves_io_schema_app_security"
            },
            "x-displayname": "Custom Fall Through Rule List.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 15,
              "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 common_wafCustomFallThroughMode",
          "required_fields": [
            "open_api_validation_rules"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"open_api_validation_rules\": [\n    {}\n  ]\n}",
          "example_yaml": "open_api_validation_rules:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafFallThroughRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "Fall Through Rule for a specific endpoint, base-path, or API group.",
        "title": "Fall Through Rule",
        "x-displayname": "Fall Through Rule.",
        "x-ves-oneof-field-action_choice": "[\"action_block\",\"action_report\",\"action_skip\"]",
        "x-ves-oneof-field-condition_type_choice": "[\"api_endpoint\",\"api_group\",\"base_path\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.FallThroughRule",
        "properties": {
          "action_block": {
            "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": [
              "action_report",
              "action_skip"
            ]
          },
          "action_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_block",
              "action_skip"
            ]
          },
          "action_skip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_block",
              "action_report"
            ]
          },
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_group",
              "base_path"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "Exclusive with [api_endpoint base_path]\nThe API group which this validation applies to.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint base_path] The API group which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "base_path"
            ]
          },
          "base_path": {
            "type": "string",
            "description": "Exclusive with [api_endpoint api_group]\nThe base path which this validation applies to.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/API/v1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/api/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint api_group] The base path which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "api_group"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Fall Through Rule for a specific endpoint, base-path, or API group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafFallThroughRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafHttpHeaderMatcherList": {
        "type": "object",
        "description": "Request header name and value pairs.",
        "title": "HTTP Header",
        "x-displayname": "HTTP Header.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.HttpHeaderMatcherList",
        "properties": {
          "headers": {
            "type": "array",
            "description": "List of HTTP header name and value pairs.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/ioschemaHeaderMatcherType"
            },
            "x-displayname": "HTTP Headers.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of HTTP header name and value pairs.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafHttpHeaderMatcherList",
          "required_fields": [
            "headers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"headers\": [\n    {\n      \"name\": \"Content-Type\"\n    }\n  ]\n}",
          "example_yaml": "headers:\n- name: Content-Type"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafInlineRateLimiter__ves_io_schema_app_security": {
        "type": "object",
        "title": "InlineRateLimiter",
        "x-displayname": "InlineRateLimiter.",
        "x-ves-oneof-field-count_by_choice": "[\"ref_user_id\",\"use_http_lb_user_id\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.InlineRateLimiter",
        "properties": {
          "ref_user_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "use_http_lb_user_id"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "ref_user_id",
                "gated_by": {
                  "choice": "count_by_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "threshold": {
            "type": "integer",
            "description": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "title": "threshold",
            "format": "int64",
            "x-displayname": "Threshold",
            "x-ves-example": "1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-example": "1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-description-short": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "x-f5xc-description-medium": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 8192,
              "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterRateLimitPeriodUnit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_http_lb_user_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "ref_user_id"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafInlineRateLimiter",
          "required_fields": [
            "threshold"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"threshold\": 0\n}",
          "example_yaml": "threshold: 0"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiFallThroughMode__ves_io_schema_app_security": {
        "type": "object",
        "description": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a. Swagger) or doesn't have a specific rule in custom rules)",
        "title": "Fall Through Mode",
        "x-displayname": "Fall Through Mode.",
        "x-ves-oneof-field-fall_through_mode_choice": "[\"fall_through_mode_allow\",\"fall_through_mode_custom\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiFallThroughMode",
        "properties": {
          "fall_through_mode_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode allow.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fall_through_mode_custom"
            ]
          },
          "fall_through_mode_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafCustomFallThroughMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fall_through_mode_allow"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-description-short": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a.",
        "x-f5xc-description-medium": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a. Swagger) or doesn't have a specific rule in custom rules).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiFallThroughMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationAllSpecEndpointsSettings__ves_io_schema_app_security": {
        "type": "object",
        "description": "Settings for API Inventory validation.",
        "title": "OpenAPI Validation API Inventory Settings",
        "x-displayname": "API Inventory.",
        "x-ves-oneof-field-oversized_body_choice": "[]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationAllSpecEndpointsSettings",
        "properties": {
          "fall_through_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiFallThroughMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationCommonSettings__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "validation_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validation mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationAllSpecEndpointsSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationCommonSettings__ves_io_schema_app_security": {
        "type": "object",
        "description": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "title": "OpenAPI specification validation common settings",
        "x-displayname": "Common Settings.",
        "x-ves-oneof-field-fail_configuration": "[]",
        "x-ves-oneof-field-oversized_body_choice": "[\"oversized_body_fail_validation\",\"oversized_body_skip_validation\"]",
        "x-ves-oneof-field-property_validation_settings_choice": "[\"property_validation_settings_custom\",\"property_validation_settings_default\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationCommonSettings",
        "properties": {
          "oversized_body_fail_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "oversized_body_skip_validation"
            ]
          },
          "oversized_body_skip_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "oversized_body_fail_validation"
            ]
          },
          "property_validation_settings_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafValidationPropertySetting__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for property validation settings custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "property_validation_settings_default"
            ]
          },
          "property_validation_settings_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for property validation settings default.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "property_validation_settings_custom"
            ]
          }
        },
        "x-f5xc-description-short": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "x-f5xc-description-medium": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationCommonSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationMode__ves_io_schema_app_security": {
        "type": "object",
        "description": "Validation mode of OpenAPI specification.\nWhen a validation mismatch occurs on a request to one of the endpoints listed on the OpenAPI specification file (a.k.a. Swagger)",
        "title": "Validation Mode",
        "x-displayname": "Validation Mode.",
        "x-ves-oneof-field-response_validation_mode_choice": "[\"response_validation_mode_active\",\"skip_response_validation\"]",
        "x-ves-oneof-field-validation_mode_choice": "[\"skip_validation\",\"validation_mode_active\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationMode",
        "properties": {
          "response_validation_mode_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationModeActiveResponse__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "skip_response_validation"
            ]
          },
          "skip_response_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "response_validation_mode_active"
            ]
          },
          "skip_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validation_mode_active"
            ]
          },
          "validation_mode_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationModeActive__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid...",
            "x-f5xc-description-medium": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid requests with HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid requests with HTTP 403.",
            "x-f5xc-conflicts-with": [
              "skip_validation"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-description-short": "Validation mode of OpenAPI specification.",
        "x-f5xc-description-medium": "Validation mode of OpenAPI specification. When a validation mismatch occurs on a request to one of the endpoints listed on the OpenAPI specification file (a.k.a. Swagger).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationModeActive__ves_io_schema_app_security": {
        "type": "object",
        "description": "Validation mode properties of request.",
        "title": "Open API Validation Mode Active For Request",
        "x-displayname": "Open API Validation Mode Active.",
        "x-ves-oneof-field-validation_enforcement_type": "[\"enforcement_block\",\"enforcement_report\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationModeActive",
        "properties": {
          "enforcement_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties.",
            "x-f5xc-description-medium": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-conflicts-with": [
              "enforcement_report"
            ]
          },
          "enforcement_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-description-medium": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-conflicts-with": [
              "enforcement_block"
            ]
          },
          "request_validation_properties": {
            "type": "array",
            "description": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a. Swagger)",
            "title": "Request Validation Properties",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaOpenApiValidationProperties"
            },
            "x-displayname": "Request Validation Properties.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[7]",
              "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.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[7]",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a.",
            "x-f5xc-description-medium": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a. Swagger).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "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 common_wafOpenApiValidationModeActive",
          "required_fields": [
            "request_validation_properties"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"request_validation_properties\": [\n    \"PROPERTY_QUERY_PARAMETERS\"\n  ]\n}",
          "example_yaml": "request_validation_properties:\n- PROPERTY_QUERY_PARAMETERS"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationModeActiveResponse__ves_io_schema_app_security": {
        "type": "object",
        "description": "Validation mode properties of response.",
        "title": "Open API Validation Mode Active For Response",
        "x-displayname": "Open API Validation Mode Active.",
        "x-ves-oneof-field-validation_enforcement_type": "[\"enforcement_block\",\"enforcement_report\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationModeActiveResponse",
        "properties": {
          "enforcement_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties.",
            "x-f5xc-description-medium": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-conflicts-with": [
              "enforcement_report"
            ]
          },
          "enforcement_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-description-medium": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-conflicts-with": [
              "enforcement_block"
            ]
          },
          "response_validation_properties": {
            "type": "array",
            "description": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a. Swagger)",
            "title": "Response Validation Properties",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaOpenApiValidationProperties"
            },
            "x-displayname": "Response Validation Properties.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[2,4,5,7]",
              "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.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[2,4,5,7]",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a.",
            "x-f5xc-description-medium": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a. Swagger).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "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 common_wafOpenApiValidationModeActiveResponse",
          "required_fields": [
            "response_validation_properties"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"response_validation_properties\": [\n    \"PROPERTY_QUERY_PARAMETERS\"\n  ]\n}",
          "example_yaml": "response_validation_properties:\n- PROPERTY_QUERY_PARAMETERS"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "OpenAPI Validation Rule for a specific endpoint, base-path, or API group.",
        "title": "OpenAPI Validation Rule",
        "x-displayname": "OpenAPI Validation Rule.",
        "x-ves-oneof-field-condition_type_choice": "[\"api_endpoint\",\"api_group\",\"base_path\"]",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_group",
              "base_path"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "Exclusive with [api_endpoint base_path]\nThe API group which this validation applies to.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint base_path] The API group which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "base_path"
            ]
          },
          "base_path": {
            "type": "string",
            "description": "Exclusive with [api_endpoint api_group]\nThe base path which this validation applies to.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/API/v1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/api/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint api_group] The base path which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "api_group"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          },
          "validation_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validation mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "OpenAPI Validation Rule for a specific endpoint, base-path, or API group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafSimpleClientSrcRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "Simple client source rule specifies the sources to be blocked or trusted (skip WAF)",
        "title": "SimpleClientSrcRule",
        "x-displayname": "Client Rule.",
        "x-ves-oneof-field-action_choice": "[\"bot_skip_processing\",\"skip_processing\",\"waf_skip_processing\"]",
        "x-ves-oneof-field-client_source_choice": "[\"as_number\",\"http_header\",\"ip_prefix\",\"ipv6_prefix\",\"user_identifier\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.SimpleClientSrcRule",
        "properties": {
          "actions": {
            "type": "array",
            "description": "Actions that should be taken when client identifier matches the rule.",
            "title": "actions",
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/common_wafClientSrcRuleAction"
            },
            "x-displayname": "Actions",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.enum.defined_only": "true",
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "10",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.enum.defined_only": "true",
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "10",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Actions that should be taken when client identifier matches the rule.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 10,
              "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
            }
          },
          "as_number": {
            "type": "integer",
            "description": "Exclusive with [http_header ip_prefix ipv6_prefix user_identifier]\nRFC 6793 defined 4-byte AS number.",
            "title": "as number",
            "format": "int64",
            "x-displayname": "AS Number",
            "x-ves-example": "4683",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-example": "4683",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-description-short": "Exclusive with [http_header ip_prefix ipv6_prefix user_identifier] RFC 6793 defined 4-byte AS number.",
            "x-f5xc-description-medium": "Exclusive with [http_header ip_prefix ipv6_prefix user_identifier] RFC 6793 defined 4-byte AS number.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 401308,
              "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-conflicts-with": [
              "http_header",
              "ip_prefix",
              "ipv6_prefix",
              "user_identifier"
            ]
          },
          "bot_skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "skip_processing",
              "waf_skip_processing"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "The expiration_timestamp is the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in\nthe configuration but is not applied anymore.",
            "title": "expiration timestamp",
            "format": "date-time",
            "x-displayname": "Expiration Timestamp.",
            "x-ves-example": "2019-12-31:44:34.171543432Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-example": "2019-12-31:44:34.171543432Z",
            "x-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-description-short": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired.",
            "x-f5xc-description-medium": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in the configuration but is not applied anymore.",
            "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
            }
          },
          "http_header": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafHttpHeaderMatcherList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "as_number",
              "ip_prefix",
              "ipv6_prefix",
              "user_identifier"
            ]
          },
          "ip_prefix": {
            "type": "string",
            "description": "Exclusive with [as_number http_header ipv6_prefix user_identifier]\nIPv4 prefix string.",
            "title": "ip prefix",
            "x-displayname": "IPv4 Prefix.",
            "x-ves-example": "192.0.2.0/24.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "x-f5xc-example": "192.0.2.0/24",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "x-f5xc-description-short": "Exclusive with [as_number http_header ipv6_prefix user_identifier] IPv4 prefix 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": [
              "as_number",
              "http_header",
              "ipv6_prefix",
              "user_identifier"
            ]
          },
          "ipv6_prefix": {
            "type": "string",
            "description": "Exclusive with [as_number http_header ip_prefix user_identifier]\nIPv6 prefix string.",
            "title": "ipv6 prefix",
            "x-displayname": "IPv6 Prefix.",
            "x-ves-example": "2001::1/64.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "x-f5xc-example": "2001::1/64",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "x-f5xc-description-short": "Exclusive with [as_number http_header ip_prefix user_identifier] IPv6 prefix 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": [
              "as_number",
              "http_header",
              "ip_prefix",
              "user_identifier"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_skip_processing",
              "waf_skip_processing"
            ]
          },
          "user_identifier": {
            "type": "string",
            "description": "Exclusive with [as_number http_header ip_prefix ipv6_prefix]\nIdentify user based on user identifier. User identifier value needs to be copied from security event.",
            "title": "user identifier",
            "maxLength": 256,
            "x-displayname": "User Identifier.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [as_number http_header ip_prefix ipv6_prefix] Identify user based on user identifier.",
            "x-f5xc-description-medium": "Exclusive with [as_number http_header ip_prefix ipv6_prefix] Identify user based on user identifier. User identifier value needs to be copied from security event.",
            "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
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "as_number",
              "http_header",
              "ip_prefix",
              "ipv6_prefix"
            ]
          },
          "waf_skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_skip_processing",
              "skip_processing"
            ]
          }
        },
        "x-f5xc-description-short": "Simple client source rule specifies the sources to be blocked or trusted (skip WAF).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafSimpleClientSrcRule",
          "required_fields": [
            "actions"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"actions\": [\n    \"SKIP_PROCESSING_WAF\"\n  ]\n}",
          "example_yaml": "actions:\n- SKIP_PROCESSING_WAF"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafValidationPropertySetting__ves_io_schema_app_security": {
        "type": "object",
        "description": "Custom property validation settings.",
        "title": "Validation Property settings",
        "x-displayname": "Validation Property Settings.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ValidationPropertySetting",
        "properties": {
          "queryParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafValidationSettingForQueryParameters__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for queryParameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafValidationPropertySetting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafValidationSettingForQueryParameters__ves_io_schema_app_security": {
        "type": "object",
        "description": "Custom settings for query parameters validation.",
        "title": "Validation Settings For Query Parameters",
        "x-displayname": "Validation Settings For Query Parameters.",
        "x-ves-oneof-field-additional_parameters_choice": "[\"allow_additional_parameters\",\"disallow_additional_parameters\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ValidationSettingForQueryParameters",
        "properties": {
          "allow_additional_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for allow additional parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disallow_additional_parameters"
            ]
          },
          "disallow_additional_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disallow additional parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "allow_additional_parameters"
            ]
          }
        },
        "x-f5xc-description-short": "Custom settings for query parameters validation.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafValidationSettingForQueryParameters",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerBodySectionMaskingOptions": {
        "type": "object",
        "description": "OPTIONS for HTTP Body Masking.",
        "title": "Body Section Masking Options",
        "x-displayname": "Body Section Masking OPTIONS.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.BodySectionMaskingOptions",
        "properties": {
          "fields": {
            "type": "array",
            "description": "List of JSON Path field values. Use square brackets with an underscore [_] to indicate array elements (e.g., person.emails[_]). To reference JSON keys that contain spaces, enclose the entire path in double quotes. For example: \"person.first name\".",
            "title": "Field Values",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Values",
            "x-ves-example": "['user.email', 'credit_card']",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.json_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['user.email', 'credit_card']",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.json_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of JSON Path field values. Use square brackets with an underscore [_] to indicate array elements (e.g., person.emails[_]).",
            "x-f5xc-description-medium": "List of JSON Path field values. Use square brackets with an underscore [_] to indicate array elements (e.g., person.emails[_]). To reference JSON keys that contain spaces, enclose the entire path in double quotes.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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 http_loadbalancerBodySectionMaskingOptions",
          "required_fields": [
            "fields"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"fields\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "fields:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerSensitiveDataTypes__ves_io_schema_app_security": {
        "type": "object",
        "description": "Settings to mask sensitive data in request/response payload.",
        "title": "Sensitive Data Types",
        "x-displayname": "Sensitive Data Types.",
        "x-ves-oneof-field-masking_mode_choice": "[\"mask\",\"report\"]",
        "x-ves-oneof-field-type_condition_type_choice": "[\"api_endpoint\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.SensitiveDataTypes",
        "properties": {
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "body": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerBodySectionMaskingOptions"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mask": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "report"
            ]
          },
          "report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mask"
            ]
          }
        },
        "x-f5xc-description-short": "Settings to mask sensitive data in request/response payload.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerSensitiveDataTypes",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "ioschemaHeaderMatcherType": {
        "type": "object",
        "description": "Header match is done using the name of the header and its value.\nThe value match is done using one of the following\nregex match on value\nexact match of value\npresence of header\n\nHeader Match can also be inverse of above, which be used to check\nmissing header or\nnon-matching value.",
        "title": "HeaderMatcherType",
        "x-displayname": "Header to Match.",
        "x-ves-oneof-field-value_match": "[\"exact\",\"presence\",\"regex\"]",
        "x-ves-proto-message": "ves.io.schema.HeaderMatcherType",
        "properties": {
          "exact": {
            "type": "string",
            "description": "Exclusive with [presence regex]\nHeader value to match exactly.",
            "title": "exact",
            "maxLength": 256,
            "x-displayname": "Exact",
            "x-ves-example": "Application/JSON.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.not_empty": "true"
            },
            "x-f5xc-example": "application/json",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.not_empty": "true"
            },
            "x-f5xc-description-short": "Exclusive with [presence regex] Header value to match exactly.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 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-conflicts-with": [
              "presence",
              "regex"
            ]
          },
          "invert_match": {
            "type": "boolean",
            "description": "Invert the result of the match to detect missing header or non-matching value.",
            "title": "invert_match",
            "format": "boolean",
            "x-displayname": "NOT of match.",
            "x-f5xc-description-short": "Invert the result of the match to detect missing header or non-matching value.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the header.",
            "title": "name",
            "minLength": 1,
            "maxLength": 63,
            "x-displayname": "Name",
            "x-ves-example": "Content-Type.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "Content-Type",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 63,
              "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,
              "byteLength": {
                "max": 256,
                "min": 1
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "presence": {
            "type": "boolean",
            "description": "Exclusive with [exact regex]\nIf true, check for presence of header.",
            "title": "presence",
            "format": "boolean",
            "x-displayname": "Presence",
            "x-f5xc-description-short": "Exclusive with [exact regex] If true, check for presence of header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "exact",
              "regex"
            ]
          },
          "regex": {
            "type": "string",
            "description": "Exclusive with [exact presence]\nRegex match of the header value in re2 format.",
            "title": "regex",
            "maxLength": 256,
            "x-displayname": "Regex",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.not_empty": "true",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.not_empty": "true",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "Exclusive with [exact presence] Regex match of the header value in re2 format.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "minLength": 1,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 256
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "exact",
              "presence"
            ]
          }
        },
        "x-f5xc-description-short": "Header match is done using the name of the header and its value.",
        "x-f5xc-description-medium": "Header match is done using the name of the header and its value. The value match is done using one of the following regex match on value exact match of value presence of header Header Match can also be inverse of above, which be used to check missing header or non-matching value.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaHeaderMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Content-Type\"\n}",
          "example_yaml": "name: Content-Type"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "metricsSecurityEventsCounter": {
        "type": "object",
        "description": "SecurityEventsCounter contains the timeseries data of security events counter.",
        "title": "Security Events Counter",
        "x-displayname": "Security Events Counter.",
        "x-ves-proto-message": "ves.io.schema.app_security.metrics.SecurityEventsCounter",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/metricsSecurityEventsId"
              }
            ],
            "x-f5xc-example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metric": {
            "type": "array",
            "description": "List of metric values.",
            "title": "Metric Values",
            "items": {
              "$ref": "#/components/schemas/metricsSecurityMetricValue"
            },
            "x-displayname": "Metric Values.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "SecurityEventsCounter contains the timeseries data of security events counter.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for metricsSecurityEventsCounter",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "metricsSecurityEventsId": {
        "type": "object",
        "description": "SecurityEventsId uniquely identifies an entry in the response for security events metrics query.\nSecurity events counter is aggregated based on the MetricLabel specified in the group_by field in the request.\nTherefore, only the fields that corresponds to the MetricLabel in the group_by will have non-empty\nvalue in the response.",
        "title": "SecurityEventsId",
        "x-displayname": "Security Events ID.",
        "x-ves-proto-message": "ves.io.schema.app_security.metrics.SecurityEventsId",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace for which the security event was generated.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Blogging-app-namespace-1.",
            "x-f5xc-example": "blogging-app-namespace-1",
            "x-f5xc-description-short": "Namespace for which the security event was generated.",
            "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])?$"
          },
          "sec_event_type": {
            "type": "string",
            "description": "Event or occurrence data",
            "title": "Security Event Type",
            "x-displayname": "Security Event Type.",
            "x-ves-example": "WAF",
            "x-f5xc-example": "WAF",
            "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
            }
          },
          "src_instance": {
            "type": "string",
            "description": "Instance or deployment identifier",
            "title": "Source Instance",
            "x-displayname": "Source Instance.",
            "x-ves-example": "IN",
            "x-f5xc-example": "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
            }
          },
          "src_site": {
            "type": "string",
            "description": "Site or location identifier",
            "title": "Source Site",
            "x-displayname": "Source Site.",
            "x-ves-example": "Greatblogs-CE.",
            "x-f5xc-example": "greatblogs-ce",
            "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
            }
          },
          "vh_name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "Virtual Host",
            "x-displayname": "Virtual Host.",
            "x-ves-example": "Greatblogs-vhost.",
            "x-f5xc-example": "greatblogs-vhost",
            "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": "SecurityEventsId uniquely identifies an entry in the response for security events metrics query.",
        "x-f5xc-description-medium": "SecurityEventsId uniquely identifies an entry in the response for security events metrics query. Security events counter is aggregated based on the MetricLabel specified in the group_by field in the request. Therefore, only the fields that corresponds to the MetricLabel in the group_by will have...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for metricsSecurityEventsId",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "metricsSecurityMetricLabel": {
        "type": "string",
        "description": "Labels in the security events metrics.\n\nSecurity events metric can be sliced and diced based\non one or more labels listed below.",
        "enum": [
          "NAMESPACE",
          "VH_NAME",
          "SEC_EVENT_TYPE",
          "SRC_SITE",
          "SRC_INSTANCE"
        ],
        "default": "NAMESPACE",
        "x-displayname": "Security Events Metric Labels.",
        "x-ves-proto-enum": "ves.io.schema.app_security.metrics.SecurityMetricLabel",
        "x-f5xc-description-short": "Labels in the security events metrics. Security events metric can be sliced and diced based on one or more labels listed below.",
        "x-f5xc-description-medium": "Labels in the security events metrics. Security events metric can be sliced and diced based on one or more labels listed below.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for metricsSecurityMetricLabel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"NAMESPACE\"",
          "example_yaml": "NAMESPACE\n..."
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "metricsSecurityMetricLabelFilter": {
        "type": "object",
        "description": "Label based filtering for Security Events metrics.\n\nSecurity Events metrics are tagged with labels mentioned in MetricLabel.\nMetric label filter can be specified to query specific metrics based on label match.",
        "x-displayname": "Security Events Metric Label Filter.",
        "x-ves-proto-message": "ves.io.schema.app_security.metrics.SecurityMetricLabelFilter",
        "properties": {
          "label": {
            "allOf": [
              {
                "$ref": "#/components/schemas/metricsSecurityMetricLabel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "op": {
            "allOf": [
              {
                "$ref": "#/components/schemas/metricsSecurityMetricLabelOp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Value to be compared with.",
            "title": "Value",
            "x-displayname": "Value",
            "x-ves-example": "Blogging-app-namespace-1.",
            "x-f5xc-example": "blogging-app-namespace-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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Label based filtering for Security Events metrics. Security Events metrics are tagged with labels mentioned in MetricLabel.",
        "x-f5xc-description-medium": "Label based filtering for Security Events metrics. Security Events metrics are tagged with labels mentioned in MetricLabel. Metric label filter can be specified to query specific metrics based on label match.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for metricsSecurityMetricLabelFilter",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "metricsSecurityMetricLabelOp": {
        "type": "string",
        "description": "The operator to use when querying Security Events metrics with labels.",
        "title": "Security Events Metric Label Operator",
        "enum": [
          "EQ",
          "NEQ"
        ],
        "default": "EQ",
        "x-displayname": "Security Events Metric Label Operator.",
        "x-ves-proto-enum": "ves.io.schema.app_security.metrics.SecurityMetricLabelOp",
        "x-f5xc-description-short": "The operator to use when querying Security Events metrics with labels.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for metricsSecurityMetricLabelOp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"EQ\"",
          "example_yaml": "EQ\n..."
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "metricsSecurityMetricValue": {
        "type": "object",
        "description": "Value returned for a Security Events Metrics query.",
        "title": "Metric Value",
        "x-displayname": "Metric Value.",
        "x-ves-proto-message": "ves.io.schema.app_security.metrics.SecurityMetricValue",
        "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
            }
          },
          "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": "Value returned for a Security Events Metrics query.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for metricsSecurityMetricValue",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyAppFirewallAttackTypeContext": {
        "type": "object",
        "description": "App Firewall Attack Type context changes to be applied for this request.",
        "title": "App Firewall Attack Type Context",
        "x-displayname": "App Firewall Attack Type Context.",
        "x-ves-proto-message": "ves.io.schema.policy.AppFirewallAttackTypeContext",
        "properties": {
          "context": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyDetectionContext"
              }
            ],
            "x-f5xc-description-medium": "Exclusion scope. Use CONTEXT_PARAMETER with context_name for one parameter, CONTEXT_COOKIE for one cookie, or CONTEXT_ANY only for an intentionally global scope.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Exclusion scope. Use CONTEXT_PARAMETER with context_name for one parameter, CONTEXT_COOKIE for one cookie, or CONTEXT_ANY only for an intentionally global scope."
          },
          "context_name": {
            "type": "string",
            "description": "Parameter, cookie, or header name selected by context. For a parameter-scoped WAF exception, set context to CONTEXT_PARAMETER and name only the intended parameter.",
            "title": "Context Name",
            "maxLength": 128,
            "x-displayname": "Context Name.",
            "x-ves-example": "Example: user-agent for Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Parameter, cookie, or header name selected by context.",
            "x-f5xc-description-medium": "Parameter, cookie, or header name selected by context. For a parameter-scoped WAF exception, set context to CONTEXT_PARAMETER and name only the intended parameter.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "exclude_attack_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_firewallAttackType"
              }
            ],
            "x-f5xc-description-short": "Attack-type enum excluded in this context, for example ATTACK_TYPE_CROSS_SITE_SCRIPTING.",
            "x-f5xc-description-medium": "Attack-type enum excluded in this context, for example ATTACK_TYPE_CROSS_SITE_SCRIPTING. Other attack types remain enforced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Attack-type enum excluded in this context, for example ATTACK_TYPE_CROSS_SITE_SCRIPTING. Other attack types remain enforced."
          }
        },
        "x-f5xc-description-short": "App Firewall Attack Type context changes to be applied for this request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAppFirewallAttackTypeContext",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyAppFirewallDetectionControl": {
        "type": "object",
        "description": "Define the list of Signature IDs, Violations, Attack Types and Bot Names that should be excluded from triggering on the defined match criteria.",
        "title": "App Firewall Detection Control",
        "x-displayname": "App Firewall Detection Control.",
        "x-ves-proto-message": "ves.io.schema.policy.AppFirewallDetectionControl",
        "properties": {
          "exclude_attack_type_contexts": {
            "type": "array",
            "description": "Exclude an entire attack type only in the named context. For migrated per-parameter exceptions, prefer this over signature-ID exclusions because one payload can trigger several signatures; unrelated parameters and attack types remain protected.",
            "title": "Exclude Attack Types Contexts",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyAppFirewallAttackTypeContext"
            },
            "x-displayname": "Attack Types.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Exclude an entire attack type only in the named context.",
            "x-f5xc-description-medium": "Exclude an entire attack type only in the named context. For migrated per-parameter exceptions, prefer this over signature-ID exclusions because one payload can trigger several signatures; unrelated parameters and attack types remain protected.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "exclude_bot_name_contexts": {
            "type": "array",
            "description": "Bot Names to be excluded for the defined match criteria.",
            "title": "Exclude Bot Names Contexts",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyBotNameContext"
            },
            "x-displayname": "Bot Names",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Bot Names to be excluded for the defined match criteria.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "exclude_signature_contexts": {
            "type": "array",
            "description": "Signature IDs to be excluded for the defined match criteria.",
            "title": "Exclude Signature Contexts",
            "maxItems": 1024,
            "items": {
              "$ref": "#/components/schemas/policyAppFirewallSignatureContext"
            },
            "x-displayname": "Signature IDs.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1024",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1024",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Signature IDs to be excluded for the defined match criteria.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 1024,
              "uniqueItems": true,
              "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
            }
          },
          "exclude_violation_contexts": {
            "type": "array",
            "description": "Violations to be excluded for the defined match criteria.",
            "title": "Exclude Violation Contexts",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyAppFirewallViolationContext"
            },
            "x-displayname": "Violations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Violations to be excluded for the defined match criteria.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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": "Define the list of Signature IDs, Violations, Attack Types and Bot Names that should be excluded from triggering on the defined match criteria.",
        "x-f5xc-description-medium": "Define the list of Signature IDs, Violations, Attack Types and Bot Names that should be excluded from triggering on the defined match criteria.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAppFirewallDetectionControl",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyAppFirewallSignatureContext": {
        "type": "object",
        "description": "App Firewall signature context changes to be applied for this request.",
        "title": "App Firewall Signature Context",
        "x-displayname": "App Firewall Signature Context.",
        "x-ves-proto-message": "ves.io.schema.policy.AppFirewallSignatureContext",
        "properties": {
          "context": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyDetectionContext"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "context_name": {
            "type": "string",
            "description": "Relevant only for contexts: Header, Cookie and Parameter.\nName of the Context that the WAF Exclusion Rules will check.\nWildcard matching can be used by prefixing or suffixing the context name\nwith an wildcard asterisk (*).",
            "title": "Context Name",
            "maxLength": 128,
            "x-displayname": "Context Name.",
            "x-ves-example": "Example: user-agent for Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "exampleuser-agent for Header",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Relevant only for contexts: Header, Cookie and Parameter. Name of the Context that the WAF Exclusion Rules will check.",
            "x-f5xc-description-medium": "Relevant only for contexts: Header, Cookie and Parameter. Name of the Context that the WAF Exclusion Rules will check. Wildcard matching can be used by prefixing or suffixing the context name with an wildcard asterisk (*).",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "signature_id": {
            "type": "integer",
            "description": "The allowed values for signature ID are 0 and in the range of 200000001-299999999.\n0 implies that all signatures will be excluded for the specified context.",
            "title": "SignatureID",
            "format": "int64",
            "x-displayname": "SignatureID.",
            "x-ves-example": "10000001",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "299999999"
            },
            "x-f5xc-example": "10000001",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "299999999"
            },
            "x-f5xc-description-short": "The allowed values for signature ID are 0 and in the range of 200000001-299999999. 0 implies that all signatures will be excluded for the...",
            "x-f5xc-description-medium": "The allowed values for signature ID are 0 and in the range of 200000001-299999999. 0 implies that all signatures will be excluded for the specified context.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 299999999,
              "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-field-mutability": "read-only"
          }
        },
        "x-f5xc-description-short": "App Firewall signature context changes to be applied for this request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAppFirewallSignatureContext",
          "required_fields": [
            "signature_id"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"signature_id\": 0\n}",
          "example_yaml": "signature_id: 0"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyAppFirewallViolationContext": {
        "type": "object",
        "description": "App Firewall violation context changes to be applied for this request.",
        "title": "App Firewall Violation Context",
        "x-displayname": "App Firewall Violation Context.",
        "x-ves-proto-message": "ves.io.schema.policy.AppFirewallViolationContext",
        "properties": {
          "context": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyDetectionContext"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "context_name": {
            "type": "string",
            "description": "Relevant only for contexts: Header, Cookie and Parameter.\nName of the Context that the WAF Exclusion Rules will check.\nWildcard matching can be used by prefixing or suffixing the context name\nwith an wildcard asterisk (*).",
            "title": "Context Name",
            "maxLength": 128,
            "x-displayname": "Context Name.",
            "x-ves-example": "Example: user-agent for Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "exampleuser-agent for Header",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Relevant only for contexts: Header, Cookie and Parameter. Name of the Context that the WAF Exclusion Rules will check.",
            "x-f5xc-description-medium": "Relevant only for contexts: Header, Cookie and Parameter. Name of the Context that the WAF Exclusion Rules will check. Wildcard matching can be used by prefixing or suffixing the context name with an wildcard asterisk (*).",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "exclude_violation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_firewallAppFirewallViolationType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for exclude violation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "App Firewall violation context changes to be applied for this request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAppFirewallViolationContext",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyAsnMatchList": {
        "type": "object",
        "description": "An unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
        "title": "Asn Match List",
        "x-displayname": "ASN Match List.",
        "x-ves-proto-message": "ves.io.schema.policy.AsnMatchList",
        "properties": {
          "as_numbers": {
            "type": "array",
            "description": "An unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
            "title": "as numbers",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-displayname": "AS Numbers.",
            "x-ves-example": "[713, 7932, 847325, 4683, 15269, 1000001]",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[713, 7932, 847325, 4683, 15269, 1000001]",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy.",
            "x-f5xc-description-medium": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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-description-short": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy.",
        "x-f5xc-description-medium": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAsnMatchList",
          "required_fields": [
            "as_numbers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"as_numbers\": [\n    0\n  ]\n}",
          "example_yaml": "as_numbers:\n- 0"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyAsnMatcherType": {
        "type": "object",
        "description": "Match any AS number contained in the list of bgp_asn_sets.",
        "title": "asn matcher type",
        "x-displayname": "ASN Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.AsnMatcherType",
        "properties": {
          "asn_sets": {
            "type": "array",
            "description": "A list of references to bgp_asn_set objects.",
            "title": "asn_sets",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "BGP ASN Sets.",
            "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-description-short": "List of references to bgp_asn_set objects.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "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-description-short": "Match any AS number contained in the list of bgp_asn_sets.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAsnMatcherType",
          "required_fields": [
            "asn_sets"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"asn_sets\": [\n    {}\n  ]\n}",
          "example_yaml": "asn_sets:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyBotNameContext": {
        "type": "object",
        "description": "Specifies bot to be excluded by its name.",
        "title": "Bot Name Context",
        "x-displayname": "Bot Name",
        "x-ves-proto-message": "ves.io.schema.policy.BotNameContext",
        "properties": {
          "bot_name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "BotName",
            "x-displayname": "Bot Name",
            "x-ves-example": "Hydra",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "Hydra",
            "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": "Specifies bot to be excluded by its name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyBotNameContext",
          "required_fields": [
            "bot_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"bot_name\": \"Hydra\"\n}",
          "example_yaml": "bot_name: Hydra"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyClientMatcher__ves_io_schema_app_security": {
        "type": "object",
        "description": "Client conditions for matching a rule.",
        "title": "Client Matcher",
        "x-displayname": "Client Matcher.",
        "x-ves-oneof-field-client_choice": "[\"any_client\",\"client_selector\",\"ip_threat_category_list\"]",
        "x-ves-oneof-field-ip_asn_choice": "[\"any_ip\",\"asn_list\",\"asn_matcher\",\"ip_matcher\",\"ip_prefix_list\"]",
        "x-ves-proto-message": "ves.io.schema.policy.ClientMatcher",
        "properties": {
          "any_client": {
            "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": [
              "client_selector",
              "ip_threat_category_list"
            ]
          },
          "any_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "asn_list",
              "asn_matcher",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "asn_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_matcher",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "asn_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for asn matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "client_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaLabelSelectorType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_client",
              "ip_threat_category_list"
            ]
          },
          "ip_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyIpMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "asn_matcher",
              "ip_prefix_list"
            ]
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "asn_matcher",
              "ip_matcher"
            ]
          },
          "ip_threat_category_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemapolicyIPThreatCategoryListType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_client",
              "client_selector"
            ]
          },
          "tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyTlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyClientMatcher",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyCookieMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each\ncookie in the request.\nA cookie matcher can check for one of the following:\n* Presence or absence of the cookie\n* At least one of the values for the cookie in the request satisfies the MatcherType item.",
        "title": "CookieMatcherType",
        "x-displayname": "Cookie Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.CookieMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert Match of the expression defined.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-sensitive cookie name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Cookie Name.",
            "x-ves-example": "Session",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Session",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "Cookie matcher specifies the name of a single cookie and the criteria to match it.",
        "x-f5xc-description-medium": "Cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each cookie in the request. A cookie matcher can check for one of the following: * Presence or absence of the cookie * At least one of the values for the cookie in the request...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyCookieMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Session\"\n}",
          "example_yaml": "name: Session"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyCountryCode": {
        "type": "string",
        "description": "ISO 3166 Aplpha-2 country codes.",
        "title": "CountryCode",
        "enum": [
          "COUNTRY_NONE",
          "COUNTRY_AD",
          "COUNTRY_AE",
          "COUNTRY_AF",
          "COUNTRY_AG",
          "COUNTRY_AI",
          "COUNTRY_AL",
          "COUNTRY_AM",
          "COUNTRY_AN",
          "COUNTRY_AO",
          "COUNTRY_AQ",
          "COUNTRY_AR",
          "COUNTRY_AS",
          "COUNTRY_AT",
          "COUNTRY_AU",
          "COUNTRY_AW",
          "COUNTRY_AX",
          "COUNTRY_AZ",
          "COUNTRY_BA",
          "COUNTRY_BB",
          "COUNTRY_BD",
          "COUNTRY_BE",
          "COUNTRY_BF",
          "COUNTRY_BG",
          "COUNTRY_BH",
          "COUNTRY_BI",
          "COUNTRY_BJ",
          "COUNTRY_BL",
          "COUNTRY_BM",
          "COUNTRY_BN",
          "COUNTRY_BO",
          "COUNTRY_BQ",
          "COUNTRY_BR",
          "COUNTRY_BS",
          "COUNTRY_BT",
          "COUNTRY_BV",
          "COUNTRY_BW",
          "COUNTRY_BY",
          "COUNTRY_BZ",
          "COUNTRY_CA",
          "COUNTRY_CC",
          "COUNTRY_CD",
          "COUNTRY_CF",
          "COUNTRY_CG",
          "COUNTRY_CH",
          "COUNTRY_CI",
          "COUNTRY_CK",
          "COUNTRY_CL",
          "COUNTRY_CM",
          "COUNTRY_CN",
          "COUNTRY_CO",
          "COUNTRY_CR",
          "COUNTRY_CS",
          "COUNTRY_CU",
          "COUNTRY_CV",
          "COUNTRY_CW",
          "COUNTRY_CX",
          "COUNTRY_CY",
          "COUNTRY_CZ",
          "COUNTRY_DE",
          "COUNTRY_DJ",
          "COUNTRY_DK",
          "COUNTRY_DM",
          "COUNTRY_DO",
          "COUNTRY_DZ",
          "COUNTRY_EC",
          "COUNTRY_EE",
          "COUNTRY_EG",
          "COUNTRY_EH",
          "COUNTRY_ER",
          "COUNTRY_ES",
          "COUNTRY_ET",
          "COUNTRY_FI",
          "COUNTRY_FJ",
          "COUNTRY_FK",
          "COUNTRY_FM",
          "COUNTRY_FO",
          "COUNTRY_FR",
          "COUNTRY_GA",
          "COUNTRY_GB",
          "COUNTRY_GD",
          "COUNTRY_GE",
          "COUNTRY_GF",
          "COUNTRY_GG",
          "COUNTRY_GH",
          "COUNTRY_GI",
          "COUNTRY_GL",
          "COUNTRY_GM",
          "COUNTRY_GN",
          "COUNTRY_GP",
          "COUNTRY_GQ",
          "COUNTRY_GR",
          "COUNTRY_GS",
          "COUNTRY_GT",
          "COUNTRY_GU",
          "COUNTRY_GW",
          "COUNTRY_GY",
          "COUNTRY_HK",
          "COUNTRY_HM",
          "COUNTRY_HN",
          "COUNTRY_HR",
          "COUNTRY_HT",
          "COUNTRY_HU",
          "COUNTRY_ID",
          "COUNTRY_IE",
          "COUNTRY_IL",
          "COUNTRY_IM",
          "COUNTRY_IN",
          "COUNTRY_IO",
          "COUNTRY_IQ",
          "COUNTRY_IR",
          "COUNTRY_IS",
          "COUNTRY_IT",
          "COUNTRY_JE",
          "COUNTRY_JM",
          "COUNTRY_JO",
          "COUNTRY_JP",
          "COUNTRY_KE",
          "COUNTRY_KG",
          "COUNTRY_KH",
          "COUNTRY_KI",
          "COUNTRY_KM",
          "COUNTRY_KN",
          "COUNTRY_KP",
          "COUNTRY_KR",
          "COUNTRY_KW",
          "COUNTRY_KY",
          "COUNTRY_KZ",
          "COUNTRY_LA",
          "COUNTRY_LB",
          "COUNTRY_LC",
          "COUNTRY_LI",
          "COUNTRY_LK",
          "COUNTRY_LR",
          "COUNTRY_LS",
          "COUNTRY_LT",
          "COUNTRY_LU",
          "COUNTRY_LV",
          "COUNTRY_LY",
          "COUNTRY_MA",
          "COUNTRY_MC",
          "COUNTRY_MD",
          "COUNTRY_ME",
          "COUNTRY_MF",
          "COUNTRY_MG",
          "COUNTRY_MH",
          "COUNTRY_MK",
          "COUNTRY_ML",
          "COUNTRY_MM",
          "COUNTRY_MN",
          "COUNTRY_MO",
          "COUNTRY_MP",
          "COUNTRY_MQ",
          "COUNTRY_MR",
          "COUNTRY_MS",
          "COUNTRY_MT",
          "COUNTRY_MU",
          "COUNTRY_MV",
          "COUNTRY_MW",
          "COUNTRY_MX",
          "COUNTRY_MY",
          "COUNTRY_MZ",
          "COUNTRY_NA",
          "COUNTRY_NC",
          "COUNTRY_NE",
          "COUNTRY_NF",
          "COUNTRY_NG",
          "COUNTRY_NI",
          "COUNTRY_NL",
          "COUNTRY_NO",
          "COUNTRY_NP",
          "COUNTRY_NR",
          "COUNTRY_NU",
          "COUNTRY_NZ",
          "COUNTRY_OM",
          "COUNTRY_PA",
          "COUNTRY_PE",
          "COUNTRY_PF",
          "COUNTRY_PG",
          "COUNTRY_PH",
          "COUNTRY_PK",
          "COUNTRY_PL",
          "COUNTRY_PM",
          "COUNTRY_PN",
          "COUNTRY_PR",
          "COUNTRY_PS",
          "COUNTRY_PT",
          "COUNTRY_PW",
          "COUNTRY_PY",
          "COUNTRY_QA",
          "COUNTRY_RE",
          "COUNTRY_RO",
          "COUNTRY_RS",
          "COUNTRY_RU",
          "COUNTRY_RW",
          "COUNTRY_SA",
          "COUNTRY_SB",
          "COUNTRY_SC",
          "COUNTRY_SD",
          "COUNTRY_SE",
          "COUNTRY_SG",
          "COUNTRY_SH",
          "COUNTRY_SI",
          "COUNTRY_SJ",
          "COUNTRY_SK",
          "COUNTRY_SL",
          "COUNTRY_SM",
          "COUNTRY_SN",
          "COUNTRY_SO",
          "COUNTRY_SR",
          "COUNTRY_SS",
          "COUNTRY_ST",
          "COUNTRY_SV",
          "COUNTRY_SX",
          "COUNTRY_SY",
          "COUNTRY_SZ",
          "COUNTRY_TC",
          "COUNTRY_TD",
          "COUNTRY_TF",
          "COUNTRY_TG",
          "COUNTRY_TH",
          "COUNTRY_TJ",
          "COUNTRY_TK",
          "COUNTRY_TL",
          "COUNTRY_TM",
          "COUNTRY_TN",
          "COUNTRY_TO",
          "COUNTRY_TR",
          "COUNTRY_TT",
          "COUNTRY_TV",
          "COUNTRY_TW",
          "COUNTRY_TZ",
          "COUNTRY_UA",
          "COUNTRY_UG",
          "COUNTRY_UM",
          "COUNTRY_US",
          "COUNTRY_UY",
          "COUNTRY_UZ",
          "COUNTRY_VA",
          "COUNTRY_VC",
          "COUNTRY_VE",
          "COUNTRY_VG",
          "COUNTRY_VI",
          "COUNTRY_VN",
          "COUNTRY_VU",
          "COUNTRY_WF",
          "COUNTRY_WS",
          "COUNTRY_XK",
          "COUNTRY_XT",
          "COUNTRY_YE",
          "COUNTRY_YT",
          "COUNTRY_ZA",
          "COUNTRY_ZM",
          "COUNTRY_ZW"
        ],
        "default": "COUNTRY_NONE",
        "x-displayname": "Country Code.",
        "x-ves-proto-enum": "ves.io.schema.policy.CountryCode",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyCountryCode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"COUNTRY_NONE\"",
          "example_yaml": "COUNTRY_NONE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyDetectionContext": {
        "type": "string",
        "description": "The available contexts for Exclusion rules.\n\n- CONTEXT_ANY: CONTEXT_ANY\n\nDetection will be excluded for all contexts.\n- CONTEXT_BODY: CONTEXT_BODY\n\nDetection will be excluded for the request body.\n- CONTEXT_REQUEST: CONTEXT_REQUEST\n\nDetection will be excluded for the request.\n- CONTEXT_RESPONSE: CONTEXT_RESPONSE\n\n- CONTEXT_PARAMETER: CONTEXT_PARAMETER\n\nDetection will be excluded for the parameters. The parameter name is required in the Context name field. If the field is left empty, the detection will be excluded for all parameters.\n- CONTEXT_HEADER: CONTEXT_HEADER\n\nDetection will be excluded for the headers. The header name is required in the Context name field. If the field is left empty, the detection will be excluded for all headers.\n- CONTEXT_COOKIE: CONTEXT_COOKIE\n\nDetection will be excluded for the cookies. The cookie name is required in the Context name field. If the field is left empty, the detection will be excluded for all cookies.\n- CONTEXT_URL: CONTEXT_URL\n\nDetection will be excluded for the request URL.\n- CONTEXT_URI: CONTEXT_URI.",
        "title": "Detection Context",
        "enum": [
          "CONTEXT_ANY",
          "CONTEXT_BODY",
          "CONTEXT_REQUEST",
          "CONTEXT_RESPONSE",
          "CONTEXT_PARAMETER",
          "CONTEXT_HEADER",
          "CONTEXT_COOKIE",
          "CONTEXT_URL",
          "CONTEXT_URI"
        ],
        "default": "CONTEXT_ANY",
        "x-displayname": "WAF Exclusion Context OPTIONS.",
        "x-ves-proto-enum": "ves.io.schema.policy.DetectionContext",
        "x-f5xc-description-short": "The available contexts for Exclusion rules. - CONTEXT_ANY: CONTEXT_ANY Detection will be excluded for all contexts. - CONTEXT_BODY: CONTEXT_BODY...",
        "x-f5xc-description-medium": "The available contexts for Exclusion rules. - CONTEXT_ANY: CONTEXT_ANY Detection will be excluded for all contexts. - CONTEXT_BODY: CONTEXT_BODY Detection will be excluded for the request body. - CONTEXT_REQUEST: CONTEXT_REQUEST Detection will be excluded for the request. - CONTEXT_RESPONSE...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyDetectionContext",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CONTEXT_ANY\"",
          "example_yaml": "CONTEXT_ANY\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyHttpMethodMatcherType": {
        "type": "object",
        "description": "A HTTP method matcher specifies a list of methods to match an input HTTP method. The match is considered successful if the input method is a member of the list.\nThe result of the match based on the method list is inverted if invert_matcher is true.",
        "title": "HttpMethodMatcherType",
        "x-displayname": "HTTP Method Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.HttpMethodMatcherType",
        "properties": {
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Method Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "methods": {
            "type": "array",
            "description": "List of methods values to match against.",
            "title": "methods",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "Method List.",
            "x-ves-example": "['GET', 'POST', 'DELETE']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['GET', 'POST', 'DELETE']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of methods values to match against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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": "HTTP method matcher specifies a list of methods to match an input HTTP method.",
        "x-f5xc-description-medium": "HTTP method matcher specifies a list of methods to match an input HTTP method. The match is considered successful if the input method is a member of the list. The result of the match based on the method list is inverted if invert_matcher is true.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyHttpMethodMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyIPThreatCategory": {
        "type": "string",
        "description": "The IP threat categories to use when a policy based IP threat category is configured.\n\n- SPAM_SOURCES: SPAM_SOURCES\n\n- WINDOWS_EXPLOITS: WINDOWS_EXPLOITS\n\n- WEB_ATTACKS: WEB_ATTACKS\n\n- BOTNETS: BOTNETS\n\n- SCANNERS: SCANNERS\n\n- REPUTATION: REPUTATION\n\n- PHISHING: PHISHING\n\n- PROXY: PROXY\n\n- MOBILE_THREATS: MOBILE_THREATS\n\n- TOR_PROXY: TOR_PROXY\n\n- DENIAL_OF_SERVICE: DENIAL_OF_SERVICE\n\n- NETWORK: NETWORK.",
        "title": "IP Threat Category",
        "enum": [
          "SPAM_SOURCES",
          "WINDOWS_EXPLOITS",
          "WEB_ATTACKS",
          "BOTNETS",
          "SCANNERS",
          "REPUTATION",
          "PHISHING",
          "PROXY",
          "MOBILE_THREATS",
          "TOR_PROXY",
          "DENIAL_OF_SERVICE",
          "NETWORK"
        ],
        "default": "SPAM_SOURCES",
        "x-displayname": "IP Threat Category.",
        "x-ves-proto-enum": "ves.io.schema.policy.IPThreatCategory",
        "x-f5xc-description-short": "The IP threat categories to use when a policy based IP threat category is configured. - SPAM_SOURCES: SPAM_SOURCES - WINDOWS_EXPLOITS...",
        "x-f5xc-description-medium": "The IP threat categories to use when a policy based IP threat category is configured. - SPAM_SOURCES: SPAM_SOURCES - WINDOWS_EXPLOITS: WINDOWS_EXPLOITS - WEB_ATTACKS: WEB_ATTACKS - BOTNETS: BOTNETS - SCANNERS: SCANNERS - REPUTATION: REPUTATION - PHISHING: PHISHING - PROXY: PROXY ...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyIPThreatCategory",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SPAM_SOURCES\"",
          "example_yaml": "SPAM_SOURCES\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyIpMatcherType": {
        "type": "object",
        "description": "Match any IP prefix contained in the list of ip_prefix_sets.\nThe result of the match is inverted if invert_matcher is true.",
        "title": "ip matcher type",
        "x-displayname": "IP Prefix Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.IpMatcherType",
        "properties": {
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert IP Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "prefix_sets": {
            "type": "array",
            "description": "A list of references to ip_prefix_set objects.",
            "title": "prefix_sets",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "IP Prefix Sets.",
            "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-description-short": "List of references to ip_prefix_set objects.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "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-description-short": "Match any IP prefix contained in the list of ip_prefix_sets. The result of the match is inverted if invert_matcher is true.",
        "x-f5xc-description-medium": "Match any IP prefix contained in the list of ip_prefix_sets. The result of the match is inverted if invert_matcher is true.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyIpMatcherType",
          "required_fields": [
            "prefix_sets"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix_sets\": [\n    {}\n  ]\n}",
          "example_yaml": "prefix_sets:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyJA4TlsFingerprintMatcherType": {
        "type": "object",
        "description": "An extended version of JA3 that includes additional fields for more comprehensive fingerprinting of\nSSL/TLS clients and potentially has a different structure and length.",
        "title": "JA4TlsFingerprintMatcherType",
        "x-displayname": "JA4 TLS Fingerprint Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.JA4TlsFingerprintMatcherType",
        "properties": {
          "exact_values": {
            "type": "array",
            "description": "A list of exact JA4 TLS fingerprint to match the input JA4 TLS fingerprint against.",
            "title": "exact values",
            "maxItems": 16,
            "items": {
              "type": "string"
            },
            "x-displayname": "Exact Values.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "36",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "36",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact JA4 TLS fingerprint to match the input JA4 TLS fingerprint against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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": "Extended version of JA3 that includes additional fields for more comprehensive fingerprinting of SSL/TLS clients and potentially has a different...",
        "x-f5xc-description-medium": "Extended version of JA3 that includes additional fields for more comprehensive fingerprinting of SSL/TLS clients and potentially has a different structure and length.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyJA4TlsFingerprintMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyJWTClaimMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it.\nThe input has a list of actual values for each JWT claim name in the JWT payload.\nA JWT claim matcher can check for one of the following:\n* Presence or absence of the JWT Claim in the input\n* At least one of the values for the JWT Claim in the input satisfies the MatcherType item.",
        "title": "JWTClaimMatcherType",
        "x-displayname": "JWT Claim Matcher.",
        "x-ves-displayorder": "1,2,6",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.JWTClaimMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "JWT claim name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "JWT Claim Name.",
            "x-ves-example": "User_id",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "user_id",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it. The input has a list of actual values for each JWT claim name in the JWT payload. A JWT claim matcher can check for one of the following: * Presence or absence of the JWT Claim in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyJWTClaimMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"user_id\"\n}",
          "example_yaml": "name: user_id"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyKnownTlsFingerprintClass": {
        "type": "string",
        "description": "Specifies known TLS fingerprint classes\n\n- TLS_FINGERPRINT_NONE: TLS_FINGERPRINT_NONE\n\nNo TLS fingerprint\n- ANY_MALICIOUS_FINGERPRINT: ANY_MALICIOUS_FINGERPRINT\n\nTLS fingerprints known to be associated with malicious clients\n- ADWARE: ADWARE\n\nTLS fingerprints known to be associated with adware\n- ADWIND: ADWIND\n\nTLS fingerprints known to be associated with adwind\n- DRIDEX: DRIDEX\n\nTLS fingerprints known to be associated with dridex\n- GOOTKIT: GOOTKIT\n\nTLS fingerprints known to be associated with gootkit\n- GOZI: GOZI\n\nTLS fingerprints known to be associated with gozi\n- JBIFROST: JBIFROST\n\nTLS fingerprints known to be associated with jbifrost\n- QUAKBOT: QUAKBOT\n\nTLS fingerprints known to be associated with quakbot\n- RANSOMWARE: RANSOMWARE\n\nTLS fingerprints known to be associated with ransomware\n- TROLDESH: TROLDESH\n\nTLS fingerprints known to be associated with troldesh\n- TOFSEE: TOFSEE\n\nTLS fingerprints known to be associated with tofsee\n- TORRENTLOCKER: TORRENTLOCKER\n\nTLS fingerprints known to be associated with torrentlocker\n- TRICKBOT: TRICKBOT\n\nTLS fingerprints known to be associated with trickbot.",
        "title": "TLS known fingerprint class",
        "enum": [
          "TLS_FINGERPRINT_NONE",
          "ANY_MALICIOUS_FINGERPRINT",
          "ADWARE",
          "ADWIND",
          "DRIDEX",
          "GOOTKIT",
          "GOZI",
          "JBIFROST",
          "QUAKBOT",
          "RANSOMWARE",
          "TROLDESH",
          "TOFSEE",
          "TORRENTLOCKER",
          "TRICKBOT"
        ],
        "default": "TLS_FINGERPRINT_NONE",
        "x-displayname": "TLS known fingerprint class.",
        "x-ves-proto-enum": "ves.io.schema.policy.KnownTlsFingerprintClass",
        "x-f5xc-description-short": "Specifies known TLS fingerprint classes - TLS_FINGERPRINT_NONE: TLS_FINGERPRINT_NONE No TLS fingerprint - ANY_MALICIOUS_FINGERPRINT...",
        "x-f5xc-description-medium": "Specifies known TLS fingerprint classes - TLS_FINGERPRINT_NONE: TLS_FINGERPRINT_NONE No TLS fingerprint - ANY_MALICIOUS_FINGERPRINT: ANY_MALICIOUS_FINGERPRINT TLS fingerprints known to be associated with malicious clients - ADWARE: ADWARE TLS fingerprints known to be associated with adware ...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyKnownTlsFingerprintClass",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TLS_FINGERPRINT_NONE\"",
          "example_yaml": "TLS_FINGERPRINT_NONE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyMatcherType": {
        "type": "object",
        "description": "A matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied. The set\nof supported match criteria includes a list of exact values and a list of regular expressions.",
        "title": "MatcherType",
        "x-displayname": "Matcher",
        "x-ves-proto-message": "ves.io.schema.policy.MatcherType",
        "properties": {
          "exact_values": {
            "type": "array",
            "description": "A list of exact values to match the input against.",
            "title": "exact values",
            "maxItems": 64,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Exact Values.",
            "x-ves-example": "['new york', 'london', 'sydney', 'tokyo', 'cairo']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['new york', 'london', 'sydney', 'tokyo', 'cairo']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact values to match the input against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "regex_values": {
            "type": "array",
            "description": "A list of regular expressions to match the input against.",
            "title": "regex values",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Regex Values.",
            "x-ves-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of regular expressions to match the input against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "transformers": {
            "type": "array",
            "description": "An ordered list of transformers (starting from index 0) to be applied to the path before matching.",
            "title": "transformers",
            "maxItems": 9,
            "items": {
              "$ref": "#/components/schemas/policyTransformer"
            },
            "x-displayname": "Transformers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "\"[BASE64_DECODE, LOWER_CASE]",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Ordered list of transformers (starting from index 0) to be applied to the path before matching.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 9,
              "uniqueItems": true,
              "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": "Matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied.",
        "x-f5xc-description-medium": "Matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied. The set of supported match criteria includes a list of exact values and a list of regular expressions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyPrefixMatchList": {
        "type": "object",
        "description": "List of IP Prefix strings to match against.",
        "title": "IP Prefix Match List",
        "x-displayname": "IP Prefix Match List.",
        "x-ves-proto-message": "ves.io.schema.policy.PrefixMatchList",
        "properties": {
          "invert_match": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Match Result.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip_prefixes": {
            "type": "array",
            "description": "List of IPv4 prefix strings.",
            "title": "ip prefixes",
            "maxItems": 128,
            "items": {
              "type": "string"
            },
            "x-displayname": "IPv4 Prefix List.",
            "x-ves-example": "192.0.2.0/24.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ipv4_prefix": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "192.0.2.0/24",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ipv4_prefix": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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 Prefix strings to match against.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyPrefixMatchList",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyRequestMatcher__ves_io_schema_app_security": {
        "type": "object",
        "description": "Request conditions for matching a rule.",
        "title": "Request Matcher",
        "x-displayname": "Request Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.RequestMatcher",
        "properties": {
          "cookie_matchers": {
            "type": "array",
            "description": "A list of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances\nof CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.\nNote that all specified cookie matcher predicates must evaluate to true.",
            "title": "cookie matchers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyCookieMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "Cookie Matchers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all cookies that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances of CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "headers": {
            "type": "array",
            "description": "A list of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType\ninstances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.\nNote that all specified header predicates must evaluate to true.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyHeaderMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "HTTP Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of predicates for various HTTP headers that need to match.",
            "x-f5xc-description-medium": "List of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType instances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "jwt_claims": {
            "type": "array",
            "description": "A list of predicates for various JWT claims that need to match. The criteria for matching each JWT claim are described in individual JWTClaimMatcherType\ninstances. The actual JWT claims values are extracted from the JWT payload as a list of strings.\nNote that all specified JWT claim predicates must evaluate to true.\nNote that this feature only works on LBs with JWT Validation feature enabled.",
            "title": "JWT claims",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyJWTClaimMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "JWT Claims.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for various JWT claims that need to match.",
            "x-f5xc-description-medium": "List of predicates for various JWT claims that need to match. The criteria for matching each JWT claim are described in individual JWTClaimMatcherType instances. The actual JWT claims values are extracted from the JWT payload as a list of strings.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "query_params": {
            "type": "array",
            "description": "A list of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances\nof QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query parameter name.\nNote that all specified query parameter predicates must evaluate to true.",
            "title": "query params",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyQueryParameterMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "HTTP Query Parameters.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all query parameters that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances of QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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 policyRequestMatcher",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policySimpleWafExclusionRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "Simple WAF exclusion rule specifies a simple set of match conditions to be matched to skip a list of WAF detections.",
        "title": "SimpleWafExclusionRule",
        "x-displayname": "WAF Exclusion Rule.",
        "x-ves-displayorder": "10,3,16,7,14,9",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"exact_value\",\"suffix_value\"]",
        "x-ves-oneof-field-path_choice": "[\"any_path\",\"path_prefix\",\"path_regex\"]",
        "x-ves-oneof-field-waf_advanced_configuration": "[\"app_firewall_detection_control\",\"waf_skip_processing\"]",
        "x-ves-proto-message": "ves.io.schema.policy.SimpleWafExclusionRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "exact_value",
              "suffix_value"
            ]
          },
          "any_path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "path_prefix",
              "path_regex"
            ]
          },
          "app_firewall_detection_control": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAppFirewallDetectionControl"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall detection control.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "waf_skip_processing"
            ]
          },
          "exact_value": {
            "type": "string",
            "description": "Exclusive with [any_domain suffix_value]\nExact domain name.",
            "title": "exact value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Exact Value.",
            "x-ves-example": "abc.zyz.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "abc.zyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain suffix_value] Exact domain name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "suffix_value"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "The expiration_timestamp is the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in\nthe configuration but is not applied anymore.",
            "title": "expiration timestamp",
            "format": "date-time",
            "x-displayname": "Expiration Timestamp.",
            "x-ves-example": "2019-12-31:44:34.171543432Z.",
            "x-f5xc-example": "2019-12-31:44:34.171543432Z",
            "x-f5xc-description-short": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired.",
            "x-f5xc-description-medium": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in the configuration but is not applied anymore.",
            "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
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "methods": {
            "type": "array",
            "description": "Methods to be matched.",
            "title": "Methods",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "Methods",
            "x-ves-example": "GET",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "GET",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "path_prefix": {
            "type": "string",
            "description": "Exclusive with [any_path path_regex]\nPath prefix to match (e.g. The value / will match on all paths)",
            "title": "prefix",
            "maxLength": 256,
            "x-displayname": "Prefix",
            "x-ves-example": "/register/.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/register/",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [any_path path_regex] Path prefix to match (e.g. The value / will match on all paths)",
            "x-f5xc-description-medium": "Exclusive with [any_path path_regex] Path prefix to match (e.g. The value / will match on all paths).",
            "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
            },
            "x-f5xc-conflicts-with": [
              "any_path",
              "path_regex"
            ]
          },
          "path_regex": {
            "type": "string",
            "description": "Exclusive with [any_path path_prefix]\nDefine the regex for the path. For example, the regex ^/.*$ will match on all paths.",
            "title": "Path Regex",
            "maxLength": 256,
            "x-displayname": "Path Regex.",
            "x-ves-example": "/blog_id/.*.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-example": "/blog_id/.*",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_path path_prefix] Define the regex for the path. For example, the regex ^/.*$ will match on all paths.",
            "x-f5xc-description-medium": "Exclusive with [any_path path_prefix] Define the regex for the path. For example, the regex ^/.*$ will match on all paths.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 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-conflicts-with": [
              "any_path",
              "path_prefix"
            ]
          },
          "suffix_value": {
            "type": "string",
            "description": "Exclusive with [any_domain exact_value]\nSuffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\"",
            "title": "suffix value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Suffix Value.",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-description-medium": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "exact_value"
            ]
          },
          "waf_skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "app_firewall_detection_control"
            ]
          }
        },
        "x-f5xc-description-short": "Simple WAF exclusion rule specifies a simple set of match conditions to be matched to skip a list of WAF detections.",
        "x-f5xc-description-medium": "Simple WAF exclusion rule specifies a simple set of match conditions to be matched to skip a list of WAF detections.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policySimpleWafExclusionRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyTlsFingerprintMatcherType": {
        "type": "object",
        "description": "A TLS fingerprint matcher specifies multiple criteria for matching a TLS fingerprint. The set of supported positive match criteria includes a list of known\nclasses of TLS fingerprints and a list of exact values. The match is considered successful if either of these positive criteria are satisfied and the input\nfingerprint is not one of the excluded values.",
        "title": "TlsFingerprintMatcherType",
        "x-displayname": "TLS Fingerprint Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.TlsFingerprintMatcherType",
        "properties": {
          "classes": {
            "type": "array",
            "description": "A list of known classes of TLS fingerprints to match the input TLS JA3 fingerprint against.",
            "title": "classes",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyKnownTlsFingerprintClass"
            },
            "x-displayname": "TLS fingerprint classes.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "\"['ADWARE', 'TRICKBOT']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of known classes of TLS fingerprints to match the input TLS JA3 fingerprint against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "exact_values": {
            "type": "array",
            "description": "A list of exact TLS JA3 fingerprints to match the input TLS JA3 fingerprint against.",
            "title": "exact values",
            "maxItems": 16,
            "items": {
              "type": "string"
            },
            "x-displayname": "Exact Values.",
            "x-ves-example": "['ed6dfd54b01ebe31b7a65b88abfa7297', '16efcf0e00504ddfedde13bfea997952', 'de364c46b0dfc283b5e38c79ceae3f8f']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['ed6dfd54b01ebe31b7a65b88abfa7297', '16efcf0e00504ddfedde13bfea997952', 'de364c46b0dfc283b5e38c79ceae3f8f']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact TLS JA3 fingerprints to match the input TLS JA3 fingerprint against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "excluded_values": {
            "type": "array",
            "description": "A list of TLS JA3 fingerprints to be excluded when matching the input TLS JA3 fingerprint. This can be used to skip known false positives when using one\nor more known TLS fingerprint classes in the enclosing matcher.",
            "title": "excluded values",
            "maxItems": 32,
            "items": {
              "type": "string"
            },
            "x-displayname": "Excluded Values.",
            "x-ves-example": "['fb00055a1196aeea8d1bc609885ba953', 'b386946a5a44d1ddcc843bc75336dfce']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['fb00055a1196aeea8d1bc609885ba953', 'b386946a5a44d1ddcc843bc75336dfce']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of TLS JA3 fingerprints to be excluded when matching the input TLS JA3 fingerprint.",
            "x-f5xc-description-medium": "List of TLS JA3 fingerprints to be excluded when matching the input TLS JA3 fingerprint. This can be used to skip known false positives when using one or more known TLS fingerprint classes in the enclosing matcher.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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": "TLS fingerprint matcher specifies multiple criteria for matching a TLS fingerprint.",
        "x-f5xc-description-medium": "TLS fingerprint matcher specifies multiple criteria for matching a TLS fingerprint. The set of supported positive match criteria includes a list of known classes of TLS fingerprints and a list of exact values. The match is considered successful if either of these positive criteria are satisfied...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyTlsFingerprintMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyTransformer": {
        "type": "string",
        "description": "Transformers to be applied on the part of the request before matching.\n\n- TRANSFORMER_NONE: transformer none\n\nNo transformers enabled\n- LOWER_CASE: lower case\n\nConvert string to lower case\n- UPPER_CASE: upper case\n\nConvert string to upper case\n- BASE64_DECODE: base64 decode\n\nDecode string assuming base64 encoding\n- NORMALIZE_PATH: normalize path\n\nNormalize URL path so that /a/b/../c will be transformed to /a/c\n- REMOVE_WHITESPACE: remove whitespace\n\nRemove whitespaces\n- URL_DECODE: URL decode\n\nDecode string assuming URL encoding as per rfc1738\n- TRIM_LEFT: trim left\n\nRemove whitespace from the left side of the input string\n- TRIM_RIGHT: trim right\n\nRemove whitespace from the right side of the input string\n- TRIM: trim\n\nRemove whitespace from the both sides of the input string.",
        "title": "Transformer",
        "enum": [
          "LOWER_CASE",
          "UPPER_CASE",
          "BASE64_DECODE",
          "NORMALIZE_PATH",
          "REMOVE_WHITESPACE",
          "URL_DECODE",
          "TRIM_LEFT",
          "TRIM_RIGHT",
          "TRIM"
        ],
        "x-displayname": "Transformer.",
        "x-ves-proto-enum": "ves.io.schema.policy.Transformer",
        "x-f5xc-description-short": "Transformers to be applied on the part of the request before matching. - TRANSFORMER_NONE: transformer none No transformers enabled - LOWER_CASE...",
        "x-f5xc-description-medium": "Transformers to be applied on the part of the request before matching. - TRANSFORMER_NONE: transformer none No transformers enabled - LOWER_CASE: lower case Convert string to lower case - UPPER_CASE: upper case Convert string to upper case - BASE64_DECODE: base64 decode Decode string assuming...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyTransformer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"LOWER_CASE\"",
          "example_yaml": "LOWER_CASE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "rate_limiterRateLimitPeriodUnit": {
        "type": "string",
        "description": "Unit for the period per which the rate limit is applied.\n\n- SECOND: Second\n\nRate limit period unit is seconds\n- MINUTE: Minute\n\nRate limit period unit is minutes\n- HOUR: Hour\n\nRate limit period unit is hours\n- DAY: Day\n\nRate limit period unit is days.",
        "title": "RateLimitPeriodUnit",
        "enum": [
          "SECOND",
          "MINUTE",
          "HOUR"
        ],
        "default": "SECOND",
        "x-displayname": "Rate Limit Period Unit.",
        "x-ves-proto-enum": "ves.io.schema.rate_limiter.RateLimitPeriodUnit",
        "x-f5xc-description-short": "Unit for the period per which the rate limit is applied. - SECOND: Second Rate limit period unit is seconds - MINUTE: Minute Rate limit period...",
        "x-f5xc-description-medium": "Unit for the period per which the rate limit is applied. - SECOND: Second Rate limit period unit is seconds - MINUTE: Minute Rate limit period unit is minutes - HOUR: Hour Rate limit period unit is hours - DAY: Day Rate limit period unit is days.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterRateLimitPeriodUnit",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SECOND\"",
          "example_yaml": "SECOND\n..."
        },
        "x-f5xc-cli-domain": "rate_limiting",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaHttpMethod": {
        "type": "string",
        "description": "Specifies the HTTP method used to access a resource.\n\nAny HTTP Method.",
        "title": "HttpMethod",
        "enum": [
          "ANY",
          "GET",
          "HEAD",
          "POST",
          "PUT",
          "DELETE",
          "CONNECT",
          "OPTIONS",
          "TRACE",
          "PATCH",
          "COPY"
        ],
        "default": "ANY",
        "x-displayname": "HTTP Method.",
        "x-ves-proto-enum": "ves.io.schema.HttpMethod",
        "x-f5xc-description-short": "Specifies the HTTP method used to access a resource. Any HTTP Method.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaHttpMethod",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ANY\"",
          "example_yaml": "ANY\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaLabelSelectorType": {
        "type": "object",
        "description": "This type can be used to establish a 'selector reference' from one object(called selector) to\na set of other objects(called selectees) based on the value of expressions.\nA label selector is a label query over a set of resources. An empty label selector matches all objects.\nA null label selector matches no objects. Label selector is immutable.\nExpressions is a list of strings of label selection expression.\nEach string has \",\" separated values which are \"AND\" and all strings are logically \"OR\".\nBNF for expression string\n<selector-syntax> ::= <requirement> | <requirement> \",\" <selector-syntax>\n<requirement> ::= [!] KEY [ <set-based-restriction> | <exact-match-restriction> ]\n<set-based-restriction> ::= \"\" | <inclusion-exclusion> <value-set>\n<inclusion-exclusion> ::= <inclusion> | <exclusion>\n<exclusion> ::= \"notin\"\n<inclusion> ::= \"in\"\n<value-set> ::= \"(\" <values> \")\"\n<values> ::= VALUE | VALUE \",\" <values>\n<exact-match-restriction> ::= [\"=\"|\"==\"|\"!=\"] VALUE.",
        "title": "LabelSelectorType",
        "x-displayname": "Label Selector.",
        "x-ves-proto-message": "ves.io.schema.LabelSelectorType",
        "properties": {
          "expressions": {
            "type": "array",
            "description": "Expressions contains the Kubernetes style label expression for selections.",
            "title": "expressions",
            "maxItems": 1,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "x-displayname": "Selector Expression.",
            "x-ves-example": "Region in (us-west1, us-west2),tier in (staging)",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.k8s_label_selector": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "4096",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-example": "region in (us-west1, us-west2),tier in (staging)",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.k8s_label_selector": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "4096",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-description-short": "Expressions contains the Kubernetes style label expression for selections.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          }
        },
        "x-f5xc-description-short": "Type can be used to establish a 'selector reference' from one object(called selector) to a set of other objects(called selectees) based on the...",
        "x-f5xc-description-medium": "Type can be used to establish a 'selector reference' from one object(called selector) to a set of other objects(called selectees) based on the value of expressions. A label selector is a label query over a set of resources. An empty label selector matches all objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaLabelSelectorType",
          "required_fields": [
            "expressions"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"expressions\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "expressions:\n- value"
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Label management is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaMessageMetaType": {
        "type": "object",
        "description": "MessageMetaType is metadata (common attributes) of a message that only certain messages\nhave. This information is propagated to the metadata of a child object that gets created\nfrom the containing message during view processing.\nThe information in this type can be specified by user during create and replace APIs.",
        "title": "MessageMetaType",
        "x-displayname": "Message Metadata.",
        "x-ves-proto-message": "ves.io.schema.MessageMetaType",
        "properties": {
          "description": {
            "type": "string",
            "description": "Human readable description.",
            "title": "description",
            "maxLength": 256,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "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": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "This is the name of the message.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "minLength": 1,
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-description-short": "Name of the message. The value of name has to follow DNS-1035 format.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 63,
              "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
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "MessageMetaType is metadata (common attributes) of a message that only certain messages have.",
        "x-f5xc-description-medium": "MessageMetaType is metadata (common attributes) of a message that only certain messages have. This information is propagated to the metadata of a child object that gets created from the containing message during view processing. The information in this type can be specified by user during create...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaMessageMetaType",
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaOpenApiValidationProperties": {
        "type": "string",
        "description": "List of required properties to validate against the OpenAPI spec\n\nValidate that all query parameters are according to the OpenAPI specification\nValidate that all path parameters are according to the OpenAPI specification\nValidate that the content type of the request is according to the OpenAPI specification\nValidate that all cookies are according to the OpenAPI specification\nValidate that all HTTP headers are according to the OpenAPI specification\nValidate that the body is according to the OpenAPI specification\nValidate that the security schema is according to the OpenAPI specification\nValidate that the response code is according to the OpenAPI specification.",
        "title": "OpenApiValidationProperties",
        "enum": [
          "PROPERTY_QUERY_PARAMETERS",
          "PROPERTY_PATH_PARAMETERS",
          "PROPERTY_CONTENT_TYPE",
          "PROPERTY_COOKIE_PARAMETERS",
          "PROPERTY_HTTP_HEADERS",
          "PROPERTY_HTTP_BODY",
          "PROPERTY_SECURITY_SCHEMA",
          "PROPERTY_RESPONSE_CODE"
        ],
        "default": "PROPERTY_QUERY_PARAMETERS",
        "x-displayname": "OpenAPI Validation Properties.",
        "x-ves-proto-enum": "ves.io.schema.OpenApiValidationProperties",
        "x-f5xc-description-short": "List of required properties to validate against the OpenAPI spec Validate that all query parameters are according to the OpenAPI specification...",
        "x-f5xc-description-medium": "List of required properties to validate against the OpenAPI spec Validate that all query parameters are according to the OpenAPI specification Validate that all path parameters are according to the OpenAPI specification Validate that the content type of the request is according to the OpenAPI...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaOpenApiValidationProperties",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PROPERTY_QUERY_PARAMETERS\"",
          "example_yaml": "PROPERTY_QUERY_PARAMETERS\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaSortOrder": {
        "type": "string",
        "description": "Sort algorithm\n\nSort in descending order\nSort in ascending order.",
        "title": "SortOrder",
        "enum": [
          "DESCENDING",
          "ASCENDING"
        ],
        "default": "DESCENDING",
        "x-displayname": "Sort Order.",
        "x-ves-proto-enum": "ves.io.schema.SortOrder",
        "x-f5xc-description-short": "Sort algorithm Sort in descending order Sort in ascending order.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSortOrder",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"DESCENDING\"",
          "example_yaml": "DESCENDING\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemapolicyHeaderMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each\nheader name in the original HTTP request.\nA header matcher can check for one of the following:\n* Presence or absence of the header in the input\n* At least one of the values for the header in the input satisfies the MatcherType item.",
        "title": "HeaderMatcherType",
        "x-displayname": "Header Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.HeaderMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Header Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-insensitive HTTP header name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Header Name.",
            "x-ves-example": "Accept-Encoding.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Accept-Encoding",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each header name in the original HTTP request. A header matcher can check for one of the following: * Presence or absence of the header in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyHeaderMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Accept-Encoding\"\n}",
          "example_yaml": "name: Accept-Encoding"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemapolicyIPThreatCategoryListType": {
        "type": "object",
        "description": "List of IP threat categories.",
        "title": "IP Threat Category List Type",
        "x-displayname": "IP Threat Category List Type.",
        "x-ves-proto-message": "ves.io.schema.policy.IPThreatCategoryListType",
        "properties": {
          "ip_threat_categories": {
            "type": "array",
            "description": "The IP threat categories is obtained from the list and is used to auto-generate equivalent label selection expressions.",
            "title": "IP Threat Categories",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/policyIPThreatCategory"
            },
            "x-displayname": "List of IP Threat Categories to choose.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The IP threat categories is obtained from the list and is used to auto-generate equivalent label selection expressions.",
            "x-f5xc-description-medium": "The IP threat categories is obtained from the list and is used to auto-generate equivalent label selection expressions.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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 schemapolicyIPThreatCategoryListType",
          "required_fields": [
            "ip_threat_categories"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ip_threat_categories\": [\n    \"SPAM_SOURCES\"\n  ]\n}",
          "example_yaml": "ip_threat_categories:\n- SPAM_SOURCES"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemapolicyQueryParameterMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it. The input has a list of actual\nvalues for each query parameter name in the original HTTP request.\nA query parameter matcher can check for one of the following:\n* Presence or absence of the query parameter in the input\n* At least one of the values for the query parameter in the input satisfies the MatcherType item.",
        "title": "QueryParameterMatcherType",
        "x-displayname": "Query Parameter Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.QueryParameterMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Query Parameter Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "key": {
            "type": "string",
            "description": "A case-sensitive HTTP query parameter name.",
            "title": "key",
            "maxLength": 256,
            "x-displayname": "Query Parameter Name.",
            "x-ves-example": "Sourceid",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "sourceid",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-description-short": "Case-sensitive HTTP query parameter name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 256
              },
              "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
            },
            "minLength": 7,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "Query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it. The input has a list of actual values for each query parameter name in the original HTTP request. A query parameter matcher can check for one of the following: * Presence or...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyQueryParameterMatcherType",
          "required_fields": [
            "key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"key\": \"sourceid\"\n}",
          "example_yaml": "key: sourceid"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "access_logCDNAccessLogTag": {
        "type": "string",
        "description": "Tags on which CDN access logs can be filtered or grouped by.",
        "title": "Metrics Tag options",
        "enum": [
          "CDN_NAME",
          "SITE_NAME",
          "METHOD",
          "REQ_PATH",
          "RSP_CODE",
          "USER_AGENT",
          "SCHEME",
          "COUNTRY",
          "CACHE_STATUS",
          "RSP_CONTENT_TYPE",
          "HOST_HEADER",
          "REFERER",
          "SNI",
          "UPSTREAM_STATUS",
          "RSP_CODE_CLASS",
          "SRC_IP",
          "TLS_VERSION",
          "REQ_SIZE",
          "HTTP_VERSION",
          "CITY_NAME",
          "UPSTREAM_ADDR"
        ],
        "default": "CDN_NAME",
        "x-displayname": "Tags",
        "x-ves-proto-enum": "ves.io.schema.views.cdn_loadbalancer.access_log.CDNAccessLogTag",
        "x-f5xc-description-short": "Tags on which CDN access logs can be filtered or grouped by.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for access_logCDNAccessLogTag",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CDN_NAME\"",
          "example_yaml": "CDN_NAME\n..."
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_typeDiscoveredAPISettings": {
        "type": "object",
        "description": "Configure Discovered API Settings.",
        "title": "DiscoveredAPISettings",
        "x-displayname": "Discovered API Settings.",
        "x-ves-proto-message": "ves.io.schema.app_type.DiscoveredAPISettings",
        "properties": {
          "purge_duration_for_inactive_discovered_apis": {
            "type": "integer",
            "description": "Inactive discovered API will be deleted after configured duration.",
            "title": "purge_duration_for_inactive_discovered_apis",
            "format": "int64",
            "x-displayname": "Purge Duration for Inactive Discovered APIs from Traffic.",
            "x-ves-example": "2",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "7"
            },
            "x-f5xc-example": "2",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "7"
            },
            "x-f5xc-description-short": "Inactive discovered API will be deleted after configured duration.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 7,
              "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-example": "2",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_typeDiscoveredAPISettings",
          "required_fields": [
            "purge_duration_for_inactive_discovered_apis"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"purge_duration_for_inactive_discovered_apis\": 1\n}",
          "example_yaml": "purge_duration_for_inactive_discovered_apis: 1"
        },
        "x-f5xc-cli-domain": "service_mesh",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "App type definition is platform-level"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "cdn_loadbalancerCDNAccessLogAggregationRequest": {
        "type": "object",
        "description": "Request to GET only aggregation data for access logs.",
        "title": "CDNAccessLogAggregationRequest",
        "x-displayname": "CDN Access Log Aggregation Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNAccessLogAggregationRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregations are key'ed by user-defined aggregation name. The response will be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "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.max_pairs": "16"
            },
            "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.max_pairs": "16"
            },
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the log response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by user-defined aggregation name.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch access logs whose timestamp <= end_time\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": "2019-09-24T12:30:11.733Z.",
            "x-f5xc-example": "2019-09-24T12:30:11.733Z",
            "x-f5xc-description-short": "Fetch access logs whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated to...",
            "x-f5xc-description-medium": "Fetch access logs whose timestamp <= end_time 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
            }
          },
          "namespace": {
            "type": "string",
            "description": "GET aggregation data for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "GET aggregation data for a given 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])?$"
          },
          "query": {
            "type": "array",
            "description": "CDN Access Logs filter OPTIONS.",
            "title": "Access Logs Filter options",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerCDNAccessLogFilter"
            },
            "x-displayname": "Access Logs Filter.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Fetch access logs whose timestamp >= start_time\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": "2019-09-23T12:30:11.733Z.",
            "x-f5xc-example": "2019-09-23T12:30:11.733Z",
            "x-f5xc-description-short": "Fetch access logs whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be evaluated...",
            "x-f5xc-description-medium": "Fetch access logs whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-description-short": "Request to GET only aggregation data for access logs.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerCDNAccessLogAggregationRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNAccessLogFilter": {
        "type": "object",
        "description": "CDN Access log filter OPTIONS.",
        "title": "Access Log filter fields",
        "x-displayname": "CDN Access log Filter.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNAccessLogFilter",
        "properties": {
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNAccessLogOperatorType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tag": {
            "allOf": [
              {
                "$ref": "#/components/schemas/access_logCDNAccessLogTag"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "values": {
            "type": "array",
            "description": "Filter values.",
            "title": "Filter values",
            "maxItems": 32,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Filter values.",
            "x-ves-example": "[IN, US]",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[IN, US]",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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 cdn_loadbalancerCDNAccessLogFilter",
          "required_fields": [
            "values"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"values\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "values:\n- value"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNAccessLogOperatorType": {
        "type": "string",
        "description": "Operators possible in filtering.",
        "title": "Metrics Operator Types",
        "enum": [
          "CDN_ACCESS_LOG_OPERATOR_TYPE_IN",
          "CDN_ACCESS_LOG_OPERATOR_TYPE_NOT_IN"
        ],
        "default": "CDN_ACCESS_LOG_OPERATOR_TYPE_IN",
        "x-displayname": "Metrics Operator Types.",
        "x-ves-proto-enum": "ves.io.schema.views.cdn_loadbalancer.CDNAccessLogOperatorType",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerCDNAccessLogOperatorType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CDN_ACCESS_LOG_OPERATOR_TYPE_IN\"",
          "example_yaml": "CDN_ACCESS_LOG_OPERATOR_TYPE_IN\n..."
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNAccessLogRequest": {
        "type": "object",
        "description": "Request to fetch access logs.",
        "title": "CDNAccessLogRequest",
        "x-displayname": "CDN Access Log Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNAccessLogRequest",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregations are key'ed by user-defined aggregation name. The response will be key'ed with the same name.\nOptional.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "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.max_pairs": "16"
            },
            "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.max_pairs": "16"
            },
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the log response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregations are key'ed by user-defined aggregation name.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_time": {
            "type": "string",
            "description": "Fetch access logs whose timestamp <= end_time\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": "2019-09-24T12:30:11.733Z.",
            "x-f5xc-example": "2019-09-24T12:30:11.733Z",
            "x-f5xc-description-short": "Fetch access logs whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated to...",
            "x-f5xc-description-medium": "Fetch access logs whose timestamp <= end_time 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
            }
          },
          "limit": {
            "type": "integer",
            "description": "Limits the number of logs returned in the response\nOptional: If not specified, first or last 500 log messages that matches the query (depending on the sort order) will be returned in the response.\nThe maximum value for limit is 500.",
            "title": "limit",
            "format": "int64",
            "x-displayname": "Limit",
            "x-ves-example": "0",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "500"
            },
            "x-f5xc-example": "0",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "500"
            },
            "x-f5xc-description-short": "Limits the number of logs returned in the response Optional: If not specified, first or last 500 log messages that matches the query (depending on...",
            "x-f5xc-description-medium": "Limits the number of logs returned in the response Optional: If not specified, first or last 500 log messages that matches the query (depending on the sort order) will be returned in the response. The maximum value for limit is 500.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 500,
              "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
            }
          },
          "namespace": {
            "type": "string",
            "description": "Fetch access logs for a given namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Fetch access logs for a given 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])?$"
          },
          "query": {
            "type": "array",
            "description": "CDN Access Logs filter OPTIONS.",
            "title": "Access Logs Filter options",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerCDNAccessLogFilter"
            },
            "x-displayname": "Access Logs Filter.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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
            }
          },
          "sort": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSortOrder"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Fetch access logs whose timestamp >= start_time\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": "2019-09-23T12:30:11.733Z.",
            "x-f5xc-example": "2019-09-23T12:30:11.733Z",
            "x-f5xc-description-short": "Fetch access logs whose timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be evaluated...",
            "x-f5xc-description-medium": "Fetch access logs whose timestamp >= start_time 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerCDNAccessLogRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNHTTPSAutoCertsType": {
        "type": "object",
        "description": "Choice for selecting HTTPS CDN distribution with bring your own certificates.",
        "title": "HTTPS with Automatic Certificate",
        "x-displayname": "HTTPS with Automatic Certificate.",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNHTTPSAutoCertsType",
        "properties": {
          "add_hsts": {
            "type": "boolean",
            "description": "Add HTTP Strict-Transport-Security response header.",
            "title": "Add HSTS",
            "format": "boolean",
            "x-displayname": "Add HSTS Header.",
            "x-f5xc-description-short": "Add HTTP Strict-Transport-Security response header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_redirect": {
            "type": "boolean",
            "description": "Redirect HTTP traffic to HTTPS.",
            "title": "HTTP Redirect",
            "format": "boolean",
            "x-displayname": "HTTP Redirect to HTTPS.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tls_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNTLSConfig"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Choice for selecting HTTPS CDN distribution with bring your own certificates.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerCDNHTTPSAutoCertsType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNHTTPSCustomCertsType": {
        "type": "object",
        "description": "Choice for selecting CDN Distribution with bring your own certificates.",
        "title": "BYOC for the CDN distribution",
        "x-displayname": "BYOC HTTPS Choice.",
        "x-ves-displayorder": "1,2,7",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNHTTPSCustomCertsType",
        "properties": {
          "add_hsts": {
            "type": "boolean",
            "description": "Add HTTP Strict-Transport-Security response header.",
            "title": "Add HSTS",
            "format": "boolean",
            "x-displayname": "Add HSTS Header.",
            "x-f5xc-description-short": "Add HTTP Strict-Transport-Security response header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_redirect": {
            "type": "boolean",
            "description": "Redirect HTTP traffic to HTTPS.",
            "title": "HTTP Redirect",
            "format": "boolean",
            "x-displayname": "HTTP Redirect to HTTPS.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tls_cert_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerTlsCertOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls cert options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Choice for selecting CDN Distribution with bring your own certificates.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerCDNHTTPSCustomCertsType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNLoadBalancerList": {
        "type": "object",
        "title": "List of cdn load balancers",
        "x-displayname": "List of CDN Load Balancers.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNLoadBalancerList",
        "properties": {
          "cdn_loadbalancer": {
            "type": "array",
            "description": "Configuration parameter for cdn loadbalancer",
            "title": "CDN LoadBalancer",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "CDN LoadBalancer.",
            "x-ves-example": "[blogging-app]",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-example": "[blogging-app]",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-description-short": "Configuration parameter for cdn loadbalancer.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 5,
              "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 cdn_loadbalancerCDNLoadBalancerList",
          "required_fields": [
            "cdn_loadbalancer"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cdn_loadbalancer\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "cdn_loadbalancer:\n- value"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNLogAggregationResponse": {
        "type": "object",
        "description": "Response message for CDNAccessLogAggregationRequest.",
        "title": "CDNLogAggregationResponse",
        "x-displayname": "CDN Log Aggregation Response.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNLogAggregationResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregation data is key'ed with the aggregation name specified in the request.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the log response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregation data is key'ed with the aggregation name...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of log messages that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Total number of log messages that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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": "Response message for CDNAccessLogAggregationRequest.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerCDNLogAggregationResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNLogResponse": {
        "type": "object",
        "description": "Response message for AccessLogRequest.",
        "title": "CDNLogResponse",
        "x-displayname": "CDN Log Response.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNLogResponse",
        "properties": {
          "aggs": {
            "type": "object",
            "description": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query\nis large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations.\nThe aggregation data is key'ed with the aggregation name specified in the request.",
            "title": "aggregations",
            "x-displayname": "Aggregations.",
            "x-f5xc-description-short": "Aggregations provide summary/analytics data over the log response.",
            "x-f5xc-description-medium": "Aggregations provide summary/analytics data over the log response. If the number of logs that matched the query is large and cannot be returned in a single response message, user can GET helpful insights/summary using aggregations. The aggregation data is key'ed with the aggregation name...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "logs": {
            "type": "array",
            "description": "List of log messages that matched the query. Not all log messages that matched the query are returned in the response.",
            "title": "logs",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNAccessLogsResponseData"
            },
            "x-displayname": "Logs",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "List of log messages that matched the query. Not all log messages that matched the query are returned in the response.",
            "x-f5xc-description-medium": "List of log messages that matched the query. Not all log messages that matched the query are returned in the response.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "total_hits": {
            "type": "string",
            "description": "Total number of log messages that matched the query.",
            "title": "total hits",
            "format": "uint64",
            "x-displayname": "Total Hits.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Total number of log messages that matched the query.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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 cdn_loadbalancerCDNLogResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCDNTLSConfig": {
        "type": "object",
        "description": "This defines various OPTIONS to configure TLS configuration parameters.",
        "title": "CDNTLSConfig",
        "x-displayname": "TLS Config.",
        "x-ves-displayorder": "5",
        "x-ves-oneof-field-choice": "[\"tls_11_plus\",\"tls_12_plus\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNTLSConfig",
        "properties": {
          "tls_11_plus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls 11 plus.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "tls_12_plus"
            ]
          },
          "tls_12_plus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls 12 plus.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "tls_11_plus"
            ]
          }
        },
        "x-f5xc-description-short": "Defines various OPTIONS to configure TLS configuration parameters.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerCDNTLSConfig",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of cdn_loadbalancer",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.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/viewscdn_loadbalancerCreateSpecType"
              }
            ],
            "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 cdn_loadbalancerCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.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/viewscdn_loadbalancerGetSpecType"
              }
            ],
            "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 cdn_loadbalancerCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a cdn_loadbalancer",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.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 cdn_loadbalancerDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerGetCDNSecurityConfigReq": {
        "type": "object",
        "description": "Request of GET Security Config Spec API.",
        "title": "Get Security Config request",
        "x-displayname": "GET Security Config Request.",
        "x-ves-oneof-field-loadbalancer_choice": "[\"all_cdn_loadbalancers\",\"cdn_loadbalancers_list\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.GetCDNSecurityConfigReq",
        "properties": {
          "all_cdn_loadbalancers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for all cdn loadbalancers.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cdn_loadbalancers_list"
            ]
          },
          "cdn_loadbalancers_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNLoadBalancerList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_cdn_loadbalancers"
            ]
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the CDN Load Balancer for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the CDN Load Balancer for current request.",
            "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 of GET Security Config Spec API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerGetCDNSecurityConfigReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read cdn_loadbalancer",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCreateRequest"
              }
            ],
            "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/cdn_loadbalancerReplaceRequest"
              }
            ],
            "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/viewscdn_loadbalancerGetSpecType"
              }
            ],
            "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/cdn_loadbalancerStatusObject"
            },
            "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 cdn_loadbalancerGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNAccessLogsResponseData": {
        "type": "object",
        "description": "CDN Access-Log item.",
        "title": "CDN access logs data item",
        "x-displayname": "CDN Access log data item.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNAccessLogsResponseData",
        "properties": {
          "cache_status": {
            "type": "string",
            "description": "CDN Cache Status.",
            "title": "CDN Cache Status",
            "x-displayname": "CDN Cache Status.",
            "x-ves-example": "MISS",
            "x-f5xc-example": "MISS",
            "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
            }
          },
          "cdn_name": {
            "type": "string",
            "description": "Name of the CDN distribution.",
            "title": "CDN Name",
            "x-displayname": "Name of the CDN Distribution.",
            "x-ves-example": "Example-website.",
            "x-f5xc-example": "example-website",
            "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
            }
          },
          "city_id": {
            "type": "string",
            "description": "Geo City ID [maxmind]",
            "title": "Geo City Id",
            "x-displayname": "Geo City ID.",
            "x-ves-example": "3109256",
            "x-f5xc-example": "3109256",
            "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"
          },
          "city_name": {
            "type": "string",
            "description": "Geo City Name.",
            "title": "Geo City Name",
            "x-displayname": "Geo City Name.",
            "x-ves-example": "Segovia",
            "x-f5xc-example": "Segovia",
            "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
            }
          },
          "client_port": {
            "type": "string",
            "description": "Client Port.",
            "title": "Client port",
            "x-displayname": "Client Port.",
            "x-ves-example": "50756",
            "x-f5xc-example": "50756",
            "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
            }
          },
          "country": {
            "type": "string",
            "description": "Geo Country Code of the request.",
            "title": "Geo Country Code of the request",
            "x-displayname": "Geo Country Code of the request.",
            "x-f5xc-example": "\"\"",
            "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
            }
          },
          "geo_location": {
            "type": "string",
            "description": "Geo Location of the request.",
            "title": "Geo Location of the request",
            "x-displayname": "Geo Location of the request.",
            "x-f5xc-example": "\"\"",
            "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
            }
          },
          "host": {
            "type": "string",
            "description": "Host Name of the node where the log was captured.",
            "title": "Host",
            "x-displayname": "Name of the Host.",
            "x-ves-example": "Edge-node-1-85955f9c64-jqw7j.",
            "x-f5xc-example": "edge-node-1-85955f9c64-jqw7j",
            "x-f5xc-description-short": "Host Name of the node where the log was captured.",
            "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
            }
          },
          "host_header": {
            "type": "string",
            "description": "HTTP Host Header.",
            "title": "Host Header",
            "x-displayname": "HTTP Host Header Value.",
            "x-ves-example": "www.f5.com.",
            "x-f5xc-example": "www.f5.com",
            "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
            }
          },
          "http_version": {
            "type": "string",
            "description": "HTTP Version of the request.",
            "title": "HTTP Version of the request",
            "x-displayname": "HTTP Version of the request.",
            "x-ves-example": "HTTP/1.1",
            "x-f5xc-example": "HTTP/1.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
            }
          },
          "method": {
            "type": "string",
            "description": "HTTP Method Name.",
            "title": "HTTP Method Name",
            "x-displayname": "HTTP Method Name.",
            "x-ves-example": "GET",
            "x-f5xc-example": "get",
            "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
            }
          },
          "referer": {
            "type": "string",
            "description": "HTTP referer.",
            "title": "HTTP referer",
            "x-displayname": "HTTP referer.",
            "x-ves-example": "https://example.com/.",
            "x-f5xc-example": "https://example.com/",
            "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
            }
          },
          "req_content_type": {
            "type": "string",
            "description": "Content-Type of the request.",
            "title": "Content-Type of the request",
            "x-displayname": "Content-Type of the request.",
            "x-ves-example": "Text/HTML",
            "x-f5xc-example": "text/html",
            "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
            }
          },
          "req_path": {
            "type": "string",
            "description": "HTTP request path.",
            "title": "HTTP request path",
            "x-displayname": "HTTP request path.",
            "x-ves-example": "/index.html.",
            "x-f5xc-example": "/index.html",
            "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
            }
          },
          "req_size": {
            "type": "string",
            "description": "HTTP Request Size.",
            "title": "HTTP Request Size",
            "format": "uint64",
            "x-displayname": "HTTP Request Size.",
            "x-f5xc-example": "\"",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "request_time": {
            "type": "string",
            "description": "Time taken by the request.",
            "title": "Time taken by the request",
            "x-displayname": "Time taken by the request.",
            "x-ves-example": "0.0",
            "x-f5xc-example": "0.0",
            "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
            }
          },
          "rsp_code": {
            "type": "string",
            "description": "HTTP Response Code.",
            "title": "HTTP Response Code",
            "x-displayname": "HTTP Response Code.",
            "x-ves-example": "200",
            "x-f5xc-example": "200",
            "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
            }
          },
          "rsp_code_class": {
            "type": "string",
            "description": "HTTP Response Code Class.",
            "title": "HTTP Response Code Class",
            "x-displayname": "HTTP Response Code Class.",
            "x-ves-example": "2xx",
            "x-f5xc-example": "2xx",
            "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
            }
          },
          "rsp_content_type": {
            "type": "string",
            "description": "Content-Type of the response.",
            "title": "Content-Type of the response",
            "x-displayname": "Content-Type of the response.",
            "x-ves-example": "Text/HTML",
            "x-f5xc-example": "text/html",
            "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
            }
          },
          "rsp_size": {
            "type": "string",
            "description": "HTTP Response Size.",
            "title": "HTTP Response Size",
            "format": "uint64",
            "x-displayname": "HTTP Response Size.",
            "x-ves-example": "600",
            "x-f5xc-example": "600",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "scheme": {
            "type": "string",
            "description": "HTTP request scheme.",
            "title": "HTTP request scheme",
            "x-displayname": "HTTP request scheme.",
            "x-ves-example": "HTTPS",
            "x-f5xc-example": "https",
            "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
            }
          },
          "site_name": {
            "type": "string",
            "description": "Name of the Site.",
            "title": "Site Name",
            "x-displayname": "Name of the Site.",
            "x-ves-example": "Pa4-par-CDN.",
            "x-f5xc-example": "pa4-par-cdn",
            "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
            }
          },
          "src_ip": {
            "type": "string",
            "description": "Source IP address.",
            "title": "Source IP address",
            "x-displayname": "IP address of the client from where the request came from.",
            "x-ves-example": "192.0.2.103.",
            "x-f5xc-example": "192.0.2.103",
            "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
            }
          },
          "timestamp": {
            "type": "string",
            "description": "Format: unix_timestamp|RFC 3339.",
            "title": "Timestamp",
            "x-displayname": "Timestamp of the access log.",
            "x-ves-example": "2022-10-21T01:05:32.713Z.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "2022-10-21T01:05:32.713Z",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "format": "date-time",
            "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "tls_sni": {
            "type": "string",
            "description": "TLS Service Name Indication.",
            "title": "Service Name Indication",
            "x-displayname": "TLS Service Name Indication Value.",
            "x-ves-example": "www.f5.com.",
            "x-f5xc-example": "www.f5.com",
            "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
            }
          },
          "tls_version": {
            "type": "string",
            "description": "TLS Version Value.",
            "title": "TLS Version",
            "x-displayname": "TLS Version Value.",
            "x-ves-example": "TLSv1.3",
            "x-f5xc-example": "TLSv1.3",
            "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
            }
          },
          "upstream_addr": {
            "type": "string",
            "description": "Upstream Address.",
            "title": "Upstream Address",
            "x-displayname": "Upstream Address.",
            "x-f5xc-example": "\"\"",
            "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
            }
          },
          "upstream_connect_time": {
            "type": "string",
            "description": "Upstream Connect Time.",
            "title": "Upstream Connect Time",
            "x-displayname": "Upstream Connect Time.",
            "x-f5xc-example": "\"\"",
            "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
            }
          },
          "upstream_response_time": {
            "type": "string",
            "description": "Upstream Response Time.",
            "title": "Upstream Response Time",
            "x-displayname": "Upstream Response Time.",
            "x-ves-example": "nginx.data.fr-edge1-0.",
            "x-f5xc-example": "nginx.data.fr-edge1-0",
            "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
            }
          },
          "upstream_status": {
            "type": "string",
            "description": "Upstream Status.",
            "title": "Upstream Status",
            "x-displayname": "Upstream Status.",
            "x-ves-example": "nginx.data.fr-edge1-0.",
            "x-f5xc-example": "nginx.data.fr-edge1-0",
            "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
            }
          },
          "user": {
            "type": "string",
            "description": "Name of the user.",
            "title": "User name",
            "x-displayname": "Name of the User.",
            "x-f5xc-example": "\"\"",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identity",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, hyphens"
              },
              "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
            }
          },
          "user_agent": {
            "type": "string",
            "description": "HTTP User Agent.",
            "title": "HTTP User Agent",
            "x-displayname": "HTTP User Agent.",
            "x-ves-example": "Mozilla/5.0.",
            "x-f5xc-example": "Mozilla/5.0",
            "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 cdn_loadbalancerLilacCDNAccessLogsResponseData",
          "required_fields": [
            "timestamp"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"timestamp\": \"2022-10-21T01:05:32.713Z\"\n}",
          "example_yaml": "timestamp: '2022-10-21T01:05:32.713Z'"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricUnit": {
        "type": "string",
        "description": "Metric Unit.",
        "title": "Metric Unit",
        "enum": [
          "COUNT",
          "BYTES",
          "MILLISECONDS"
        ],
        "default": "COUNT",
        "x-displayname": "Metric Unit.",
        "x-ves-proto-enum": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricUnit",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricUnit",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"COUNT\"",
          "example_yaml": "COUNT\n..."
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsFieldSelector": {
        "type": "string",
        "description": "CDN Metric fields. Naming convention is <field>_<aggregation>\n\nREQUEST_SUCCESS computed from REQUEST_TOTAL - REQUEST_FAILED\nBandwidth computed from DATA_OUT\nBandwidth computed from DATA_IN.",
        "title": "Metrics Field Selector options",
        "enum": [
          "REQUEST_TOTAL_SUM",
          "REQUEST_FAILED_SUM",
          "REQUEST_1XX_SUM",
          "REQUEST_2XX_SUM",
          "REQUEST_3XX_SUM",
          "REQUEST_4XX_SUM",
          "REQUEST_5XX_SUM",
          "DATA_OUT_SUM",
          "LATENCY_MEAN",
          "DATA_IN_SUM"
        ],
        "default": "REQUEST_TOTAL_SUM",
        "x-displayname": "Metrics Field Selector.",
        "x-ves-proto-enum": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsFieldSelector",
        "x-f5xc-description-medium": "CDN Metric fields. Naming convention is <field>_<aggregation> REQUEST_SUCCESS computed from REQUEST_TOTAL - REQUEST_FAILED Bandwidth computed from DATA_OUT Bandwidth computed from DATA_IN.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsFieldSelector",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"REQUEST_TOTAL_SUM\"",
          "example_yaml": "REQUEST_TOTAL_SUM\n..."
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsFilter": {
        "type": "object",
        "description": "CDN Metrics filter OPTIONS.",
        "title": "Metrics Filter options",
        "x-displayname": "Metrics Filter.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsFilter",
        "properties": {
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsOperatorType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tag": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsTag"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "values": {
            "type": "array",
            "description": "Filter values.",
            "title": "Filter values",
            "items": {
              "type": "string"
            },
            "x-displayname": "Filter values.",
            "x-ves-example": "[IN, US]",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "[IN, US]",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsFilter",
          "required_fields": [
            "values"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"values\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "values:\n- value"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsOperatorType": {
        "type": "string",
        "description": "Operators possible in filtering.",
        "title": "Metrics Operator Types",
        "enum": [
          "OPERATOR_TYPE_IN",
          "OPERATOR_TYPE_NOT_IN"
        ],
        "default": "OPERATOR_TYPE_IN",
        "x-displayname": "Metrics Operator Types.",
        "x-ves-proto-enum": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsOperatorType",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsOperatorType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"OPERATOR_TYPE_IN\"",
          "example_yaml": "OPERATOR_TYPE_IN\n..."
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsRequest": {
        "type": "object",
        "description": "CDN Metrics request parameters.",
        "title": "Metrics Request parameters",
        "x-displayname": "Metrics Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "Format: unix_timestamp|RFC 3339.",
            "title": "End Time",
            "x-displayname": "End Time",
            "x-ves-example": "1659758607.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "1659758607",
            "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
            }
          },
          "field_selector": {
            "type": "array",
            "description": "Fields (Metrics) selected to be queried.",
            "title": "Field Selector",
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsFieldSelector"
            },
            "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": "10"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "10"
            },
            "x-f5xc-description-short": "Fields (Metrics) selected to be queried.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 10,
              "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": "array",
            "description": "CDN Metrics filter OPTIONS.",
            "title": "Metrics Filter options",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsFilter"
            },
            "x-displayname": "Metrics Filter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "group_by": {
            "type": "array",
            "description": "Aggregate data by zero or more tags.",
            "title": "Group By",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsTag"
            },
            "x-displayname": "Group By",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace scope of the metric request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Default",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "default",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "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])?$"
          },
          "start_time": {
            "type": "string",
            "description": "Format: unix_timestamp|RFC 3339.",
            "title": "Start Time",
            "x-displayname": "Start Time.",
            "x-ves-example": "1659758607.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "1659758607",
            "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
            }
          },
          "step": {
            "type": "string",
            "description": "Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in\nthe response. The timestamps in the response will be t1=start_time, t2=t1+step, ... Tn=tn-1+step,\nwhere tn <= end_time. Depending on the time range, the step has a minimum value (due to rollups).\nFor e.g. For ranges in last one hr, step minimum is 5m, for ranges beyond a day, its 1h etc.\nStep value used is the max(<min-step-for-range>, <step-value-in-request>)\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": "1m",
            "x-f5xc-example": "1m",
            "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 cdn_loadbalancerLilacCDNMetricsRequest",
          "required_fields": [
            "end_time",
            "field_selector",
            "namespace",
            "start_time"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"end_time\": \"1659758607\",\n  \"field_selector\": [\n    \"REQUEST_TOTAL_SUM\"\n  ],\n  \"namespace\": \"default\",\n  \"start_time\": \"1659758607\"\n}",
          "example_yaml": "end_time: '1659758607'\nfield_selector:\n- REQUEST_TOTAL_SUM\nnamespace: default\nstart_time: '1659758607'"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsResponse": {
        "type": "object",
        "description": "CDN Metrics response message.",
        "title": "Metrics Response",
        "x-displayname": "Metrics Response.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsResponse",
        "properties": {
          "items": {
            "type": "array",
            "description": "CDN Metrics response data items. Each instance has response for a field queried.",
            "title": "Metrics Response Data",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsResponseData"
            },
            "x-displayname": "Metrics Response data items.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "CDN Metrics response data items. Each instance has response for a field queried.",
            "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
            }
          },
          "step": {
            "type": "string",
            "description": "The effective step used in the response. It could be higher than the requested step due to rollups.\nFormat: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.",
            "title": "Step",
            "x-displayname": "Step",
            "x-ves-example": "5m",
            "x-f5xc-example": "5m",
            "x-f5xc-description-short": "The effective step used in the response. It could be higher than the requested step due to rollups.",
            "x-f5xc-description-medium": "The effective step used in the response. It could be higher than the requested step due to rollups. 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 cdn_loadbalancerLilacCDNMetricsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsResponseData": {
        "type": "object",
        "description": "CDN Metrics response data. This is specific to a metric field.",
        "title": "Metrics Response Data",
        "x-displayname": "Metrics Response Data.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsResponseData",
        "properties": {
          "series": {
            "type": "array",
            "description": "CDN Metrics response series for the field in this message.",
            "title": "Metrics Series",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsResponseSeries"
            },
            "x-displayname": "Metrics Response Series.",
            "x-f5xc-description-short": "CDN Metrics response series for the field in this message.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsFieldSelector"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricUnit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "CDN Metrics response data. This is specific to a metric field.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsResponseData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsResponseGroupBy": {
        "type": "object",
        "description": "CDN Metrics group by OPTIONS.",
        "title": "Metrics group by options",
        "x-displayname": "Metrics Group By.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsResponseGroupBy",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsTag"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 16,
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "value": {
            "type": "string",
            "description": "Group-By tag Value.",
            "title": "Group-By tag Value",
            "x-displayname": "Group By Tag 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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsResponseGroupBy",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsResponseSeries": {
        "type": "object",
        "description": "CDN Metrics response series.\nEach series instance has data for a combination of group-by tag values.",
        "title": "Metrics Series",
        "x-displayname": "Metrics Response Series.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsResponseSeries",
        "properties": {
          "group_by": {
            "type": "array",
            "description": "CDN Metrics group-by tag combination.",
            "title": "Metrics group by options",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsResponseGroupBy"
            },
            "x-displayname": "Metrics Group By.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "array",
            "description": "CDN Metrics data for the series.",
            "title": "Metrics Response Value",
            "items": {
              "$ref": "#/components/schemas/cdn_loadbalancerLilacCDNMetricsResponseValue"
            },
            "x-displayname": "Metrics Response 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": "CDN Metrics response series. Each series instance has data for a combination of group-by tag values.",
        "x-f5xc-description-medium": "CDN Metrics response series. Each series instance has data for a combination of group-by tag values.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsResponseSeries",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsResponseValue": {
        "type": "object",
        "description": "CDN Metrics response value.",
        "title": "Metrics Response Value",
        "x-displayname": "Metrics Response Value.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsResponseValue",
        "properties": {
          "timestamp": {
            "type": "string",
            "description": "Metric Timestamp in unix_timestamp.",
            "title": "Metric Timestamp",
            "x-displayname": "Metric Timestamp.",
            "x-f5xc-example": "2025-01-15T10:30:00Z",
            "format": "date-time",
            "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
            }
          },
          "value": {
            "type": "string",
            "description": "Metric Value.",
            "title": "Metric Value",
            "x-displayname": "Metric 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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsResponseValue",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerLilacCDNMetricsTag": {
        "type": "string",
        "description": "Tags on which CDN metrics can be filtered or grouped by\n\nHIT|MISS\nTwo letter country code\nhttp_1_1|http_2_0 etc\ntlsv1_0|tlsv1_1|tlsv1_2 etc.",
        "title": "Metrics Tag options",
        "enum": [
          "CDN_DISTRIBUTION_NAME",
          "CACHE_HIT_TYPE",
          "REQUEST_COUNTRY",
          "HTTP_VERSION",
          "TLS_VERSION",
          "POP_REGION",
          "POP"
        ],
        "default": "CDN_DISTRIBUTION_NAME",
        "x-displayname": "Tags",
        "x-ves-proto-enum": "ves.io.schema.views.cdn_loadbalancer.LilacCDNMetricsTag",
        "x-f5xc-description-short": "Tags on which CDN metrics can be filtered or grouped by HIT|MISS Two letter country code http_1_1|http_2_0 etc tlsv1_0|tlsv1_1|tlsv1_2 etc.",
        "x-f5xc-description-medium": "Tags on which CDN metrics can be filtered or grouped by HIT|MISS Two letter country code http_1_1|http_2_0 etc tlsv1_0|tlsv1_1|tlsv1_2 etc.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerLilacCDNMetricsTag",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CDN_DISTRIBUTION_NAME\"",
          "example_yaml": "CDN_DISTRIBUTION_NAME\n..."
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of cdn_loadbalancer",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.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/cdn_loadbalancerListResponseItem"
            },
            "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 cdn_loadbalancerListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerListResponseItem": {
        "type": "object",
        "description": "By default a summary of cdn_loadbalancer 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 cdn_loadbalancer",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this cdn_loadbalancer.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this cdn_loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this cdn_loadbalancer.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this cdn_loadbalancer.",
            "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 cdn_loadbalancer is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates cdn_loadbalancer is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this cdn_loadbalancer.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this cdn_loadbalancer.",
            "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 cdn_loadbalancer.",
            "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/cdn_loadbalancerStatusObject"
            },
            "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 cdn_loadbalancer.",
            "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 cdn_loadbalancer.",
            "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 cdn_loadbalancer 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 cdn_loadbalancer 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 cdn_loadbalancerListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a cdn_loadbalancer",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.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/viewscdn_loadbalancerReplaceSpecType"
              }
            ],
            "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 cdn_loadbalancerReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "StatusObject",
        "x-displayname": "Status",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.StatusObject",
        "properties": {
          "cdn_site_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnCDNSiteStatus__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "cdn_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnCDNControllerStatus__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "conditions": {
            "type": "array",
            "description": "Conditions represent the normalized status values for configuration object.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions represent the normalized status values for configuration object.",
            "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": "CDN loadbalancer view object direct reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-description-short": "CDN loadbalancer view object direct reference.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_host_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostDNSVHostStatusType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Most recently observed status of object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerSubscribeRequest": {
        "type": "object",
        "description": "Request to subscribe to CDN Loadbalancer.",
        "title": "SubscribeRequest",
        "x-displayname": "Subscribe Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.SubscribeRequest",
        "x-f5xc-description-short": "Request to subscribe to CDN Loadbalancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerSubscribeRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerSubscribeResponse": {
        "type": "object",
        "description": "Response of subscribe to CDN Loadbalancer.",
        "title": "SubscribeResponse",
        "x-displayname": "Subscribe Response.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.SubscribeResponse",
        "x-f5xc-description-short": "Response of subscribe to CDN Loadbalancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerSubscribeResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerTlsCertOptions": {
        "type": "object",
        "description": "TLS Certificate OPTIONS.",
        "title": "TLS Configuration Options",
        "x-displayname": "TLS OPTIONS.",
        "x-ves-oneof-field-tls_certificates_choice": "[\"tls_cert_params\",\"tls_inline_params\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.TlsCertOptions",
        "properties": {
          "tls_cert_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsDownstreamTLSCertsParams"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls cert params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "tls_inline_params"
            ]
          },
          "tls_inline_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsDownstreamTlsParamsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls inline params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "tls_cert_params"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerTlsCertOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerUnsubscribeRequest": {
        "type": "object",
        "description": "Request to unsubscribe to CDN Loadbalancer.",
        "title": "UnsubscribeRequest",
        "x-displayname": "Unsubscribe Request.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.UnsubscribeRequest",
        "x-f5xc-description-short": "Request to unsubscribe to CDN Loadbalancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerUnsubscribeRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_loadbalancerUnsubscribeResponse": {
        "type": "object",
        "description": "Response of unsubscribe to CDN Loadbalancer.",
        "title": "UnsubscribeResponse",
        "x-displayname": "Unsubscribe Response.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.UnsubscribeResponse",
        "x-f5xc-description-short": "Response of unsubscribe to CDN Loadbalancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_loadbalancerUnsubscribeResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cache_ruleCustomCacheRule": {
        "type": "object",
        "description": "Caching policies for CDN.",
        "title": "Custom Cache Rules",
        "x-displayname": "Custom Cache Rules.",
        "x-ves-proto-message": "ves.io.schema.views.common_cache_rule.CustomCacheRule",
        "properties": {
          "cdn_cache_rules": {
            "type": "array",
            "description": "Reference to CDN Cache Rule configuration object.",
            "title": "cdn_cache_rule",
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "CDN Cache Rule.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Reference to CDN Cache Rule configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cache_ruleCustomCacheRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnCDNControllerStatus__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "CDN Controller Status.",
        "title": "CDN Controller status",
        "x-displayname": "CDN Controller Status.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.CDNControllerStatus",
        "properties": {
          "cfg_version": {
            "type": "integer",
            "description": "Cfg version.",
            "title": "Cfg Version",
            "format": "int64",
            "x-displayname": "Cfg Version.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "cp_version": {
            "type": "integer",
            "description": "CP version.",
            "title": "CP Version",
            "format": "int64",
            "x-displayname": "CP Version.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deployment_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_cdnCDNLoadbalancerDeploymentStatus"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "error": {
            "type": "string",
            "description": "Error message.",
            "title": "Error",
            "x-displayname": "Error",
            "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 common_cdnCDNControllerStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnCDNSiteStatus__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "This CDN status is per site and it indicates the status of the CDN service for the LB on the site.",
        "title": "CDN Site status details",
        "x-displayname": "CDN Site Status.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.CDNSiteStatus",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message (if any)",
            "title": "Error",
            "x-displayname": "Error",
            "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
            }
          },
          "site": {
            "type": "string",
            "description": "Name of the site that reported this status.",
            "title": "Site Name",
            "x-displayname": "Site",
            "x-f5xc-description-short": "Name of the site that reported this 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": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_cdnCDNSiteDeploymentStatus"
              }
            ],
            "x-f5xc-example": "active",
            "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"
          }
        },
        "x-f5xc-description-short": "CDN status is per site and it indicates the status of the CDN service for the LB on the site.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnCDNSiteStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnGetServiceOperationReq": {
        "type": "object",
        "description": "GET Service Operation Request.",
        "title": "Service Operation Request",
        "x-displayname": "GET Service Operation Request.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.GetServiceOperationReq",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the CDN distribution.\nFormat: string.",
            "title": "CDN Distribution Name",
            "x-displayname": "Name of the CDN distribution.",
            "x-ves-example": "CDN-1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "cdn-1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of the CDN distribution. Format: string.",
            "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 scope of the operation request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Default",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "default",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace scope of the operation request.",
            "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])?$"
          },
          "service_op_id": {
            "type": "integer",
            "description": "Operation ID for which status is requested.",
            "title": "Service Operation ID",
            "format": "int64",
            "x-displayname": "Service Operation ID.",
            "x-ves-example": "101",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "101",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Operation ID for which status is requested.",
            "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 common_cdnGetServiceOperationReq",
          "required_fields": [
            "name",
            "namespace",
            "service_op_id"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"cdn-1\",\n  \"namespace\": \"default\",\n  \"service_op_id\": 0\n}",
          "example_yaml": "name: cdn-1\nnamespace: default\nservice_op_id: 0"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnGetServiceOperationRsp": {
        "type": "object",
        "description": "GET Service Operation Response.",
        "title": "Service Operation Response",
        "x-displayname": "Service Operation Response.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.GetServiceOperationRsp",
        "properties": {
          "error": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "Service Operation Status Details",
            "items": {
              "$ref": "#/components/schemas/common_cdnServiceOperationItem"
            },
            "x-displayname": "Operation Status Details.",
            "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 common_cdnGetServiceOperationRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnLilacCDNCachePurgeRequest": {
        "type": "object",
        "description": "CDN Cache Purge.",
        "title": "Cache Purge Request",
        "x-displayname": "Cache Purge.",
        "x-ves-oneof-field-pattern_type": "[\"hostname\",\"pattern\",\"purge_all\",\"url\"]",
        "x-ves-oneof-field-purge_type": "[\"hard_purge\",\"soft_purge\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.LilacCDNCachePurgeRequest",
        "properties": {
          "hard_purge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "soft_purge"
            ]
          },
          "hostname": {
            "type": "string",
            "description": "Exclusive with [pattern purge_all URL]\nPurge cached content by Hostname.",
            "title": "Hostname",
            "x-displayname": "Hostname",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [pattern purge_all URL] Purge cached content by Hostname.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "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": "discovery",
                "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
            },
            "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,
            "x-f5xc-conflicts-with": [
              "pattern",
              "purge_all",
              "url"
            ]
          },
          "pattern": {
            "type": "string",
            "description": "Exclusive with [hostname purge_all URL]\nPurge cached content using PCRE 1 compliant regular expression.",
            "title": "Regex Pattern to match",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Pattern",
            "x-ves-example": ".*\\\\.ts",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": ".*\\\\.ts",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [hostname purge_all URL] Purge cached content using PCRE 1 compliant regular expression.",
            "x-f5xc-description-medium": "Exclusive with [hostname purge_all URL] Purge cached content using PCRE 1 compliant regular expression.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "hostname",
              "purge_all",
              "url"
            ]
          },
          "purge_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hostname",
              "pattern",
              "url"
            ]
          },
          "soft_purge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hard_purge"
            ]
          },
          "url": {
            "type": "string",
            "description": "Exclusive with [hostname pattern purge_all]\nPurge cache by using a URL path.",
            "title": "URL",
            "x-displayname": "URL",
            "x-ves-example": "/path1",
            "x-f5xc-example": "/path1",
            "x-f5xc-description-short": "Exclusive with [hostname pattern purge_all] Purge cache by using a URL path.",
            "format": "uri",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "network",
              "maxLength": 1024,
              "format": "uri",
              "minLength": 1,
              "pattern": "^(https?|ftp)://[^\\s/$.?#].[^\\s]*$",
              "formatDescription": "RFC 3986 URI with scheme (http, https, ftp)",
              "validation": {
                "rfc": "RFC 3986"
              },
              "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-conflicts-with": [
              "hostname",
              "pattern",
              "purge_all"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnLilacCDNCachePurgeRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnLilacCDNCachePurgeResponse": {
        "type": "object",
        "description": "Cache Purge message.",
        "title": "Purge Response",
        "x-displayname": "Cache Purge Response.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.LilacCDNCachePurgeResponse",
        "properties": {
          "purge_request_id": {
            "type": "integer",
            "description": "Request ID to track the status of the purge request.",
            "title": "Purge Request Id",
            "format": "int64",
            "x-displayname": "Purge Request ID.",
            "x-f5xc-description-short": "Request ID to track the status of the purge request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnLilacCDNCachePurgeResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnListServiceOperationsReq": {
        "type": "object",
        "description": "List Service Operations Request.",
        "title": "Service Operations Request",
        "x-displayname": "List Service Operations Request.",
        "x-ves-oneof-field-options": "[\"lastn\",\"time_range\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.ListServiceOperationsReq",
        "properties": {
          "lastn": {
            "type": "integer",
            "description": "Exclusive with [time_range]\nThe last n service operations.",
            "title": "lastn",
            "format": "int64",
            "x-displayname": "Last N",
            "x-ves-example": "5",
            "x-f5xc-example": "5",
            "x-f5xc-description-short": "Exclusive with [time_range] The last n service operations.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "time_range"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the CDN Distribution.",
            "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-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "ns1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "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])?$"
          },
          "time_range": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnServiceOperationsTimeRange"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "lastn"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnListServiceOperationsReq",
          "required_fields": [
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"ns1\"\n}",
          "example_yaml": "namespace: ns1"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnListServiceOperationsRsp": {
        "type": "object",
        "description": "GET Service Operations Response.",
        "title": "Service Operations Response",
        "x-displayname": "Service Operations Response.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.ListServiceOperationsRsp",
        "properties": {
          "error": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "Details of the Service Operation",
            "items": {
              "$ref": "#/components/schemas/common_cdnServiceOperationsItem"
            },
            "x-displayname": "Details of the Service Operation.",
            "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 common_cdnListServiceOperationsRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnPurgeOperationItem": {
        "type": "object",
        "description": "Purge Operation Status.",
        "title": "Purge Operation Status",
        "x-displayname": "Purge Operation Status.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.PurgeOperationItem",
        "properties": {
          "bytes_not_purged": {
            "type": "string",
            "description": "Number of bytes Not Purged.",
            "title": "Number of Bytes Not Purged",
            "format": "uint64",
            "x-displayname": "Number of Bytes Not Purged.",
            "x-f5xc-example": "1024",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "bytes_purged": {
            "type": "string",
            "description": "Number of bytes Purged.",
            "title": "Number of Bytes Purged",
            "format": "uint64",
            "x-displayname": "Number of Bytes Purged.",
            "x-f5xc-example": "1024",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "finish_time": {
            "type": "string",
            "description": "Finish time of Purge Operation\nformat: unix_timestamp|RFC 3339.",
            "title": "Finish time of Purge Operation",
            "x-displayname": "Cache Purge Finish Time.",
            "x-ves-example": "2019-09-23T12:32:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-23T12:32:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Finish time of Purge Operation format: unix_timestamp|RFC 3339.",
            "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
            }
          },
          "hard_purge": {
            "type": "boolean",
            "description": "Cache Hard Purge.",
            "title": "Hard Purge",
            "format": "boolean",
            "x-displayname": "Cache Hard Purge.",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "purge_time": {
            "type": "string",
            "description": "Time taken for Cache Purge.",
            "title": "Time taken for Cache Purge",
            "x-displayname": "Cache Purge Time.",
            "x-ves-example": "2018-12-23T12:30:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2018-12-23T12:30:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "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
            }
          },
          "regexp": {
            "type": "string",
            "description": "Regex issued in the Purge Operation.",
            "title": "Regex used in Purge",
            "x-displayname": "Cache Purge Regex.",
            "x-ves-example": "*.m3u8",
            "x-f5xc-example": "*.m3u8",
            "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
            }
          },
          "site": {
            "type": "string",
            "description": "Site at which the purge operation was performed.",
            "title": "NodeId on which the operation status is gathered",
            "x-displayname": "CDN CE Site.",
            "x-f5xc-description-short": "Site at which the purge operation was performed.",
            "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 Purge Operation.",
            "title": "Start time of Purge Operation",
            "x-displayname": "Cache Purge Start Time.",
            "x-ves-example": "2019-09-23T12:30:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-23T12:30:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnPurgeOperationItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnServiceOperationItem": {
        "type": "object",
        "description": "Service Operation Item.",
        "title": "Service Operation Item",
        "x-displayname": "Service Operation Item.",
        "x-ves-oneof-field-op_status": "[\"purge\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.ServiceOperationItem",
        "properties": {
          "purge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnPurgeOperationItem"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "service_op_id": {
            "type": "integer",
            "description": "Operation ID for which status is requested. This for example is the purge_request_id obtained in the response to the CachePurge Request.",
            "title": "Service Operation ID",
            "format": "int64",
            "x-displayname": "Service Operation ID.",
            "x-ves-example": "101",
            "x-f5xc-example": "101",
            "x-f5xc-description-short": "Operation ID for which status is requested. This for example is the purge_request_id obtained in the response to the CachePurge Request.",
            "x-f5xc-description-medium": "Operation ID for which status is requested. This for example is the purge_request_id obtained in the response to the CachePurge Request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "status": {
            "type": "string",
            "description": "Status of the operation command.",
            "title": "Service Operation Status",
            "x-displayname": "Service Operation Status.",
            "x-f5xc-example": "success",
            "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-minimum-configuration": {
          "description": "Minimum configuration for common_cdnServiceOperationItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnServiceOperationsItem": {
        "type": "object",
        "description": "List of Service Operations.",
        "title": "Service Operations Item",
        "x-displayname": "List of Service Operations.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.ServiceOperationsItem",
        "properties": {
          "created_time": {
            "type": "string",
            "description": "The service created time.",
            "title": "created time",
            "x-displayname": "Created Time.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "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
            }
          },
          "modified_time": {
            "type": "string",
            "description": "The service modified time.",
            "title": "modified time",
            "x-displayname": "Modified Time.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "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
            }
          },
          "service_op_id": {
            "type": "integer",
            "description": "The ID of the operation command.",
            "title": "service operation id",
            "format": "int64",
            "x-displayname": "Service Operation ID.",
            "x-f5xc-example": "\"\"",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "svc_version": {
            "type": "integer",
            "description": "The version info of the service.",
            "title": "svc version",
            "format": "int64",
            "x-displayname": "Service Version.",
            "x-f5xc-example": "\"\"",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnServiceOperationsItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnServiceOperationsTimeRange": {
        "type": "object",
        "description": "Option to specify lastn or start-end time.",
        "title": "Service Operations Time Range",
        "x-displayname": "Service Operations OPTIONS.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.ServiceOperationsTimeRange",
        "properties": {
          "finish_time": {
            "type": "string",
            "description": "A finish time for the time range in which the service operation status is requested.\nFormat: unix_timestamp|RFC 3339.",
            "title": "Finish time of Service Operations",
            "x-displayname": "Service Operation Finish Time.",
            "x-ves-example": "2019-09-23T12:32:11.733Z.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-23T12:32:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Finish time for the time range in which the service operation status is requested.",
            "x-f5xc-description-medium": "Finish time for the time range in which the service operation status is requested. Format: unix_timestamp|RFC 3339.",
            "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
            }
          },
          "start_time": {
            "type": "string",
            "description": "A start time for the time range in which the service operation status is requested.",
            "title": "Start time of Service Operations",
            "x-displayname": "Service Operation Start Time.",
            "x-ves-example": "2019-09-23T12:30:11.733Z.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-23T12:30:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Start time for the time range in which the service operation status is requested.",
            "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": "Option to specify lastn or start-end time.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnServiceOperationsTimeRange",
          "required_fields": [
            "finish_time",
            "start_time"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"finish_time\": \"2019-09-23T12:32:11.733Z\",\n  \"start_time\": \"2019-09-23T12:30:11.733Z\"\n}",
          "example_yaml": "finish_time: '2019-09-23T12:32:11.733Z'\nstart_time: '2019-09-23T12:30:11.733Z'"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityAppEndpointType": {
        "type": "object",
        "description": "Application Endpoint.",
        "title": "AppEndpointType",
        "x-displayname": "Application Endpoint.",
        "x-ves-displayorder": "1,2,13,3,5,4,20,21,8,12,16",
        "x-ves-oneof-field-app_traffic_type_choice": "[\"mobile\",\"web\",\"web_mobile\"]",
        "x-ves-oneof-field-domain_matcher_choice": "[\"any_domain\",\"domain\"]",
        "x-ves-oneof-field-flow_label_choice": "[\"flow_label\",\"undefined_flow_label\"]",
        "x-ves-oneof-field-goodbot_choice": "[\"allow_good_bots\",\"mitigate_good_bots\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.AppEndpointType",
        "properties": {
          "allow_good_bots": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for allow good bots.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mitigate_good_bots"
            ]
          },
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "domain"
            ]
          },
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDomainType"
              }
            ],
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Domain name for routing and identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "any_domain"
            ]
          },
          "flow_label": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelCategoriesChoiceType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "undefined_flow_label"
            ]
          },
          "headers": {
            "type": "array",
            "description": "A list of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType\ninstances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.\nNote that all specified header predicates must evaluate to true.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyHeaderMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "HTTP Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of predicates for various HTTP headers that need to match.",
            "x-f5xc-description-medium": "List of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType instances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_methods": {
            "type": "array",
            "description": "List of HTTP methods.",
            "title": "HTTP Methods",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/schemaBotHttpMethod"
            },
            "x-displayname": "HTTP Methods.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[0,1,3,4,10]",
              "ves.io.schema.rules.repeated.max_items": "5",
              "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.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[0,1,3,4,10]",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 5,
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "source": "minimum_configs",
              "enumValues": [
                "METHOD_GET",
                "METHOD_POST",
                "METHOD_PUT",
                "METHOD_PATCH",
                "METHOD_DELETE",
                "METHOD_HEAD",
                "METHOD_OPTIONS"
              ],
              "description": "HTTP methods for bot defense endpoint matching"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mitigate_good_bots": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for mitigate good bots.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "allow_good_bots"
            ]
          },
          "mitigation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyShapeBotMitigationAction"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mobile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "web",
              "web_mobile"
            ]
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "protocol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityURLScheme"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "query_params": {
            "type": "array",
            "description": "A list of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances\nof QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query parameter name.\nNote that all specified query parameter predicates must evaluate to true.",
            "title": "query params",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyQueryParameterMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "HTTP Query Parameters.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all query parameters that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances of QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "undefined_flow_label": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "flow_label"
            ]
          },
          "web": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mobile",
              "web_mobile"
            ]
          },
          "web_mobile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityWebMobileTrafficType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mobile",
              "web"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityAppEndpointType",
          "required_fields": [
            "http_methods"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"http_methods\": [\n    \"METHOD_ANY\"\n  ]\n}",
          "example_yaml": "http_methods:\n- METHOD_ANY"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityCSDJavaScriptInsertAllWithExceptionsType": {
        "type": "object",
        "description": "Insert Client-Side Defense JavaScript in all pages with the exceptions.",
        "title": "CSDJavaScriptInsertAllWithExceptionsType",
        "x-displayname": "Insert JavaScript in All Pages with the Exceptions.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.CSDJavaScriptInsertAllWithExceptionsType",
        "properties": {
          "exclude_list": {
            "type": "array",
            "description": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "title": "exclude_list",
            "maxItems": 128,
            "items": {
              "$ref": "#/components/schemas/common_securityShapeJavaScriptExclusionRule"
            },
            "x-displayname": "Exclude Pages.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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": "Insert Client-Side Defense JavaScript in all pages with the exceptions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityCSDJavaScriptInsertAllWithExceptionsType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityCSDJavaScriptInsertType": {
        "type": "object",
        "description": "This defines custom JavaScript insertion rules for Client-Side Defense Policy.",
        "title": "CSDJavaScriptInsertType",
        "x-displayname": "JavaScript Custom Insertion Rules.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.CSDJavaScriptInsertType",
        "properties": {
          "exclude_list": {
            "type": "array",
            "description": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "title": "exclude_list",
            "maxItems": 128,
            "items": {
              "$ref": "#/components/schemas/common_securityShapeJavaScriptExclusionRule"
            },
            "x-displayname": "Exclude Paths.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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
            }
          },
          "rules": {
            "type": "array",
            "description": "Required list of pages to insert Client-Side Defense client JavaScript.",
            "title": "rules",
            "minItems": 1,
            "maxItems": 128,
            "items": {
              "$ref": "#/components/schemas/common_securityCSDJavaScriptInsertionRule"
            },
            "x-displayname": "JavaScript Insertions.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "128",
              "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": "128",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Required list of pages to insert Client-Side Defense client JavaScript.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-description-short": "Defines custom JavaScript insertion rules for Client-Side Defense Policy.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityCSDJavaScriptInsertType",
          "required_fields": [
            "rules"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"rules\": [\n    {}\n  ]\n}",
          "example_yaml": "rules:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityCSDJavaScriptInsertionRule": {
        "type": "object",
        "description": "This defines a rule for Client-Side Defense JavaScript insertion.",
        "title": "CSDJavaScriptInsertionRule",
        "x-displayname": "JavaScript Insertion Rule.",
        "x-ves-oneof-field-domain_matcher_choice": "[\"any_domain\",\"domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.CSDJavaScriptInsertionRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "domain"
            ]
          },
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDomainType"
              }
            ],
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Domain name for routing and identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "any_domain"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Defines a rule for Client-Side Defense JavaScript insertion.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityCSDJavaScriptInsertionRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityClientSideDefensePolicyType": {
        "type": "object",
        "description": "This defines various configuration OPTIONS for Client-Side Defense policy.",
        "title": "ClientSideDefensePolicyType",
        "x-displayname": "Client-Side Defense Policy.",
        "x-ves-oneof-field-java_script_choice": "[\"disable_js_insert\",\"js_insert_all_pages\",\"js_insert_all_pages_except\",\"js_insertion_rules\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ClientSideDefensePolicyType",
        "properties": {
          "disable_js_insert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable js insert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "js_insert_all_pages",
              "js_insert_all_pages_except",
              "js_insertion_rules"
            ]
          },
          "js_insert_all_pages": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js insert all pages.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages_except",
              "js_insertion_rules"
            ]
          },
          "js_insert_all_pages_except": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityCSDJavaScriptInsertAllWithExceptionsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js insert all pages except.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages",
              "js_insertion_rules"
            ]
          },
          "js_insertion_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityCSDJavaScriptInsertType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages",
              "js_insert_all_pages_except"
            ]
          }
        },
        "x-f5xc-description-short": "Defines various configuration OPTIONS for Client-Side Defense policy.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityClientSideDefensePolicyType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityClientSideDefenseType": {
        "type": "object",
        "description": "This defines various configuration OPTIONS for Client-Side Defense Policy.",
        "title": "ClientSideDefenseType",
        "x-displayname": "Client-Side Defense.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ClientSideDefenseType",
        "properties": {
          "policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityClientSideDefensePolicyType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Defines various configuration OPTIONS for Client-Side Defense Policy.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityClientSideDefenseType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityDDoSMitigationRule__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "DDoS Mitigation Rule specifies the sources to be blocked.",
        "title": "DDoSMitigationRule",
        "x-displayname": "DDoS Mitigation Rule.",
        "x-ves-displayorder": "1,2,7,10",
        "x-ves-oneof-field-mitigation_action": "[\"block\"]",
        "x-ves-oneof-field-mitigation_choice": "[\"ddos_client_source\",\"ip_prefix_list\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.DDoSMitigationRule",
        "properties": {
          "block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ddos_client_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityDDoSClientSource"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ip_prefix_list"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "The expiration_timestamp is the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in\nthe configuration but is not applied anymore.",
            "title": "expiration timestamp",
            "format": "date-time",
            "x-displayname": "Expiration Timestamp.",
            "x-ves-example": "2019-12-31:44:34.171543432Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-example": "2019-12-31:44:34.171543432Z",
            "x-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-description-short": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired.",
            "x-f5xc-description-medium": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in the configuration but is not applied anymore.",
            "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
            }
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ddos_client_source"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "DDoS Mitigation Rule specifies the sources to be blocked.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityDDoSMitigationRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityDeleteDoSAutoMitigationRuleRsp": {
        "type": "object",
        "description": "Response of DELETE DoS Auto-Mitigation Rule API.",
        "title": "Delete DoS Auto-Mitigation Rule response",
        "x-displayname": "DELETE DoS Auto-Mitigation Rule response.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.DeleteDoSAutoMitigationRuleRsp",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the deleted DoS Auto-Mitigation loadbalancer Rule.",
            "title": "DoS Auto-Mitigation Rule Name",
            "x-displayname": "DoS Auto-Mitigation Rule Name.",
            "x-ves-example": "Dos-auto-mitigation-VES-I/O-HTTP-loadbalancer-ce22.",
            "x-f5xc-example": "dos-auto-mitigation-ves-io-http-loadbalancer-ce22",
            "x-f5xc-description-short": "Name of the deleted DoS Auto-Mitigation loadbalancer 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])?$"
          }
        },
        "x-f5xc-description-short": "Response of DELETE DoS Auto-Mitigation Rule API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityDeleteDoSAutoMitigationRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityGetDoSAutoMitigationRulesRsp": {
        "type": "object",
        "description": "Response of GET DDoS Auto-Mitigation Rules API.",
        "title": "Get DoS Auto-Mitigation Rules response",
        "x-displayname": "GET DDoS Auto-Mitigation Rules Response.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.GetDoSAutoMitigationRulesRsp",
        "properties": {
          "dos_automitigation_rules": {
            "type": "array",
            "title": "DoS Auto-Mitigation Rules",
            "items": {
              "$ref": "#/components/schemas/dos_mitigationDoSMitigationRuleInfo"
            },
            "x-displayname": "DoS Auto-Mitigation Rules.",
            "description": "Rule or policy definition",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response of GET DDoS Auto-Mitigation Rules API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityGetDoSAutoMitigationRulesRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityGetSecurityConfigRsp": {
        "type": "object",
        "title": "Get Security Config Response",
        "x-displayname": "GET Security Config Response.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.GetSecurityConfigRsp",
        "properties": {
          "api_protection": {
            "type": "array",
            "title": "API Protection Configured",
            "items": {
              "type": "string"
            },
            "x-displayname": "API Protection Configured.",
            "description": "API version or group",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "app_firewall": {
            "type": "array",
            "title": "App Firewall Configured",
            "items": {
              "type": "string"
            },
            "x-displayname": "App Firewall Configured.",
            "description": "Configuration parameter for app firewall",
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "app_firewall_per_route": {
            "type": "array",
            "title": "App Firewall Configured Per Route",
            "items": {
              "type": "string"
            },
            "x-displayname": "List of Load Balancers Where App Firewall is Configured Per Route.",
            "description": "Configuration parameter for app firewall per route",
            "x-f5xc-description-short": "Configuration parameter for app firewall per route.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "bot_defense": {
            "type": "array",
            "title": "Bot Defense Configured",
            "items": {
              "type": "string"
            },
            "x-displayname": "Bot Defense Configured.",
            "description": "Configuration parameter for bot defense",
            "x-f5xc-description-short": "Configuration parameter for bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ddos_detection": {
            "type": "array",
            "title": "DDOS Detection Configured",
            "items": {
              "type": "string"
            },
            "x-displayname": "DDoS Detection Configured.",
            "description": "Configuration parameter for ddos detection",
            "x-f5xc-description-short": "Configuration parameter for ddos detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "protected": {
            "type": "array",
            "title": "Protected LoadBalancers Configured",
            "items": {
              "type": "string"
            },
            "x-displayname": "List of Load Balancers Secured.",
            "description": "Protection or security configuration",
            "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 common_securityGetSecurityConfigRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityMobileIdentifier": {
        "type": "string",
        "description": "Mobile identifier type\n\n- HEADERS: Headers\n\nHeaders.",
        "title": "MobileIdentifier",
        "enum": [
          "HEADERS"
        ],
        "default": "HEADERS",
        "x-displayname": "Mobile Identifier.",
        "x-ves-proto-enum": "ves.io.schema.views.common_security.MobileIdentifier",
        "x-f5xc-description-short": "Mobile identifier type - HEADERS: Headers Headers.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityMobileIdentifier",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"HEADERS\"",
          "example_yaml": "HEADERS\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityMobileSDKConfigType": {
        "type": "object",
        "description": "Mobile SDK configuration.",
        "title": "MobileSDKConfigType",
        "x-displayname": "Mobile SDK Configuration.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.MobileSDKConfigType",
        "properties": {
          "mobile_identifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityMobileTrafficIdentifierType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityMobileSDKConfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityMobileTrafficIdentifierType": {
        "type": "object",
        "description": "Mobile traffic identifier type.",
        "title": "MobileTrafficIdentifierType",
        "x-displayname": "Mobile Traffic Identifier.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.MobileTrafficIdentifierType",
        "properties": {
          "headers": {
            "type": "array",
            "description": "Headers that can be used to identify mobile traffic.",
            "title": "Mobile headers",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/policyHeaderMatcherTypeBasic"
            },
            "x-displayname": "Headers",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Headers that can be used to identify mobile traffic.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 0,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "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 common_securityMobileTrafficIdentifierType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securitySensitiveDataPolicySettings": {
        "type": "object",
        "description": "Settings for data type policy.",
        "title": "SensitiveDataPolicySettings",
        "x-displayname": "Sensitive Data Discovery.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.SensitiveDataPolicySettings",
        "properties": {
          "sensitive_data_policy_ref": {
            "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": "sensitive_data_policy",
                "field_path": "sensitive_data_policy_ref",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securitySensitiveDataPolicySettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeBotDefensePolicyType": {
        "type": "object",
        "description": "This defines various configuration OPTIONS for Bot Defense policy.",
        "title": "ShapeShapeBotDefensePolicyType",
        "x-displayname": "Bot Defense Policy.",
        "x-ves-oneof-field-java_script_choice": "[\"disable_js_insert\",\"js_insert_all_pages\",\"js_insert_all_pages_except\",\"js_insertion_rules\"]",
        "x-ves-oneof-field-mobile_sdk_choice": "[\"disable_mobile_sdk\",\"mobile_sdk_config\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ShapeBotDefensePolicyType",
        "properties": {
          "disable_js_insert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable js insert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "js_insert_all_pages",
              "js_insert_all_pages_except",
              "js_insertion_rules"
            ]
          },
          "disable_mobile_sdk": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mobile_sdk_config"
            ]
          },
          "javascript_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaJavaScriptMode"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "js_download_path": {
            "type": "string",
            "description": "Customize Bot Defense Client JavaScript path. If not specified, default `/common.js`",
            "title": "js_download_path",
            "x-displayname": "JavaScript Download Path.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true"
            },
            "x-f5xc-description-short": "Customize Bot Defense Client JavaScript path. If not specified, default",
            "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
            }
          },
          "js_insert_all_pages": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeJavaScriptInsertAllType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js insert all pages.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages_except",
              "js_insertion_rules"
            ]
          },
          "js_insert_all_pages_except": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeJavaScriptInsertAllWithExceptionsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js insert all pages except.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages",
              "js_insertion_rules"
            ]
          },
          "js_insertion_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeJavaScriptInsertType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages",
              "js_insert_all_pages_except"
            ]
          },
          "mobile_sdk_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityMobileSDKConfigType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_mobile_sdk"
            ]
          },
          "protected_app_endpoints": {
            "type": "array",
            "description": "List of protected endpoints. Limit: Approx '128 endpoints per Load Balancer (LB)' upto 4 LBs, '32 endpoints per LB' after 4 LBs.",
            "title": "AppEndpointType",
            "minItems": 1,
            "maxItems": 128,
            "items": {
              "$ref": "#/components/schemas/common_securityAppEndpointType"
            },
            "x-displayname": "App Endpoint Type.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "128",
              "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": "128",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of protected endpoints. Limit: Approx '128 endpoints per Load Balancer (LB)' upto 4 LBs, '32 endpoints per LB' after 4 LBs.",
            "x-f5xc-description-medium": "List of protected endpoints. Limit: Approx '128 endpoints per Load Balancer (LB)' upto 4 LBs, '32 endpoints per LB' after 4 LBs.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 128,
              "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-description-short": "Defines various configuration OPTIONS for Bot Defense policy.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeBotDefensePolicyType",
          "required_fields": [
            "protected_app_endpoints"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"protected_app_endpoints\": [\n    {\n      \"http_methods\": [\n        \"METHOD_ANY\"\n      ]\n    }\n  ]\n}",
          "example_yaml": "protected_app_endpoints:\n- http_methods:\n  - METHOD_ANY"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeBotDefenseRegion": {
        "type": "string",
        "description": "Defines a selection for Bot Defense region\n\n- AUTO: AUTO\n\nAutomatic selection based on client IP address\n- US: US\n\nUS region\n- EU: EU\n\nEuropean Union region\n- ASIA: ASIA\n\nAsia region.",
        "title": "ShapeBotDefenseRegion",
        "enum": [
          "AUTO",
          "US",
          "EU",
          "ASIA"
        ],
        "default": "AUTO",
        "x-displayname": "Bot Defense Region.",
        "x-ves-proto-enum": "ves.io.schema.views.common_security.ShapeBotDefenseRegion",
        "x-f5xc-description-short": "Defines a selection for Bot Defense region - AUTO: AUTO Automatic selection based on client IP address - US: US US region - EU: EU European Union...",
        "x-f5xc-description-medium": "Defines a selection for Bot Defense region - AUTO: AUTO Automatic selection based on client IP address - US: US US region - EU: EU European Union region - ASIA: ASIA Asia region.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeBotDefenseRegion",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"AUTO\"",
          "example_yaml": "AUTO\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeBotDefenseType": {
        "type": "object",
        "description": "This defines various configuration OPTIONS for Bot Defense Policy.",
        "title": "ShapeBotDefenseType",
        "x-displayname": "Bot Defense.",
        "x-ves-oneof-field-cors_support_choice": "[\"disable_cors_support\",\"enable_cors_support\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ShapeBotDefenseType",
        "properties": {
          "disable_cors_support": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_cors_support"
            ]
          },
          "enable_cors_support": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_cors_support"
            ]
          },
          "policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefensePolicyType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "regional_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefenseRegion"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "timeout": {
            "type": "integer",
            "description": "The timeout for the inference check, in milliseconds.",
            "title": "timeout",
            "format": "int64",
            "x-displayname": "Timeout",
            "x-ves-example": "300",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "60000"
            },
            "x-f5xc-example": "300",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "60000"
            },
            "x-f5xc-description-short": "The timeout for the inference check, in milliseconds.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 60000,
              "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-description-short": "Defines various configuration OPTIONS for Bot Defense Policy.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeBotDefenseType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeJavaScriptExclusionRule": {
        "type": "object",
        "description": "Define JavaScript insertion exclusion rule.",
        "title": "ShapeJavaScriptExclusionRule",
        "x-displayname": "JavaScript Insertion Exclusion Rule.",
        "x-ves-oneof-field-domain_matcher_choice": "[\"any_domain\",\"domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ShapeJavaScriptExclusionRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "domain"
            ]
          },
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDomainType"
              }
            ],
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Domain name for routing and identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "any_domain"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Define JavaScript insertion exclusion rule.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeJavaScriptExclusionRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeJavaScriptInsertAllType": {
        "type": "object",
        "description": "Insert Bot Defense JavaScript in all pages.",
        "title": "ShapeJavaScriptInsertAllType",
        "x-displayname": "Insert Bot Defense JavaScript in All Pages.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ShapeJavaScriptInsertAllType",
        "properties": {
          "javascript_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_securityJavaScriptLocation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Insert Bot Defense JavaScript in all pages.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeJavaScriptInsertAllType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeJavaScriptInsertAllWithExceptionsType": {
        "type": "object",
        "description": "Insert Bot Defense JavaScript in all pages with the exceptions.",
        "title": "ShapeJavaScriptInsertAllWithExceptionsType",
        "x-displayname": "Insert JavaScript in All Pages with the Exceptions.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ShapeJavaScriptInsertAllWithExceptionsType",
        "properties": {
          "exclude_list": {
            "type": "array",
            "description": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "title": "exclude_list",
            "maxItems": 128,
            "items": {
              "$ref": "#/components/schemas/common_securityShapeJavaScriptExclusionRule"
            },
            "x-displayname": "Exclude Pages.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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
            }
          },
          "javascript_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_securityJavaScriptLocation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Insert Bot Defense JavaScript in all pages with the exceptions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeJavaScriptInsertAllWithExceptionsType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeJavaScriptInsertType": {
        "type": "object",
        "description": "This defines custom JavaScript insertion rules for Bot Defense Policy.",
        "title": "ShapeJavaScriptInsertType",
        "x-displayname": "JavaScript Custom Insertion Rules.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ShapeJavaScriptInsertType",
        "properties": {
          "exclude_list": {
            "type": "array",
            "description": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "title": "exclude_list",
            "maxItems": 128,
            "items": {
              "$ref": "#/components/schemas/common_securityShapeJavaScriptExclusionRule"
            },
            "x-displayname": "Exclude Paths.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Optional JavaScript insertions exclude list of domain and path matchers.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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
            }
          },
          "rules": {
            "type": "array",
            "description": "Required list of pages to insert Bot Defense client JavaScript.",
            "title": "rules",
            "minItems": 1,
            "maxItems": 128,
            "items": {
              "$ref": "#/components/schemas/common_securityShapeJavaScriptInsertionRule"
            },
            "x-displayname": "JavaScript Insertions.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "128",
              "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": "128",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Required list of pages to insert Bot Defense client JavaScript.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-description-short": "Defines custom JavaScript insertion rules for Bot Defense Policy.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeJavaScriptInsertType",
          "required_fields": [
            "rules"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"rules\": [\n    {}\n  ]\n}",
          "example_yaml": "rules:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityShapeJavaScriptInsertionRule": {
        "type": "object",
        "description": "This defines a rule for Bot Defense JavaScript insertion.",
        "title": "ShapeJavaScriptInsertionRule",
        "x-displayname": "JavaScript Insertion Rule.",
        "x-ves-oneof-field-domain_matcher_choice": "[\"any_domain\",\"domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.ShapeJavaScriptInsertionRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "domain"
            ]
          },
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDomainType"
              }
            ],
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Domain name for routing and identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "any_domain"
            ]
          },
          "javascript_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_securityJavaScriptLocation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Defines a rule for Bot Defense JavaScript insertion.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityShapeJavaScriptInsertionRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityURLScheme": {
        "type": "string",
        "description": "SchemeType is used to indicate URL scheme.\n\n- BOTH: BOTH\n\nURL scheme for HTTPS:// or HTTP://.\n- HTTP: HTTP\n\nURL scheme HTTP:// only.\n- HTTPS: HTTPS\n\nURL scheme HTTPS:// only.",
        "title": "URLSchemeType",
        "enum": [
          "BOTH",
          "HTTP",
          "HTTPS"
        ],
        "default": "BOTH",
        "x-displayname": "URL Scheme.",
        "x-ves-proto-enum": "ves.io.schema.views.common_security.URLScheme",
        "x-f5xc-description-short": "SchemeType is used to indicate URL scheme. - BOTH: BOTH URL scheme for HTTPS:// or HTTP://. - HTTP: HTTP URL scheme HTTP:// only. - HTTPS: HTTPS...",
        "x-f5xc-description-medium": "SchemeType is used to indicate URL scheme. - BOTH: BOTH URL scheme for HTTPS:// or HTTP://. - HTTP: HTTP URL scheme HTTP:// only. - HTTPS: HTTPS URL scheme HTTPS:// only.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityURLScheme",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"BOTH\"",
          "example_yaml": "BOTH\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityWebMobileTrafficType": {
        "type": "object",
        "description": "Web and Mobile traffic type.",
        "title": "WebMobileTrafficType",
        "x-displayname": "Web and Mobile traffic type.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.WebMobileTrafficType",
        "properties": {
          "mobile_identifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityMobileIdentifier"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityWebMobileTrafficType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIGroups": {
        "type": "object",
        "title": "api groups",
        "x-displayname": "API Groups.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIGroups",
        "properties": {
          "api_groups": {
            "type": "array",
            "description": "Group or collection configuration",
            "title": "api group",
            "maxItems": 32,
            "items": {
              "type": "string"
            },
            "x-displayname": "API Groups.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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 common_wafAPIGroups",
          "required_fields": [
            "api_groups"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_groups\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "api_groups:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIRateLimit": {
        "type": "object",
        "title": "APIRateLimit",
        "x-displayname": "APIRateLimit.",
        "x-ves-oneof-field-ip_allowed_list_choice": "[\"bypass_rate_limiting_rules\",\"custom_ip_allowed_list\",\"ip_allowed_list\",\"no_ip_allowed_list\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIRateLimit",
        "properties": {
          "api_endpoint_rules": {
            "type": "array",
            "description": "Ordered endpoint-specific rate-limit rules. Each rule must choose exactly one rate_limiter_choice: inline_rate_limiter or ref_rate_limiter.",
            "title": "api_endpoint_policy",
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/common_wafApiEndpointRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "API Endpoints.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Ordered endpoint-specific rate-limit rules. Each rule must choose exactly one rate_limiter_choice: inline_rate_limiter or ref_rate_limiter.",
            "x-f5xc-description-medium": "Ordered endpoint-specific rate-limit rules. Each rule must choose exactly one rate_limiter_choice: inline_rate_limiter or ref_rate_limiter.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "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
            }
          },
          "bypass_rate_limiting_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafBypassRateLimitingRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_ip_allowed_list",
              "ip_allowed_list",
              "no_ip_allowed_list"
            ]
          },
          "custom_ip_allowed_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafCustomIpAllowedList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bypass_rate_limiting_rules",
              "ip_allowed_list",
              "no_ip_allowed_list"
            ]
          },
          "ip_allowed_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsPrefixStringListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bypass_rate_limiting_rules",
              "custom_ip_allowed_list",
              "no_ip_allowed_list"
            ]
          },
          "no_ip_allowed_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bypass_rate_limiting_rules",
              "custom_ip_allowed_list",
              "ip_allowed_list"
            ]
          },
          "server_url_rules": {
            "type": "array",
            "description": "Ordered domain or base-path rules for path-scoped rate limiting. Each rule must choose exactly one rate_limiter_choice: inline_rate_limiter or ref_rate_limiter.",
            "title": "server_url_policy",
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/common_wafServerUrlRule"
            },
            "x-displayname": "Server URLs.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Ordered domain or base-path rules for path-scoped rate limiting.",
            "x-f5xc-description-medium": "Ordered domain or base-path rules for path-scoped rate limiting. Each rule must choose exactly one rate_limiter_choice: inline_rate_limiter or ref_rate_limiter.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "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 common_wafAPIRateLimit",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPISpecificationSettings": {
        "type": "object",
        "description": "Settings for API specification (API definition, OpenAPI validation, etc.)",
        "title": "APISpecificationSettings",
        "x-displayname": "API Specification and Validation.",
        "x-ves-oneof-field-validation_target_choice": "[\"validation_all_spec_endpoints\",\"validation_custom_list\",\"validation_disabled\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APISpecificationSettings",
        "properties": {
          "api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "api_definition",
                "field_path": "api_definition",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "validation_all_spec_endpoints": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationAllSpecEndpointsSettings__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validation_custom_list",
              "validation_disabled"
            ]
          },
          "validation_custom_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafValidateApiBySpecRule"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validation_all_spec_endpoints",
              "validation_disabled"
            ]
          },
          "validation_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validation_all_spec_endpoints",
              "validation_custom_list"
            ]
          }
        },
        "x-f5xc-description-short": "Settings for API specification (API definition, OpenAPI validation, etc.).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPISpecificationSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiCodeRepos": {
        "type": "object",
        "description": "Select which API repositories represent the LB applications.",
        "title": "API Code Repositories",
        "x-displayname": "API Code Repositories.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiCodeRepos",
        "properties": {
          "api_code_repo": {
            "type": "array",
            "description": "Code repository which contain API endpoints.",
            "title": "API Code Repository",
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "API Code Repository.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Code repository which contain API endpoints.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Select which API repositories represent the LB applications.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiCodeRepos",
          "required_fields": [
            "api_code_repo"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_code_repo\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "api_code_repo:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiCrawler__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "API Crawler message.",
        "title": "API Crawling",
        "x-displayname": "API Crawling.",
        "x-ves-oneof-field-api_crawler": "[\"api_crawler_config\",\"disable_api_crawler\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiCrawler",
        "properties": {
          "api_crawler_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiCrawlerConfiguration__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_crawler"
            ]
          },
          "disable_api_crawler": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_crawler_config"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiCrawler",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiCrawlerConfiguration__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "title": "Crawler Domains Configuration",
        "x-displayname": "Crawler Configure.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiCrawlerConfiguration",
        "properties": {
          "domains": {
            "type": "array",
            "description": "Enter domains and their credentials to allow authenticated API crawling. You can only include domains you own that are associated with this Load Balancer.",
            "title": "Configured API Domains",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/viewscommon_wafDomainConfiguration"
            },
            "x-displayname": "Domains to Crawl.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-description-short": "Enter domains and their credentials to allow authenticated API crawling.",
            "x-f5xc-description-medium": "Enter domains and their credentials to allow authenticated API crawling. You can only include domains you own that are associated with this Load Balancer.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiCrawlerConfiguration",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- domain: example.com"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiDiscoveryAdvancedSettings": {
        "type": "object",
        "description": "API Discovery Advanced settings.",
        "title": "ApiDiscoveryAdvancedSettings",
        "x-displayname": "API Discovery Advanced Settings.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiDiscoveryAdvancedSettings",
        "properties": {
          "api_discovery_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "api_discovery",
                "field_path": "api_discovery_ref",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiDiscoveryAdvancedSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiDiscoveryFromCodeScan": {
        "type": "object",
        "description": "",
        "title": "API Discovery Code Scan",
        "x-displayname": "Select Code Base and Repositories.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiDiscoveryFromCodeScan",
        "properties": {
          "code_base_integrations": {
            "type": "array",
            "description": "Configuration parameter for code base integrations",
            "title": "Code Base Integrations",
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/common_wafCodeBaseIntegrationSelection"
            },
            "x-displayname": "Select Code Base Integrations.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Configuration parameter for code base integrations.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5,
              "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-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiDiscoveryFromCodeScan",
          "required_fields": [
            "code_base_integrations"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"code_base_integrations\": [\n    {}\n  ]\n}",
          "example_yaml": "code_base_integrations:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "Specifies the settings used for API discovery.",
        "title": "API Discovery Setting",
        "x-displayname": "API Discovery Setting.",
        "x-ves-displayorder": "1,6,5",
        "x-ves-oneof-field-api_discovery_settings_choice": "[\"custom_api_auth_discovery\",\"default_api_auth_discovery\"]",
        "x-ves-oneof-field-learn_from_redirect_traffic": "[\"disable_learn_from_redirect_traffic\",\"enable_learn_from_redirect_traffic\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiDiscoverySetting",
        "properties": {
          "api_crawler": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiCrawler__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_discovery_from_code_scan": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoveryFromCodeScan"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "custom_api_auth_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoveryAdvancedSettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_api_auth_discovery"
            ]
          },
          "default_api_auth_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_api_auth_discovery"
            ]
          },
          "disable_learn_from_redirect_traffic": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable learn from redirect traffic.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_learn_from_redirect_traffic"
            ]
          },
          "discovered_api_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_typeDiscoveredAPISettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "enable_learn_from_redirect_traffic": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable learn from redirect traffic.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_learn_from_redirect_traffic"
            ]
          }
        },
        "x-f5xc-description-short": "Specifies the settings used for API discovery.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiDiscoverySetting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafApiEndpointRule__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "title": "ApiEndpointRule",
        "x-displayname": "ApiEndpointRule.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-oneof-field-rate_limiter_choice": "[\"inline_rate_limiter\",\"ref_rate_limiter\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiEndpointRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyHttpMethodMatcherType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_endpoint_path": {
            "type": "string",
            "description": "The endpoint (path) of the request.",
            "title": "api endpoint path",
            "maxLength": 1024,
            "x-displayname": "API Endpoint.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "inline_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafInlineRateLimiter__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inline rate limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Inline rate-limiter settings for this domain, base-path, or endpoint rule. Select this field as the required rate_limiter_choice when no stored rate-limiter object is used.",
            "x-f5xc-conflicts-with": [
              "ref_rate_limiter"
            ]
          },
          "ref_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ref rate limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Reference to a stored rate-limiter object for this scoped rule. Select exactly one of ref_rate_limiter and inline_rate_limiter.",
            "x-f5xc-conflicts-with": [
              "inline_rate_limiter"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "rate_limiter",
                "field_path": "ref_rate_limiter",
                "gated_by": {
                  "choice": "rate_limiter_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiEndpointRule",
          "required_fields": [
            "api_endpoint_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoint_path\": \"value\"\n}",
          "example_yaml": "api_endpoint_path: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAudiences": {
        "type": "object",
        "title": "audiences",
        "x-displayname": "Audiences",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.Audiences",
        "properties": {
          "audiences": {
            "type": "array",
            "description": "Configuration parameter for audiences",
            "title": "audiences",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "type": "string"
            },
            "x-displayname": "Values",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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 common_wafAudiences",
          "required_fields": [
            "audiences"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"audiences\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "audiences:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAuthorizationServer": {
        "type": "object",
        "description": "Reference to Authorization Server object.",
        "title": "authorization_server",
        "x-displayname": "Authorization Servers.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.AuthorizationServer",
        "properties": {
          "authorization_servers": {
            "type": "array",
            "description": "Authorization Servers are configured separately in the 'Shared Objects' section of the Web App &\nAPI Protection workspace and used to fetch JWKS for JWT validation.",
            "title": "authorization_server_name",
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Authorization Server Name.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Authorization Servers are configured separately in the 'Shared Objects' section of the Web App & API Protection workspace and used to fetch JWKS...",
            "x-f5xc-description-medium": "Authorization Servers are configured separately in the 'Shared Objects' section of the Web App & API Protection workspace and used to fetch JWKS for JWT validation.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Reference to Authorization Server object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAuthorizationServer",
          "required_fields": [
            "authorization_servers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"authorization_servers\": [\n    {\n      \"name\": \"contacts-route\"\n    }\n  ]\n}",
          "example_yaml": "authorization_servers:\n- name: contacts-route"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafBasePathsType": {
        "type": "object",
        "title": "base_paths",
        "x-displayname": "Base Paths.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.BasePathsType",
        "properties": {
          "base_paths": {
            "type": "array",
            "description": "File system or URL path",
            "title": "base_paths",
            "maxItems": 16,
            "items": {
              "type": "string"
            },
            "x-displayname": "Prefix Values.",
            "x-ves-example": "/basepath",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.http_path": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "/basepath",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.http_path": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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 common_wafBasePathsType",
          "required_fields": [
            "base_paths"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"base_paths\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "base_paths:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafBypassRateLimitingRule": {
        "type": "object",
        "title": "BypassRateLimitingRule",
        "x-displayname": "Bypass Rate Limiting Rule.",
        "x-ves-oneof-field-destination_type": "[\"any_url\",\"api_endpoint\",\"api_groups\",\"base_path\"]",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.BypassRateLimitingRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "any_url": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_endpoint",
              "api_groups",
              "base_path"
            ]
          },
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_url",
              "api_groups",
              "base_path"
            ]
          },
          "api_groups": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIGroups"
              }
            ],
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_url",
              "api_endpoint",
              "base_path"
            ]
          },
          "base_path": {
            "type": "string",
            "description": "Exclusive with [any_url api_endpoint api_groups]\nThe base path which this validation applies to.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/API/v1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/api/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [any_url api_endpoint api_groups] The base path which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "any_url",
              "api_endpoint",
              "api_groups"
            ]
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.\nFor example: api.example.com.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-example": "api.example.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "api.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain. For",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafBypassRateLimitingRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafBypassRateLimitingRules": {
        "type": "object",
        "description": "This category defines rules per URL or API group. If request matches any of these rules, skip Rate Limiting.",
        "title": "bypass_rate_limiting_policy",
        "x-displayname": "Bypass Rate Limiting.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.BypassRateLimitingRules",
        "properties": {
          "bypass_rate_limiting_rules": {
            "type": "array",
            "description": "This category defines rules per URL or API group. If request matches any of these rules, skip Rate Limiting.",
            "title": "bypass_rate_limiting_policy",
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/common_wafBypassRateLimitingRule"
            },
            "x-displayname": "Bypass Rate Limiting.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Category defines rules per URL or API group. If request matches any of these rules, skip Rate Limiting.",
            "x-f5xc-description-medium": "Category defines rules per URL or API group. If request matches any of these rules, skip Rate Limiting.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "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": "Category defines rules per URL or API group. If request matches any of these rules, skip Rate Limiting.",
        "x-f5xc-description-medium": "Category defines rules per URL or API group. If request matches any of these rules, skip Rate Limiting.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafBypassRateLimitingRules",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafChallengeRule": {
        "type": "object",
        "description": "Challenge rule.",
        "title": "Challenge Rule",
        "x-displayname": "Challenge Rule.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ChallengeRule",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/service_policy_ruleChallengeRuleSpec"
              }
            ],
            "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 common_wafChallengeRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafChallengeRuleList": {
        "type": "object",
        "description": "List of challenge rules to be used in policy based challenge.",
        "title": "Challenge Rule List",
        "x-displayname": "Challenge Rule List.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ChallengeRuleList",
        "properties": {
          "rules": {
            "type": "array",
            "description": "Rules that specify the match conditions and challenge type to be launched.\nWhen a challenge type is selected to be always enabled,\nthese rules can be used to disable challenge or launch a different challenge for requests that match the specified conditions.",
            "title": "Rules",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/common_wafChallengeRule"
            },
            "x-displayname": "Rules",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Rules that specify the match conditions and challenge type to be launched.",
            "x-f5xc-description-medium": "Rules that specify the match conditions and challenge type to be launched. When a challenge type is selected to be always enabled, these rules can be used to disable challenge or launch a different challenge for requests that match the specified conditions.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "List of challenge rules to be used in policy based challenge.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafChallengeRuleList",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafCodeBaseIntegrationSelection": {
        "type": "object",
        "title": "Code Base Integration",
        "x-displayname": "Code Base Integration.",
        "x-ves-oneof-field-api_repos_choice": "[\"all_repos\",\"selected_repos\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.CodeBaseIntegrationSelection",
        "properties": {
          "all_repos": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "selected_repos"
            ]
          },
          "code_base_integration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for code base integration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "code_base_integration",
                "field_path": "code_base_integration",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "selected_repos": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiCodeRepos"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for selected repos.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_repos"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafCodeBaseIntegrationSelection",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafCustomFallThroughMode__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Define the fall through settings.",
        "title": "Custom Fall Through Mode",
        "x-displayname": "Custom Fall Through Mode.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.CustomFallThroughMode",
        "properties": {
          "open_api_validation_rules": {
            "type": "array",
            "description": "Rule or policy definition",
            "title": "Custom Fall Through Rule List",
            "maxItems": 15,
            "items": {
              "$ref": "#/components/schemas/common_wafFallThroughRule__ves_io_schema_views_bigip_virtual_server"
            },
            "x-displayname": "Custom Fall Through Rule List.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 15,
              "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 common_wafCustomFallThroughMode",
          "required_fields": [
            "open_api_validation_rules"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"open_api_validation_rules\": [\n    {}\n  ]\n}",
          "example_yaml": "open_api_validation_rules:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafCustomIpAllowedList": {
        "type": "object",
        "description": "IP Allowed list using existing ip_prefix_set objects.",
        "title": "Custom IP Allowed List",
        "x-displayname": "Custom IP Allowed List.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.CustomIpAllowedList",
        "properties": {
          "rate_limiter_allowed_prefixes": {
            "type": "array",
            "description": "References to ip_prefix_set objects.\nRequests from source IP addresses that are covered by one of the allowed IP Prefixes are not subjected to rate limiting.",
            "title": "rate_limiter_allowed_prefixes",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "List of IP Prefix Sets.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-description-medium": "References to ip_prefix_set objects. Requests from source IP addresses that are covered by one of the allowed IP Prefixes are not subjected to rate limiting.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 4,
              "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-description-short": "IP Allowed list using existing ip_prefix_set objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafCustomIpAllowedList",
          "required_fields": [
            "rate_limiter_allowed_prefixes"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"rate_limiter_allowed_prefixes\": [\n    {\n      \"name\": \"contacts-route\"\n    }\n  ]\n}",
          "example_yaml": "rate_limiter_allowed_prefixes:\n- name: contacts-route"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafEnableChallenge": {
        "type": "object",
        "description": "Configure auto mitigation i.e risk based challenges for malicious users.",
        "title": "enable challenge",
        "x-displayname": "Enable Malicious User Challenge.",
        "x-ves-oneof-field-captcha_challenge_parameters_choice": "[\"captcha_challenge_parameters\",\"default_captcha_challenge_parameters\"]",
        "x-ves-oneof-field-js_challenge_parameters_choice": "[\"default_js_challenge_parameters\",\"js_challenge_parameters\"]",
        "x-ves-oneof-field-malicious_user_mitigation_choice": "[\"default_mitigation_settings\",\"malicious_user_mitigation\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.EnableChallenge",
        "properties": {
          "captcha_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_captcha_challenge_parameters"
            ]
          },
          "default_captcha_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default captcha challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge_parameters"
            ]
          },
          "default_js_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default js challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "js_challenge_parameters"
            ]
          },
          "default_mitigation_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "malicious_user_mitigation"
            ]
          },
          "js_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_js_challenge_parameters"
            ]
          },
          "malicious_user_mitigation": {
            "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-conflicts-with": [
              "default_mitigation_settings"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "malicious_user_mitigation",
                "field_path": "malicious_user_mitigation",
                "gated_by": {
                  "choice": "malicious_user_mitigation_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Configure auto mitigation i.e risk based challenges for malicious users.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafEnableChallenge",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafFallThroughRule__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Fall Through Rule for a specific endpoint, base-path, or API group.",
        "title": "Fall Through Rule",
        "x-displayname": "Fall Through Rule.",
        "x-ves-oneof-field-action_choice": "[\"action_block\",\"action_report\",\"action_skip\"]",
        "x-ves-oneof-field-condition_type_choice": "[\"api_endpoint\",\"api_group\",\"base_path\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.FallThroughRule",
        "properties": {
          "action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_report",
              "action_skip"
            ]
          },
          "action_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_block",
              "action_skip"
            ]
          },
          "action_skip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_block",
              "action_report"
            ]
          },
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_group",
              "base_path"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "Exclusive with [api_endpoint base_path]\nThe API group which this validation applies to.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint base_path] The API group which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "base_path"
            ]
          },
          "base_path": {
            "type": "string",
            "description": "Exclusive with [api_endpoint api_group]\nThe base path which this validation applies to.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/API/v1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/api/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint api_group] The base path which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "api_group"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Fall Through Rule for a specific endpoint, base-path, or API group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafFallThroughRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafInlineRateLimiter__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "title": "InlineRateLimiter",
        "x-displayname": "InlineRateLimiter.",
        "x-ves-oneof-field-count_by_choice": "[\"ref_user_id\",\"use_http_lb_user_id\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.InlineRateLimiter",
        "properties": {
          "ref_user_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "use_http_lb_user_id"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "ref_user_id",
                "gated_by": {
                  "choice": "count_by_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "threshold": {
            "type": "integer",
            "description": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "title": "threshold",
            "format": "int64",
            "x-displayname": "Threshold",
            "x-ves-example": "1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-example": "1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-description-short": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "x-f5xc-description-medium": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 8192,
              "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterRateLimitPeriodUnit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_http_lb_user_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "ref_user_id"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafInlineRateLimiter",
          "required_fields": [
            "threshold"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"threshold\": 0\n}",
          "example_yaml": "threshold: 0"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafJWKS": {
        "type": "object",
        "description": "The JSON Web Key Set (JWKS) is a set of keys used to verify JSON Web Token (JWT) issued by the Authorization Server. See RFC 7517 for more details.",
        "title": "jwks",
        "x-displayname": "JSON Web Key Set (JWKS)",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.JWKS",
        "properties": {
          "cleartext": {
            "type": "string",
            "description": "The JSON Web Key Set (JWKS) is a set of keys used to verify JSON Web Token (JWT) issued by the Authorization Server. See RFC 7517 for more details.",
            "title": "cleartext",
            "x-displayname": "JSON Web Key Set (JWKS)",
            "x-f5xc-description-short": "The JSON Web Key Set (JWKS) is a set of keys used to verify JSON Web Token (JWT) issued by the Authorization Server.",
            "x-f5xc-description-medium": "The JSON Web Key Set (JWKS) is a set of keys used to verify JSON Web Token (JWT) issued by the Authorization Server. See RFC 7517 for more 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
            }
          }
        },
        "x-f5xc-description-short": "The JSON Web Key Set (JWKS) is a set of keys used to verify JSON Web Token (JWT) issued by the Authorization Server.",
        "x-f5xc-description-medium": "The JSON Web Key Set (JWKS) is a set of keys used to verify JSON Web Token (JWT) issued by the Authorization Server. See RFC 7517 for more details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafJWKS",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafJWTValidation": {
        "type": "object",
        "description": "JWT Validation stops JWT replay attacks and JWT tampering by cryptographically verifying incoming\nJWTs before they are passed to your API origin. JWT Validation will also stop requests with expired\ntokens or tokens that are not yet valid.",
        "title": "JWT Validation",
        "x-displayname": "JWT Validation.",
        "x-ves-oneof-field-jwks_configuration": "[\"authorization_server\",\"jwks_config\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.JWTValidation",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaAction"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "authorization_server": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAuthorizationServer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for authorization server.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "jwks_config"
            ]
          },
          "jwks_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafJWKS"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "authorization_server"
            ]
          },
          "mandatory_claims": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafMandatoryClaims"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for mandatory claims.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "reserved_claims": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafReservedClaims"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for reserved claims.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "target": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafTarget"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "token_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafTokenLocation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for token location.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "JWT Validation stops JWT replay attacks and JWT tampering by cryptographically verifying incoming JWTs before they are passed to your API origin.",
        "x-f5xc-description-medium": "JWT Validation stops JWT replay attacks and JWT tampering by cryptographically verifying incoming JWTs before they are passed to your API origin. JWT Validation will also stop requests with expired tokens or tokens that are not yet valid.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafJWTValidation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafMandatoryClaims": {
        "type": "object",
        "description": "Configurable Validation of mandatory Claims.",
        "title": "MandatoryClaims",
        "x-displayname": "Mandatory Claims.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.MandatoryClaims",
        "properties": {
          "claim_names": {
            "type": "array",
            "description": "Human-readable name for the resource",
            "title": "Claim names",
            "maxItems": 16,
            "items": {
              "type": "string"
            },
            "x-displayname": "Claim Names.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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": "Configurable Validation of mandatory Claims.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafMandatoryClaims",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiFallThroughMode__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a. Swagger) or doesn't have a specific rule in custom rules)",
        "title": "Fall Through Mode",
        "x-displayname": "Fall Through Mode.",
        "x-ves-oneof-field-fall_through_mode_choice": "[\"fall_through_mode_allow\",\"fall_through_mode_custom\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiFallThroughMode",
        "properties": {
          "fall_through_mode_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode allow.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fall_through_mode_custom"
            ]
          },
          "fall_through_mode_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafCustomFallThroughMode__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fall_through_mode_allow"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-description-short": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a.",
        "x-f5xc-description-medium": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a. Swagger) or doesn't have a specific rule in custom rules).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiFallThroughMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationAllSpecEndpointsSettings__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Settings for API Inventory validation.",
        "title": "OpenAPI Validation API Inventory Settings",
        "x-displayname": "API Inventory.",
        "x-ves-oneof-field-oversized_body_choice": "[]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationAllSpecEndpointsSettings",
        "properties": {
          "fall_through_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiFallThroughMode__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationCommonSettings__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "validation_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationMode__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validation mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationAllSpecEndpointsSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationCommonSettings__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "title": "OpenAPI specification validation common settings",
        "x-displayname": "Common Settings.",
        "x-ves-oneof-field-fail_configuration": "[]",
        "x-ves-oneof-field-oversized_body_choice": "[\"oversized_body_fail_validation\",\"oversized_body_skip_validation\"]",
        "x-ves-oneof-field-property_validation_settings_choice": "[\"property_validation_settings_custom\",\"property_validation_settings_default\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationCommonSettings",
        "properties": {
          "oversized_body_fail_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "oversized_body_skip_validation"
            ]
          },
          "oversized_body_skip_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "oversized_body_fail_validation"
            ]
          },
          "property_validation_settings_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafValidationPropertySetting__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for property validation settings custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "property_validation_settings_default"
            ]
          },
          "property_validation_settings_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for property validation settings default.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "property_validation_settings_custom"
            ]
          }
        },
        "x-f5xc-description-short": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "x-f5xc-description-medium": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationCommonSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationMode__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Validation mode of OpenAPI specification.\nWhen a validation mismatch occurs on a request to one of the endpoints listed on the OpenAPI specification file (a.k.a. Swagger)",
        "title": "Validation Mode",
        "x-displayname": "Validation Mode.",
        "x-ves-oneof-field-response_validation_mode_choice": "[\"response_validation_mode_active\",\"skip_response_validation\"]",
        "x-ves-oneof-field-validation_mode_choice": "[\"skip_validation\",\"validation_mode_active\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationMode",
        "properties": {
          "response_validation_mode_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationModeActiveResponse__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "skip_response_validation"
            ]
          },
          "skip_response_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "response_validation_mode_active"
            ]
          },
          "skip_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validation_mode_active"
            ]
          },
          "validation_mode_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationModeActive__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid...",
            "x-f5xc-description-medium": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid requests with HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid requests with HTTP 403.",
            "x-f5xc-conflicts-with": [
              "skip_validation"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-description-short": "Validation mode of OpenAPI specification.",
        "x-f5xc-description-medium": "Validation mode of OpenAPI specification. When a validation mismatch occurs on a request to one of the endpoints listed on the OpenAPI specification file (a.k.a. Swagger).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationModeActive__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Validation mode properties of request.",
        "title": "Open API Validation Mode Active For Request",
        "x-displayname": "Open API Validation Mode Active.",
        "x-ves-oneof-field-validation_enforcement_type": "[\"enforcement_block\",\"enforcement_report\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationModeActive",
        "properties": {
          "enforcement_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties.",
            "x-f5xc-description-medium": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-conflicts-with": [
              "enforcement_report"
            ]
          },
          "enforcement_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-description-medium": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-conflicts-with": [
              "enforcement_block"
            ]
          },
          "request_validation_properties": {
            "type": "array",
            "description": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a. Swagger)",
            "title": "Request Validation Properties",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaOpenApiValidationProperties"
            },
            "x-displayname": "Request Validation Properties.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[7]",
              "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.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[7]",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a.",
            "x-f5xc-description-medium": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a. Swagger).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "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 common_wafOpenApiValidationModeActive",
          "required_fields": [
            "request_validation_properties"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"request_validation_properties\": [\n    \"PROPERTY_QUERY_PARAMETERS\"\n  ]\n}",
          "example_yaml": "request_validation_properties:\n- PROPERTY_QUERY_PARAMETERS"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationModeActiveResponse__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Validation mode properties of response.",
        "title": "Open API Validation Mode Active For Response",
        "x-displayname": "Open API Validation Mode Active.",
        "x-ves-oneof-field-validation_enforcement_type": "[\"enforcement_block\",\"enforcement_report\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationModeActiveResponse",
        "properties": {
          "enforcement_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties.",
            "x-f5xc-description-medium": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-conflicts-with": [
              "enforcement_report"
            ]
          },
          "enforcement_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-description-medium": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-conflicts-with": [
              "enforcement_block"
            ]
          },
          "response_validation_properties": {
            "type": "array",
            "description": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a. Swagger)",
            "title": "Response Validation Properties",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaOpenApiValidationProperties"
            },
            "x-displayname": "Response Validation Properties.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[2,4,5,7]",
              "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.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[2,4,5,7]",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a.",
            "x-f5xc-description-medium": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a. Swagger).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "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 common_wafOpenApiValidationModeActiveResponse",
          "required_fields": [
            "response_validation_properties"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"response_validation_properties\": [\n    \"PROPERTY_QUERY_PARAMETERS\"\n  ]\n}",
          "example_yaml": "response_validation_properties:\n- PROPERTY_QUERY_PARAMETERS"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafOpenApiValidationRule__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "OpenAPI Validation Rule for a specific endpoint, base-path, or API group.",
        "title": "OpenAPI Validation Rule",
        "x-displayname": "OpenAPI Validation Rule.",
        "x-ves-oneof-field-condition_type_choice": "[\"api_endpoint\",\"api_group\",\"base_path\"]",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_group",
              "base_path"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "Exclusive with [api_endpoint base_path]\nThe API group which this validation applies to.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint base_path] The API group which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "base_path"
            ]
          },
          "base_path": {
            "type": "string",
            "description": "Exclusive with [api_endpoint api_group]\nThe base path which this validation applies to.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/API/v1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/api/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint api_group] The base path which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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-conflicts-with": [
              "api_endpoint",
              "api_group"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          },
          "validation_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationMode__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validation mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "OpenAPI Validation Rule for a specific endpoint, base-path, or API group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafRateLimitConfigType": {
        "type": "object",
        "title": "RateLimitConfigType",
        "x-displayname": "RateLimitConfigType.",
        "x-ves-oneof-field-ip_allowed_list_choice": "[\"custom_ip_allowed_list\",\"ip_allowed_list\",\"no_ip_allowed_list\"]",
        "x-ves-oneof-field-policy_choice": "[\"no_policies\",\"policies\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.RateLimitConfigType",
        "properties": {
          "custom_ip_allowed_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafCustomIpAllowedList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ip_allowed_list",
              "no_ip_allowed_list"
            ]
          },
          "ip_allowed_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsPrefixStringListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_ip_allowed_list",
              "no_ip_allowed_list"
            ]
          },
          "no_ip_allowed_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "custom_ip_allowed_list",
              "ip_allowed_list"
            ]
          },
          "no_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "policies"
            ]
          },
          "policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiter_policyPolicyList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_policies"
            ]
          },
          "rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterRateLimitValue"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for rate limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafRateLimitConfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafReservedClaims": {
        "type": "object",
        "description": "Configurable Validation of reserved Claims.",
        "title": "reserved claims",
        "x-displayname": "Reserved claims configuration.",
        "x-ves-oneof-field-audience_validation": "[\"audience\",\"audience_disable\"]",
        "x-ves-oneof-field-issuer_validation": "[\"issuer\",\"issuer_disable\"]",
        "x-ves-oneof-field-validate_period": "[\"validate_period_disable\",\"validate_period_enable\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ReservedClaims",
        "properties": {
          "audience": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAudiences"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "audience_disable"
            ]
          },
          "audience_disable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for audience disable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "audience"
            ]
          },
          "issuer": {
            "type": "string",
            "description": "Exclusive with [issuer_disable]",
            "title": "issuer",
            "x-displayname": "Exact Match.",
            "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": [
              "issuer_disable"
            ]
          },
          "issuer_disable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for issuer disable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "issuer"
            ]
          },
          "validate_period_disable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validate period disable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validate_period_enable"
            ]
          },
          "validate_period_enable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validate period enable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validate_period_disable"
            ]
          }
        },
        "x-f5xc-description-short": "Configurable Validation of reserved Claims.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafReservedClaims",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafServerUrlRule": {
        "type": "object",
        "title": "ServerUrlRule",
        "x-displayname": "Server URLs and API Groups.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-oneof-field-rate_limiter_choice": "[\"inline_rate_limiter\",\"ref_rate_limiter\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ServerUrlRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "API groups derived from API Definition swaggers.\nFor example oas-all-operations including all paths and methods from the swaggers, oas-base-URLs covering all requests under base-paths from the swaggers.\nCustom groups can be created if user tags paths or operations with \"x-F5 Distributed Cloud-API-group\" extensions inside swaggers.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "API groups derived from API Definition swaggers.",
            "x-f5xc-description-medium": "API groups derived from API Definition swaggers. For example oas-all-operations including all paths and methods from the swaggers, oas-base-URLs covering all requests under base-paths from the swaggers. Custom groups can be created if user tags paths or operations with \"x-F5 Distributed...",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "base_path": {
            "type": "string",
            "description": "Prefix of the request path.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "inline_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafInlineRateLimiter__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Inline rate-limiter settings for this domain, base-path, or endpoint rule.",
            "x-f5xc-description-medium": "Inline rate-limiter settings for this domain, base-path, or endpoint rule. Select this field as the required rate_limiter_choice when no stored rate-limiter object is used.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Inline rate-limiter settings for this domain, base-path, or endpoint rule. Select this field as the required rate_limiter_choice when no stored rate-limiter object is used.",
            "x-f5xc-conflicts-with": [
              "ref_rate_limiter"
            ]
          },
          "ref_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Reference to a stored rate-limiter object for this scoped rule. Select exactly one of ref_rate_limiter and inline_rate_limiter.",
            "x-f5xc-description-medium": "Reference to a stored rate-limiter object for this scoped rule. Select exactly one of ref_rate_limiter and inline_rate_limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Reference to a stored rate-limiter object for this scoped rule. Select exactly one of ref_rate_limiter and inline_rate_limiter.",
            "x-f5xc-conflicts-with": [
              "inline_rate_limiter"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "rate_limiter",
                "field_path": "ref_rate_limiter",
                "gated_by": {
                  "choice": "rate_limiter_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafServerUrlRule",
          "required_fields": [
            "base_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"base_path\": \"/\"\n}",
          "example_yaml": "base_path: /"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafServicePolicyList": {
        "type": "object",
        "description": "List of service policies.",
        "title": "service policy list",
        "x-displayname": "Service Policy List.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ServicePolicyList",
        "properties": {
          "policies": {
            "type": "array",
            "description": "Service Policies is a sequential engine where policies (and rules within the policy) are evaluated one after the other. It's important to define the\ncorrect order (policies evaluated from top to bottom in the list) for service policies, to GET the intended result.\nFor each request, its characteristics are evaluated based on the match criteria in each service policy starting at the top. If there is a match in the\ncurrent policy, then the policy takes effect, and no more policies are evaluated. Otherwise, the next policy is evaluated.\nIf all policies are evaluated and none match, then the request will be denied by default.",
            "title": "policies",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Policies",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "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": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Service Policies is a sequential engine where policies (and rules within the policy) are evaluated one after the other.",
            "x-f5xc-description-medium": "Service Policies is a sequential engine where policies (and rules within the policy) are evaluated one after the other. It's important to define the correct order (policies evaluated from top to bottom in the list) for service policies, to GET the intended result. For each request, its...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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 common_wafServicePolicyList",
          "required_fields": [
            "policies"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"policies\": [\n    {\n      \"name\": \"contacts-route\"\n    }\n  ]\n}",
          "example_yaml": "policies:\n- name: contacts-route"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "Simple client source rule specifies the sources to be blocked or trusted (skip WAF)",
        "title": "SimpleClientSrcRule",
        "x-displayname": "Client Rule.",
        "x-ves-oneof-field-action_choice": "[\"bot_skip_processing\",\"skip_processing\",\"waf_skip_processing\"]",
        "x-ves-oneof-field-client_source_choice": "[\"as_number\",\"http_header\",\"ip_prefix\",\"ipv6_prefix\",\"user_identifier\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.SimpleClientSrcRule",
        "properties": {
          "actions": {
            "type": "array",
            "description": "Actions that should be taken when client identifier matches the rule.",
            "title": "actions",
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/common_wafClientSrcRuleAction"
            },
            "x-displayname": "Actions",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.enum.defined_only": "true",
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "10",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.enum.defined_only": "true",
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "10",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Actions that should be taken when client identifier matches the rule.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 10,
              "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
            }
          },
          "as_number": {
            "type": "integer",
            "description": "Exclusive with [http_header ip_prefix ipv6_prefix user_identifier]\nRFC 6793 defined 4-byte AS number.",
            "title": "as number",
            "format": "int64",
            "x-displayname": "AS Number",
            "x-ves-example": "4683",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-example": "4683",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "401308"
            },
            "x-f5xc-description-short": "Exclusive with [http_header ip_prefix ipv6_prefix user_identifier] RFC 6793 defined 4-byte AS number.",
            "x-f5xc-description-medium": "Exclusive with [http_header ip_prefix ipv6_prefix user_identifier] RFC 6793 defined 4-byte AS number.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 401308,
              "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-conflicts-with": [
              "http_header",
              "ip_prefix",
              "ipv6_prefix",
              "user_identifier"
            ]
          },
          "bot_skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "skip_processing",
              "waf_skip_processing"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "The expiration_timestamp is the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in\nthe configuration but is not applied anymore.",
            "title": "expiration timestamp",
            "format": "date-time",
            "x-displayname": "Expiration Timestamp.",
            "x-ves-example": "2019-12-31:44:34.171543432Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-example": "2019-12-31:44:34.171543432Z",
            "x-validation-rules": {
              "ves.io.schema.rules.timestamp.within.seconds": "31536000"
            },
            "x-f5xc-description-short": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired.",
            "x-f5xc-description-medium": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in the configuration but is not applied anymore.",
            "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
            }
          },
          "http_header": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafHttpHeaderMatcherList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "as_number",
              "ip_prefix",
              "ipv6_prefix",
              "user_identifier"
            ]
          },
          "ip_prefix": {
            "type": "string",
            "description": "Exclusive with [as_number http_header ipv6_prefix user_identifier]\nIPv4 prefix string.",
            "title": "ip prefix",
            "x-displayname": "IPv4 Prefix.",
            "x-ves-example": "192.0.2.0/24.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "x-f5xc-example": "192.0.2.0/24",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4_prefix": "true"
            },
            "x-f5xc-description-short": "Exclusive with [as_number http_header ipv6_prefix user_identifier] IPv4 prefix 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": [
              "as_number",
              "http_header",
              "ipv6_prefix",
              "user_identifier"
            ]
          },
          "ipv6_prefix": {
            "type": "string",
            "description": "Exclusive with [as_number http_header ip_prefix user_identifier]\nIPv6 prefix string.",
            "title": "ipv6 prefix",
            "x-displayname": "IPv6 Prefix.",
            "x-ves-example": "2001::1/64.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "x-f5xc-example": "2001::1/64",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv6_prefix": "true"
            },
            "x-f5xc-description-short": "Exclusive with [as_number http_header ip_prefix user_identifier] IPv6 prefix 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": [
              "as_number",
              "http_header",
              "ip_prefix",
              "user_identifier"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_skip_processing",
              "waf_skip_processing"
            ]
          },
          "user_identifier": {
            "type": "string",
            "description": "Exclusive with [as_number http_header ip_prefix ipv6_prefix]\nIdentify user based on user identifier. User identifier value needs to be copied from security event.",
            "title": "user identifier",
            "maxLength": 256,
            "x-displayname": "User Identifier.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [as_number http_header ip_prefix ipv6_prefix] Identify user based on user identifier.",
            "x-f5xc-description-medium": "Exclusive with [as_number http_header ip_prefix ipv6_prefix] Identify user based on user identifier. User identifier value needs to be copied from security event.",
            "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
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "as_number",
              "http_header",
              "ip_prefix",
              "ipv6_prefix"
            ]
          },
          "waf_skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_skip_processing",
              "skip_processing"
            ]
          }
        },
        "x-f5xc-description-short": "Simple client source rule specifies the sources to be blocked or trusted (skip WAF).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafSimpleClientSrcRule",
          "required_fields": [
            "actions"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"actions\": [\n    \"SKIP_PROCESSING_WAF\"\n  ]\n}",
          "example_yaml": "actions:\n- SKIP_PROCESSING_WAF"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafSimpleLogin": {
        "type": "object",
        "title": "Simple Login",
        "x-displayname": "Simple Login.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.SimpleLogin",
        "properties": {
          "password": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-example": "example",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user": {
            "type": "string",
            "description": "Enter the username to assign credentials for the selected domain to crawl.",
            "title": "The custom domain user authentication",
            "maxLength": 64,
            "x-displayname": "User",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-description-short": "Enter the username to assign credentials for the selected domain to crawl.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, hyphens"
              },
              "metadata": {
                "source": "discovery",
                "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 common_wafSimpleLogin",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafTarget": {
        "type": "object",
        "description": "Define endpoints for which JWT token validation will be performed.",
        "title": "target",
        "x-displayname": "Target",
        "x-ves-oneof-field-target": "[\"all_endpoint\",\"api_groups\",\"base_paths\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.Target",
        "properties": {
          "all_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_groups",
              "base_paths"
            ]
          },
          "api_groups": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIGroups"
              }
            ],
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_endpoint",
              "base_paths"
            ]
          },
          "base_paths": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafBasePathsType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_endpoint",
              "api_groups"
            ]
          }
        },
        "x-f5xc-description-short": "Define endpoints for which JWT token validation will be performed.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafTarget",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafTokenLocation": {
        "type": "object",
        "description": "Location of JWT in HTTP request.",
        "title": "token location",
        "x-displayname": "Token Location.",
        "x-ves-oneof-field-token_location": "[\"bearer_token\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.TokenLocation",
        "properties": {
          "bearer_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bearer token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafTokenLocation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafValidateApiBySpecRule": {
        "type": "object",
        "description": "Define API groups, base paths, or API endpoints and their OpenAPI validation modes.\nAny other API-endpoint not listed will act according to \"Fall Through Mode\".",
        "title": "ValidateApiBySpecRule",
        "x-displayname": "Custom List.",
        "x-ves-oneof-field-oversized_body_choice": "[]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ValidateApiBySpecRule",
        "properties": {
          "fall_through_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiFallThroughMode__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "open_api_validation_rules": {
            "type": "array",
            "description": "Rule or policy definition",
            "title": "Validation List",
            "maxItems": 15,
            "items": {
              "$ref": "#/components/schemas/common_wafOpenApiValidationRule__ves_io_schema_views_bigip_virtual_server"
            },
            "x-displayname": "Validation List.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 15,
              "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
            }
          },
          "settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationCommonSettings__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Define API groups, base paths, or API endpoints and their OpenAPI validation modes.",
        "x-f5xc-description-medium": "Define API groups, base paths, or API endpoints and their OpenAPI validation modes. Any other API-endpoint not listed will act according to \"Fall Through Mode\".",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafValidateApiBySpecRule",
          "required_fields": [
            "open_api_validation_rules"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"open_api_validation_rules\": [\n    {}\n  ]\n}",
          "example_yaml": "open_api_validation_rules:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafValidationPropertySetting__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Custom property validation settings.",
        "title": "Validation Property settings",
        "x-displayname": "Validation Property Settings.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ValidationPropertySetting",
        "properties": {
          "queryParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafValidationSettingForQueryParameters__ves_io_schema_views_bigip_virtual_server"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for queryParameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafValidationPropertySetting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafValidationSettingForQueryParameters__ves_io_schema_views_bigip_virtual_server": {
        "type": "object",
        "description": "Custom settings for query parameters validation.",
        "title": "Validation Settings For Query Parameters",
        "x-displayname": "Validation Settings For Query Parameters.",
        "x-ves-oneof-field-additional_parameters_choice": "[\"allow_additional_parameters\",\"disallow_additional_parameters\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ValidationSettingForQueryParameters",
        "properties": {
          "allow_additional_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for allow additional parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disallow_additional_parameters"
            ]
          },
          "disallow_additional_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disallow additional parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "allow_additional_parameters"
            ]
          }
        },
        "x-f5xc-description-short": "Custom settings for query parameters validation.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafValidationSettingForQueryParameters",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafWafExclusion": {
        "type": "object",
        "title": "WAF Exclusion",
        "x-displayname": "WAF Exclusion.",
        "x-ves-oneof-field-waf_exclusion_choice": "[\"waf_exclusion_inline_rules\",\"waf_exclusion_policy\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.WafExclusion",
        "properties": {
          "waf_exclusion_inline_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafWafExclusionInlineRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "waf_exclusion_policy"
            ]
          },
          "waf_exclusion_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "waf_exclusion_inline_rules"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "waf_exclusion_policy",
                "field_path": "waf_exclusion_policy",
                "gated_by": {
                  "choice": "waf_exclusion_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafWafExclusion",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafWafExclusionInlineRules": {
        "type": "object",
        "description": "A list of WAF exclusion rules that will be applied inline.",
        "title": "WAF Exclusion Inline Rules",
        "x-displayname": "WAF Exclusion Inline Rules.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.WafExclusionInlineRules",
        "properties": {
          "rules": {
            "type": "array",
            "description": "An ordered list of WAF Exclusions specific to this Load Balancer.",
            "title": "List of WAF Exclusion Rules",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/policySimpleWafExclusionRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "WAF Exclusion Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Ordered list of WAF Exclusions specific to this Load Balancer.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 256,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "List of WAF exclusion rules that will be applied inline.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafWafExclusionInlineRules",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "dos_mitigationDestination": {
        "type": "object",
        "description": "A reference to the object on which the DoS Attack is going to be mitigated.",
        "title": "Destination",
        "x-displayname": "Destination Object.",
        "x-ves-proto-message": "ves.io.schema.dos_mitigation.Destination",
        "properties": {
          "virtual_host": {
            "type": "array",
            "description": "Virtual Host on which mitigation is to occur.",
            "title": "virtual_host",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Virtual Host.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Virtual Host on which mitigation is to occur.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Reference to the object on which the DoS Attack is going to be mitigated.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for dos_mitigationDestination",
          "required_fields": [
            "virtual_host"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"virtual_host\": [\n    {}\n  ]\n}",
          "example_yaml": "virtual_host:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "dos_mitigationDoSMitigationRuleInfo": {
        "type": "object",
        "description": "DoS Mitigation Object to auto-configure rules to block attackers.",
        "title": "DoS Mitigation Rule Info",
        "x-displayname": "DoS Mitigation Object.",
        "x-ves-proto-message": "ves.io.schema.dos_mitigation.DoSMitigationRuleInfo",
        "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"
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemados_mitigationGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "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])?$"
          },
          "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": "DoS Mitigation Object to auto-configure rules to block attackers.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for dos_mitigationDoSMitigationRuleInfo",
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerProxyTypeHttp": {
        "type": "object",
        "description": "Choice for selecting HTTP proxy.",
        "title": "HTTP Choice",
        "x-displayname": "HTTP Choice.",
        "x-ves-displayorder": "1,3",
        "x-ves-oneof-field-port_choice": "[\"port\",\"port_ranges\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ProxyTypeHttp",
        "properties": {
          "dns_volterra_managed": {
            "type": "boolean",
            "description": "DNS records for domains will be managed automatically by F5 Distributed Cloud.\nAs a prerequisite, the domain must be delegated to F5 Distributed Cloud using Delegated domain feature\nor a DNS CNAME record should be created in your DNS provider's portal.",
            "title": "Manage DNS Domain",
            "format": "boolean",
            "x-displayname": "Automatically Manage DNS Records.",
            "x-f5xc-description-short": "DNS records for domains will be managed automatically by F5 Distributed Cloud.",
            "x-f5xc-description-medium": "DNS records for domains will be managed automatically by F5 Distributed Cloud. As a prerequisite, the domain must be delegated to F5 Distributed Cloud using Delegated domain feature or a DNS CNAME record should be created in your DNS provider's portal.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "port": {
            "type": "integer",
            "description": "Exclusive with [port_ranges]\nHTTP port to Listen.",
            "title": "HTTP port to listen",
            "format": "int64",
            "x-displayname": "HTTP Listen Port.",
            "x-ves-example": "80",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "80",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-description-short": "Exclusive with [port_ranges] HTTP port to Listen.",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "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": [
              "port_ranges"
            ]
          },
          "port_ranges": {
            "type": "string",
            "description": "Exclusive with [port]\nA string containing a comma separated list of port ranges.\nEach port range consists of a single port or two ports separated by \"-\".",
            "title": "Port_ranges",
            "minLength": 1,
            "maxLength": 512,
            "x-displayname": "Port Ranges.",
            "x-ves-example": "80,443,8080-8191,9080.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-example": "80,443,8080-8191,9080",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-description-short": "Exclusive with [port] A string containing a comma separated list of port ranges.",
            "x-f5xc-description-medium": "Exclusive with [port] A string containing a comma separated list of port ranges. Each port range consists of a single port or two ports separated by \"-\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 512,
              "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-conflicts-with": [
              "port"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerProxyTypeHttp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "ioschemaPathMatcherType": {
        "type": "object",
        "description": "Path match of the URI can be either be, Prefix match or exact match or regular expression match.",
        "title": "PathMatcherType",
        "x-displayname": "Path to Match.",
        "x-ves-displayorder": "4",
        "x-ves-oneof-field-path_match": "[\"path\",\"prefix\",\"regex\"]",
        "x-ves-proto-message": "ves.io.schema.PathMatcherType",
        "properties": {
          "path": {
            "type": "string",
            "description": "Exclusive with [prefix regex]\nExact path value to match.",
            "title": "exact",
            "maxLength": 256,
            "x-displayname": "Exact",
            "x-ves-example": "/logout",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/logout",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [prefix regex] Exact path value to match.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "metadata": {
                "source": "discovery",
                "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": [
              "prefix",
              "regex"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Exclusive with [path regex]\nPath prefix to match (e.g. The value / will match on all paths)",
            "title": "prefix",
            "maxLength": 256,
            "x-displayname": "Prefix",
            "x-ves-example": "/register/.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/register/",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [path regex] Path prefix to match (e.g. The value / will match on all paths)",
            "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
            },
            "x-f5xc-conflicts-with": [
              "path",
              "regex"
            ]
          },
          "regex": {
            "type": "string",
            "description": "Exclusive with [path prefix]\nRegular expression of path match (e.g. The value .* will match on all paths)",
            "title": "regex",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Regex",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "Exclusive with [path prefix] Regular expression of path match (e.g. The value .* will match on all paths)",
            "x-f5xc-description-medium": "Exclusive with [path prefix] Regular expression of path match (e.g. The value .* will match on all paths).",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 256,
                "min": 1
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "path",
              "prefix"
            ]
          }
        },
        "x-f5xc-description-short": "Path match of the URI can be either be, Prefix match or exact match or regular expression match.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaPathMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerPublicIP": {
        "type": "object",
        "description": "Specify origin server with public IP address.",
        "title": "OriginServerPublicIP",
        "x-displayname": "Public IP",
        "x-ves-displayorder": "2",
        "x-ves-oneof-field-public_ip_choice": "[\"ip\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerPublicIP",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Exclusive with []\nPublic IPv4 address.",
            "title": "IP",
            "x-displayname": "Public IPv4.",
            "x-ves-example": "192.0.2.132.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-example": "192.0.2.132",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "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-description-short": "Specify origin server with public IP address.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerPublicIP",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerPublicName": {
        "type": "object",
        "description": "Specify origin server with public DNS name.",
        "title": "OriginServerPublicName",
        "x-displayname": "Public DNS Name.",
        "x-ves-displayorder": "1,2",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerPublicName",
        "properties": {
          "dns_name": {
            "type": "string",
            "description": "DNS Name",
            "title": "DNS name",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "DNS Name",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "pattern": "^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9.-]",
                "description": "Dot-separated DNS labels"
              },
              "format": "hostname",
              "formatDescription": "RFC 1123 FQDN: lowercase, dot-separated labels, max 253 chars total",
              "validation": {
                "rfc": "RFC 1123"
              },
              "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
            },
            "pattern": "^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$"
          },
          "refresh_interval": {
            "type": "integer",
            "description": "Interval for DNS refresh in seconds.\nMax value is 7 days as per https://datatracker.ietf.org/doc/HTML/rfc8767.",
            "title": "refresh_interval",
            "format": "int64",
            "x-displayname": "DNS Refresh Interval.",
            "x-ves-example": "20",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.ranges": "0,10-604800"
            },
            "x-f5xc-example": "20",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.ranges": "0,10-604800"
            },
            "x-f5xc-description-short": "Interval for DNS refresh in seconds. Max value is 7 days as per https://datatracker.ietf.org/doc/HTML/rfc8767.",
            "x-f5xc-description-medium": "Interval for DNS refresh in seconds. Max value is 7 days as per https://datatracker.ietf.org/doc/HTML/rfc8767.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 604800,
              "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": "Specify origin server with public DNS name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerPublicName",
          "required_fields": [
            "dns_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"dns_name\": \"value\"\n}",
          "example_yaml": "dns_name: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolTlsCertificatesType": {
        "type": "object",
        "description": "MTLS Client Certificate.",
        "title": "TlsCertificatesType",
        "x-displayname": "MTLS Certificate.",
        "x-ves-displayorder": "1",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.TlsCertificatesType",
        "properties": {
          "tls_certificates": {
            "type": "array",
            "description": "MTLS Client Certificate.",
            "title": "mTLS certificate",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaTlsCertificateType"
            },
            "x-displayname": "MTLS Client Certificate.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolTlsCertificatesType",
          "required_fields": [
            "tls_certificates"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"tls_certificates\": [\n    {\n      \"certificate_url\": \"value\"\n    }\n  ]\n}",
          "example_yaml": "tls_certificates:\n- certificate_url: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolUpstreamTlsParameters": {
        "type": "object",
        "description": "Upstream TLS Parameters.",
        "title": "UpstreamTlsParameters",
        "x-displayname": "TLS Parameters for Origin Servers.",
        "x-ves-displayorder": "10,2,8,9,15",
        "x-ves-oneof-field-max_session_keys_type": "[\"default_session_key_caching\",\"disable_session_key_caching\",\"max_session_keys\"]",
        "x-ves-oneof-field-mtls_choice": "[\"no_mtls\",\"use_mtls\",\"use_mtls_obj\"]",
        "x-ves-oneof-field-server_validation_choice": "[\"skip_server_verification\",\"use_server_verification\",\"volterra_trusted_ca\"]",
        "x-ves-oneof-field-sni_choice": "[\"disable_sni\",\"sni\",\"use_host_header_as_sni\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.UpstreamTlsParameters",
        "properties": {
          "default_session_key_caching": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default session key caching.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "disable_session_key_caching",
              "max_session_keys"
            ]
          },
          "disable_session_key_caching": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable session key caching.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_session_key_caching",
              "max_session_keys"
            ]
          },
          "disable_sni": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable sni.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "sni",
              "use_host_header_as_sni"
            ]
          },
          "max_session_keys": {
            "type": "integer",
            "description": "Exclusive with [default_session_key_caching disable_session_key_caching]\n\nNumber of session keys that are cached.",
            "title": "Max Session Keys Cached",
            "format": "int64",
            "x-displayname": "Max Session Keys Cached.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "2",
              "ves.io.schema.rules.uint32.lte": "64"
            },
            "x-f5xc-example": "25",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "2",
              "ves.io.schema.rules.uint32.lte": "64"
            },
            "x-f5xc-description-short": "Exclusive with [default_session_key_caching disable_session_key_caching] Number of session keys that are cached.",
            "x-f5xc-description-medium": "Exclusive with [default_session_key_caching disable_session_key_caching] Number of session keys that are cached.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 2,
              "maximum": 64,
              "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-conflicts-with": [
              "default_session_key_caching",
              "disable_session_key_caching"
            ]
          },
          "no_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "use_mtls",
              "use_mtls_obj"
            ]
          },
          "skip_server_verification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "use_server_verification",
              "volterra_trusted_ca"
            ]
          },
          "sni": {
            "type": "string",
            "description": "Exclusive with [disable_sni use_host_header_as_sni]\nSNI value to be used.",
            "title": "sni",
            "maxLength": 256,
            "x-displayname": "SNI Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [disable_sni use_host_header_as_sni] SNI value to be used.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "disable_sni",
              "use_host_header_as_sni"
            ]
          },
          "tls_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsTlsConfig"
              }
            ],
            "x-f5xc-constraints": {
              "constraintType": "object",
              "category": "tls",
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "category": "tls",
                "note": "Required when use_tls is selected — API returns 400 if nil",
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_host_header_as_sni": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "disable_sni",
              "sni"
            ]
          },
          "use_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolTlsCertificatesType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_mtls",
              "use_mtls_obj"
            ]
          },
          "use_mtls_obj": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for use mtls obj.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_mtls",
              "use_mtls"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "use_mtls_obj",
                "gated_by": {
                  "choice": "mtls_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "use_server_verification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolUpstreamTlsValidationContext"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for use server verification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "skip_server_verification",
              "volterra_trusted_ca"
            ]
          },
          "volterra_trusted_ca": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for volterra trusted ca.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "skip_server_verification",
              "use_server_verification"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolUpstreamTlsParameters",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolUpstreamTlsValidationContext": {
        "type": "object",
        "description": "Upstream TLS Validation Context.",
        "title": "UpstreamTlsValidationContext",
        "x-displayname": "TLS Validation Context for Origin Servers.",
        "x-ves-oneof-field-trusted_ca_choice": "[\"trusted_ca\",\"trusted_ca_url\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.UpstreamTlsValidationContext",
        "properties": {
          "trusted_ca": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "trusted_ca_url"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "certificate",
                "field_path": "trusted_ca",
                "gated_by": {
                  "choice": "trusted_ca_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "trusted_ca_url": {
            "type": "string",
            "description": "Exclusive with [trusted_ca]\nUpload a Root CA Certificate specifically for this Origin Pool for verification of server's certificate.",
            "title": "trusted_ca_url",
            "minLength": 1,
            "maxLength": 131072,
            "x-displayname": "Inline Root CA Certificate (legacy)",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.truststore_url": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.truststore_url": "true"
            },
            "x-f5xc-description-short": "Exclusive with [trusted_ca] Upload a Root CA Certificate specifically for this Origin Pool for verification of server's certificate.",
            "x-f5xc-description-medium": "Exclusive with [trusted_ca] Upload a Root CA Certificate specifically for this Origin Pool for verification of server's certificate.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 131072,
              "byteLength": {
                "max": 131072,
                "min": 1
              },
              "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-conflicts-with": [
              "trusted_ca"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolUpstreamTlsValidationContext",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyArgMatcherType": {
        "type": "object",
        "description": "A argument matcher specifies the name of a single argument in the body and the criteria to match it.\nA argument matcher can check for one of the following:\n* Presence or absence of the argument\n* At least one of the values for the argument in the request satisfies the MatcherType item.",
        "title": "ArgMatcherType",
        "x-displayname": "Argument Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.ArgMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert Match of the expression defined.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-sensitive JSON path in the HTTP request body.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Argument Name.",
            "x-ves-example": "Name",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.json_path": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "name",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.json_path": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-description-short": "Case-sensitive JSON path in the HTTP request body.",
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "Argument matcher specifies the name of a single argument in the body and the criteria to match it.",
        "x-f5xc-description-medium": "Argument matcher specifies the name of a single argument in the body and the criteria to match it. A argument matcher can check for one of the following: * Presence or absence of the argument * At least one of the values for the argument in the request satisfies the MatcherType item.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyArgMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"name\"\n}",
          "example_yaml": "name: name"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyClientMatcher__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "Client conditions for matching a rule.",
        "title": "Client Matcher",
        "x-displayname": "Client Matcher.",
        "x-ves-oneof-field-client_choice": "[\"any_client\",\"client_selector\",\"ip_threat_category_list\"]",
        "x-ves-oneof-field-ip_asn_choice": "[\"any_ip\",\"asn_list\",\"asn_matcher\",\"ip_matcher\",\"ip_prefix_list\"]",
        "x-ves-proto-message": "ves.io.schema.policy.ClientMatcher",
        "properties": {
          "any_client": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_selector",
              "ip_threat_category_list"
            ]
          },
          "any_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "asn_list",
              "asn_matcher",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "asn_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_matcher",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "asn_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for asn matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "client_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaLabelSelectorType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_client",
              "ip_threat_category_list"
            ]
          },
          "ip_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyIpMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "asn_matcher",
              "ip_prefix_list"
            ]
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "asn_matcher",
              "ip_matcher"
            ]
          },
          "ip_threat_category_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemapolicyIPThreatCategoryListType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_client",
              "client_selector"
            ]
          },
          "tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyTlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyClientMatcher",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyCookieMatcherType__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "A cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each\ncookie in the request.\nA cookie matcher can check for one of the following:\n* Presence or absence of the cookie\n* At least one of the values for the cookie in the request satisfies the MatcherType item.",
        "title": "CookieMatcherType",
        "x-displayname": "Cookie Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.CookieMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert Match of the expression defined.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-sensitive cookie name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Cookie Name.",
            "x-ves-example": "Session",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Session",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "Cookie matcher specifies the name of a single cookie and the criteria to match it.",
        "x-f5xc-description-medium": "Cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each cookie in the request. A cookie matcher can check for one of the following: * Presence or absence of the cookie * At least one of the values for the cookie in the request...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyCookieMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Session\"\n}",
          "example_yaml": "name: Session"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyGraphQLRule": {
        "type": "object",
        "description": "This section defines various configuration OPTIONS for GraphQL inspection.",
        "title": "GraphQL Rule",
        "x-displayname": "GraphQL",
        "x-ves-displayorder": "1,2,6,8,7",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"exact_value\",\"suffix_value\"]",
        "x-ves-oneof-field-method_choice": "[\"method_get\",\"method_post\"]",
        "x-ves-proto-message": "ves.io.schema.policy.GraphQLRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "exact_value",
              "suffix_value"
            ]
          },
          "exact_path": {
            "type": "string",
            "description": "Specifies the exact path to GraphQL endpoint. Default value is /graphql.",
            "title": "Path",
            "maxLength": 256,
            "x-displayname": "Path",
            "x-ves-example": "/graphql",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/graphql",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Specifies the exact path to GraphQL endpoint. Default value is /graphql.",
            "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "exact_value": {
            "type": "string",
            "description": "Exclusive with [any_domain suffix_value]\nExact domain name.",
            "title": "exact value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Exact Value.",
            "x-ves-example": "abc.zyz.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "abc.zyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain suffix_value] Exact domain name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "suffix_value"
            ]
          },
          "graphql_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyGraphQLSettingsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for graphql settings.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "method_get": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "method_post"
            ]
          },
          "method_post": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for method post.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "method_get"
            ]
          },
          "suffix_value": {
            "type": "string",
            "description": "Exclusive with [any_domain exact_value]\nSuffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\"",
            "title": "suffix value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Suffix Value.",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-description-medium": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "exact_value"
            ]
          }
        },
        "x-f5xc-description-short": "Section defines various configuration OPTIONS for GraphQL inspection.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyGraphQLRule",
          "required_fields": [
            "exact_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"exact_path\": \"/graphql\"\n}",
          "example_yaml": "exact_path: /graphql"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyGraphQLSettingsType": {
        "type": "object",
        "description": "GraphQL configuration.",
        "title": "GraphQL Settings",
        "x-displayname": "GraphQL Settings.",
        "x-ves-oneof-field-allow_introspection_queries_choice": "[\"disable_introspection\",\"enable_introspection\"]",
        "x-ves-proto-message": "ves.io.schema.policy.GraphQLSettingsType",
        "properties": {
          "disable_introspection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_introspection"
            ]
          },
          "enable_introspection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_introspection"
            ]
          },
          "max_batched_queries": {
            "type": "integer",
            "description": "Specify maximum number of queries in a single batched request.",
            "title": "Max Batched Queries",
            "format": "int64",
            "x-displayname": "Maximum Batched Queries.",
            "x-ves-example": "10",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "20"
            },
            "x-f5xc-example": "10",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "20"
            },
            "x-f5xc-description-short": "Specify maximum number of queries in a single batched request.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 20,
              "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
            }
          },
          "max_depth": {
            "type": "integer",
            "description": "Specify maximum depth for the GraphQL query.",
            "title": "Max Depth",
            "format": "int64",
            "x-displayname": "Maximum Structure Depth.",
            "x-ves-example": "10",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "20"
            },
            "x-f5xc-example": "10",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "20"
            },
            "x-f5xc-description-short": "Specify maximum depth for the GraphQL query.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 20,
              "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
            }
          },
          "max_total_length": {
            "type": "integer",
            "description": "Specify maximum length in bytes for the GraphQL query.",
            "title": "Max Total Length",
            "format": "int64",
            "x-displayname": "Maximum Total Length.",
            "x-ves-example": "5000",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "16386"
            },
            "x-f5xc-example": "5000",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "16386"
            },
            "x-f5xc-description-short": "Specify maximum length in bytes for the GraphQL query.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 16386,
              "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 policyGraphQLSettingsType",
          "required_fields": [
            "max_batched_queries",
            "max_depth",
            "max_total_length"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"max_batched_queries\": 0,\n  \"max_depth\": 0,\n  \"max_total_length\": 0\n}",
          "example_yaml": "max_batched_queries: 0\nmax_depth: 0\nmax_total_length: 0"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyHeaderMatcherTypeBasic": {
        "type": "object",
        "description": "A header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each\nheader name in the original HTTP request.\nA header matcher can check for one of the following:\n* Presence or absence of the header in the input\n* At least one of the values for the header in the input satisfies the MatcherType item.",
        "title": "HeaderMatcherTypeBasic",
        "x-displayname": "Header Matcher.",
        "x-ves-displayorder": "1,6",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.HeaderMatcherTypeBasic",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-insensitive HTTP header name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Header Name.",
            "x-ves-example": "Accept-Encoding.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Accept-Encoding",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each header name in the original HTTP request. A header matcher can check for one of the following: * Presence or absence of the header in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyHeaderMatcherTypeBasic",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Accept-Encoding\"\n}",
          "example_yaml": "name: Accept-Encoding"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyJWTClaimMatcherType__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "A JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it.\nThe input has a list of actual values for each JWT claim name in the JWT payload.\nA JWT claim matcher can check for one of the following:\n* Presence or absence of the JWT Claim in the input\n* At least one of the values for the JWT Claim in the input satisfies the MatcherType item.",
        "title": "JWTClaimMatcherType",
        "x-displayname": "JWT Claim Matcher.",
        "x-ves-displayorder": "1,2,6",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.JWTClaimMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "JWT claim name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "JWT Claim Name.",
            "x-ves-example": "User_id",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "user_id",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it. The input has a list of actual values for each JWT claim name in the JWT payload. A JWT claim matcher can check for one of the following: * Presence or absence of the JWT Claim in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyJWTClaimMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"user_id\"\n}",
          "example_yaml": "name: user_id"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyMatcherTypeBasic": {
        "type": "object",
        "description": "A matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied. The set\nof supported match criteria includes a list of exact values and a list of regular expressions.",
        "title": "MatcherTypeBasic",
        "x-displayname": "Matcher",
        "x-ves-proto-message": "ves.io.schema.policy.MatcherTypeBasic",
        "properties": {
          "exact_values": {
            "type": "array",
            "description": "A list of exact values to match the input against.",
            "title": "exact values",
            "maxItems": 64,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Exact Values.",
            "x-ves-example": "['new york', 'london', 'sydney', 'tokyo', 'cairo']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['new york', 'london', 'sydney', 'tokyo', 'cairo']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact values to match the input against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "regex_values": {
            "type": "array",
            "description": "A list of regular expressions to match the input against.",
            "title": "regex values",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Regex Values.",
            "x-ves-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of regular expressions to match the input against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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": "Matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied.",
        "x-f5xc-description-medium": "Matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied. The set of supported match criteria includes a list of exact values and a list of regular expressions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyMatcherTypeBasic",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyRequestMatcher__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "Request conditions for matching a rule.",
        "title": "Request Matcher",
        "x-displayname": "Request Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.RequestMatcher",
        "properties": {
          "cookie_matchers": {
            "type": "array",
            "description": "A list of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances\nof CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.\nNote that all specified cookie matcher predicates must evaluate to true.",
            "title": "cookie matchers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyCookieMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Cookie Matchers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all cookies that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances of CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "headers": {
            "type": "array",
            "description": "A list of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType\ninstances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.\nNote that all specified header predicates must evaluate to true.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyHeaderMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "HTTP Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of predicates for various HTTP headers that need to match.",
            "x-f5xc-description-medium": "List of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType instances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "jwt_claims": {
            "type": "array",
            "description": "A list of predicates for various JWT claims that need to match. The criteria for matching each JWT claim are described in individual JWTClaimMatcherType\ninstances. The actual JWT claims values are extracted from the JWT payload as a list of strings.\nNote that all specified JWT claim predicates must evaluate to true.\nNote that this feature only works on LBs with JWT Validation feature enabled.",
            "title": "JWT claims",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyJWTClaimMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "JWT Claims.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for various JWT claims that need to match.",
            "x-f5xc-description-medium": "List of predicates for various JWT claims that need to match. The criteria for matching each JWT claim are described in individual JWTClaimMatcherType instances. The actual JWT claims values are extracted from the JWT payload as a list of strings.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "query_params": {
            "type": "array",
            "description": "A list of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances\nof QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query parameter name.\nNote that all specified query parameter predicates must evaluate to true.",
            "title": "query params",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyQueryParameterMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "HTTP Query Parameters.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all query parameters that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances of QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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 policyRequestMatcher",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyShapeBotBlockMitigationActionType": {
        "type": "object",
        "description": "Block request and respond with custom content.",
        "title": "ShapeBotBlockMitigationActionType",
        "x-displayname": "Block bot mitigation.",
        "x-ves-proto-message": "ves.io.schema.policy.ShapeBotBlockMitigationActionType",
        "properties": {
          "body": {
            "type": "string",
            "description": "Custom body message is of type uri_ref. Currently supported URL schemes is string:///.\nFor string:/// scheme, message needs to be encoded in Base64 format.\nYou can specify this message as base64 encoded plain text message e.g. \"Your request was blocked\"\nor it can be HTML paragraph or a body string encoded as base64 string\nE.g. \"<p> Your request was blocked </p>\". Base64 encoded string for this HTML is \"LzxwPiBZb3VyIHJlcXVlc3Qgd2FzIGJsb2NrZWQgPC9wPg==\"",
            "title": "body",
            "maxLength": 4096,
            "x-displayname": "Body",
            "x-ves-example": "String://LzxwPiBZb3VyIHJlcXVlc3Qgd2FzIGJsb2NrZWQgPC9wPg==.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "4096",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-example": "string://LzxwPiBZb3VyIHJlcXVlc3Qgd2FzIGJsb2NrZWQgPC9wPg==",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "4096",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Custom body message is of type uri_ref. Currently supported URL schemes is string:///.",
            "x-f5xc-description-medium": "Custom body message is of type uri_ref. Currently supported URL schemes is string:///. For string:/// scheme, message needs to be encoded in Base64 format.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 4096,
              "format": "uri",
              "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
            }
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpStatusCode"
              }
            ],
            "x-f5xc-example": "active",
            "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"
          }
        },
        "x-f5xc-description-short": "Block request and respond with custom content.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyShapeBotBlockMitigationActionType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyShapeBotFlagMitigationActionChoiceType": {
        "type": "object",
        "description": "Flag mitigation action.",
        "title": "ShapeBotFlagMitigationActionChoiceType",
        "x-displayname": "Select Flag Bot Mitigation Action.",
        "x-ves-oneof-field-send_headers_choice": "[\"append_headers\",\"no_headers\"]",
        "x-ves-proto-message": "ves.io.schema.policy.ShapeBotFlagMitigationActionChoiceType",
        "properties": {
          "append_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyShapeBotFlagMitigationActionType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for append headers.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_headers"
            ]
          },
          "no_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "append_headers"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyShapeBotFlagMitigationActionChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyShapeBotFlagMitigationActionType": {
        "type": "object",
        "description": "Append flag mitigation headers to forwarded request.",
        "title": "ShapeBotFlagMitigationActionType",
        "x-displayname": "Append Flag Mitigation Headers.",
        "x-ves-proto-message": "ves.io.schema.policy.ShapeBotFlagMitigationActionType",
        "properties": {
          "auto_type_header_name": {
            "type": "string",
            "description": "A case-insensitive HTTP header name.",
            "title": "auto_type_header_name",
            "maxLength": 256,
            "x-displayname": "Automation Type Header Name.",
            "x-ves-example": "Bot-Automation-Type.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Bot-Automation-Type",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 256
              },
              "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
            }
          },
          "inference_header_name": {
            "type": "string",
            "description": "A case-insensitive HTTP header name.",
            "title": "inference_header_name",
            "maxLength": 256,
            "x-displayname": "Inference Header Name.",
            "x-ves-example": "Bot-Inference.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Bot-Inference",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 256
              },
              "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-description-short": "Append flag mitigation headers to forwarded request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyShapeBotFlagMitigationActionType",
          "required_fields": [
            "auto_type_header_name",
            "inference_header_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"auto_type_header_name\": \"Bot-Automation-Type\",\n  \"inference_header_name\": \"Bot-Inference\"\n}",
          "example_yaml": "auto_type_header_name: Bot-Automation-Type\ninference_header_name: Bot-Inference"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyShapeBotMitigationAction": {
        "type": "object",
        "description": "Modify Bot Defense behavior for a matching request.",
        "title": "ShapeBotMitigationAction",
        "x-displayname": "Bot Mitigation Action.",
        "x-ves-oneof-field-action_type": "[\"block\",\"flag\",\"redirect\"]",
        "x-ves-proto-message": "ves.io.schema.policy.ShapeBotMitigationAction",
        "properties": {
          "block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyShapeBotBlockMitigationActionType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "flag",
              "redirect"
            ]
          },
          "flag": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyShapeBotFlagMitigationActionChoiceType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "block",
              "redirect"
            ]
          },
          "redirect": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyShapeBotRedirectMitigationActionType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "block",
              "flag"
            ]
          }
        },
        "x-f5xc-description-short": "Modify Bot Defense behavior for a matching request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyShapeBotMitigationAction",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyShapeBotRedirectMitigationActionType": {
        "type": "object",
        "description": "Redirect request to a custom URI.",
        "title": "ShapeBotRedirectMitigationTypeAction",
        "x-displayname": "Redirect bot mitigation.",
        "x-ves-proto-message": "ves.io.schema.policy.ShapeBotRedirectMitigationActionType",
        "properties": {
          "uri": {
            "type": "string",
            "description": "URI location for redirect may be relative or absolute.",
            "title": "URI",
            "x-displayname": "URI",
            "x-ves-example": "Enter URI",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.url_or_uri_ref": "true"
            },
            "x-f5xc-example": "Enter URI",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.url_or_uri_ref": "true"
            },
            "x-f5xc-description-short": "URI location for redirect may be relative or absolute.",
            "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 policyShapeBotRedirectMitigationActionType",
          "required_fields": [
            "uri"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"uri\": \"Enter URI\"\n}",
          "example_yaml": "uri: Enter URI"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policySimpleDataGuardRule": {
        "type": "object",
        "description": "Simple Data Guard rule specifies a simple set of match conditions to enable data guard protection.",
        "title": "SimpleDataGuardRule",
        "x-displayname": "Data Guard Rule Specification (Data Leakage Protection)",
        "x-ves-displayorder": "10,14,3,6",
        "x-ves-oneof-field-action_choice": "[\"apply_data_guard\",\"skip_data_guard\"]",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"exact_value\",\"suffix_value\"]",
        "x-ves-proto-message": "ves.io.schema.policy.SimpleDataGuardRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "exact_value",
              "suffix_value"
            ]
          },
          "apply_data_guard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "skip_data_guard"
            ]
          },
          "exact_value": {
            "type": "string",
            "description": "Exclusive with [any_domain suffix_value]\nExact domain name.",
            "title": "exact value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Exact Value.",
            "x-ves-example": "abc.zyz.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "abc.zyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain suffix_value] Exact domain name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "suffix_value"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "skip_data_guard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "apply_data_guard"
            ]
          },
          "suffix_value": {
            "type": "string",
            "description": "Exclusive with [any_domain exact_value]\nSuffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\"",
            "title": "suffix value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Suffix Value.",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-description-medium": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "exact_value"
            ]
          }
        },
        "x-f5xc-description-short": "Simple Data Guard rule specifies a simple set of match conditions to enable data guard protection.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policySimpleDataGuardRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policySimpleWafExclusionRule__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "Simple WAF exclusion rule specifies a simple set of match conditions to be matched to skip a list of WAF detections.",
        "title": "SimpleWafExclusionRule",
        "x-displayname": "WAF Exclusion Rule.",
        "x-ves-displayorder": "10,3,16,7,14,9",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"exact_value\",\"suffix_value\"]",
        "x-ves-oneof-field-path_choice": "[\"any_path\",\"path_prefix\",\"path_regex\"]",
        "x-ves-oneof-field-waf_advanced_configuration": "[\"app_firewall_detection_control\",\"waf_skip_processing\"]",
        "x-ves-proto-message": "ves.io.schema.policy.SimpleWafExclusionRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "exact_value",
              "suffix_value"
            ]
          },
          "any_path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "path_prefix",
              "path_regex"
            ]
          },
          "app_firewall_detection_control": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAppFirewallDetectionControl"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall detection control.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "waf_skip_processing"
            ]
          },
          "exact_value": {
            "type": "string",
            "description": "Exclusive with [any_domain suffix_value]\nExact domain name.",
            "title": "exact value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Exact Value.",
            "x-ves-example": "abc.zyz.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "abc.zyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain suffix_value] Exact domain name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "suffix_value"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "The expiration_timestamp is the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in\nthe configuration but is not applied anymore.",
            "title": "expiration timestamp",
            "format": "date-time",
            "x-displayname": "Expiration Timestamp.",
            "x-ves-example": "2019-12-31:44:34.171543432Z.",
            "x-f5xc-example": "2019-12-31:44:34.171543432Z",
            "x-f5xc-description-short": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired.",
            "x-f5xc-description-medium": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in the configuration but is not applied anymore.",
            "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
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "methods": {
            "type": "array",
            "description": "Methods to be matched.",
            "title": "Methods",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "Methods",
            "x-ves-example": "GET",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "GET",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "path_prefix": {
            "type": "string",
            "description": "Exclusive with [any_path path_regex]\nPath prefix to match (e.g. The value / will match on all paths)",
            "title": "prefix",
            "maxLength": 256,
            "x-displayname": "Prefix",
            "x-ves-example": "/register/.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/register/",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [any_path path_regex] Path prefix to match (e.g. The value / will match on all paths)",
            "x-f5xc-description-medium": "Exclusive with [any_path path_regex] Path prefix to match (e.g. The value / will match on all paths).",
            "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
            },
            "x-f5xc-conflicts-with": [
              "any_path",
              "path_regex"
            ]
          },
          "path_regex": {
            "type": "string",
            "description": "Exclusive with [any_path path_prefix]\nDefine the regex for the path. For example, the regex ^/.*$ will match on all paths.",
            "title": "Path Regex",
            "maxLength": 256,
            "x-displayname": "Path Regex.",
            "x-ves-example": "/blog_id/.*.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-example": "/blog_id/.*",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_path path_prefix] Define the regex for the path. For example, the regex ^/.*$ will match on all paths.",
            "x-f5xc-description-medium": "Exclusive with [any_path path_prefix] Define the regex for the path. For example, the regex ^/.*$ will match on all paths.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 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-conflicts-with": [
              "any_path",
              "path_prefix"
            ]
          },
          "suffix_value": {
            "type": "string",
            "description": "Exclusive with [any_domain exact_value]\nSuffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\"",
            "title": "suffix value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Suffix Value.",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-description-medium": "Exclusive with [any_domain exact_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "any_domain",
              "exact_value"
            ]
          },
          "waf_skip_processing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "app_firewall_detection_control"
            ]
          }
        },
        "x-f5xc-description-short": "Simple WAF exclusion rule specifies a simple set of match conditions to be matched to skip a list of WAF detections.",
        "x-f5xc-description-medium": "Simple WAF exclusion rule specifies a simple set of match conditions to be matched to skip a list of WAF detections.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policySimpleWafExclusionRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "rate_limiterInputHours": {
        "type": "object",
        "description": "Input Duration Hours.",
        "title": "Hours",
        "x-displayname": "Hours",
        "x-ves-proto-message": "ves.io.schema.rate_limiter.InputHours",
        "properties": {
          "duration": {
            "type": "integer",
            "description": "Configuration parameter for duration",
            "title": "Duration",
            "format": "int64",
            "x-displayname": "Duration",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "48"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "48"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 48,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterInputHours",
          "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": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rate_limiterInputMinutes": {
        "type": "object",
        "description": "Input Duration Minutes.",
        "title": "Minutes",
        "x-displayname": "Minutes",
        "x-ves-proto-message": "ves.io.schema.rate_limiter.InputMinutes",
        "properties": {
          "duration": {
            "type": "integer",
            "description": "Configuration parameter for duration",
            "title": "Duration",
            "format": "int64",
            "x-displayname": "Duration",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "60"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "60"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 60,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterInputMinutes",
          "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": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rate_limiterInputSeconds": {
        "type": "object",
        "description": "Input Duration Seconds.",
        "title": "Seconds",
        "x-displayname": "Seconds",
        "x-ves-proto-message": "ves.io.schema.rate_limiter.InputSeconds",
        "properties": {
          "duration": {
            "type": "integer",
            "description": "Configuration parameter for duration",
            "title": "Duration",
            "format": "int64",
            "x-displayname": "Duration",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "300"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "300"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 300,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterInputSeconds",
          "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": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rate_limiterLeakyBucketRateLimiter": {
        "type": "object",
        "description": "Leaky-Bucket is the default rate limiter algorithm for F5.",
        "title": "LeakyBucketRateLimiter",
        "x-displayname": "Leaky Bucket Rate Limiter.",
        "x-ves-proto-message": "ves.io.schema.rate_limiter.LeakyBucketRateLimiter",
        "x-f5xc-description-short": "Leaky-Bucket is the default rate limiter algorithm for F5.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterLeakyBucketRateLimiter",
          "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": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rate_limiterRateLimitBlockAction": {
        "type": "object",
        "description": "Action where a user is blocked from making further requests after exceeding rate limit threshold.",
        "title": "RateLimitBlockAction",
        "x-displayname": "Rate Limit Block Action.",
        "x-ves-oneof-field-block_duration_choice": "[\"hours\",\"minutes\",\"seconds\"]",
        "x-ves-proto-message": "ves.io.schema.rate_limiter.RateLimitBlockAction",
        "properties": {
          "hours": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterInputHours"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "minutes",
              "seconds"
            ]
          },
          "minutes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterInputMinutes"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hours",
              "seconds"
            ]
          },
          "seconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterInputSeconds"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hours",
              "minutes"
            ]
          }
        },
        "x-f5xc-description-short": "Action where a user is blocked from making further requests after exceeding rate limit threshold.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterRateLimitBlockAction",
          "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": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rate_limiterRateLimitValue": {
        "type": "object",
        "description": "A tuple consisting of a rate limit period unit and the total number of allowed requests for that period.",
        "title": "RateLimitValue",
        "x-displayname": "Rate Limit Value.",
        "x-ves-oneof-field-action_choice": "[\"action_block\",\"disabled\"]",
        "x-ves-oneof-field-algorithm": "[\"leaky_bucket\",\"token_bucket\"]",
        "x-ves-proto-message": "ves.io.schema.rate_limiter.RateLimitValue",
        "properties": {
          "action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterRateLimitBlockAction"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disabled"
            ]
          },
          "burst_multiplier": {
            "type": "integer",
            "description": "The maximum burst of requests to accommodate, expressed as a multiple of the rate.",
            "title": "burst_multiplier",
            "format": "int64",
            "x-displayname": "Burst Multiplier.",
            "x-ves-example": "1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "100"
            },
            "x-f5xc-example": "1",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "100"
            },
            "x-f5xc-description-short": "The maximum burst of requests to accommodate, expressed as a multiple of the rate.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 100,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "True",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_block"
            ]
          },
          "leaky_bucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterLeakyBucketRateLimiter"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for leaky bucket.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "token_bucket"
            ]
          },
          "period_multiplier": {
            "type": "integer",
            "description": "This setting, combined with Per Period units, provides a duration.",
            "title": "period_multiplier",
            "format": "int64",
            "x-displayname": "Periods",
            "x-ves-example": "1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0"
            },
            "x-f5xc-example": "1",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0"
            },
            "x-f5xc-description-short": "Setting, combined with Per Period units, provides a duration.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "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
            },
            "default": 0,
            "x-f5xc-server-default": true
          },
          "token_bucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterTokenBucketRateLimiter"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for token bucket.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "leaky_bucket"
            ]
          },
          "total_number": {
            "type": "integer",
            "description": "The total number of allowed requests per rate-limiting period.",
            "title": "total_number",
            "format": "int64",
            "x-displayname": "Number Of Requests.",
            "x-ves-example": "1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-example": "1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-description-short": "The total number of allowed requests per rate-limiting period.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 8192,
              "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
            }
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterRateLimitPeriodUnit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "SECOND",
                "MINUTE",
                "HOUR"
              ],
              "default": "SECOND",
              "description": "Rate limit time unit"
            }
          }
        },
        "x-f5xc-description-short": "Tuple consisting of a rate limit period unit and the total number of allowed requests for that period.",
        "x-f5xc-description-medium": "Tuple consisting of a rate limit period unit and the total number of allowed requests for that period.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterRateLimitValue",
          "required_fields": [
            "total_number"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"total_number\": 0\n}",
          "example_yaml": "total_number: 0"
        },
        "x-f5xc-cli-domain": "rate_limiting",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rate_limiterTokenBucketRateLimiter": {
        "type": "object",
        "description": "Token-Bucket is a rate limiter algorithm that is stricter with enforcing limits.",
        "title": "TokenBucketRateLimiter",
        "x-displayname": "Token Bucket Rate Limiter.",
        "x-ves-proto-message": "ves.io.schema.rate_limiter.TokenBucketRateLimiter",
        "x-f5xc-description-short": "Token-Bucket is a rate limiter algorithm that is stricter with enforcing limits.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterTokenBucketRateLimiter",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "users",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rate_limiter_policyPolicyList": {
        "type": "object",
        "description": "List of rate limiter policies to be applied.",
        "title": "Rate Limiter Policy List",
        "x-displayname": "Rate Limiter Policy List.",
        "x-ves-proto-message": "ves.io.schema.views.rate_limiter_policy.PolicyList",
        "properties": {
          "policies": {
            "type": "array",
            "description": "Ordered list of rate limiter policies.",
            "title": "Rate Limiter Policies",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Rate Limiter Policies.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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-description-short": "List of rate limiter policies to be applied.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiter_policyPolicyList",
          "required_fields": [
            "policies"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"policies\": [\n    {\n      \"name\": \"contacts-route\"\n    }\n  ]\n}",
          "example_yaml": "policies:\n- name: contacts-route"
        },
        "x-f5xc-cli-domain": "rate_limiting",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiter policies benefit from centralized management"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaAction": {
        "type": "object",
        "title": "action",
        "x-displayname": "Action",
        "x-ves-oneof-field-action_choice": "[\"block\",\"report\"]",
        "x-ves-proto-message": "ves.io.schema.Action",
        "properties": {
          "block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "report"
            ]
          },
          "report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "block"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaAction",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "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"
          }
        }
      },
      "schemaBotDefenseFlowLabelAccountManagementChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Account Management Category.",
        "title": "BotDefenseFlowLabelAccountManagementChoiceType",
        "x-displayname": "Bot Defense Flow Label Account Management Category.",
        "x-ves-oneof-field-label_choice": "[\"create\",\"password_reset\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelAccountManagementChoiceType",
        "properties": {
          "create": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "password_reset"
            ]
          },
          "password_reset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for password reset.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "create"
            ]
          }
        },
        "x-f5xc-description-short": "Bot Defense Flow Label Account Management Category.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelAccountManagementChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseFlowLabelAuthenticationChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Authentication Category.",
        "title": "BotDefenseFlowLabelCategoryChoiceType",
        "x-displayname": "Bot Defense Flow Label Authentication Category.",
        "x-ves-oneof-field-label_choice": "[\"login\",\"login_mfa\",\"login_partner\",\"logout\",\"token_refresh\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelAuthenticationChoiceType",
        "properties": {
          "login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseTransactionResult"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "login_mfa",
              "login_partner",
              "logout",
              "token_refresh"
            ]
          },
          "login_mfa": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "login",
              "login_partner",
              "logout",
              "token_refresh"
            ]
          },
          "login_partner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for login partner.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "login",
              "login_mfa",
              "logout",
              "token_refresh"
            ]
          },
          "logout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "login",
              "login_mfa",
              "login_partner",
              "token_refresh"
            ]
          },
          "token_refresh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for token refresh.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "login",
              "login_mfa",
              "login_partner",
              "logout"
            ]
          }
        },
        "x-f5xc-description-short": "Bot Defense Flow Label Authentication Category.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelAuthenticationChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseFlowLabelCategoriesChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Category allows to associate traffic with selected category.",
        "title": "BotDefenseFlowLabelCategoryChoiceType",
        "x-displayname": "Bot Defense Flow Label Category.",
        "x-ves-oneof-field-flow_label_choice": "[\"account_management\",\"authentication\",\"financial_services\",\"flight\",\"profile_management\",\"search\",\"shopping_gift_cards\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelCategoriesChoiceType",
        "properties": {
          "account_management": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelAccountManagementChoiceType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for account management.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "authentication",
              "financial_services",
              "flight",
              "profile_management",
              "search",
              "shopping_gift_cards"
            ]
          },
          "authentication": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelAuthenticationChoiceType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for authentication.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "account_management",
              "financial_services",
              "flight",
              "profile_management",
              "search",
              "shopping_gift_cards"
            ]
          },
          "financial_services": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelFinancialServicesChoiceType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for financial services.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "account_management",
              "authentication",
              "flight",
              "profile_management",
              "search",
              "shopping_gift_cards"
            ]
          },
          "flight": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelFlightChoiceType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "account_management",
              "authentication",
              "financial_services",
              "profile_management",
              "search",
              "shopping_gift_cards"
            ]
          },
          "profile_management": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelProfileManagementChoiceType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for profile management.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "account_management",
              "authentication",
              "financial_services",
              "flight",
              "search",
              "shopping_gift_cards"
            ]
          },
          "search": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelSearchChoiceType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "account_management",
              "authentication",
              "financial_services",
              "flight",
              "profile_management",
              "shopping_gift_cards"
            ]
          },
          "shopping_gift_cards": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseFlowLabelShoppingGiftCardsChoiceType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shopping gift cards.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "account_management",
              "authentication",
              "financial_services",
              "flight",
              "profile_management",
              "search"
            ]
          }
        },
        "x-f5xc-description-short": "Bot Defense Flow Label Category allows to associate traffic with selected category.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelCategoriesChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseFlowLabelFinancialServicesChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Financial Services Category.",
        "title": "BotDefenseFlowLabelFinancialServicesChoiceType",
        "x-displayname": "Bot Defense Flow Label Financial Services Category.",
        "x-ves-oneof-field-label_choice": "[\"apply\",\"money_transfer\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelFinancialServicesChoiceType",
        "properties": {
          "apply": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "money_transfer"
            ]
          },
          "money_transfer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for money transfer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "apply"
            ]
          }
        },
        "x-f5xc-description-short": "Bot Defense Flow Label Financial Services Category.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelFinancialServicesChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseFlowLabelFlightChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Flight Category.",
        "title": "BotDefenseFlowLabelFlightChoiceType",
        "x-displayname": "Bot Defense Flow Label Flight Category.",
        "x-ves-oneof-field-label_choice": "[\"checkin\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelFlightChoiceType",
        "properties": {
          "checkin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelFlightChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseFlowLabelProfileManagementChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Profile Management Category.",
        "title": "BotDefenseFlowLabelProfileManagementChoiceType",
        "x-displayname": "Bot Defense Flow Label Profile Management Category.",
        "x-ves-oneof-field-label_choice": "[\"create\",\"update\",\"view\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelProfileManagementChoiceType",
        "properties": {
          "create": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "update",
              "view"
            ]
          },
          "update": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "create",
              "view"
            ]
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "create",
              "update"
            ]
          }
        },
        "x-f5xc-description-short": "Bot Defense Flow Label Profile Management Category.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelProfileManagementChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseFlowLabelSearchChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Search Category.",
        "title": "BotDefenseFlowLabelSearchChoiceType",
        "x-displayname": "Bot Defense Flow Label Search Category.",
        "x-ves-oneof-field-label_choice": "[\"flight_search\",\"product_search\",\"reservation_search\",\"room_search\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelSearchChoiceType",
        "properties": {
          "flight_search": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for flight search.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "product_search",
              "reservation_search",
              "room_search"
            ]
          },
          "product_search": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for product search.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "flight_search",
              "reservation_search",
              "room_search"
            ]
          },
          "reservation_search": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for reservation search.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "flight_search",
              "product_search",
              "room_search"
            ]
          },
          "room_search": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for room search.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "flight_search",
              "product_search",
              "reservation_search"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelSearchChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseFlowLabelShoppingGiftCardsChoiceType": {
        "type": "object",
        "description": "Bot Defense Flow Label Shopping & Gift Cards Category.",
        "title": "BotDefenseFlowLabelShoppingGiftCardsChoiceType",
        "x-displayname": "Bot Defense Flow Label Shopping & Gift Cards Category.",
        "x-ves-oneof-field-label_choice": "[\"gift_card_make_purchase_with_gift_card\",\"gift_card_validation\",\"shop_add_to_cart\",\"shop_checkout\",\"shop_choose_seat\",\"shop_enter_drawing_submission\",\"shop_make_payment\",\"shop_order\",\"shop_price_inquiry\",\"shop_promo_code_validation\",\"shop_purchase_gift_card\",\"shop_update_quantity\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseFlowLabelShoppingGiftCardsChoiceType",
        "properties": {
          "gift_card_make_purchase_with_gift_card": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for gift card make purchase with gift card.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "gift_card_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for gift card validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_add_to_cart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop add to cart.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_checkout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop checkout.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_choose_seat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop choose seat.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_enter_drawing_submission": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop enter drawing submission.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_make_payment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop make payment.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_price_inquiry": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop price inquiry.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_promo_code_validation",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_promo_code_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop promo code validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_purchase_gift_card",
              "shop_update_quantity"
            ]
          },
          "shop_purchase_gift_card": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop purchase gift card.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_update_quantity"
            ]
          },
          "shop_update_quantity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for shop update quantity.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "gift_card_make_purchase_with_gift_card",
              "gift_card_validation",
              "shop_add_to_cart",
              "shop_checkout",
              "shop_choose_seat",
              "shop_enter_drawing_submission",
              "shop_make_payment",
              "shop_order",
              "shop_price_inquiry",
              "shop_promo_code_validation",
              "shop_purchase_gift_card"
            ]
          }
        },
        "x-f5xc-description-short": "Bot Defense Flow Label Shopping & Gift Cards Category.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseFlowLabelShoppingGiftCardsChoiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseTransactionResult": {
        "type": "object",
        "description": "Bot Defense Transaction Result.",
        "title": "BotDefenseTransactionResult",
        "x-displayname": "Bot Defense Transaction Result.",
        "x-ves-oneof-field-transaction_result_choice": "[\"disable_transaction_result\",\"transaction_result\"]",
        "x-ves-proto-message": "ves.io.schema.BotDefenseTransactionResult",
        "properties": {
          "disable_transaction_result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "transaction_result"
            ]
          },
          "transaction_result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBotDefenseTransactionResultType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_transaction_result"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseTransactionResult",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseTransactionResultCondition": {
        "type": "object",
        "description": "Bot Defense Transaction Result Condition.",
        "title": "BotDefenseTransactionResultCondition",
        "x-displayname": "Bot Defense Transaction Result Condition.",
        "x-ves-displayorder": "3,1,2",
        "x-ves-proto-message": "ves.io.schema.BotDefenseTransactionResultCondition",
        "properties": {
          "name": {
            "type": "string",
            "description": "A case-insensitive HTTP header name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Header Name.",
            "x-ves-example": "Accept-Encoding.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Accept-Encoding",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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])?$"
          },
          "regex_values": {
            "type": "array",
            "description": "A list of regular expressions to match the input against.",
            "title": "regex values",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Regex Values.",
            "x-ves-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of regular expressions to match the input against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpStatusCode"
              }
            ],
            "x-f5xc-example": "active",
            "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"
          }
        },
        "x-f5xc-description-short": "Bot Defense Transaction Result Condition.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotDefenseTransactionResultCondition",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotDefenseTransactionResultType": {
        "type": "object",
        "description": "Bot Defense Transaction ResultType.",
        "title": "BotDefenseTransactionResultType",
        "x-displayname": "Bot Defense Transaction Result Type.",
        "x-ves-displayorder": "4,3",
        "x-ves-proto-message": "ves.io.schema.BotDefenseTransactionResultType",
        "properties": {
          "failure_conditions": {
            "type": "array",
            "description": "Failure Conditions.",
            "title": "Failure Conditions",
            "maxItems": 3,
            "items": {
              "$ref": "#/components/schemas/schemaBotDefenseTransactionResultCondition"
            },
            "x-displayname": "Failure Conditions.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "3",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "3",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 3,
              "uniqueItems": true,
              "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
            }
          },
          "success_conditions": {
            "type": "array",
            "description": "Success Conditions.",
            "title": "Success Conditions",
            "maxItems": 3,
            "items": {
              "$ref": "#/components/schemas/schemaBotDefenseTransactionResultCondition"
            },
            "x-displayname": "Success Conditions.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "3",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "3",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 3,
              "uniqueItems": true,
              "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 schemaBotDefenseTransactionResultType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaBotHttpMethod": {
        "type": "string",
        "description": "Specifies the HTTP method used to access a resource.\n\nAny HTTP Method\nGET method for XMLHttpRequest or Fetch\nPOST method\nPUT method\nPATCH method\nDELETE method\nGET method for HTML document.",
        "title": "BotHttpMethod",
        "enum": [
          "METHOD_ANY",
          "METHOD_GET",
          "METHOD_POST",
          "METHOD_PUT",
          "METHOD_PATCH",
          "METHOD_DELETE",
          "METHOD_GET_DOCUMENT"
        ],
        "default": "METHOD_ANY",
        "x-displayname": "HTTP Method.",
        "x-ves-proto-enum": "ves.io.schema.BotHttpMethod",
        "x-f5xc-description-short": "Specifies the HTTP method used to access a resource.",
        "x-f5xc-description-medium": "Specifies the HTTP method used to access a resource. Any HTTP Method GET method for XMLHttpRequest or Fetch POST method PUT method PATCH method DELETE method GET method for HTML document.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBotHttpMethod",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"METHOD_ANY\"",
          "example_yaml": "METHOD_ANY\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "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": true
          },
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaCookieManipulationOptionType": {
        "type": "object",
        "description": "Set Cookie protection attributes.",
        "title": "CookieManipulationOptionType",
        "x-displayname": "Cookie Protection.",
        "x-ves-oneof-field-cookie_tampering": "[\"disable_tampering_protection\",\"enable_tampering_protection\"]",
        "x-ves-oneof-field-httponly": "[\"add_httponly\",\"ignore_httponly\"]",
        "x-ves-oneof-field-max_age": "[\"ignore_max_age\",\"max_age_value\"]",
        "x-ves-oneof-field-samesite": "[\"ignore_samesite\",\"samesite_lax\",\"samesite_none\",\"samesite_strict\"]",
        "x-ves-oneof-field-secure": "[\"add_secure\",\"ignore_secure\"]",
        "x-ves-proto-message": "ves.io.schema.CookieManipulationOptionType",
        "properties": {
          "add_httponly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for add httponly.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_httponly"
            ]
          },
          "add_secure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_secure"
            ]
          },
          "disable_tampering_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable tampering protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_tampering_protection"
            ]
          },
          "enable_tampering_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable tampering protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_tampering_protection"
            ]
          },
          "ignore_httponly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore httponly.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_httponly"
            ]
          },
          "ignore_max_age": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore max age.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "max_age_value"
            ]
          },
          "ignore_samesite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "samesite_lax",
              "samesite_none",
              "samesite_strict"
            ]
          },
          "ignore_secure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_secure"
            ]
          },
          "max_age_value": {
            "type": "integer",
            "description": "Exclusive with [ignore_max_age]\nAdd max age attribute.",
            "title": "add_max_age",
            "format": "int32",
            "x-displayname": "Add Max Age.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "34560000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "34560000"
            },
            "x-f5xc-description-short": "Exclusive with [ignore_max_age] Add max age attribute.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 34560000,
              "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-conflicts-with": [
              "ignore_max_age"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the Cookie.",
            "title": "name",
            "maxLength": 256,
            "x-displayname": "Cookie Name.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.cookie_name": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.cookie_name": "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])?$"
          },
          "samesite_lax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_none",
              "samesite_strict"
            ]
          },
          "samesite_none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_lax",
              "samesite_strict"
            ]
          },
          "samesite_strict": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_lax",
              "samesite_none"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaCookieManipulationOptionType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"value\"\n}",
          "example_yaml": "name: value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaCorsPolicy": {
        "type": "object",
        "description": "Cross-Origin Resource Sharing requests configuration specified at Virtual-host or\nRoute level. Route level configuration takes precedence.\n\nAn example of an Cross origin HTTP request\nGET /resources/public-data/ HTTP/1.1\nHost: bar.other\nUser-Agent: Mozilla/5.0 (Macintosh; U; Intel MAC OS X 10.5; en-US; rv:1.9.1b3pre) Gecko/20081130 Minefield/3.1b3pre\nAccept: text/HTML,application/xhtml+XML,application/XML;q=0.9,*/*;q=0.8\nAccept-Language: en-us,en;q=0.5\nAccept-Encoding: gzip,deflate\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\nConnection: keep-alive\nReferrer: http://foo.example/examples/access-control/simplexsinvocation.html\nOrigin: http://foo.example\n\nHTTP/1.1 200 OK\nDate: Mon, 01 Dec 2008 00:23:53 GMT\nServer: Apache/2.0.61\nAccess-Control-Allow-Origin: *\nKeep-Alive: timeout=2, max=100\nConnection: Keep-Alive\nTransfer-Encoding: chunked\nContent-Type: application/XML\n\nAn example for cross origin HTTP OPTIONS request with Access-Control-Request-* header\n\nOPTIONS /resources/POST-here/ HTTP/1.1\nHost: bar.other\nUser-Agent: Mozilla/5.0 (Macintosh; U; Intel MAC OS X 10.5; en-US; rv:1.9.1b3pre) Gecko/20081130 Minefield/3.1b3pre\nAccept: text/HTML,application/xhtml+XML,application/XML;q=0.9,*/*;q=0.8\nAccept-Language: en-us,en;q=0.5\nAccept-Encoding: gzip,deflate\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\nConnection: keep-alive\nOrigin: http://foo.example\nAccess-Control-Request-Method: POST\nAccess-Control-Request-Headers: X-PINGOTHER, Content-Type\n\nHTTP/1.1 204 No Content\nDate: Mon, 01 Dec 2008 01:15:39 GMT\nServer: Apache/2.0.61 (Unix)\nAccess-Control-Allow-Origin: http://foo.example\nAccess-Control-Allow-Methods: POST, GET, OPTIONS\nAccess-Control-Allow-Headers: X-PINGOTHER, Content-Type\nAccess-Control-Max-Age: 86400\nVary: Accept-Encoding, Origin\nKeep-Alive: timeout=2, max=100\nConnection: Keep-Alive.",
        "title": "CorsPolicy",
        "x-displayname": "CORS Policy.",
        "x-ves-displayorder": "2,3,4,5,6,9,8,1",
        "x-ves-proto-message": "ves.io.schema.CorsPolicy",
        "properties": {
          "allow_credentials": {
            "type": "boolean",
            "description": "Specifies whether the resource allows credentials.",
            "title": "allow_credentials",
            "format": "boolean",
            "x-displayname": "Allow Credentials.",
            "x-f5xc-description-short": "Specifies whether the resource allows credentials.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "allow_headers": {
            "type": "string",
            "description": "Specifies the content for the access-control-allow-headers header.",
            "title": "allow_headers",
            "x-displayname": "Allow Headers.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Specifies the content for the access-control-allow-headers header.",
            "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
            }
          },
          "allow_methods": {
            "type": "string",
            "description": "Specifies the content for the access-control-allow-methods header.",
            "title": "allow_methods",
            "x-displayname": "Allow Methods.",
            "x-ves-example": "GET",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_valid_methods": "true"
            },
            "x-f5xc-example": "GET",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_valid_methods": "true"
            },
            "x-f5xc-description-short": "Specifies the content for the access-control-allow-methods header.",
            "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
            }
          },
          "allow_origin": {
            "type": "array",
            "description": "Specifies the origins that will be allowed to do CORS requests.\nAn origin is allowed if either allow_origin or allow_origin_regex match.",
            "title": "allow_origin",
            "maxItems": 128,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Allow Origin.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Specifies the origins that will be allowed to do CORS requests. An origin is allowed if either allow_origin or allow_origin_regex match.",
            "x-f5xc-description-medium": "Specifies the origins that will be allowed to do CORS requests. An origin is allowed if either allow_origin or allow_origin_regex match.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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
            }
          },
          "allow_origin_regex": {
            "type": "array",
            "description": "Specifies regex patterns that match allowed origins.\nAn origin is allowed if either allow_origin or allow_origin_regex match.",
            "title": "allow_origin_regex",
            "maxItems": 16,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Allow Origin Regex.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Specifies regex patterns that match allowed origins. An origin is allowed if either allow_origin or allow_origin_regex match.",
            "x-f5xc-description-medium": "Specifies regex patterns that match allowed origins. An origin is allowed if either allow_origin or allow_origin_regex match.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable the CorsPolicy for a particular route. This is useful when\nvirtual-host has CorsPolicy, but we need to disable it on a specific route.\nThe value of this field is ignored for virtual-host.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Disable the CorsPolicy for a particular route. This is useful when virtual-host has CorsPolicy, but we need to disable it on a specific route.",
            "x-f5xc-description-medium": "Disable the CorsPolicy for a particular route. This is useful when virtual-host has CorsPolicy, but we need to disable it on a specific route. The value of this field is ignored for virtual-host.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expose_headers": {
            "type": "string",
            "description": "Specifies the content for the access-control-expose-headers header.",
            "title": "expose_headers",
            "x-displayname": "Expose Headers.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Specifies the content for the access-control-expose-headers header.",
            "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
            }
          },
          "maximum_age": {
            "type": "integer",
            "description": "Specifies the content for the access-control-max-age header in seconds.\nThis indicates the maximum number of seconds the results can be cached\nA value of -1 will disable caching.\nMaximum permitted value is 86400 seconds (24 hours)",
            "title": "maximum_age",
            "format": "int32",
            "x-displayname": "Maximum Age.",
            "x-ves-example": "-1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.int32.gte": "-1",
              "ves.io.schema.rules.int32.lte": "86400"
            },
            "x-f5xc-example": "-1",
            "x-validation-rules": {
              "ves.io.schema.rules.int32.gte": "-1",
              "ves.io.schema.rules.int32.lte": "86400"
            },
            "x-f5xc-description-short": "Specifies the content for the access-control-max-age header in seconds.",
            "x-f5xc-description-medium": "Specifies the content for the access-control-max-age header in seconds. This indicates the maximum number of seconds the results can be cached A value of -1 will disable caching. Maximum permitted value is 86400 seconds (24 hours).",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": -1,
              "maximum": 86400,
              "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": "Cross-Origin Resource Sharing requests configuration specified at Virtual-host or Route level.",
        "x-f5xc-description-medium": "Cross-Origin Resource Sharing requests configuration specified at Virtual-host or Route level. Route level configuration takes precedence. An example of an Cross origin HTTP request GET /resources/public-data/ HTTP/1.1 Host: bar.other User-Agent: Mozilla/5.0 (Macintosh; U; Intel MAC OS X 10.5...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaCorsPolicy",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaCsrfPolicy": {
        "type": "object",
        "description": "To mitigate CSRF attack , the policy checks where a request is coming from to determine if the request's origin is the same as its destination.the policy relies on two pieces of information used in determining if a request originated from the same host.\n\n1. The origin that caused the user agent to issue the request (source origin).\n2. The origin that the request is going to (target origin).\nWhen the policy evaluating a request, it ensures both pieces of information are present and compare their values. If the source origin is missing or origins do not match the request is rejected. The exception to this being if the source-origin has been added to they policy as valid.\nBecause CSRF attacks specifically target state-changing requests, the policy only acts on the HTTP requests that have state-changing method (PUT,POST, etc.).",
        "title": "CsrfPolicy",
        "x-displayname": "CSRF Policy.",
        "x-ves-oneof-field-allowed_domains": "[\"all_load_balancer_domains\",\"custom_domain_list\",\"disabled\"]",
        "x-ves-proto-message": "ves.io.schema.CsrfPolicy",
        "properties": {
          "all_load_balancer_domains": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for all load balancer domains.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_domain_list",
              "disabled"
            ]
          },
          "custom_domain_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDomainNameList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_load_balancer_domains",
              "disabled"
            ]
          },
          "disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "True",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_load_balancer_domains",
              "custom_domain_list"
            ]
          }
        },
        "x-f5xc-description-short": "To mitigate CSRF attack , the policy checks where a request is coming from to determine if the request's origin is the same as its destination.the...",
        "x-f5xc-description-medium": "To mitigate CSRF attack , the policy checks where a request is coming from to determine if the request's origin is the same as its destination.the policy relies on two pieces of information used in determining if a request originated from the same host. 1. The origin that caused the user agent...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaCsrfPolicy",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaDomainNameList": {
        "type": "object",
        "description": "List of domain names used for Host header matching.",
        "title": "List of Domain names",
        "x-displayname": "Domain name list.",
        "x-ves-proto-message": "ves.io.schema.DomainNameList",
        "properties": {
          "domains": {
            "type": "array",
            "description": "A list of domain names that will be matched to loadbalancer.\nThese domains are not used for SNI match.\nWildcard names are supported in the suffix or prefix form.",
            "title": "Domains",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Domain names.",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of domain names that will be matched to loadbalancer. These domains are not used for SNI match.",
            "x-f5xc-description-medium": "List of domain names that will be matched to loadbalancer. These domains are not used for SNI match. Wildcard names are supported in the suffix or prefix form.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-description-short": "List of domain names used for Host header matching.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaDomainNameList",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "domains:\n- value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaDomainType": {
        "type": "object",
        "description": "Domains names.",
        "title": "Domains",
        "x-displayname": "Domains",
        "x-ves-oneof-field-domain_choice": "[\"exact_value\",\"regex_value\",\"suffix_value\"]",
        "x-ves-proto-message": "ves.io.schema.DomainType",
        "properties": {
          "exact_value": {
            "type": "string",
            "description": "Exclusive with [regex_value suffix_value]\nExact domain name.",
            "title": "exact value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Exact Value.",
            "x-ves-example": "abc.zyz.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "abc.zyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [regex_value suffix_value] Exact domain name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "regex_value",
              "suffix_value"
            ]
          },
          "regex_value": {
            "type": "string",
            "description": "Exclusive with [exact_value suffix_value]\nRegular Expression value for the domain name.",
            "title": "regex values of Domains",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Regex Values of Domains.",
            "x-ves-example": "([a-z]([-a-z0-9]*[a-z0-9])?)\\\\.com$.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-example": "([a-z]([-a-z0-9]*[a-z0-9])?)\\\\.com$",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "Exclusive with [exact_value suffix_value] Regular Expression value for the domain name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "exact_value",
              "suffix_value"
            ]
          },
          "suffix_value": {
            "type": "string",
            "description": "Exclusive with [exact_value regex_value]\nSuffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\"",
            "title": "suffix value",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Suffix Value.",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [exact_value regex_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-description-medium": "Exclusive with [exact_value regex_value] Suffix of domain name e.g \"xyz.com\" will match \"*.xyz.com\" and \"xyz.com\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "exact_value",
              "regex_value"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaDomainType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "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": true
          },
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaHashAlgorithm": {
        "type": "string",
        "description": "Specifies the Hash Algorithm to be used\n\nInvalid hash algorithm\nsha256 hash algorithm\nsha1 hash algorithm.",
        "title": "HashAlgoritm",
        "enum": [
          "INVALID_HASH_ALGORITHM",
          "SHA256",
          "SHA1"
        ],
        "default": "INVALID_HASH_ALGORITHM",
        "x-displayname": "Hash Algorithm.",
        "x-ves-proto-enum": "ves.io.schema.HashAlgorithm",
        "x-f5xc-description-short": "Specifies the Hash Algorithm to be used Invalid hash algorithm sha256 hash algorithm sha1 hash algorithm.",
        "x-f5xc-description-medium": "Specifies the Hash Algorithm to be used Invalid hash algorithm sha256 hash algorithm sha1 hash algorithm.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaHashAlgorithm",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"INVALID_HASH_ALGORITHM\"",
          "example_yaml": "INVALID_HASH_ALGORITHM\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaHashAlgorithms": {
        "type": "object",
        "description": "Specifies the hash algorithms to be used.",
        "title": "HashAlgorithms",
        "x-displayname": "Hash Algorithms.",
        "x-ves-proto-message": "ves.io.schema.HashAlgorithms",
        "properties": {
          "hash_algorithms": {
            "type": "array",
            "description": "Ordered list of hash algorithms to be used.",
            "title": "Hash Algorithms",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/schemaHashAlgorithm"
            },
            "x-displayname": "Hash Algorithms.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4",
              "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": "4",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Ordered list of hash algorithms to be used.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 4,
              "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-description-short": "Specifies the hash algorithms to be used.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaHashAlgorithms",
          "required_fields": [
            "hash_algorithms"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"hash_algorithms\": [\n    \"INVALID_HASH_ALGORITHM\"\n  ]\n}",
          "example_yaml": "hash_algorithms:\n- INVALID_HASH_ALGORITHM"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaHeaderManipulationOptionType": {
        "type": "object",
        "description": "HTTP header is a key-value pair.\nThe name acts as key of HTTP header\nThe value acts as the data/value of HTTP header\nExample HTTP header\nHost: user.F5 Distributed cloud.com\nIn the above example, Host is the name or key of HTTP header\nIn the above example, user.F5 Distributed cloud.com is the value of HTTP header.",
        "title": "HeaderManipulationOptionType",
        "x-displayname": "Header Manipulation Option.",
        "x-ves-oneof-field-value_choice": "[\"secret_value\",\"value\"]",
        "x-ves-proto-message": "ves.io.schema.HeaderManipulationOptionType",
        "properties": {
          "append": {
            "type": "boolean",
            "description": "Should the value be appended? If true, the value is appended to existing values.\nDefault value is do not append.",
            "title": "append",
            "format": "boolean",
            "x-displayname": "Append",
            "x-f5xc-description-short": "Should the value be appended? If true, the value is appended to existing values.",
            "x-f5xc-description-medium": "Should the value be appended? If true, the value is appended to existing values. Default value is do not append.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the HTTP header.",
            "title": "name",
            "maxLength": 256,
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "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": "value",
            "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])?$"
          },
          "secret_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "value"
            ]
          },
          "value": {
            "type": "string",
            "description": "Exclusive with [secret_value]\nValue of the HTTP header.",
            "title": "value",
            "maxLength": 8096,
            "x-displayname": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-f5xc-description-short": "Exclusive with [secret_value] Value of the HTTP header.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 8096,
              "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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "secret_value"
            ]
          }
        },
        "x-f5xc-description-medium": "HTTP header is a key-value pair. The name acts as key of HTTP header The value acts as the data/value of HTTP header Example HTTP header Host: user.F5 Distributed cloud.com In the above example, Host is the name or key of HTTP header In the above example, user.F5 Distributed cloud.com is the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaHeaderManipulationOptionType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"value\"\n}",
          "example_yaml": "name: value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaHttpStatusCode": {
        "type": "string",
        "description": "HTTP response status codes\n\nEmptyStatusCode response codes means it is not specified\nContinue status code\nOK status code\nCreated status code\nAccepted status code\nNon Authoritative Information status code\nNo Content status code\nReset Content status code\nPartial Content status code\nMulti Status status code\nAlready Reported status code\nIm Used status code\nMultiple Choices status code\nMoved Permanently status code\nFound status code\nSee Other status code\nNot Modified status code\nUse Proxy status code\nTemporary Redirect status code\nPermanent Redirect status code\nBad Request status code\nUnauthorized status code\nPayment Required status code\nForbidden status code\nNot Found status code\nMethod Not Allowed status code\nNot Acceptable status code\nProxy Authentication Required status code\nRequest Timeout status code\nConflict status code\nGone status code\nLength Required status code\nPrecondition Failed status code\nPayload Too Large status code\nURI Too Long status code\nUnsupported Media Type status code\nRange Not Satisfiable status code\nExpectation Failed status code\nMisdirected Request status code\nUnprocessable Entity status code\nLocked status code\nFailed Dependency status code\nUpgrade Required status code\nPrecondition Required status code\nToo Many Requests status code\nRequest Header Fields Too Large status code\nInternal Server Error status code\nNot Implemented status code\nBad Gateway status code\nService Unavailable status code\nGateway Timeout status code\nHTTP Version Not Supported status code\nVariant Also Negotiates status code\nInsufficient Storage status code\nLoop Detected status code\nNot Extended status code\nNetwork Authentication Required status code.",
        "title": "HttpStatusCode",
        "enum": [
          "EmptyStatusCode",
          "Continue",
          "OK",
          "Created",
          "Accepted",
          "NonAuthoritativeInformation",
          "NoContent",
          "ResetContent",
          "PartialContent",
          "MultiStatus",
          "AlreadyReported",
          "IMUsed",
          "MultipleChoices",
          "MovedPermanently",
          "Found",
          "SeeOther",
          "NotModified",
          "UseProxy",
          "TemporaryRedirect",
          "PermanentRedirect",
          "BadRequest",
          "Unauthorized",
          "PaymentRequired",
          "Forbidden",
          "NotFound",
          "MethodNotAllowed",
          "NotAcceptable",
          "ProxyAuthenticationRequired",
          "RequestTimeout",
          "Conflict",
          "Gone",
          "LengthRequired",
          "PreconditionFailed",
          "PayloadTooLarge",
          "URITooLong",
          "UnsupportedMediaType",
          "RangeNotSatisfiable",
          "ExpectationFailed",
          "MisdirectedRequest",
          "UnprocessableEntity",
          "Locked",
          "FailedDependency",
          "UpgradeRequired",
          "PreconditionRequired",
          "TooManyRequests",
          "RequestHeaderFieldsTooLarge",
          "InternalServerError",
          "NotImplemented",
          "BadGateway",
          "ServiceUnavailable",
          "GatewayTimeout",
          "HTTPVersionNotSupported",
          "VariantAlsoNegotiates",
          "InsufficientStorage",
          "LoopDetected",
          "NotExtended",
          "NetworkAuthenticationRequired"
        ],
        "default": "EmptyStatusCode",
        "x-displayname": "HTTP Status Code.",
        "x-ves-proto-enum": "ves.io.schema.HttpStatusCode",
        "x-f5xc-description-short": "HTTP response status codes EmptyStatusCode response codes means it is not specified Continue status code OK status code Created status code...",
        "x-f5xc-description-medium": "HTTP response status codes EmptyStatusCode response codes means it is not specified Continue status code OK status code Created status code Accepted status code Non Authoritative Information status code No Content status code Reset Content status code Partial Content status code Multi Status...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaHttpStatusCode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"EmptyStatusCode\"",
          "example_yaml": "EmptyStatusCode\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "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": true
          },
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaJavaScriptMode": {
        "type": "string",
        "description": "Web Client JavaScript Mode.\n\nBot Defense JavaScript for telemetry collection is requested asynchronously, and it is non-cacheable\nBot Defense JavaScript for telemetry collection is requested asynchronously, and it is cacheable\nBot Defense JavaScript for telemetry collection is requested synchronously, and it is non-cacheable\nBot Defense JavaScript for telemetry collection is requested synchronously, and it is cacheable.",
        "title": "JavaScript Mode",
        "enum": [
          "ASYNC_JS_NO_CACHING",
          "ASYNC_JS_CACHING",
          "SYNC_JS_NO_CACHING",
          "SYNC_JS_CACHING"
        ],
        "default": "ASYNC_JS_NO_CACHING",
        "x-displayname": "Web Client JavaScript Mode.",
        "x-ves-proto-enum": "ves.io.schema.JavaScriptMode",
        "x-f5xc-description-medium": "Web Client JavaScript Mode. Bot Defense JavaScript for telemetry collection is requested asynchronously, and it is non-cacheable Bot Defense JavaScript for telemetry collection is requested asynchronously, and it is cacheable Bot Defense JavaScript for telemetry collection is requested...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaJavaScriptMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ASYNC_JS_NO_CACHING\"",
          "example_yaml": "ASYNC_JS_NO_CACHING\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "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": true
          },
          "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": true
          },
          "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": true
          },
          "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"
          }
        }
      },
      "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": true
          },
          "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": true
          },
          "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": true
          },
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaTlsCertificateType": {
        "type": "object",
        "description": "Handle to fetch certificate and key.",
        "title": "TlsCertificateType",
        "x-displayname": "TLS Certificate.",
        "x-ves-oneof-field-ocsp_stapling_choice": "[\"custom_hash_algorithms\",\"disable_ocsp_stapling\",\"use_system_defaults\"]",
        "x-ves-proto-message": "ves.io.schema.TlsCertificateType",
        "properties": {
          "certificate_url": {
            "type": "string",
            "description": "TLS certificate.\nCertificate or certificate chain in PEM format including the PEM headers.",
            "title": "certificate_url",
            "minLength": 1,
            "maxLength": 131072,
            "x-displayname": "Certificate.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.certificate_url": "true",
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.certificate_url": "true",
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-description-short": "TLS certificate. Certificate or certificate chain in PEM format including the PEM headers.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 131072,
              "byteLength": {
                "max": 131072,
                "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
            }
          },
          "custom_hash_algorithms": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHashAlgorithms"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for custom hash algorithms.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_ocsp_stapling",
              "use_system_defaults"
            ]
          },
          "description": {
            "type": "string",
            "description": "Description for the certificate.",
            "title": "description",
            "x-displayname": "Description.",
            "x-ves-example": "Certificate used in production environment.",
            "x-f5xc-example": "Certificate used in production environment",
            "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"
          },
          "disable_ocsp_stapling": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable ocsp stapling.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_hash_algorithms",
              "use_system_defaults"
            ]
          },
          "private_key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-example": "example",
            "x-f5xc-description-short": "Private key for asymmetric cryptography.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_system_defaults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for use system defaults.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_hash_algorithms",
              "disable_ocsp_stapling"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTlsCertificateType",
          "required_fields": [
            "certificate_url"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"certificate_url\": \"value\"\n}",
          "example_yaml": "certificate_url: value"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaTlsProtocol": {
        "type": "string",
        "description": "TlsProtocol is enumeration of supported TLS versions\n\nF5 Distributed Cloud will choose the optimal TLS version.",
        "title": "TlsProtocol",
        "enum": [
          "TLS_AUTO",
          "TLSv1_0",
          "TLSv1_1",
          "TLSv1_2",
          "TLSv1_3"
        ],
        "default": "TLS_AUTO",
        "x-displayname": "TLS Protocol.",
        "x-ves-proto-enum": "ves.io.schema.TlsProtocol",
        "x-f5xc-description-short": "TlsProtocol is enumeration of supported TLS versions F5 Distributed Cloud will choose the optimal TLS version.",
        "x-f5xc-description-medium": "TlsProtocol is enumeration of supported TLS versions F5 Distributed Cloud will choose the optimal TLS version.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTlsProtocol",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TLS_AUTO\"",
          "example_yaml": "TLS_AUTO\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "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": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaXfccElement": {
        "type": "string",
        "description": "X-Forwarded-Client-Cert custom cookie elements\n\nThe entire client certificate in URL encoded PEM format.\nThe entire client certificate chain (including the leaf certificate) in URL encoded PEM format.\nThe Subject field of the current client certificate. The value is always double-quoted.\nThe URI type Subject Alternative Name field of the current client certificate.\nA client certificate may contain multiple URI type Subject Alternative Names,\neach will be a separate key-value pair.\nThe DNS type Subject Alternative Name field of the current client certificate.\nA client certificate may contain multiple DNS type Subject Alternative Names,\neach will be a separate key-value pair.",
        "title": "XfccElement",
        "enum": [
          "XFCC_NONE",
          "XFCC_CERT",
          "XFCC_CHAIN",
          "XFCC_SUBJECT",
          "XFCC_URI",
          "XFCC_DNS"
        ],
        "default": "XFCC_NONE",
        "x-displayname": "XFCC Elements.",
        "x-ves-proto-enum": "ves.io.schema.XfccElement",
        "x-f5xc-description-short": "X-Forwarded-Client-Cert custom cookie elements The entire client certificate in URL encoded PEM format.",
        "x-f5xc-description-medium": "X-Forwarded-Client-Cert custom cookie elements The entire client certificate in URL encoded PEM format. The entire client certificate chain (including the leaf certificate) in URL encoded PEM format. The Subject field of the current client certificate.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaXfccElement",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"XFCC_NONE\"",
          "example_yaml": "XFCC_NONE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemados_mitigationGetSpecType": {
        "type": "object",
        "description": "GET DoS Mitigation.",
        "title": "Get DoS Mitigation",
        "x-displayname": "GET DoS Mitigation.",
        "x-ves-oneof-field-expiration": "[\"expiration_never\",\"expiration_timestamp\",\"expiration_ttl\"]",
        "x-ves-proto-message": "ves.io.schema.dos_mitigation.GetSpecType",
        "properties": {
          "as_numbers": {
            "type": "array",
            "description": "An unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy.",
            "maxItems": 64,
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-displayname": "AS Numbers.",
            "x-ves-example": "[713, 7932, 847325, 4683, 15269, 1000001]",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[713, 7932, 847325, 4683, 15269, 1000001]",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy.",
            "x-f5xc-description-medium": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "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
            }
          },
          "countries": {
            "type": "array",
            "description": "Sources that are located in one of the countries in the given list.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyCountryCode"
            },
            "x-displayname": "Country List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Sources that are located in one of the countries in the given list.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "destination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/dos_mitigationDestination"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for destination.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "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_ttl"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Exclusive with [expiration_never expiration_ttl]\nThis mitigation will expire at the given timestamp and will be removed from the system afterwards.",
            "format": "date-time",
            "x-displayname": "Expiration Time.",
            "x-f5xc-description-short": "Exclusive with [expiration_never expiration_ttl] This mitigation will expire at the given timestamp and will be removed from the system afterwards.",
            "x-f5xc-description-medium": "Exclusive with [expiration_never expiration_ttl] This mitigation 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",
              "expiration_ttl"
            ]
          },
          "expiration_ttl": {
            "type": "integer",
            "description": "Exclusive with [expiration_never expiration_timestamp]\nMitigation will expire this number of seconds after its creation time.",
            "format": "int64",
            "x-displayname": "TTL in Seconds.",
            "x-ves-example": "600",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "172800"
            },
            "x-f5xc-example": "600",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "172800"
            },
            "x-f5xc-description-short": "Exclusive with [expiration_never expiration_timestamp] Mitigation will expire this number of seconds after its creation time.",
            "x-f5xc-description-medium": "Exclusive with [expiration_never expiration_timestamp] Mitigation will expire this number of seconds after its creation time.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 172800,
              "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-conflicts-with": [
              "expiration_never",
              "expiration_timestamp"
            ]
          },
          "ip_prefixes": {
            "type": "array",
            "description": "IP Address prefix in string format. String must contain both prefix and prefix-length.\nAccepts both IPv4 and IPv6 prefixes.",
            "maxItems": 1024,
            "items": {
              "type": "string"
            },
            "x-displayname": "IP Prefixes.",
            "x-ves-example": "[192.0.2.0/24, 192.0.2.0/24, 4c6f:5ce7:df51:97f2:1619:ffff:b9f3:da35/126]",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ip_prefix": "true",
              "ves.io.schema.rules.repeated.max_items": "1024",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[192.0.2.0/24, 192.0.2.0/24, 4c6f:5ce7:df51:97f2:1619:ffff:b9f3:da35/126]",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ip_prefix": "true",
              "ves.io.schema.rules.repeated.max_items": "1024",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "IP Address prefix in string format. String must contain both prefix and prefix-length.",
            "x-f5xc-description-medium": "IP Address prefix in string format. String must contain both prefix and prefix-length. Accepts both IPv4 and IPv6 prefixes.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 1024,
              "uniqueItems": true,
              "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
            }
          },
          "paths": {
            "type": "array",
            "description": "A list of exact path values to match the input HTTP path against.",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Paths",
            "x-ves-example": "['/API/web/namespaces/project179/users/user1', '/API/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfignamespaces/accounting/bgps', '/API/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/project443/virtual_host_101']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['/api/web/namespaces/project179/users/user1', '/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfignamespaces/accounting/bgps', '/api/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/project443/virtual_host_101']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact path values to match the input HTTP path against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "tls_fingerprints": {
            "type": "array",
            "description": "A list of exact TLS JA3 fingerprints to match the input TLS JA3 fingerprint against.",
            "maxItems": 64,
            "items": {
              "type": "string"
            },
            "x-displayname": "TLS Fingerprints.",
            "x-ves-example": "1aa7bf8b97e540ca5edd75f7b8384bfa.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "1aa7bf8b97e540ca5edd75f7b8384bfa",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact TLS JA3 fingerprints to match the input TLS JA3 fingerprint against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemados_mitigationType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemados_mitigationGetSpecType",
          "required_fields": [
            "as_numbers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"as_numbers\": [\n    0\n  ]\n}",
          "example_yaml": "as_numbers:\n- 0"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemados_mitigationType": {
        "type": "string",
        "description": "DoS Mitigation can either be manually added by a user (SRE), or can be automatically generated based on\n\nMITIGATION_MANUAL\nMITIGATION_AUTOMATIC.",
        "title": "Type",
        "enum": [
          "MITIGATION_MANUAL",
          "MITIGATION_AUTOMATIC"
        ],
        "default": "MITIGATION_MANUAL",
        "x-displayname": "DoS Mitigation Type.",
        "x-ves-proto-enum": "ves.io.schema.dos_mitigation.Type",
        "x-f5xc-description-short": "DoS Mitigation can either be manually added by a user (SRE), or can be automatically generated based on MITIGATION_MANUAL MITIGATION_AUTOMATIC.",
        "x-f5xc-description-medium": "DoS Mitigation can either be manually added by a user (SRE), or can be automatically generated based on MITIGATION_MANUAL MITIGATION_AUTOMATIC.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemados_mitigationType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"MITIGATION_MANUAL\"",
          "example_yaml": "MITIGATION_MANUAL\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemapolicyHeaderMatcherType__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "A header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each\nheader name in the original HTTP request.\nA header matcher can check for one of the following:\n* Presence or absence of the header in the input\n* At least one of the values for the header in the input satisfies the MatcherType item.",
        "title": "HeaderMatcherType",
        "x-displayname": "Header Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.HeaderMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Header Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-insensitive HTTP header name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Header Name.",
            "x-ves-example": "Accept-Encoding.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Accept-Encoding",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each header name in the original HTTP request. A header matcher can check for one of the following: * Presence or absence of the header in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyHeaderMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Accept-Encoding\"\n}",
          "example_yaml": "name: Accept-Encoding"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemapolicyPathMatcherType": {
        "type": "object",
        "description": "A path matcher specifies multiple criteria for matching an HTTP path string. The match is considered successful if any of the criteria are satisfied. The set\nof supported match criteria includes a list of path prefixes, a list of exact path values and a list of regular expressions.",
        "title": "PathMatcherType",
        "x-displayname": "Path Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.PathMatcherType",
        "properties": {
          "encoded_path_matcher": {
            "type": "boolean",
            "description": "Match against the encoded, escaped path.",
            "title": "Encoded_Path",
            "format": "boolean",
            "x-displayname": "Match Encoded Path.",
            "x-ves-example": "Match \\\"/path/%20another%20path\\\" instead of default \\\"/path/ another path\\\"",
            "x-f5xc-example": "\"match \\\"/path/%20another%20path\\\" instead of default \\\"/path/ another path\\\"\"",
            "x-f5xc-description-short": "Match against the encoded, escaped path.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "exact_values": {
            "type": "array",
            "description": "A list of exact path values to match the input HTTP path against.",
            "title": "exact values",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Exact Values.",
            "x-ves-example": "['/API/web/namespaces/project179/users/user1', '/API/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfignamespaces/accounting/bgps', '/API/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/project443/virtual_host_101']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.http_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['/api/web/namespaces/project179/users/user1', '/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfignamespaces/accounting/bgps', '/api/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/project443/virtual_host_101']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.http_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact path values to match the input HTTP path against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Path Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "prefix_values": {
            "type": "array",
            "description": "A list of path prefix values to match the input HTTP path against.",
            "title": "prefix values",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Prefix Values.",
            "x-ves-example": "['/API/web/namespaces/project179/users/', '/API/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfignamespaces/', '/API/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.http_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['/api/web/namespaces/project179/users/', '/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfignamespaces/', '/api/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.http_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of path prefix values to match the input HTTP path against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "regex_values": {
            "type": "array",
            "description": "A list of regular expressions to match the input HTTP path against.",
            "title": "regex values",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Regex Values.",
            "x-ves-example": "['^/API/web/namespaces/abc/users/([a-z]([-a-z0-9]*[a-z0-9])?)$', '/API/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/proj404/virtual_hosts/([a-z]([-a-z0-9]*[a-z0-9])?)$']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['^/api/web/namespaces/abc/users/([a-z]([-a-z0-9]*[a-z0-9])?)$', '/api/data/datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatanamespaces/proj404/virtual_hosts/([a-z]([-a-z0-9]*[a-z0-9])?)$']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of regular expressions to match the input HTTP path against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "suffix_values": {
            "type": "array",
            "description": "A list of path suffix values to match the input HTTP path against.",
            "title": "Suffix values",
            "maxItems": 64,
            "items": {
              "type": "string",
              "maxLength": 64
            },
            "x-displayname": "Suffix Values.",
            "x-ves-example": "['.exe', '.shtml', '.wmz']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "64",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['.exe', '.shtml', '.wmz']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "64",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of path suffix values to match the input HTTP path against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "transformers": {
            "type": "array",
            "description": "An ordered list of transformers (starting from index 0) to be applied to the path before matching.",
            "title": "transformers",
            "maxItems": 9,
            "items": {
              "$ref": "#/components/schemas/policyTransformer"
            },
            "x-displayname": "Transformers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "\"[BASE64_DECODE, LOWER_CASE]",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Ordered list of transformers (starting from index 0) to be applied to the path before matching.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 9,
              "uniqueItems": true,
              "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": "Path matcher specifies multiple criteria for matching an HTTP path string. The match is considered successful if any of the criteria are satisfied.",
        "x-f5xc-description-medium": "Path matcher specifies multiple criteria for matching an HTTP path string. The match is considered successful if any of the criteria are satisfied. The set of supported match criteria includes a list of path prefixes, a list of exact path values and a list of regular expressions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyPathMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemapolicyQueryParameterMatcherType__ves_io_schema_views_cdn_loadbalancer": {
        "type": "object",
        "description": "A query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it. The input has a list of actual\nvalues for each query parameter name in the original HTTP request.\nA query parameter matcher can check for one of the following:\n* Presence or absence of the query parameter in the input\n* At least one of the values for the query parameter in the input satisfies the MatcherType item.",
        "title": "QueryParameterMatcherType",
        "x-displayname": "Query Parameter Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.QueryParameterMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Query Parameter Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "key": {
            "type": "string",
            "description": "A case-sensitive HTTP query parameter name.",
            "title": "key",
            "maxLength": 256,
            "x-displayname": "Query Parameter Name.",
            "x-ves-example": "Sourceid",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "sourceid",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-description-short": "Case-sensitive HTTP query parameter name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 256
              },
              "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
            },
            "minLength": 7,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "Query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it. The input has a list of actual values for each query parameter name in the original HTTP request. A query parameter matcher can check for one of the following: * Presence or...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyQueryParameterMatcherType",
          "required_fields": [
            "key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"key\": \"sourceid\"\n}",
          "example_yaml": "key: sourceid"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaviewsDownstreamTlsParamsType": {
        "type": "object",
        "description": "Inline TLS parameters.",
        "title": "DownstreamTlsParamsType",
        "x-displayname": "Inline TLS Parameters.",
        "x-ves-oneof-field-mtls_choice": "[\"no_mtls\",\"use_mtls\"]",
        "x-ves-proto-message": "ves.io.schema.views.DownstreamTlsParamsType",
        "properties": {
          "no_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "use_mtls"
            ]
          },
          "tls_certificates": {
            "type": "array",
            "description": "Users can add one or more certificates that share the same set of domains.\nFor example, domain.com and *.domain.com - but use different signature algorithms.",
            "title": "tls_certificates",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaTlsCertificateType"
            },
            "x-displayname": "TLS Certificates.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-description-short": "Users can add one or more certificates that share the same set of domains.",
            "x-f5xc-description-medium": "Users can add one or more certificates that share the same set of domains. For example, domain.com and *.domain.com - but use different signature algorithms.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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
            }
          },
          "tls_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsTlsConfig"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsDownstreamTlsValidationContext"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_mtls"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaviewsDownstreamTlsParamsType",
          "required_fields": [
            "tls_certificates"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"tls_certificates\": [\n    {\n      \"certificate_url\": \"value\"\n    }\n  ]\n}",
          "example_yaml": "tls_certificates:\n- certificate_url: value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "service_policy_ruleChallengeRuleSpec": {
        "type": "object",
        "description": "A Challenge Rule consists of an unordered list of predicates and an action. The predicates are evaluated against a set of input fields that are extracted from\nor derived from an L7 request API. A request API is considered to match the rule if all predicates in the rule evaluate to true for that request. Any\npredicates that are not specified in a rule are implicitly considered to be true. If a request API matches a challenge rule, the configured challenge is\nenforced.",
        "title": "Challenge Rule Spec",
        "x-displayname": "Challenge Rule Specification.",
        "x-ves-oneof-field-asn_choice": "[\"any_asn\",\"asn_list\",\"asn_matcher\"]",
        "x-ves-oneof-field-challenge_action": "[\"disable_challenge\",\"enable_captcha_challenge\",\"enable_javascript_challenge\"]",
        "x-ves-oneof-field-client_choice": "[\"any_client\",\"client_selector\"]",
        "x-ves-oneof-field-ip_choice": "[\"any_ip\",\"ip_matcher\",\"ip_prefix_list\"]",
        "x-ves-oneof-field-tls_fingerprint_choice": "[\"tls_fingerprint_matcher\"]",
        "x-ves-proto-message": "ves.io.schema.service_policy_rule.ChallengeRuleSpec",
        "properties": {
          "any_asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "asn_list",
              "asn_matcher"
            ]
          },
          "any_client": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_selector"
            ]
          },
          "any_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "arg_matchers": {
            "type": "array",
            "description": "A list of predicates for all POST args that need to be matched. The criteria for matching each arg are described in individual instances\nof ArgMatcherType. The actual arg values are extracted from the request API as a list of strings for each arg selector name.\nNote that all specified arg matcher predicates must evaluate to true.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyArgMatcherType"
            },
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all POST args that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all POST args that need to be matched. The criteria for matching each arg are described in individual instances of ArgMatcherType. The actual arg values are extracted from the request API as a list of strings for each arg selector name.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "asn_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_asn",
              "asn_matcher"
            ]
          },
          "asn_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for asn matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_asn",
              "asn_list"
            ]
          },
          "body_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "client_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaLabelSelectorType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_client"
            ]
          },
          "cookie_matchers": {
            "type": "array",
            "description": "A list of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances\nof CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.\nNote that all specified cookie matcher predicates must evaluate to true.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyCookieMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all cookies that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances of CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "disable_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_captcha_challenge",
              "enable_javascript_challenge"
            ]
          },
          "domain_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherTypeBasic"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for domain matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "enable_captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_challenge",
              "enable_javascript_challenge"
            ]
          },
          "enable_javascript_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_challenge",
              "enable_captcha_challenge"
            ]
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "The expiration_timestamp is the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in\nthe configuration but is not applied anymore.",
            "format": "date-time",
            "x-f5xc-example": "2019-12-31:44:34.171543432Z",
            "x-f5xc-description-short": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired.",
            "x-f5xc-description-medium": "Specifies expiration_timestamp the RFC 3339 format timestamp at which the containing rule is considered to be logically expired. The rule continues to exist in the configuration but is not applied anymore.",
            "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
            }
          },
          "headers": {
            "type": "array",
            "description": "A list of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType\ninstances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.\nNote that all specified header predicates must evaluate to true.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyHeaderMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of predicates for various HTTP headers that need to match.",
            "x-f5xc-description-medium": "List of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType instances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyHttpMethodMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http method.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyIpMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "ip_prefix_list"
            ]
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "ip_matcher"
            ]
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemapolicyPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "query_params": {
            "type": "array",
            "description": "A list of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances\nof QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query parameter name.\nNote that all specified query parameter predicates must evaluate to true.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyQueryParameterMatcherType__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all query parameters that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances of QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyTlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Challenge Rule consists of an unordered list of predicates and an action.",
        "x-f5xc-description-medium": "Challenge Rule consists of an unordered list of predicates and an action. The predicates are evaluated against a set of input fields that are extracted from or derived from an L7 request API. A request API is considered to match the rule if all predicates in the rule evaluate to true for that...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for service_policy_ruleChallengeRuleSpec",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "network_security",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsCustomCiphers": {
        "type": "object",
        "description": "This defines TLS protocol config including min/max versions and allowed ciphers.",
        "title": "CustomCiphers",
        "x-displayname": "Custom Ciphers.",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.views.CustomCiphers",
        "properties": {
          "cipher_suites": {
            "type": "array",
            "description": "The TLS listener will only support the specified cipher list.",
            "title": "cipher_suites",
            "items": {
              "type": "string"
            },
            "x-displayname": "Cipher Suites.",
            "x-ves-example": "TLS_AES_128_GCM_SHA256.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.in": "[\\\"TLS_AES_128_GCM_SHA256\\\",\\\"TLS_AES_256_GCM_SHA384\\\",\\\"TLS_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_256_GCM_SHA384\\\"]",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "TLS_AES_128_GCM_SHA256",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.in": "[\\\"TLS_AES_128_GCM_SHA256\\\",\\\"TLS_AES_256_GCM_SHA384\\\",\\\"TLS_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_256_GCM_SHA384\\\"]",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "The TLS listener will only support the specified cipher list.",
            "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
            }
          },
          "max_version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTlsProtocol"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "TLS_AUTO",
                "TLS11",
                "TLS12",
                "TLS13"
              ],
              "default": "TLS_AUTO",
              "description": "Maximum TLS version for custom security"
            }
          },
          "min_version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTlsProtocol"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "TLS_AUTO",
                "TLS11",
                "TLS12",
                "TLS13"
              ],
              "default": "TLS_AUTO",
              "description": "Minimum TLS version for custom security"
            }
          }
        },
        "x-f5xc-description-short": "Defines TLS protocol config including min/max versions and allowed ciphers.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsCustomCiphers",
          "required_fields": [
            "cipher_suites"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cipher_suites\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "cipher_suites:\n- value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsDownstreamTLSCertsParams": {
        "type": "object",
        "description": "Select TLS Parameters and Certificates.",
        "title": "DownstreamTLSCertsParams",
        "x-displayname": "TLS Parameters.",
        "x-ves-oneof-field-mtls_choice": "[\"no_mtls\",\"use_mtls\"]",
        "x-ves-proto-message": "ves.io.schema.views.DownstreamTLSCertsParams",
        "properties": {
          "certificates": {
            "type": "array",
            "description": "Select one or more certificates with any domain names.",
            "title": "certificates",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Certificates.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Select one or more certificates with any domain names.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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
            }
          },
          "no_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "use_mtls"
            ]
          },
          "tls_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsTlsConfig"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsDownstreamTlsValidationContext"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_mtls"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsDownstreamTLSCertsParams",
          "required_fields": [
            "certificates"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"certificates\": [\n    {\n      \"name\": \"contacts-route\"\n    }\n  ]\n}",
          "example_yaml": "certificates:\n- name: contacts-route"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsDownstreamTlsValidationContext": {
        "type": "object",
        "description": "Validation context for downstream client TLS connections.",
        "title": "DownstreamTlsValidationContext",
        "x-displayname": "Clients TLS validation context.",
        "x-ves-oneof-field-crl_choice": "[\"crl\",\"no_crl\"]",
        "x-ves-oneof-field-trusted_ca_choice": "[\"trusted_ca\",\"trusted_ca_url\"]",
        "x-ves-oneof-field-xfcc_header": "[\"xfcc_disabled\",\"xfcc_options\"]",
        "x-ves-proto-message": "ves.io.schema.views.DownstreamTlsValidationContext",
        "properties": {
          "client_certificate_optional": {
            "type": "boolean",
            "description": "Client certificate is optional. If the client has provided a certificate,\nthe load balancer will verify it. If certification verification fails,\nthe connection will be terminated. If the client does not provide a certificate,\nthe connection will be accepted.",
            "title": "client_certificate_optional",
            "format": "boolean",
            "x-displayname": "Client Certificate Optional.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Client certificate is optional. If the client has provided a certificate, the load balancer will verify it.",
            "x-f5xc-description-medium": "Client certificate is optional. If the client has provided a certificate, the load balancer will verify it. If certification verification fails, the connection will be terminated.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "crl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_crl"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "crl",
                "field_path": "crl",
                "gated_by": {
                  "choice": "crl_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "no_crl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "crl"
            ]
          },
          "trusted_ca": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "trusted_ca_url"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "certificate",
                "field_path": "trusted_ca",
                "gated_by": {
                  "choice": "trusted_ca_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "trusted_ca_url": {
            "type": "string",
            "description": "Exclusive with [trusted_ca]\nUpload a Root CA Certificate specifically for this Load Balancer.",
            "title": "trusted_ca_url",
            "minLength": 1,
            "maxLength": 131072,
            "x-displayname": "Inline Root CA Certificate (legacy)",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.truststore_url": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.truststore_url": "true"
            },
            "x-f5xc-description-short": "Exclusive with [trusted_ca] Upload a Root CA Certificate specifically for this Load Balancer.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 131072,
              "byteLength": {
                "max": 131072,
                "min": 1
              },
              "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-conflicts-with": [
              "trusted_ca"
            ]
          },
          "xfcc_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "xfcc_options"
            ]
          },
          "xfcc_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsXfccHeaderKeys"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for xfcc options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "xfcc_disabled"
            ]
          }
        },
        "x-f5xc-description-short": "Validation context for downstream client TLS connections.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsDownstreamTlsValidationContext",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsPrefixStringListType": {
        "type": "object",
        "description": "List of IPv4 prefixes that represent an endpoint.",
        "title": "ipv4 prefix list",
        "x-displayname": "IPv4 Prefix List.",
        "x-ves-proto-message": "ves.io.schema.views.PrefixStringListType",
        "properties": {
          "prefixes": {
            "type": "array",
            "description": "List of IPv4 prefixes that represent an endpoint.",
            "title": "ipv4 prefix list",
            "maxItems": 128,
            "items": {
              "type": "string"
            },
            "x-displayname": "IPv4 Prefix List.",
            "x-ves-example": "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": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "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": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of IPv4 prefixes that represent an endpoint.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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-example": "192.0.2.0/24",
        "x-f5xc-description-short": "List of IPv4 prefixes that represent an endpoint.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsPrefixStringListType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsTlsConfig": {
        "type": "object",
        "description": "This defines various OPTIONS to configure TLS configuration parameters.",
        "title": "TlsConfig",
        "x-displayname": "TLS Config.",
        "x-ves-displayorder": "5",
        "x-ves-oneof-field-choice": "[\"custom_security\",\"default_security\",\"low_security\",\"medium_security\"]",
        "x-ves-proto-message": "ves.io.schema.views.TlsConfig",
        "properties": {
          "custom_security": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsCustomCiphers"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_security",
              "low_security",
              "medium_security"
            ]
          },
          "default_security": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_security",
              "low_security",
              "medium_security"
            ]
          },
          "low_security": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_security",
              "default_security",
              "medium_security"
            ]
          },
          "medium_security": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_security",
              "default_security",
              "low_security"
            ]
          }
        },
        "x-f5xc-description-short": "Defines various OPTIONS to configure TLS configuration parameters.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsTlsConfig",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsXfccHeaderKeys": {
        "type": "object",
        "description": "X-Forwarded-Client-Cert header elements to be added to requests.",
        "title": "XfccHeaderKeys",
        "x-displayname": "XFCC Header Elements.",
        "x-ves-proto-message": "ves.io.schema.views.XfccHeaderKeys",
        "properties": {
          "xfcc_header_elements": {
            "type": "array",
            "description": "X-Forwarded-Client-Cert header elements to be added to requests.",
            "title": "XFCC Header",
            "items": {
              "$ref": "#/components/schemas/schemaXfccElement"
            },
            "x-displayname": "XFCC Header Elements.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[0]"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[0]"
            },
            "x-f5xc-description-short": "X-Forwarded-Client-Cert header elements to be added to requests.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "X-Forwarded-Client-Cert header elements to be added to requests.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsXfccHeaderKeys",
          "required_fields": [
            "xfcc_header_elements"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"xfcc_header_elements\": [\n    \"XFCC_NONE\"\n  ]\n}",
          "example_yaml": "xfcc_header_elements:\n- XFCC_NONE"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerCDNOriginServerType": {
        "type": "object",
        "description": "Various OPTIONS to specify origin server.",
        "title": "CDNOriginServerType",
        "x-displayname": "Origin Server.",
        "x-ves-oneof-field-choice": "[\"public_ip\",\"public_name\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CDNOriginServerType",
        "properties": {
          "port": {
            "type": "integer",
            "description": "Port the workload can be reached on.",
            "title": "Port",
            "format": "int64",
            "x-displayname": "Origin Server Port.",
            "x-ves-example": "80",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "80",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 65535,
              "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
            }
          },
          "public_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerPublicIP"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "public_name"
            ]
          },
          "public_name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerPublicName"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "public_ip"
            ]
          }
        },
        "x-f5xc-description-short": "Various OPTIONS to specify origin server.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerCDNOriginServerType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerCdnOriginPoolType": {
        "type": "object",
        "description": "Origin Pool for the CDN distribution.",
        "title": "CdnOriginPoolType",
        "x-displayname": "CDN Origin Pool.",
        "x-ves-oneof-field-tls_choice": "[\"no_tls\",\"use_tls\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CdnOriginPoolType",
        "properties": {
          "more_origin_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerOriginAdvancedConfiguration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for more origin options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "no_tls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "use_tls"
            ]
          },
          "origin_request_timeout": {
            "type": "string",
            "description": "Configures the time after which a request to the origin will time out waiting for a response.",
            "title": "Origin Request Timeout",
            "x-displayname": "Origin Request Timeout Duration.",
            "x-ves-example": "100s",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_time_interval": "10m",
              "ves.io.schema.rules.string.min_time_interval": "10s",
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-example": "100s",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_time_interval": "10m",
              "ves.io.schema.rules.string.min_time_interval": "10s",
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-description-short": "Configures the time after which a request to the origin will time out waiting for a response.",
            "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
            }
          },
          "origin_servers": {
            "type": "array",
            "description": "List of original servers.",
            "title": "List of Origin Servers",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/viewscdn_loadbalancerCDNOriginServerType"
            },
            "x-displayname": "List Of Origin Servers.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "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": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "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
            }
          },
          "public_name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerPublicName"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_tls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolUpstreamTlsParameters"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_tls"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerCdnOriginPoolType",
          "required_fields": [
            "origin_servers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"origin_servers\": [\n    {}\n  ]\n}",
          "example_yaml": "origin_servers:\n- {}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerCreateSpecType": {
        "type": "object",
        "description": "Shape of the CDN loadbalancer specification.",
        "title": "CreateSpecType",
        "x-displayname": "Create CDN Loadbalancer.",
        "x-ves-oneof-field-api_definition_choice": "[\"api_specification\",\"disable_api_definition\"]",
        "x-ves-oneof-field-api_discovery_choice": "[\"disable_api_discovery\",\"enable_api_discovery\"]",
        "x-ves-oneof-field-bot_defense_choice": "[\"bot_defense\"]",
        "x-ves-oneof-field-challenge_type": "[\"captcha_challenge\",\"enable_challenge\",\"js_challenge\",\"no_challenge\",\"policy_based_challenge\"]",
        "x-ves-oneof-field-client_side_defense_choice": "[\"client_side_defense\",\"disable_client_side_defense\"]",
        "x-ves-oneof-field-ip_reputation_choice": "[\"disable_ip_reputation\",\"enable_ip_reputation\"]",
        "x-ves-oneof-field-l7_ddos_auto_mitigation_action": "[\"l7_ddos_action_block\",\"l7_ddos_action_default\",\"l7_ddos_action_js_challenge\"]",
        "x-ves-oneof-field-loadbalancer_type": "[\"http\",\"https\",\"https_auto_cert\"]",
        "x-ves-oneof-field-malicious_user_detection_choice": "[\"disable_malicious_user_detection\",\"enable_malicious_user_detection\"]",
        "x-ves-oneof-field-rate_limit_choice": "[\"api_rate_limit\",\"disable_rate_limit\",\"rate_limit\"]",
        "x-ves-oneof-field-sensitive_data_policy_choice": "[\"default_sensitive_data_policy\",\"sensitive_data_policy\"]",
        "x-ves-oneof-field-service_policy_choice": "[\"active_service_policies\",\"no_service_policies\",\"service_policies_from_namespace\"]",
        "x-ves-oneof-field-slow_ddos_mitigation_choice": "[\"slow_ddos_mitigation\",\"system_default_timeouts\"]",
        "x-ves-oneof-field-threat_mesh_choice": "[\"disable_threat_mesh\",\"enable_threat_mesh\"]",
        "x-ves-oneof-field-user_id_choice": "[\"user_id_client_ip\",\"user_identification\"]",
        "x-ves-oneof-field-waf_choice": "[\"app_firewall\",\"disable_waf\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.CreateSpecType",
        "properties": {
          "active_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafServicePolicyList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for active service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "api_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIRateLimit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_rate_limit",
              "rate_limit"
            ]
          },
          "api_specification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPISpecificationSettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_definition"
            ]
          },
          "app_firewall": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_waf"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "app_firewall",
                "field_path": "app_firewall",
                "gated_by": {
                  "choice": "waf_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "blocked_clients": {
            "type": "array",
            "description": "Define rules to block IP Prefixes or AS numbers.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Client Blocking Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to block IP Prefixes or AS numbers.",
            "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
            }
          },
          "bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefenseType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityClientSideDefenseType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_client_side_defense"
            ]
          },
          "cors_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCorsPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "csrf_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCsrfPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "custom_cache_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cache_ruleCustomCacheRule"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data_guard_rules": {
            "type": "array",
            "description": "Data Guard prevents responses from exposing sensitive information by masking the data.\nThe system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).\nNote: App Firewall should be enabled, to use Data Guard feature.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policySimpleDataGuardRule"
            },
            "x-displayname": "Data Guard Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data Guard prevents responses from exposing sensitive information by masking the data.",
            "x-f5xc-description-medium": "Data Guard prevents responses from exposing sensitive information by masking the data. The system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "ddos_mitigation_rules": {
            "type": "array",
            "description": "Define manual mitigation rules to block L7 DDoS attacks.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_securityDDoSMitigationRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "DDoS Mitigation Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define manual mitigation rules to block L7 DDoS attacks.",
            "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
            }
          },
          "default_cache_action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_cache_ruleDefaultCacheAction"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "sensitive_data_policy"
            ]
          },
          "disable_api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_specification"
            ]
          },
          "disable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_api_discovery"
            ]
          },
          "disable_client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_side_defense"
            ]
          },
          "disable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_ip_reputation"
            ]
          },
          "disable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_malicious_user_detection"
            ]
          },
          "disable_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable rate limit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "rate_limit"
            ]
          },
          "disable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_threat_mesh"
            ]
          },
          "disable_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "app_firewall"
            ]
          },
          "domains": {
            "type": "array",
            "description": "A list of fully qualified domain names.\nThe CDN Distribution will be setup for these FQDN name(s).\n[This can be a domain or a sub-domain]",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Domains",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.hostname": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "[\\\\.]+[A-Za-z]+",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.hostname": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "[\\\\.]+[A-Za-z]+",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of fully qualified domain names. The CDN Distribution will be setup for these FQDN name(s). [This can be a domain or a sub-domain]",
            "x-f5xc-description-medium": "List of fully qualified domain names. The CDN Distribution will be setup for these FQDN name(s). [This can be a domain or a sub-domain].",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "enable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_discovery"
            ]
          },
          "enable_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafEnableChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "enable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafIPThreatCategoryListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_ip_reputation"
            ]
          },
          "enable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malicious_user_detection"
            ]
          },
          "enable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_threat_mesh"
            ]
          },
          "graphql_rules": {
            "type": "array",
            "description": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable\ndescription of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it\neasier to evolve APIs over time, and enables powerful developer tools. Policy configuration to analyze GraphQL\nqueries and prevent GraphQL tailored attacks.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyGraphQLRule"
            },
            "x-displayname": "GraphQL Inspection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API.",
            "x-f5xc-description-medium": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it easier to evolve APIs over time, and enables powerful developer tools. Policy...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "http": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "https",
              "https_auto_cert"
            ]
          },
          "https": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNHTTPSCustomCertsType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https_auto_cert"
            ]
          },
          "https_auto_cert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNHTTPSAutoCertsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for https auto cert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https"
            ]
          },
          "js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "jwt_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafJWTValidation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for jwt validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "l7_ddos_action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_default",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_default"
            ]
          },
          "no_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "policy_based_challenge"
            ]
          },
          "no_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "origin_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerCdnOriginPoolType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for origin pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "other_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerOtherSettings"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for other settings.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "policy_based_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafPolicyBasedChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for policy based challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "no_challenge"
            ]
          },
          "protected_cookies": {
            "type": "array",
            "description": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.\nCookie Tampering Protection prevents attackers from modifying the value of session cookies.\nFor Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.\nThe configured mode of WAF (monitoring or blocking) will be enforced on the request when cookie tampering is identified.\nNote: We recommend enabling Secure and HttpOnly attributes along with cookie tampering protection.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaCookieManipulationOptionType"
            },
            "x-displayname": "Cookie Protection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.",
            "x-f5xc-description-medium": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses. Cookie Tampering Protection prevents attackers from modifying the value of session cookies. For Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafRateLimitConfigType"
              }
            ],
            "x-f5xc-example": "{\"requests_per_second\": 100}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "disable_rate_limit"
            ]
          },
          "sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securitySensitiveDataPolicySettings"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_sensitive_data_policy"
            ]
          },
          "service_policies_from_namespace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "no_service_policies"
            ]
          },
          "slow_ddos_mitigation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostSlowDDoSMitigation"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "system_default_timeouts"
            ]
          },
          "system_default_timeouts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for system default timeouts.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "slow_ddos_mitigation"
            ]
          },
          "trusted_clients": {
            "type": "array",
            "description": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc. For clients.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Trusted Client Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc.",
            "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
            }
          },
          "user_id_client_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_identification"
            ]
          },
          "user_identification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for user identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_id_client_ip"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "user_identification",
                "gated_by": {
                  "choice": "user_id_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "waf_exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafWafExclusion"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for waf exclusion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the CDN loadbalancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerCreateSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "domains:\n- value"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerGetSpecType": {
        "type": "object",
        "description": "Shape of the CDN loadbalancer specification.",
        "title": "GetSpecType",
        "x-displayname": "GET CDN Loadbalancer.",
        "x-ves-oneof-field-api_definition_choice": "[\"api_specification\",\"disable_api_definition\"]",
        "x-ves-oneof-field-api_discovery_choice": "[\"disable_api_discovery\",\"enable_api_discovery\"]",
        "x-ves-oneof-field-bot_defense_choice": "[\"bot_defense\"]",
        "x-ves-oneof-field-challenge_type": "[\"captcha_challenge\",\"enable_challenge\",\"js_challenge\",\"no_challenge\",\"policy_based_challenge\"]",
        "x-ves-oneof-field-client_side_defense_choice": "[\"client_side_defense\",\"disable_client_side_defense\"]",
        "x-ves-oneof-field-ip_reputation_choice": "[\"disable_ip_reputation\",\"enable_ip_reputation\"]",
        "x-ves-oneof-field-l7_ddos_auto_mitigation_action": "[\"l7_ddos_action_block\",\"l7_ddos_action_default\",\"l7_ddos_action_js_challenge\"]",
        "x-ves-oneof-field-loadbalancer_type": "[\"http\",\"https\",\"https_auto_cert\"]",
        "x-ves-oneof-field-malicious_user_detection_choice": "[\"disable_malicious_user_detection\",\"enable_malicious_user_detection\"]",
        "x-ves-oneof-field-rate_limit_choice": "[\"api_rate_limit\",\"disable_rate_limit\",\"rate_limit\"]",
        "x-ves-oneof-field-sensitive_data_policy_choice": "[\"default_sensitive_data_policy\",\"sensitive_data_policy\"]",
        "x-ves-oneof-field-service_policy_choice": "[\"active_service_policies\",\"no_service_policies\",\"service_policies_from_namespace\"]",
        "x-ves-oneof-field-slow_ddos_mitigation_choice": "[\"slow_ddos_mitigation\",\"system_default_timeouts\"]",
        "x-ves-oneof-field-threat_mesh_choice": "[\"disable_threat_mesh\",\"enable_threat_mesh\"]",
        "x-ves-oneof-field-user_id_choice": "[\"user_id_client_ip\",\"user_identification\"]",
        "x-ves-oneof-field-waf_choice": "[\"app_firewall\",\"disable_waf\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.GetSpecType",
        "properties": {
          "active_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafServicePolicyList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for active service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "api_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIRateLimit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_rate_limit",
              "rate_limit"
            ]
          },
          "api_specification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPISpecificationSettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_definition"
            ]
          },
          "app_firewall": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_waf"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "app_firewall",
                "field_path": "app_firewall",
                "gated_by": {
                  "choice": "waf_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "auto_cert_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostAutoCertInfoType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for auto cert info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "blocked_clients": {
            "type": "array",
            "description": "Define rules to block IP Prefixes or AS numbers.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Client Blocking Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to block IP Prefixes or AS numbers.",
            "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
            }
          },
          "bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefenseType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "cert_state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCertificationState"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityClientSideDefenseType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_client_side_defense"
            ]
          },
          "cors_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCorsPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "csrf_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCsrfPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "custom_cache_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cache_ruleCustomCacheRule"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data_guard_rules": {
            "type": "array",
            "description": "Data Guard prevents responses from exposing sensitive information by masking the data.\nThe system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).\nNote: App Firewall should be enabled, to use Data Guard feature.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policySimpleDataGuardRule"
            },
            "x-displayname": "Data Guard Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data Guard prevents responses from exposing sensitive information by masking the data.",
            "x-f5xc-description-medium": "Data Guard prevents responses from exposing sensitive information by masking the data. The system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "ddos_mitigation_rules": {
            "type": "array",
            "description": "Define manual mitigation rules to block L7 DDoS attacks.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_securityDDoSMitigationRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "DDoS Mitigation Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define manual mitigation rules to block L7 DDoS attacks.",
            "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
            }
          },
          "default_cache_action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_cache_ruleDefaultCacheAction"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "sensitive_data_policy"
            ]
          },
          "disable_api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_specification"
            ]
          },
          "disable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_api_discovery"
            ]
          },
          "disable_client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_side_defense"
            ]
          },
          "disable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_ip_reputation"
            ]
          },
          "disable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_malicious_user_detection"
            ]
          },
          "disable_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable rate limit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "rate_limit"
            ]
          },
          "disable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_threat_mesh"
            ]
          },
          "disable_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "app_firewall"
            ]
          },
          "dns_info": {
            "type": "array",
            "description": "DNS information for this virtual host.",
            "items": {
              "$ref": "#/components/schemas/virtual_host_dns_infoDnsInfo"
            },
            "x-displayname": "DNS Information.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "domains": {
            "type": "array",
            "description": "A list of fully qualified domain names.\nThe CDN Distribution will be setup for these FQDN name(s).\n[This can be a domain or a sub-domain]",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Domains",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.hostname": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "[\\\\.]+[A-Za-z]+",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.hostname": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "[\\\\.]+[A-Za-z]+",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of fully qualified domain names. The CDN Distribution will be setup for these FQDN name(s). [This can be a domain or a sub-domain]",
            "x-f5xc-description-medium": "List of fully qualified domain names. The CDN Distribution will be setup for these FQDN name(s). [This can be a domain or a sub-domain].",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "enable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_discovery"
            ]
          },
          "enable_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafEnableChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "enable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafIPThreatCategoryListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_ip_reputation"
            ]
          },
          "enable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malicious_user_detection"
            ]
          },
          "enable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_threat_mesh"
            ]
          },
          "graphql_rules": {
            "type": "array",
            "description": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable\ndescription of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it\neasier to evolve APIs over time, and enables powerful developer tools. Policy configuration to analyze GraphQL\nqueries and prevent GraphQL tailored attacks.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyGraphQLRule"
            },
            "x-displayname": "GraphQL Inspection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API.",
            "x-f5xc-description-medium": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it easier to evolve APIs over time, and enables powerful developer tools. Policy...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "host_name": {
            "type": "string",
            "description": "Internally generated host name to be used for the virtual host.",
            "x-displayname": "Host Name",
            "x-ves-example": "VES-I/o-00000000-0000-4000-8000-9694d5ee0763.ac.vh.ves.I/O.",
            "x-f5xc-example": "ves-io-00000000-0000-4000-8000-9694d5ee0763.ac.vh.F5 XC",
            "x-f5xc-description-short": "Internally generated host name to be used for the virtual host.",
            "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
            }
          },
          "http": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "https",
              "https_auto_cert"
            ]
          },
          "https": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNHTTPSCustomCertsType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https_auto_cert"
            ]
          },
          "https_auto_cert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNHTTPSAutoCertsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for https auto cert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https"
            ]
          },
          "js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "jwt_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafJWTValidation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for jwt validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "l7_ddos_action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_default",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_default"
            ]
          },
          "no_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "policy_based_challenge"
            ]
          },
          "no_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "origin_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerCdnOriginPoolType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for origin pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "other_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerOtherSettings"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for other settings.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "policy_based_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafPolicyBasedChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for policy based challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "no_challenge"
            ]
          },
          "protected_cookies": {
            "type": "array",
            "description": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.\nCookie Tampering Protection prevents attackers from modifying the value of session cookies.\nFor Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.\nThe configured mode of WAF (monitoring or blocking) will be enforced on the request when cookie tampering is identified.\nNote: We recommend enabling Secure and HttpOnly attributes along with cookie tampering protection.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaCookieManipulationOptionType"
            },
            "x-displayname": "Cookie Protection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.",
            "x-f5xc-description-medium": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses. Cookie Tampering Protection prevents attackers from modifying the value of session cookies. For Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafRateLimitConfigType"
              }
            ],
            "x-f5xc-example": "{\"requests_per_second\": 100}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "disable_rate_limit"
            ]
          },
          "sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securitySensitiveDataPolicySettings"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_sensitive_data_policy"
            ]
          },
          "service_domains": {
            "type": "array",
            "description": "CNAME provided from service per domain.",
            "items": {
              "$ref": "#/components/schemas/virtual_hostServiceDomain"
            },
            "x-displayname": "Service Domains.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "service_policies_from_namespace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "no_service_policies"
            ]
          },
          "slow_ddos_mitigation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostSlowDDoSMitigation"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "system_default_timeouts"
            ]
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostVirtualHostState"
              }
            ],
            "x-f5xc-example": "running",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_default_timeouts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for system default timeouts.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "slow_ddos_mitigation"
            ]
          },
          "trusted_clients": {
            "type": "array",
            "description": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc. For clients.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Trusted Client Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc.",
            "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
            }
          },
          "user_id_client_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_identification"
            ]
          },
          "user_identification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for user identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_id_client_ip"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "user_identification",
                "gated_by": {
                  "choice": "user_id_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "waf_exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafWafExclusion"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for waf exclusion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the CDN loadbalancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerGetSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "domains:\n- value"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerHeaderControlType": {
        "type": "object",
        "description": "This defines various OPTIONS related to request/response headers.",
        "title": "Header Control",
        "x-displayname": "Header Control.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.HeaderControlType",
        "properties": {
          "request_headers_to_add": {
            "type": "array",
            "description": "Headers are key-value pairs to be added to HTTP request being routed towards upstream.\nHeaders specified at this level are applied after headers from matched Route are applied.",
            "title": "Headers to add in request",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaHeaderManipulationOptionType"
            },
            "x-displayname": "Add Origin Request Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Headers are key-value pairs to be added to HTTP request being routed towards upstream.",
            "x-f5xc-description-medium": "Headers are key-value pairs to be added to HTTP request being routed towards upstream. Headers specified at this level are applied after headers from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "request_headers_to_remove": {
            "type": "array",
            "description": "List of keys of Headers to be removed from the HTTP request being sent towards upstream.",
            "title": "Header to be removed from request",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Origin Request Headers.",
            "x-ves-example": "Host",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "^[0-9A-Za-z_\\\\-\\\\.]+$",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "host",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "^[0-9A-Za-z_\\\\-\\\\.]+$",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Headers to be removed from the HTTP request being sent towards upstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_headers_to_add": {
            "type": "array",
            "description": "Headers are key-value pairs to be added to HTTP response being sent towards downstream.\nHeaders specified at this level are applied after headers from matched Route are applied.",
            "title": "Headers to add in response",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaHeaderManipulationOptionType"
            },
            "x-displayname": "Add Response Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Headers are key-value pairs to be added to HTTP response being sent towards downstream.",
            "x-f5xc-description-medium": "Headers are key-value pairs to be added to HTTP response being sent towards downstream. Headers specified at this level are applied after headers from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_headers_to_remove": {
            "type": "array",
            "description": "List of keys of Headers to be removed from the HTTP response being sent towards downstream.",
            "title": "Header to be removed from response",
            "maxItems": 32,
            "items": {
              "type": "string"
            },
            "x-displayname": "Remove Response Headers.",
            "x-ves-example": "Host",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.pattern": "^[0-9A-Za-z_\\\\-\\\\.]+$",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "host",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.pattern": "^[0-9A-Za-z_\\\\-\\\\.]+$",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Headers to be removed from the HTTP response being sent towards downstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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": "Defines various OPTIONS related to request/response headers.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerHeaderControlType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerLogHeaderOptions": {
        "type": "object",
        "description": "List of headers to Log.",
        "title": "LogHeaderOptions",
        "x-displayname": "Headers to Log.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LogHeaderOptions",
        "properties": {
          "header_list": {
            "type": "array",
            "description": "List of headers.",
            "title": "List of Headers",
            "maxItems": 64,
            "items": {
              "type": "string"
            },
            "x-displayname": "Headers",
            "x-ves-example": "X-custom-length.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "x-custom-length",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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 viewscdn_loadbalancerLogHeaderOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerLoggingOptionsType": {
        "type": "object",
        "description": "This defines various OPTIONS related to logging.",
        "title": "Logging options",
        "x-displayname": "Logging OPTIONS.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.LoggingOptionsType",
        "properties": {
          "client_log_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerLogHeaderOptions"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "origin_log_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerLogHeaderOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for origin log options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Defines various OPTIONS related to logging.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerLoggingOptionsType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerOriginAdvancedConfiguration": {
        "type": "object",
        "title": "Origin Byte Range Request Config",
        "x-displayname": "Origin Byte Range Request Config.",
        "x-ves-displayorder": "3,2",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.OriginAdvancedConfiguration",
        "properties": {
          "enable_byte_range_request": {
            "type": "boolean",
            "description": "Choice to enable/disable byte range requests towards origin.",
            "title": "Enable Origin Byte Range Requests",
            "format": "boolean",
            "x-displayname": "Enable Origin Byte Range Requests.",
            "x-ves-example": "True/false.",
            "x-f5xc-example": "true/false",
            "x-f5xc-description-short": "Choice to enable/disable byte range requests towards origin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "websocket_proxy": {
            "type": "boolean",
            "description": "Option to enable proxying of websocket connections to the origin server.",
            "title": "Enable websocket proxy to the origin",
            "format": "boolean",
            "x-displayname": "Enable websocket proxy to the origin.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Option to enable proxying of websocket connections to the origin server.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerOriginAdvancedConfiguration",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerOtherSettings": {
        "type": "object",
        "description": "Other Settings.",
        "title": "Other Settings",
        "x-displayname": "Other Settings.",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.OtherSettings",
        "properties": {
          "add_location": {
            "type": "boolean",
            "description": "X-example: true\nAppends header x-F5 Distributed Cloud-location = <RE-site-name> in responses.",
            "title": "Add Site information",
            "format": "boolean",
            "x-displayname": "Add Location.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "header_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerHeaderControlType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for header options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "logging_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerLoggingOptionsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for logging options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerOtherSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscdn_loadbalancerReplaceSpecType": {
        "type": "object",
        "description": "Shape of the CDN loadbalancer specification.",
        "title": "ReplaceSpecType",
        "x-displayname": "Replace CDN Loadbalancer.",
        "x-ves-oneof-field-api_definition_choice": "[\"api_specification\",\"disable_api_definition\"]",
        "x-ves-oneof-field-api_discovery_choice": "[\"disable_api_discovery\",\"enable_api_discovery\"]",
        "x-ves-oneof-field-bot_defense_choice": "[\"bot_defense\"]",
        "x-ves-oneof-field-challenge_type": "[\"captcha_challenge\",\"enable_challenge\",\"js_challenge\",\"no_challenge\",\"policy_based_challenge\"]",
        "x-ves-oneof-field-client_side_defense_choice": "[\"client_side_defense\",\"disable_client_side_defense\"]",
        "x-ves-oneof-field-ip_reputation_choice": "[\"disable_ip_reputation\",\"enable_ip_reputation\"]",
        "x-ves-oneof-field-l7_ddos_auto_mitigation_action": "[\"l7_ddos_action_block\",\"l7_ddos_action_default\",\"l7_ddos_action_js_challenge\"]",
        "x-ves-oneof-field-loadbalancer_type": "[\"http\",\"https\",\"https_auto_cert\"]",
        "x-ves-oneof-field-malicious_user_detection_choice": "[\"disable_malicious_user_detection\",\"enable_malicious_user_detection\"]",
        "x-ves-oneof-field-rate_limit_choice": "[\"api_rate_limit\",\"disable_rate_limit\",\"rate_limit\"]",
        "x-ves-oneof-field-sensitive_data_policy_choice": "[\"default_sensitive_data_policy\",\"sensitive_data_policy\"]",
        "x-ves-oneof-field-service_policy_choice": "[\"active_service_policies\",\"no_service_policies\",\"service_policies_from_namespace\"]",
        "x-ves-oneof-field-slow_ddos_mitigation_choice": "[\"slow_ddos_mitigation\",\"system_default_timeouts\"]",
        "x-ves-oneof-field-threat_mesh_choice": "[\"disable_threat_mesh\",\"enable_threat_mesh\"]",
        "x-ves-oneof-field-user_id_choice": "[\"user_id_client_ip\",\"user_identification\"]",
        "x-ves-oneof-field-waf_choice": "[\"app_firewall\",\"disable_waf\"]",
        "x-ves-proto-message": "ves.io.schema.views.cdn_loadbalancer.ReplaceSpecType",
        "properties": {
          "active_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafServicePolicyList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for active service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "api_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIRateLimit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_rate_limit",
              "rate_limit"
            ]
          },
          "api_specification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPISpecificationSettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_definition"
            ]
          },
          "app_firewall": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_waf"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "app_firewall",
                "field_path": "app_firewall",
                "gated_by": {
                  "choice": "waf_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "blocked_clients": {
            "type": "array",
            "description": "Define rules to block IP Prefixes or AS numbers.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Client Blocking Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to block IP Prefixes or AS numbers.",
            "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
            }
          },
          "bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefenseType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityClientSideDefenseType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_client_side_defense"
            ]
          },
          "cors_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCorsPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "csrf_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCsrfPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "custom_cache_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cache_ruleCustomCacheRule"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data_guard_rules": {
            "type": "array",
            "description": "Data Guard prevents responses from exposing sensitive information by masking the data.\nThe system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).\nNote: App Firewall should be enabled, to use Data Guard feature.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policySimpleDataGuardRule"
            },
            "x-displayname": "Data Guard Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data Guard prevents responses from exposing sensitive information by masking the data.",
            "x-f5xc-description-medium": "Data Guard prevents responses from exposing sensitive information by masking the data. The system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "ddos_mitigation_rules": {
            "type": "array",
            "description": "Define manual mitigation rules to block L7 DDoS attacks.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_securityDDoSMitigationRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "DDoS Mitigation Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define manual mitigation rules to block L7 DDoS attacks.",
            "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
            }
          },
          "default_cache_action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_cache_ruleDefaultCacheAction"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "sensitive_data_policy"
            ]
          },
          "disable_api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_specification"
            ]
          },
          "disable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_api_discovery"
            ]
          },
          "disable_client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_side_defense"
            ]
          },
          "disable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_ip_reputation"
            ]
          },
          "disable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_malicious_user_detection"
            ]
          },
          "disable_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable rate limit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "rate_limit"
            ]
          },
          "disable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_threat_mesh"
            ]
          },
          "disable_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "app_firewall"
            ]
          },
          "domains": {
            "type": "array",
            "description": "A list of fully qualified domain names.\nThe CDN Distribution will be setup for these FQDN name(s).\n[This can be a domain or a sub-domain]",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Domains",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.hostname": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "[\\\\.]+[A-Za-z]+",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.hostname": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.pattern": "[\\\\.]+[A-Za-z]+",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of fully qualified domain names. The CDN Distribution will be setup for these FQDN name(s). [This can be a domain or a sub-domain]",
            "x-f5xc-description-medium": "List of fully qualified domain names. The CDN Distribution will be setup for these FQDN name(s). [This can be a domain or a sub-domain].",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "enable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_discovery"
            ]
          },
          "enable_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafEnableChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "enable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafIPThreatCategoryListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_ip_reputation"
            ]
          },
          "enable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malicious_user_detection"
            ]
          },
          "enable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_threat_mesh"
            ]
          },
          "graphql_rules": {
            "type": "array",
            "description": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable\ndescription of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it\neasier to evolve APIs over time, and enables powerful developer tools. Policy configuration to analyze GraphQL\nqueries and prevent GraphQL tailored attacks.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyGraphQLRule"
            },
            "x-displayname": "GraphQL Inspection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API.",
            "x-f5xc-description-medium": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it easier to evolve APIs over time, and enables powerful developer tools. Policy...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "http": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "https",
              "https_auto_cert"
            ]
          },
          "https": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNHTTPSCustomCertsType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https_auto_cert"
            ]
          },
          "https_auto_cert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_loadbalancerCDNHTTPSAutoCertsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for https auto cert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https"
            ]
          },
          "js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "jwt_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafJWTValidation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for jwt validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "l7_ddos_action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_default",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_default"
            ]
          },
          "no_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "policy_based_challenge"
            ]
          },
          "no_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "origin_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerCdnOriginPoolType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for origin pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "other_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscdn_loadbalancerOtherSettings"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for other settings.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "policy_based_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafPolicyBasedChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for policy based challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "no_challenge"
            ]
          },
          "protected_cookies": {
            "type": "array",
            "description": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.\nCookie Tampering Protection prevents attackers from modifying the value of session cookies.\nFor Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.\nThe configured mode of WAF (monitoring or blocking) will be enforced on the request when cookie tampering is identified.\nNote: We recommend enabling Secure and HttpOnly attributes along with cookie tampering protection.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaCookieManipulationOptionType"
            },
            "x-displayname": "Cookie Protection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.",
            "x-f5xc-description-medium": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses. Cookie Tampering Protection prevents attackers from modifying the value of session cookies. For Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafRateLimitConfigType"
              }
            ],
            "x-f5xc-example": "{\"requests_per_second\": 100}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "disable_rate_limit"
            ]
          },
          "sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securitySensitiveDataPolicySettings"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_sensitive_data_policy"
            ]
          },
          "service_policies_from_namespace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "no_service_policies"
            ]
          },
          "slow_ddos_mitigation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostSlowDDoSMitigation"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "system_default_timeouts"
            ]
          },
          "system_default_timeouts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for system default timeouts.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "slow_ddos_mitigation"
            ]
          },
          "trusted_clients": {
            "type": "array",
            "description": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc. For clients.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Trusted Client Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc.",
            "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
            }
          },
          "user_id_client_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_identification"
            ]
          },
          "user_identification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for user identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_id_client_ip"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "user_identification",
                "gated_by": {
                  "choice": "user_id_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "waf_exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafWafExclusion"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for waf exclusion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the CDN loadbalancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscdn_loadbalancerReplaceSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "domains:\n- value"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscommon_cache_ruleDefaultCacheAction": {
        "type": "object",
        "description": "This defines a Default Cache Action.",
        "title": "Default Cache Action",
        "x-displayname": "Default Cache Behaviour.",
        "x-ves-oneof-field-cache_actions": "[\"cache_disabled\",\"cache_ttl_default\",\"cache_ttl_override\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_cache_rule.DefaultCacheAction",
        "properties": {
          "cache_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cache_ttl_default",
              "cache_ttl_override"
            ]
          },
          "cache_ttl_default": {
            "type": "string",
            "description": "Exclusive with [cache_disabled cache_ttl_override]\nUse Cache TTL Provided by Origin, and set a contigency TTL value in case one is not provided.",
            "title": "Use Cache TTL Provided by Origin",
            "x-displayname": "Fallback Cache TTL (d/ h/ m)",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-description-short": "Exclusive with [cache_disabled cache_ttl_override] Use Cache TTL Provided by Origin, and set a contigency TTL value in case one is not provided.",
            "x-f5xc-description-medium": "Exclusive with [cache_disabled cache_ttl_override] Use Cache TTL Provided by Origin, and set a contigency TTL value in case one is not 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-f5xc-conflicts-with": [
              "cache_disabled",
              "cache_ttl_override"
            ]
          },
          "cache_ttl_override": {
            "type": "string",
            "description": "Exclusive with [cache_disabled cache_ttl_default]\nAlways override the Cache TTL provided by Origin.",
            "title": "Override Cache TTL Provided by Origin",
            "x-displayname": "Override Cache TTL (d/ h/ m/ s)",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-description-short": "Exclusive with [cache_disabled cache_ttl_default] Always override the Cache TTL provided by Origin.",
            "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": [
              "cache_disabled",
              "cache_ttl_default"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscommon_cache_ruleDefaultCacheAction",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscommon_cdnCDNLoadbalancerDeploymentStatus": {
        "type": "string",
        "description": "Deployment status\n\n- CDN_LB_STATUS_FAILED: x-displayname: \"Failed\"",
        "title": "CDN LoadBalancer Deployment status",
        "enum": [
          "CDN_LB_STATUS_CREATED",
          "CDN_LB_STATUS_DEPLOYING",
          "CDN_LB_STATUS_DEPLOY_FAILED",
          "CDN_LB_STATUS_DEPLOYED",
          "CDN_LB_STATUS_FAILED"
        ],
        "default": "CDN_LB_STATUS_CREATED",
        "x-displayname": "CDN LoadBalancer Deployment status.",
        "x-ves-proto-enum": "ves.io.schema.views.common_cdn.CDNLoadbalancerDeploymentStatus",
        "x-f5xc-description-short": "Deployment status - CDN_LB_STATUS_FAILED: x-displayname: \"Failed\".",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscommon_cdnCDNLoadbalancerDeploymentStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CDN_LB_STATUS_CREATED\"",
          "example_yaml": "CDN_LB_STATUS_CREATED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscommon_cdnCDNSiteDeploymentStatus": {
        "type": "string",
        "title": "CDNSiteDeploymentStatus",
        "enum": [
          "DEPLOYMENT_STATUS_NOT_DEPLOYED",
          "DEPLOYMENT_STATUS_DEPLOYING",
          "DEPLOYMENT_STATUS_DEPLOY_FAILED",
          "DEPLOYMENT_STATUS_DEPLOYED"
        ],
        "default": "DEPLOYMENT_STATUS_NOT_DEPLOYED",
        "x-displayname": "CDN LoadBalancer Site Deployment status.",
        "x-ves-proto-enum": "ves.io.schema.views.common_cdn.CDNSiteDeploymentStatus",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscommon_cdnCDNSiteDeploymentStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"DEPLOYMENT_STATUS_NOT_DEPLOYED\"",
          "example_yaml": "DEPLOYMENT_STATUS_NOT_DEPLOYED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscommon_securityJavaScriptLocation": {
        "type": "string",
        "description": "All inside networks.\n\nInsert JavaScript after <HEAD> tag\nInsert JavaScript after </title> tag.\nInsert JavaScript before first tag.",
        "title": "JavaScriptLocation",
        "enum": [
          "AFTER_HEAD",
          "AFTER_TITLE_END",
          "BEFORE_SCRIPT"
        ],
        "default": "AFTER_HEAD",
        "x-displayname": "JavaScript Location.",
        "x-ves-proto-enum": "ves.io.schema.views.common_security.JavaScriptLocation",
        "x-f5xc-description-short": "All inside networks. Insert JavaScript after <HEAD> tag Insert JavaScript after </title> tag.",
        "x-f5xc-description-medium": "All inside networks. Insert JavaScript after <HEAD> tag Insert JavaScript after </title> tag. Insert JavaScript before first tag.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscommon_securityJavaScriptLocation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"AFTER_HEAD\"",
          "example_yaml": "AFTER_HEAD\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscommon_wafDomainConfiguration": {
        "type": "object",
        "description": "The DomainConfiguration message.",
        "title": "Configured API Domains",
        "x-displayname": "Crawler Details.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.DomainConfiguration",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Select the domain to execute API Crawling with given credentials.",
            "title": "Custom domain to crawl",
            "maxLength": 256,
            "x-displayname": "Domain",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Select the domain to execute API Crawling with given credentials.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "fqdn",
              "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
            },
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "simple_login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafSimpleLogin"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for simple login.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscommon_wafDomainConfiguration",
          "required_fields": [
            "domain"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domain\": \"example.com\"\n}",
          "example_yaml": "domain: example.com"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscommon_wafIPThreatCategoryListType": {
        "type": "object",
        "description": "List of IP threat categories.",
        "title": "IP Threat Category List Type",
        "x-displayname": "IP Threat Category List.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.IPThreatCategoryListType",
        "properties": {
          "ip_threat_categories": {
            "type": "array",
            "description": "If the source IP matches on atleast one of the enabled IP threat categories, the request will be denied.",
            "title": "IP Threat Categories",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/policyIPThreatCategory"
            },
            "x-displayname": "List of IP Threat Categories to choose.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "If the source IP matches on atleast one of the enabled IP threat categories, the request will be denied.",
            "x-f5xc-description-medium": "If the source IP matches on atleast one of the enabled IP threat categories, the request will be denied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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 viewscommon_wafIPThreatCategoryListType",
          "required_fields": [
            "ip_threat_categories"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ip_threat_categories\": [\n    \"SPAM_SOURCES\"\n  ]\n}",
          "example_yaml": "ip_threat_categories:\n- SPAM_SOURCES"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewscommon_wafPolicyBasedChallenge": {
        "type": "object",
        "description": "Specifies the settings for policy rule based challenge.",
        "title": "policy based challenge",
        "x-displayname": "Policy Based Challenge.",
        "x-ves-oneof-field-captcha_challenge_parameters_choice": "[\"captcha_challenge_parameters\",\"default_captcha_challenge_parameters\"]",
        "x-ves-oneof-field-challenge_choice": "[\"always_enable_captcha_challenge\",\"always_enable_js_challenge\",\"no_challenge\"]",
        "x-ves-oneof-field-js_challenge_parameters_choice": "[\"default_js_challenge_parameters\",\"js_challenge_parameters\"]",
        "x-ves-oneof-field-malicious_user_mitigation_choice": "[\"default_mitigation_settings\",\"malicious_user_mitigation\"]",
        "x-ves-oneof-field-temporary_blocking_parameters_choice": "[\"default_temporary_blocking_parameters\",\"temporary_user_blocking\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.PolicyBasedChallenge",
        "properties": {
          "always_enable_captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for always enable captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "always_enable_js_challenge",
              "no_challenge"
            ]
          },
          "always_enable_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for always enable js challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "always_enable_captcha_challenge",
              "no_challenge"
            ]
          },
          "captcha_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_captcha_challenge_parameters"
            ]
          },
          "default_captcha_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default captcha challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge_parameters"
            ]
          },
          "default_js_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default js challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "js_challenge_parameters"
            ]
          },
          "default_mitigation_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "malicious_user_mitigation"
            ]
          },
          "default_temporary_blocking_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "temporary_user_blocking"
            ]
          },
          "js_challenge_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_js_challenge_parameters"
            ]
          },
          "malicious_user_mitigation": {
            "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-conflicts-with": [
              "default_mitigation_settings"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "malicious_user_mitigation",
                "field_path": "malicious_user_mitigation",
                "gated_by": {
                  "choice": "malicious_user_mitigation_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "no_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "always_enable_captcha_challenge",
              "always_enable_js_challenge"
            ]
          },
          "rule_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafChallengeRuleList"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "temporary_user_blocking": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostTemporaryUserBlockingType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_temporary_blocking_parameters"
            ]
          }
        },
        "x-f5xc-description-short": "Specifies the settings for policy rule based challenge.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewscommon_wafPolicyBasedChallenge",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "virtual_hostAutoCertInfoType": {
        "type": "object",
        "description": "Information related to auto certificate.",
        "title": "AutoCertInfoType",
        "x-displayname": "Auto Cert Information.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.AutoCertInfoType",
        "properties": {
          "auto_cert_expiry": {
            "type": "string",
            "description": "Auto certificate expiry timestamp.",
            "title": "Auto Cert Expiry Timestamp",
            "format": "date-time",
            "x-displayname": "Auto Cert Expiry Timestamp.",
            "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
            }
          },
          "auto_cert_issuer": {
            "type": "string",
            "description": "Issuer of the auto certificate.",
            "title": "Auto Cert Issuer",
            "x-displayname": "Auto Cert Issuer.",
            "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
            }
          },
          "auto_cert_state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCertificationState"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for auto cert state.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "auto_cert_subject": {
            "type": "string",
            "description": "Subject of the auto certificate.",
            "title": "Auto Cert Subject",
            "x-displayname": "Auto Cert Subject.",
            "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
            }
          },
          "dns_records": {
            "type": "array",
            "description": "DNS Records that are to be added by user in their DNS domain.\nCurrently, this will be populated when auto certificates are\ndesired but DNS delegation is not enabled.",
            "title": "DNS Records",
            "items": {
              "$ref": "#/components/schemas/virtual_hostDNSRecord"
            },
            "x-displayname": "DNS Records.",
            "x-f5xc-description-short": "DNS Records that are to be added by user in their DNS domain.",
            "x-f5xc-description-medium": "DNS Records that are to be added by user in their DNS domain. Currently, this will be populated when auto certificates are desired but DNS delegation is not enabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Information related to auto certificate.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostAutoCertInfoType",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostCaptchaChallengeType": {
        "type": "object",
        "description": "Enables loadbalancer to perform captcha challenge\n\nCaptcha challenge will be based on Google Recaptcha.\n\nWith this feature enabled, only clients that pass the captcha challenge will be allowed to\ncomplete the HTTP request.\n\nWhen loadbalancer is configured to do Captcha Challenge, it will redirect the browser to an\nHTML page on every new HTTP request. This HTML page will have captcha challenge embedded in it.\nClient will be allowed to make the request only if the captcha challenge is successful.\nLoadbalancer will tag response header with a cookie to avoid Captcha challenge for subsequent requests.\n\nCAPTCHA is mainly used as a security check to ensure only human users can pass through.\nGenerally, computers or bots are not capable of solving a captcha.\n\nYou can enable either Javascript challenge or Captcha challenge on a virtual host.",
        "title": "CaptchaChallengeType",
        "x-displayname": "Captcha Challenge Parameters.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.CaptchaChallengeType",
        "properties": {
          "cookie_expiry": {
            "type": "integer",
            "description": "Cookie expiration period, in seconds.\nAn expired cookie causes the loadbalancer to issue a new challenge.",
            "title": "cookie_expiry",
            "format": "int64",
            "x-displayname": "Cookie Expiration Period.",
            "x-ves-example": "1000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "86400"
            },
            "x-f5xc-example": "1000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "86400"
            },
            "x-f5xc-description-short": "Cookie expiration period, in seconds. An expired cookie causes the loadbalancer to issue a new challenge.",
            "x-f5xc-description-medium": "Cookie expiration period, in seconds. An expired cookie causes the loadbalancer to issue a new challenge.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 86400,
              "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
            }
          },
          "custom_page": {
            "type": "string",
            "description": "Custom message is of type uri_ref. Currently supported URL schemes is string:///.\nFor string:/// scheme, message needs to be encoded in Base64 format.\nYou can specify this message as base64 encoded plain text message e.g. \"Please Wait..\"\nor it can be HTML paragraph or a body string encoded as base64 string\nE.g. \"<p> Please Wait </p>\". Base64 encoded string for this HTML is \"PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"",
            "title": "custom_page",
            "maxLength": 65536,
            "x-displayname": "Custom message for Captcha Challenge.",
            "x-ves-example": "String:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-example": "string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Custom message is of type uri_ref. Currently supported URL schemes is string:///.",
            "x-f5xc-description-medium": "Custom message is of type uri_ref. Currently supported URL schemes is string:///. For string:/// scheme, message needs to be encoded in Base64 format.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 65536,
              "format": "uri",
              "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": "Enables loadbalancer to perform captcha challenge Captcha challenge will be based on Google Recaptcha.",
        "x-f5xc-description-medium": "Enables loadbalancer to perform captcha challenge Captcha challenge will be based on Google Recaptcha. With this feature enabled, only clients that pass the captcha challenge will be allowed to complete the HTTP request. When loadbalancer is configured to do Captcha Challenge, it will redirect...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostCaptchaChallengeType",
          "required_fields": [
            "cookie_expiry"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cookie_expiry\": 1\n}",
          "example_yaml": "cookie_expiry: 1"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostCertificationState": {
        "type": "string",
        "description": "State of auto certification generation for the virtual host\n\n- AutoCertDisabled: Auto Cert Disabled\n\nAuto Certification is disabled.\n- DnsDomainVerification: DNS Domain Verification\n\nAuto Certification is waiting for domain verification.\n- AutoCertStarted: Auto Cert Started\n\nAuto Certificate generation action has started.\n- PreDomainChallengePending: Pre Domain Challenge Pending\n\nThe domains in the virtual host configuration are not still verified. This requires\nthe _acme-challenge TXT record in the domain to have the correct TXT.\n- DomainChallengeStarted: Domain Challenge Started\n\nDomain challenge process started.\n- DomainChallengePending: Domain Challenge Pending\n\nThe domains in the virtual host configuration are being verified. This requires\nthe _acme-challenge TXT record in the domain to have the correct TXT.\n- DomainChallengeVerified: Domain Challenge Verified\n\nAll the domains in the virtual host have been verified.\n- AutoCertFinalize: Auto Cert Finalize\n\nCertificate generation order is Ready and Finalized.\n- CertificateInvalid: Certificate Invalid\n\nCertificate is invalid\n- CertificateValid: Certificate Valid\n\nValid certificate generated and tls_parameters are updated\n- AutoCertNotApplicable: Auto Cert Not Applicable\n\nAuto certificate not applicable because virtual host does not use TLS\n- AutoCertRateLimited: Auto Cert Rate Limited\n\nAuto certificate not available because CA has rate limited the request\n- AutoCertGenerationRetry: Auto Cert Generation Retry\n\nAuto certificate generate failed in the previous attempt, will be retried automatically\n- AutoCertError: Auto Cert Error\n\nError in Certificate generation\nDefault State for Vhost State with Auto Certificate\n- AutoCertAccountRateLimited: Auto Cert Account Rate Limited\n\nAuto certificate not available because CA has rate limited the request\n- AutoCertDomainRateLimited: Auto Cert Domain Rate Limited\n\nAuto certificate not available because CA has rate limited the request\n- CertificateExpired: Certificate Expired\n\nCertificate has expired.",
        "title": "Certification State",
        "enum": [
          "AutoCertDisabled",
          "DnsDomainVerification",
          "AutoCertStarted",
          "DomainChallengePending",
          "DomainChallengeVerified",
          "AutoCertFinalize",
          "CertificateInvalid",
          "CertificateValid",
          "AutoCertNotApplicable",
          "AutoCertRateLimited",
          "AutoCertGenerationRetry",
          "AutoCertError",
          "PreDomainChallengePending",
          "DomainChallengeStarted",
          "AutoCertInitialize",
          "AutoCertAccountRateLimited",
          "AutoCertDomainRateLimited",
          "CertificateExpired"
        ],
        "default": "AutoCertDisabled",
        "x-displayname": "Certification State.",
        "x-ves-proto-enum": "ves.io.schema.virtual_host.CertificationState",
        "x-f5xc-description-short": "State of auto certification generation for the virtual host - AutoCertDisabled: Auto Cert Disabled Auto Certification is disabled. ...",
        "x-f5xc-description-medium": "State of auto certification generation for the virtual host - AutoCertDisabled: Auto Cert Disabled Auto Certification is disabled. - DnsDomainVerification: DNS Domain Verification Auto Certification is waiting for domain verification. - AutoCertStarted: Auto Cert Started Auto Certificate...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostCertificationState",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"AutoCertDisabled\"",
          "example_yaml": "AutoCertDisabled\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostDNSRecord": {
        "type": "object",
        "description": "Defines a DNS record.",
        "title": "DNSRecord",
        "x-displayname": "DNS Record.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.DNSRecord",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the DNS record.",
            "title": "Name",
            "x-displayname": "Name",
            "x-f5xc-example": "example-resource",
            "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])?$"
          },
          "type": {
            "type": "string",
            "description": "Type of the DNS record.",
            "title": "Type",
            "x-displayname": "Type",
            "x-ves-example": "CNAME",
            "x-f5xc-example": "CNAME",
            "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": "DNS record Value.",
            "title": "Value",
            "x-displayname": "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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostDNSRecord",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostDNSVHostStatusType": {
        "type": "object",
        "description": "DNS related Virtual Host status.",
        "title": "DNS Virtual Host Status Type",
        "x-displayname": "DNS Virtual Host Status.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.DNSVHostStatusType",
        "properties": {
          "error_description": {
            "type": "string",
            "description": "Description of error during DNS configuration.",
            "title": "Error Description",
            "x-displayname": "Error Description.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Description of error during DNS configuration.",
            "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
            }
          },
          "existing_certificate_state": {
            "type": "string",
            "description": "Status of Existing Auto Certificate.",
            "title": "Existing Certificate Status",
            "x-displayname": "Existing Certificate Status.",
            "x-ves-example": "Certificate Valid or Certificate Expired or Certificate Invalid.",
            "x-f5xc-example": "Certificate Valid or Certificate Expired or Certificate Invalid",
            "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
            }
          },
          "renew_certificate_state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCertificationState"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for renew certificate state.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostVirtualHostState"
              }
            ],
            "x-f5xc-example": "running",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "suggested_action": {
            "type": "string",
            "description": "Suggested action for customer on error.",
            "title": "Suggested Action",
            "x-displayname": "Suggested Action.",
            "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-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostDNSVHostStatusType",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostJavascriptChallengeType": {
        "type": "object",
        "description": "Enables loadbalancer to perform client browser compatibility test by redirecting to a page\nwith Javascript.\n\nWith this feature enabled, only clients that are capable of executing Javascript(mostly browsers)\nwill be allowed to complete the HTTP request.\n\nWhen loadbalancer is configured to do Javascript Challenge, it will redirect the browser to an\nHTML page on every new HTTP request. This HTML page will have Javascript embedded in it.\nLoadbalancer chooses a set of random numbers for every new client and sends these numbers along with an\nencrypted answer with the request such that it embed these numbers as input in the Javascript.\nJavascript will run on the requester browser and perform a complex Math operation.\nScript will submit the answer to loadbalancer. Loadbalancer will validate the answer by comparing the calculated\nanswer with the decrypted answer (which was encrypted when it was sent back as reply) and allow\nthe request to the upstream server only if the answer is correct.\nLoadbalancer will tag response header with a cookie to avoid Javascript challenge for subsequent requests.\n\nJavascript challenge serves following purposes\n * Validate that the request is coming via a browser that is capable for running Javascript\n * Force the browser to run a complex operation, f(X), that requires it to spend a large number\nof CPU cycles. This is to slow down a potential DoS attacker by making it difficult to launch\na large request flood without having to spend even larger CPU cost at their end.\n\nYou can enable either Javascript challenge or Captcha challenge on a virtual host.",
        "title": "JavascriptChallengeType",
        "x-displayname": "Javascript Challenge Parameters.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.JavascriptChallengeType",
        "properties": {
          "cookie_expiry": {
            "type": "integer",
            "description": "Cookie expiration period, in seconds.\nAn expired cookie causes the loadbalancer to issue a new challenge.",
            "title": "cookie_expiry",
            "format": "int64",
            "x-displayname": "Cookie Expiration Period.",
            "x-ves-example": "1000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "86400"
            },
            "x-f5xc-example": "1000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "86400"
            },
            "x-f5xc-description-short": "Cookie expiration period, in seconds. An expired cookie causes the loadbalancer to issue a new challenge.",
            "x-f5xc-description-medium": "Cookie expiration period, in seconds. An expired cookie causes the loadbalancer to issue a new challenge.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 86400,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "source": "minimum_configs",
              "description": "JS challenge cookie expiry in seconds (min 1)"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "custom_page": {
            "type": "string",
            "description": "Custom message is of type uri_ref. Currently supported URL schemes is string:///.\nFor string:/// scheme, message needs to be encoded in Base64 format.\nYou can specify this message as base64 encoded plain text message e.g. \"Please Wait..\"\nor it can be HTML paragraph or a body string encoded as base64 string\nE.g. \"<p> Please Wait </p>\". Base64 encoded string for this HTML is \"PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"",
            "title": "custom_page",
            "maxLength": 65536,
            "x-displayname": "Custom Message for Javascript Challenge.",
            "x-ves-example": "String:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-example": "string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Custom message is of type uri_ref. Currently supported URL schemes is string:///.",
            "x-f5xc-description-medium": "Custom message is of type uri_ref. Currently supported URL schemes is string:///. For string:/// scheme, message needs to be encoded in Base64 format.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 65536,
              "format": "uri",
              "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
            }
          },
          "js_script_delay": {
            "type": "integer",
            "description": "Delay introduced by Javascript, in milliseconds.",
            "title": "js_script_delay",
            "format": "int64",
            "x-displayname": "Javascript Delay.",
            "x-ves-example": "1000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1000",
              "ves.io.schema.rules.uint32.lte": "60000"
            },
            "x-f5xc-example": "1000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1000",
              "ves.io.schema.rules.uint32.lte": "60000"
            },
            "x-f5xc-description-short": "Delay introduced by Javascript, in milliseconds.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1000,
              "maximum": 60000,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "source": "minimum_configs",
              "description": "JS challenge script delay in milliseconds (min 1000)"
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Enables loadbalancer to perform client browser compatibility test by redirecting to a page with Javascript.",
        "x-f5xc-description-medium": "Enables loadbalancer to perform client browser compatibility test by redirecting to a page with Javascript. With this feature enabled, only clients that are capable of executing Javascript(mostly browsers) will be allowed to complete the HTTP request. When loadbalancer is configured to do...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostJavascriptChallengeType",
          "required_fields": [
            "cookie_expiry",
            "js_script_delay"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cookie_expiry\": 1,\n  \"js_script_delay\": 1000\n}",
          "example_yaml": "cookie_expiry: 1\njs_script_delay: 1000"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostServiceDomain": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.virtual_host.ServiceDomain",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Domain Name.",
            "title": "Domain Name",
            "x-displayname": "Domain Name.",
            "x-ves-example": "cdn.example.com.",
            "x-f5xc-example": "cdn.example.com",
            "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": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "service_domain": {
            "type": "string",
            "description": "Service Domain.",
            "title": "Service Domain",
            "x-displayname": "Service Domain.",
            "x-ves-example": "VES-I/o-cdn-cdn-example-com.demo1.ac.vh.F5 Distributed cloud.us.",
            "x-f5xc-example": "ves-io-cdn-cdn-example-com.demo1.ac.vh.F5 Distributed cloud.us",
            "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 virtual_hostServiceDomain",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostSlowDDoSMitigation": {
        "type": "object",
        "description": "\"Slow and low\" attacks tie up server resources, leaving none available for servicing\nrequests from actual users.",
        "title": "Slow DDoS Mitigation",
        "x-displayname": "Slow DDoS Mitigation.",
        "x-ves-oneof-field-request_timeout_choice": "[\"disable_request_timeout\",\"request_timeout\"]",
        "x-ves-proto-message": "ves.io.schema.virtual_host.SlowDDoSMitigation",
        "properties": {
          "disable_request_timeout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable request timeout.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "request_timeout"
            ]
          },
          "request_headers_timeout": {
            "type": "integer",
            "description": "The amount of time the client has to send only the headers on the request stream before\nthe stream is cancelled. The default value is 10000 milliseconds. This setting\nprovides protection against Slowloris attacks.",
            "title": "Request Headers Timeout",
            "format": "int64",
            "x-displayname": "Request Headers Timeout.",
            "x-ves-example": "60000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "2000",
              "ves.io.schema.rules.uint32.lte": "30000"
            },
            "x-f5xc-example": "60000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "2000",
              "ves.io.schema.rules.uint32.lte": "30000"
            },
            "x-f5xc-description-short": "The amount of time the client has to send only the headers on the request stream before the stream is cancelled.",
            "x-f5xc-description-medium": "The amount of time the client has to send only the headers on the request stream before the stream is cancelled. The default value is 10000 milliseconds. This setting provides protection against Slowloris attacks.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 2000,
              "maximum": 30000,
              "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
            }
          },
          "request_timeout": {
            "type": "integer",
            "description": "Exclusive with [disable_request_timeout]",
            "title": "Custom Timeout",
            "format": "int64",
            "x-displayname": "Custom Timeout.",
            "x-ves-example": "60000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "2000",
              "ves.io.schema.rules.uint32.lte": "300000"
            },
            "x-f5xc-example": "60000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "2000",
              "ves.io.schema.rules.uint32.lte": "300000"
            },
            "x-f5xc-description-short": "Exclusive with [disable_request_timeout].",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 2000,
              "maximum": 300000,
              "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-conflicts-with": [
              "disable_request_timeout"
            ]
          }
        },
        "x-f5xc-description-short": "\"Slow and low\" attacks tie up server resources, leaving none available for servicing requests from actual users.",
        "x-f5xc-description-medium": "\"Slow and low\" attacks tie up server resources, leaving none available for servicing requests from actual users.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostSlowDDoSMitigation",
          "required_fields": [
            "request_headers_timeout"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"request_headers_timeout\": 2000\n}",
          "example_yaml": "request_headers_timeout: 2000"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostTemporaryUserBlockingType": {
        "type": "object",
        "description": "Specifies configuration for temporary user blocking resulting from user behavior analysis.\n\nWhen Malicious User Mitigation is enabled from service policy rules, users' accessing the application will be analyzed for\nmalicious activity and the configured mitigation actions will be taken on identified malicious users.\nThese mitigation actions include setting up temporary blocking on that user.\nThis configuration specifies settings on how that blocking should be done by the loadbalancer.",
        "title": "TemporaryUserBlockingType",
        "x-displayname": "Temporary User Blocking.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.TemporaryUserBlockingType",
        "properties": {
          "custom_page": {
            "type": "string",
            "description": "Custom message is of type `uri_ref`. Currently supported URL schemes is `string:///`.\nFor `string:///` scheme, message needs to be encoded in Base64 format.\nYou can specify this message as base64 encoded plain text message e.g. \"Blocked..\"\nor it can be HTML paragraph or a body string encoded as base64 string\nE.g. \"<p> Blocked </p>\". Base64 encoded string for this HTML is \"PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"",
            "title": "custom_page",
            "maxLength": 65536,
            "x-displayname": "Custom Message for Temporary Blocking.",
            "x-ves-example": "String:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-example": "string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Custom message is of type . Currently supported URL schemes is .",
            "x-f5xc-description-medium": "Custom message is of type . Currently supported URL schemes is . For scheme, message needs to be encoded in Base64 format. You can specify this message as base64 encoded plain text message e.g. \"Blocked..\" or it can be HTML paragraph or a body string encoded as base64 string E.g. \"<p> Blocked...",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 65536,
              "format": "uri",
              "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": "Specifies configuration for temporary user blocking resulting from user behavior analysis.",
        "x-f5xc-description-medium": "Specifies configuration for temporary user blocking resulting from user behavior analysis. When Malicious User Mitigation is enabled from service policy rules, users' accessing the application will be analyzed for malicious activity and the configured mitigation actions will be taken on...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostTemporaryUserBlockingType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostVirtualHostState": {
        "type": "string",
        "description": "State of the virtual host\n\n- VIRTUAL_HOST_READY: VIRTUAL_HOST_READY\n\nVirtual host is ready to install\n- VIRTUAL_HOST_PENDING_VERIFICATION: VIRTUAL_HOST_PENDING_VERIFICATION\n\nVirtual host is verification pending for some or all of its domains\n- VIRTUAL_HOST_VERIFICATION_FAILED: VIRTUAL_HOST_VERIFICATION_FAILED\n\nVirtual host has one or more domains for which verification failed\n- VIRTUAL_HOST_PENDING_DNS_DELEGATION: VIRTUAL_HOST_PENDING_DNS_DELEGATION\n\nVirtual host is pending DNS delegation\n- VIRTUAL_HOST_PENDING_A_RECORD: VIRTUAL_HOST_PENDING_A_RECORD\n\nVirtual host is waiting for one or more A records to be created\n- VIRTUAL_HOST_DNS_A_RECORD_ADDED: VIRTUAL_HOST_DNS_A_RECORD_ADDED\n\nDNS A record has been added for this Virtual host\n- VIRTUAL_HOST_INTERNET_NLB_PENDING_CREATION: VIRTUAL_HOST_INTERNET_NLB_PENDING_CREATION\n\nInternet facing NLB, is being created on the site/sites belonging to the virtual site\n- VIRTUAL_HOST_INTERNET_NLB_CREATION_FAILED: VIRTUAL_HOST_INTERNET_NLB_CREATION_FAILED\n\nInternet NLB creation failed on the site/sites. InternetNLBVIPStatus will have more information.",
        "title": "VirtualHostState",
        "enum": [
          "VIRTUAL_HOST_READY",
          "VIRTUAL_HOST_PENDING_VERIFICATION",
          "VIRTUAL_HOST_VERIFICATION_FAILED",
          "VIRTUAL_HOST_PENDING_DNS_DELEGATION",
          "VIRTUAL_HOST_PENDING_A_RECORD",
          "VIRTUAL_HOST_DNS_A_RECORD_ADDED",
          "VIRTUAL_HOST_INTERNET_NLB_PENDING_CREATION",
          "VIRTUAL_HOST_INTERNET_NLB_CREATION_FAILED"
        ],
        "default": "VIRTUAL_HOST_READY",
        "x-displayname": "Virtual Host State.",
        "x-ves-proto-enum": "ves.io.schema.virtual_host.VirtualHostState",
        "x-f5xc-description-short": "State of the virtual host - VIRTUAL_HOST_READY: VIRTUAL_HOST_READY Virtual host is ready to install - VIRTUAL_HOST_PENDING_VERIFICATION...",
        "x-f5xc-description-medium": "State of the virtual host - VIRTUAL_HOST_READY: VIRTUAL_HOST_READY Virtual host is ready to install - VIRTUAL_HOST_PENDING_VERIFICATION: VIRTUAL_HOST_PENDING_VERIFICATION Virtual host is verification pending for some or all of its domains - VIRTUAL_HOST_VERIFICATION_FAILED...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostVirtualHostState",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"VIRTUAL_HOST_READY\"",
          "example_yaml": "VIRTUAL_HOST_READY\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_host_dns_infoDnsInfo": {
        "type": "object",
        "description": "A message that contains DNS information for a given IP address.",
        "title": "DNS information",
        "x-displayname": "DNS Information.",
        "x-ves-proto-message": "ves.io.schema.virtual_host_dns_info.DnsInfo",
        "properties": {
          "ip_address": {
            "type": "string",
            "description": "IP address associated with virtual host.",
            "title": "IP address",
            "x-displayname": "IP Address.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "x-f5xc-example": "192.0.2.1",
            "x-f5xc-description-short": "IP address associated with virtual host.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 7,
              "pattern": "^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$",
              "format": "ip",
              "formatDescription": "IPv4 dotted-decimal notation (e.g., 192.168.1.1)",
              "metadata": {
                "source": "discovery",
                "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-description-short": "Message that contains DNS information for a given IP address.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_host_dns_infoDnsInfo",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "cdn_purge_commandCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of cdn_purge_command",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.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/schemacdn_purge_commandCreateSpecType"
              }
            ],
            "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 cdn_purge_commandCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_purge_commandCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.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/schemacdn_purge_commandGetSpecType"
              }
            ],
            "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 cdn_purge_commandCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_purge_commandDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a cdn_purge_command",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.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 cdn_purge_commandDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_purge_commandGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read cdn_purge_command",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_purge_commandCreateRequest"
              }
            ],
            "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
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemacdn_purge_commandGetSpecType"
              }
            ],
            "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/cdn_purge_commandStatusObject"
            },
            "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 cdn_purge_commandGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_purge_commandListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of cdn_purge_command",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.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/cdn_purge_commandListResponseItem"
            },
            "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 cdn_purge_commandListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_purge_commandListResponseItem": {
        "type": "object",
        "description": "By default a summary of cdn_purge_command 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 cdn_purge_command",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this cdn_purge_command.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this cdn_purge_command.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this cdn_purge_command.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this cdn_purge_command.",
            "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 cdn_purge_command is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates cdn_purge_command is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemacdn_purge_commandGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this cdn_purge_command.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this cdn_purge_command.",
            "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 cdn_purge_command.",
            "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/cdn_purge_commandStatusObject"
            },
            "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 cdn_purge_command.",
            "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 cdn_purge_command.",
            "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 cdn_purge_command 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 cdn_purge_command 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 cdn_purge_commandListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_purge_commandPurgeStatus": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.PurgeStatus",
        "properties": {
          "bytes_not_purged": {
            "type": "string",
            "description": "Number of bytes Not Purged.",
            "title": "Number of Bytes Not Purged",
            "format": "uint64",
            "x-displayname": "Number of Bytes Not Purged.",
            "x-f5xc-example": "1024",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "bytes_purged": {
            "type": "string",
            "description": "Number of bytes Purged.",
            "title": "Number of Bytes Purged",
            "format": "uint64",
            "x-displayname": "Number of Bytes Purged.",
            "x-f5xc-example": "1024",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "uint64",
              "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
            }
          },
          "finish_time": {
            "type": "string",
            "description": "Finish time of Purge Operation\nformat: unix_timestamp|RFC 3339.",
            "title": "Finish time of Purge Operation",
            "x-displayname": "Cache Purge Finish Time.",
            "x-ves-example": "2019-09-23T12:32:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-23T12:32:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Finish time of Purge Operation format: unix_timestamp|RFC 3339.",
            "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
            }
          },
          "hard_purge": {
            "type": "boolean",
            "description": "Cache Hard Purge.",
            "title": "Hard Purge",
            "format": "boolean",
            "x-displayname": "Cache Hard Purge.",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "node": {
            "type": "string",
            "description": "Node on which purge was performed.",
            "title": "Node on which purge was performed",
            "x-displayname": "CDN Node",
            "x-ves-example": "Dev-edge2-0.",
            "x-f5xc-example": "dev-edge2-0",
            "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
            }
          },
          "purge_time": {
            "type": "string",
            "description": "Time taken for Cache Purge.",
            "title": "Time taken for Cache Purge",
            "x-displayname": "Cache Purge Time.",
            "x-ves-example": "2018-12-23T12:30:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2018-12-23T12:30:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "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
            }
          },
          "regexp": {
            "type": "string",
            "description": "Regex issued in the Purge Operation.",
            "title": "Regex used in Purge",
            "x-displayname": "Cache Purge Regex.",
            "x-ves-example": "abc.png",
            "x-f5xc-example": "abc.png",
            "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
            }
          },
          "site": {
            "type": "string",
            "description": "Site at which the purge operation was performed.",
            "x-displayname": "CDN CE Site.",
            "x-ves-example": "Sv10-sjc",
            "x-f5xc-example": "sv10-sjc",
            "x-f5xc-description-short": "Site at which the purge operation was performed.",
            "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 Purge Operation.",
            "title": "Start time of Purge Operation",
            "x-displayname": "Cache Purge Start Time.",
            "x-ves-example": "2019-09-23T12:30:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-23T12:30:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_purge_commandPurgeStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_purge_commandStatusObject": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "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": "Object reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Purge command object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "purge_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_purge_commandPurgeStatus"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_purge_commandStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemacdn_purge_commandCreateSpecType": {
        "type": "object",
        "description": "Shape of the CDN Purge Command specification.",
        "title": "CreateSpecType",
        "x-displayname": "Create CDN Cache Purge Command.",
        "x-ves-oneof-field-pattern_type": "[\"hostname\",\"pattern\",\"purge_all\",\"url_path\"]",
        "x-ves-oneof-field-purge_type": "[\"hard_purge\",\"soft_purge\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.CreateSpecType",
        "properties": {
          "hard_purge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "soft_purge"
            ]
          },
          "hostname": {
            "type": "string",
            "description": "Exclusive with [pattern purge_all url_path]\nPurge cached content by Hostname.",
            "x-displayname": "Hostname",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [pattern purge_all url_path] Purge cached content by Hostname.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "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": "discovery",
                "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
            },
            "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,
            "x-f5xc-conflicts-with": [
              "pattern",
              "purge_all",
              "url_path"
            ]
          },
          "pattern": {
            "type": "string",
            "description": "Exclusive with [hostname purge_all url_path]\nPurge cached content using PCRE 1 compliant regular expression.",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Pattern",
            "x-ves-example": "abc.png",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "abc.png",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [hostname purge_all url_path] Purge cached content using PCRE 1 compliant regular expression.",
            "x-f5xc-description-medium": "Exclusive with [hostname purge_all url_path] Purge cached content using PCRE 1 compliant regular expression.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "hostname",
              "purge_all",
              "url_path"
            ]
          },
          "purge_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hostname",
              "pattern",
              "url_path"
            ]
          },
          "soft_purge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hard_purge"
            ]
          },
          "url_path": {
            "type": "string",
            "description": "Exclusive with [hostname pattern purge_all]\nPurge cache by using a URL path.",
            "x-displayname": "URL Path",
            "x-ves-example": "/path1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true"
            },
            "x-f5xc-example": "/path1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true"
            },
            "x-f5xc-description-short": "Exclusive with [hostname pattern purge_all] Purge cache by using a URL path.",
            "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": [
              "hostname",
              "pattern",
              "purge_all"
            ]
          },
          "virtual_host": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_host",
                "field_path": "virtual_host",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Shape of the CDN Purge Command specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemacdn_purge_commandCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemacdn_purge_commandGetSpecType": {
        "type": "object",
        "description": "Shape of the CDN Purge Command specification.",
        "title": "GetSpecType",
        "x-displayname": "GET CDN Cache Purge Command.",
        "x-ves-oneof-field-pattern_type": "[\"hostname\",\"pattern\",\"purge_all\",\"url_path\"]",
        "x-ves-oneof-field-purge_type": "[\"hard_purge\",\"soft_purge\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_purge_command.GetSpecType",
        "properties": {
          "hard_purge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "soft_purge"
            ]
          },
          "hostname": {
            "type": "string",
            "description": "Exclusive with [pattern purge_all url_path]\nPurge cached content by Hostname.",
            "x-displayname": "Hostname",
            "x-ves-example": "xyz.com",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "xyz.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [pattern purge_all url_path] Purge cached content by Hostname.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "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": "discovery",
                "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
            },
            "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,
            "x-f5xc-conflicts-with": [
              "pattern",
              "purge_all",
              "url_path"
            ]
          },
          "pattern": {
            "type": "string",
            "description": "Exclusive with [hostname purge_all url_path]\nPurge cached content using PCRE 1 compliant regular expression.",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Pattern",
            "x-ves-example": "abc.png",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "abc.png",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [hostname purge_all url_path] Purge cached content using PCRE 1 compliant regular expression.",
            "x-f5xc-description-medium": "Exclusive with [hostname purge_all url_path] Purge cached content using PCRE 1 compliant regular expression.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "hostname",
              "purge_all",
              "url_path"
            ]
          },
          "purge_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hostname",
              "pattern",
              "url_path"
            ]
          },
          "soft_purge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "hard_purge"
            ]
          },
          "url_path": {
            "type": "string",
            "description": "Exclusive with [hostname pattern purge_all]\nPurge cache by using a URL path.",
            "x-displayname": "URL Path",
            "x-ves-example": "/path1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true"
            },
            "x-f5xc-example": "/path1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true"
            },
            "x-f5xc-description-short": "Exclusive with [hostname pattern purge_all] Purge cache by using a URL path.",
            "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": [
              "hostname",
              "pattern",
              "purge_all"
            ]
          },
          "virtual_host": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_host",
                "field_path": "virtual_host",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Shape of the CDN Purge Command specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemacdn_purge_commandGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCDNCacheRule": {
        "type": "object",
        "description": "This defines a CDN Cache Rule.",
        "title": "Cache Rule",
        "x-displayname": "Cache Rule.",
        "x-ves-displayorder": "1,2,3",
        "x-ves-oneof-field-cache_actions": "[\"cache_bypass\",\"eligible_for_cache\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CDNCacheRule",
        "properties": {
          "cache_bypass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cache bypass.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "eligible_for_cache"
            ]
          },
          "eligible_for_cache": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCacheEligibleOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for eligible for cache.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cache_bypass"
            ]
          },
          "rule_expression_list": {
            "type": "array",
            "description": "Expressions are evaluated in the order in which they are specified. The evaluation stops when the first rule match occurs..",
            "title": "Expression List",
            "minItems": 1,
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/cdn_cache_ruleCDNCacheRuleExpressionList"
            },
            "x-displayname": "Expressions.",
            "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-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Expressions are evaluated in the order in which they are specified. The evaluation stops when the first rule match occurs..",
            "x-f5xc-description-medium": "Expressions are evaluated in the order in which they are specified. The evaluation stops when the first rule match occurs..",
            "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
            }
          },
          "rule_name": {
            "type": "string",
            "description": "Name of the Cache Rule.",
            "title": "Rule Name",
            "maxLength": 128,
            "x-displayname": "Rule Name",
            "x-ves-example": "Rule-1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "Rule-1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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 cdn_cache_ruleCDNCacheRule",
          "required_fields": [
            "rule_expression_list",
            "rule_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"rule_expression_list\": [\n    {\n      \"cache_rule_expression\": [\n        {}\n      ],\n      \"expression_name\": \"Expression-1\"\n    }\n  ],\n  \"rule_name\": \"Rule-1\"\n}",
          "example_yaml": "rule_expression_list:\n- cache_rule_expression:\n  - {}\n  expression_name: Expression-1\nrule_name: Rule-1"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCDNCacheRuleExpression": {
        "type": "object",
        "description": "Select one of the field OPTIONS.",
        "title": "CDNCacheRuleExpression",
        "x-displayname": "Cache Rule Expression.",
        "x-ves-displayorder": "1,2,3,4",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CDNCacheRuleExpression",
        "properties": {
          "cache_headers": {
            "type": "array",
            "description": "Configure cache rule headers to match the criteria.",
            "title": "Cache Headers",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/cdn_cache_ruleCacheHeaderMatcherType"
            },
            "x-displayname": "Cache Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Configure cache rule headers to match the criteria.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "cookie_matcher": {
            "type": "array",
            "description": "A list of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances\nof CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.\nNote that all specified cookie matcher predicates must evaluate to true.",
            "title": "cookie matchers",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/cdn_cache_ruleCacheCookieMatcherType"
            },
            "x-displayname": "Cookie Matchers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of predicates for all cookies that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances of CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path_match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCDNPathMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "query_parameters": {
            "type": "array",
            "description": "List of (key, value) query parameters.",
            "title": "query_params",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/cdn_cache_ruleCacheQueryParameterMatcherType"
            },
            "x-displayname": "Query Parameters.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCDNCacheRuleExpression",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCDNCacheRuleExpressionList": {
        "type": "object",
        "description": "CDN Cache Rule Expressions.",
        "title": "Cache Rule Expression List",
        "x-displayname": "Cache Rule Expression List.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CDNCacheRuleExpressionList",
        "properties": {
          "cache_rule_expression": {
            "type": "array",
            "description": "The Cache Rule Expression Terms that are ANDed.",
            "title": "Terms",
            "minItems": 1,
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/cdn_cache_ruleCDNCacheRuleExpression"
            },
            "x-displayname": "Terms",
            "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-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The Cache Rule Expression Terms that are ANDed.",
            "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
            }
          },
          "expression_name": {
            "type": "string",
            "description": "Name of the Expressions items that are ANDed.",
            "title": "Expression Name",
            "maxLength": 128,
            "x-displayname": "Expression Name.",
            "x-ves-example": "Expression-1.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "Expression-1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Name of the Expressions items that are ANDed.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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 cdn_cache_ruleCDNCacheRuleExpressionList",
          "required_fields": [
            "cache_rule_expression",
            "expression_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cache_rule_expression\": [\n    {}\n  ],\n  \"expression_name\": \"Expression-1\"\n}",
          "example_yaml": "cache_rule_expression:\n- {}\nexpression_name: Expression-1"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCDNPathMatcherType": {
        "type": "object",
        "description": "Path match of the URI can be either be, Prefix match or exact match or regular expression match.",
        "title": "PathMatcherType",
        "x-displayname": "Path to Match.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CDNPathMatcherType",
        "properties": {
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCacheOperator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Path match of the URI can be either be, Prefix match or exact match or regular expression match.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCDNPathMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCacheCookieMatcherType": {
        "type": "object",
        "description": "A cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each\ncookie in the request.\nA cookie matcher can check for one of the following:\n* Presence or absence of the cookie\n* At least one of the values for the cookie in the request satisfies the MatcherType item.",
        "title": "CacheCookieMatcherType",
        "x-displayname": "Cookie Matcher.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CacheCookieMatcherType",
        "properties": {
          "name": {
            "type": "string",
            "description": "Enter the name of the cookie to match.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Cookie Name.",
            "x-ves-example": "Session",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Session",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "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, 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,
              "byteLength": {
                "max": 256
              }
            },
            "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])?$"
          },
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCookieMatcherCacheOperator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Cookie matcher specifies the name of a single cookie and the criteria to match it.",
        "x-f5xc-description-medium": "Cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each cookie in the request. A cookie matcher can check for one of the following: * Presence or absence of the cookie * At least one of the values for the cookie in the request...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCacheCookieMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Session\"\n}",
          "example_yaml": "name: Session"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCacheEligibleOptions": {
        "type": "object",
        "description": "List of OPTIONS for Cache Action.",
        "title": "Cache Action Options",
        "x-displayname": "Cache Action OPTIONS.",
        "x-ves-oneof-field-eligible_for_cache": "[\"scheme_proxy_host_request_uri\",\"scheme_proxy_host_uri\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CacheEligibleOptions",
        "properties": {
          "scheme_proxy_host_request_uri": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCacheTTLEnableProps"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "scheme_proxy_host_uri"
            ]
          },
          "scheme_proxy_host_uri": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCacheTTLEnableProps"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "scheme_proxy_host_request_uri"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCacheEligibleOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCacheHeaderMatcherType": {
        "type": "object",
        "description": "Header match is done using the name of the header and its value.\nThe value match is done using one of the following\nregex match on value\nexact match of value\npresence of header\n\nHeader Match can also be inverse of above, which be used to check\nmissing header or\nnon-matching value.",
        "title": "CacheHeaderMatcherType",
        "x-displayname": "Cache Header to Match.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CacheHeaderMatcherType",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleHeaderOptions"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 16,
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleHeaderCacheOperator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Header match is done using the name of the header and its value.",
        "x-f5xc-description-medium": "Header match is done using the name of the header and its value. The value match is done using one of the following regex match on value exact match of value presence of header Header Match can also be inverse of above, which be used to check missing header or non-matching value.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCacheHeaderMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCacheOperator": {
        "type": "object",
        "title": "Cache Operator",
        "x-displayname": "Operator",
        "x-ves-oneof-field-cache_operator": "[\"Contains\",\"DoesNotContain\",\"DoesNotEndWith\",\"DoesNotEqual\",\"DoesNotStartWith\",\"Endswith\",\"Equals\",\"MatchRegex\",\"Startswith\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CacheOperator",
        "properties": {
          "Contains": {
            "type": "string",
            "description": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe path must include the specified value as a substring, up to the filename.",
            "title": "Contains",
            "x-displayname": "Contains",
            "x-f5xc-description-short": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must include the...",
            "x-f5xc-description-medium": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must include the specified value as a substring, up to the filename.",
            "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": [
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotContain": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe path must not include the specified value as a substring, up to the filename.",
            "title": "Does Not Contain",
            "x-displayname": "Does Not Contain.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not include the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not include the specified value as a substring, up to the filename.",
            "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": [
              "Contains",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEndWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe path must not end with the specified value, up to the filename.",
            "title": "Does Not End With",
            "x-displayname": "Does Not End With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not end with the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not end with the specified value, up to the filename.",
            "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": [
              "Contains",
              "DoesNotContain",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEqual": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe path must not match the specified value, up to the filename.",
            "title": "Does Not Equal",
            "x-displayname": "Does Not Equal.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not match the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not match the specified value, up to the filename.",
            "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": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotStartWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith]\nThe path must not begin with the specified value, up to the filename.",
            "title": "Does Not Start With",
            "x-displayname": "Does Not Start With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The path must not begin with the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The path must not begin with the specified value, up to the filename.",
            "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": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Endswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith]\nThe path must end with the specified value, up to the filename.",
            "title": "Ends With",
            "x-displayname": "Ends With",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The path must end with the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The path must end with the specified value, up to the filename.",
            "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": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Equals": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith]\nThe path must exactly match the specified value, up to the filename.",
            "title": "Equals",
            "x-displayname": "Equals",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The path must exactly match...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The path must exactly match the specified value, up to the filename.",
            "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": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "MatchRegex",
              "Startswith"
            ]
          },
          "MatchRegex": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith]\nThe path must match the specified regular expression pattern in PCRE format.",
            "title": "Matches Regex",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Matches Regex.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The path must match the specified...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The path must match the specified regular expression pattern in PCRE format.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "Startswith"
            ]
          },
          "Startswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex]\nThe path must begin with the specified value, up to the filename.",
            "title": "Starts With",
            "x-displayname": "Starts With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The path must begin with the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The path must begin with the specified value, up to the filename.",
            "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": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCacheOperator",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCacheQueryParameterMatcherType": {
        "type": "object",
        "description": "Query parameter match can be either regex match on value or exact match of value for given key\nAn example for HTTP request with query parameter https://gitlab.com/dashboard/issues?assignee_username=xxyyxx.",
        "title": "CacheQueryParameterMatcherType",
        "x-displayname": "Query Parameter to Match.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CacheQueryParameterMatcherType",
        "properties": {
          "key": {
            "type": "string",
            "description": "The name of the query parameter to match.",
            "title": "key",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Key",
            "x-ves-example": "Assignee_username.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "assignee_username",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-description-short": "The name of the query parameter to match.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "byteLength": {
                "max": 256,
                "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
            }
          },
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleQueryParamCacheOperator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Query parameter match can be either regex match on value or exact match of value for given key An example for HTTP request with query parameter...",
        "x-f5xc-description-medium": "Query parameter match can be either regex match on value or exact match of value for given key An example for HTTP request with query parameter https://gitlab.com/dashboard/issues?assignee_username=xxyyxx.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCacheQueryParameterMatcherType",
          "required_fields": [
            "key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"key\": \"assignee_username\"\n}",
          "example_yaml": "key: assignee_username"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCacheTTLEnableProps": {
        "type": "object",
        "description": "Cache TTL Enable Values.",
        "title": "Cache TTL Enable Props",
        "x-displayname": "Cache TTL Enable Props.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CacheTTLEnableProps",
        "properties": {
          "cache_override": {
            "type": "boolean",
            "description": "Honour Cache Override.",
            "title": "Cache Override",
            "format": "boolean",
            "x-displayname": "Cache Override.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "cache_ttl": {
            "type": "string",
            "description": "Cache TTL value is used to cache the resource/content for the specified amount of time\nFormat: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.",
            "title": "Cache TTL Key",
            "x-displayname": "Cache TTL",
            "x-ves-example": "5m, 60s, 120s, 3h, 1d, 15d.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-example": "5m, 60s, 120s, 3h, 1d, 15d",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-description-short": "Cache TTL value is used to cache the resource/content for the specified amount of time Format: [0-9][smhd], where s - seconds, m - minutes, h ...",
            "x-f5xc-description-medium": "Cache TTL value is used to cache the resource/content for the specified amount of time 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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "ignore_response_cookie": {
            "type": "boolean",
            "description": "By default, response will not be cached if set-cookie header is present. This option will override the behavior and cache response even with set-cookie header present.",
            "title": "Set Cookie",
            "format": "boolean",
            "x-displayname": "Ignore-Response-Cookie.",
            "x-f5xc-description-short": "By default, response will not be cached if set-cookie header is present.",
            "x-f5xc-description-medium": "By default, response will not be cached if set-cookie header is present. This option will override the behavior and cache response even with set-cookie header present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCacheTTLEnableProps",
          "required_fields": [
            "cache_ttl"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cache_ttl\": \"5m, 60s, 120s, 3h, 1d, 15d\"\n}",
          "example_yaml": "cache_ttl: 5m, 60s, 120s, 3h, 1d, 15d"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCookieMatcherCacheOperator": {
        "type": "object",
        "title": "Cookie Matcher Cache Operator",
        "x-displayname": "Operator",
        "x-ves-oneof-field-cache_operator": "[\"Contains\",\"DoesNotContain\",\"DoesNotEndWith\",\"DoesNotEqual\",\"DoesNotStartWith\",\"Endswith\",\"Equals\",\"MatchRegex\",\"Startswith\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CookieMatcherCacheOperator",
        "properties": {
          "Contains": {
            "type": "string",
            "description": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe cookie value must include the specified value as a substring.",
            "title": "Contains",
            "x-displayname": "Contains",
            "x-f5xc-description-short": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must include...",
            "x-f5xc-description-medium": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must include the specified value as a substring.",
            "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": [
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotContain": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe cookie value must not include the specified value as a substring.",
            "title": "Does Not Contain",
            "x-displayname": "Does Not Contain.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not include the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not include the specified value as a substring.",
            "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": [
              "Contains",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEndWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe cookie value must not end with the specified value.",
            "title": "Does Not End With",
            "x-displayname": "Does Not End With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not end with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not end with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEqual": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe cookie value must not match the specified value.",
            "title": "Does Not Equal",
            "x-displayname": "Does Not Equal.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not match the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not match the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotStartWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith]\nThe cookie value must not begin with the specified value.",
            "title": "Does Not Start With",
            "x-displayname": "Does Not Start With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The cookie value must not begin with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The cookie value must not begin with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Endswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith]\nThe cookie value must end with the specified value.",
            "title": "Ends With",
            "x-displayname": "Ends With",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The cookie value must end with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The cookie value must end with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Equals": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith]\nThe cookie value must exactly match the specified value.",
            "title": "Equals",
            "x-displayname": "Equals",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The cookie value must exactly...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The cookie value must exactly match the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "MatchRegex",
              "Startswith"
            ]
          },
          "MatchRegex": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith]\nThe cookie value must match the specified regular expression pattern in PCRE format.",
            "title": "Matches Regex",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Matches Regex.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The cookie value must match the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The cookie value must match the specified regular expression pattern in PCRE format.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "Startswith"
            ]
          },
          "Startswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex]\nThe cookie value must begin with the specified value.",
            "title": "Starts With",
            "x-displayname": "Starts With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The cookie value must begin with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The cookie value must begin with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleCookieMatcherCacheOperator",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of cdn_cache_rule",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_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/schemacdn_cache_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 cdn_cache_ruleCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_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/schemacdn_cache_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 cdn_cache_ruleCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a cdn_cache_rule",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_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 cdn_cache_ruleDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read cdn_cache_rule",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_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/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/cdn_cache_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/schemacdn_cache_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
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleHeaderCacheOperator": {
        "type": "object",
        "title": "Header Cache Operator",
        "x-displayname": "Operator",
        "x-ves-oneof-field-cache_operator": "[\"Contains\",\"DoesNotContain\",\"DoesNotEndWith\",\"DoesNotEqual\",\"DoesNotStartWith\",\"Endswith\",\"Equals\",\"MatchRegex\",\"Startswith\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.HeaderCacheOperator",
        "properties": {
          "Contains": {
            "type": "string",
            "description": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe header value must include the specified value as a substring.",
            "title": "Contains",
            "x-displayname": "Contains",
            "x-f5xc-description-short": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must include...",
            "x-f5xc-description-medium": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must include the specified value as a substring.",
            "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": [
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotContain": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe header value must not include the specified value as a substring.",
            "title": "Does Not Contain",
            "x-displayname": "Does Not Contain.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not include the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not include the specified value as a substring.",
            "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": [
              "Contains",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEndWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe header value must not end with the specified value.",
            "title": "Does Not End With",
            "x-displayname": "Does Not End With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not end with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not end with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEqual": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe header value must not match the specified value.",
            "title": "Does Not Equal",
            "x-displayname": "Does Not Equal.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not match the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not match the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotStartWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith]\nThe header value must not begin with the specified value.",
            "title": "Does Not Start With",
            "x-displayname": "Does Not Start With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The header value must not begin with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The header value must not begin with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Endswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith]\nThe header value must end with the specified value.",
            "title": "Ends With",
            "x-displayname": "Ends With",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The header value must end with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The header value must end with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Equals": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith]\nThe header value must exactly match the specified value.",
            "title": "Equals",
            "x-displayname": "Equals",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The header value must exactly...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The header value must exactly match the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "MatchRegex",
              "Startswith"
            ]
          },
          "MatchRegex": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith]\nThe header value must match the specified regular expression pattern.",
            "title": "Matches Regex",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Matches Regex.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The header value must match the...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The header value must match the specified regular expression pattern.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "Startswith"
            ]
          },
          "Startswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex]\nThe header value must begin with the specified value.",
            "title": "Starts With",
            "x-displayname": "Starts With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The header value must begin with...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The header value must begin with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleHeaderCacheOperator",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleHeaderOptions": {
        "type": "string",
        "description": "- PROXY_HOST: Proxy Host\n\nName of the proxied server\n- REFERER: Referer\n\nThis is the address of the previous web page from which a link to the currently requested page was followed\n- SCHEME: Scheme\n\nThe HTTP scheme used: HTTP or HTTPS\n- USER_AGENT: User Agent\n\nThe user agent string of the user agent.",
        "title": "Header Options",
        "enum": [
          "PROXY_HOST",
          "REFERER",
          "SCHEME",
          "USER_AGENT"
        ],
        "default": "PROXY_HOST",
        "x-displayname": "Header OPTIONS.",
        "x-ves-proto-enum": "ves.io.schema.cdn_cache_rule.HeaderOptions",
        "x-f5xc-description-short": "- PROXY_HOST: Proxy Host Name of the proxied server - REFERER: Referer This is the address of the previous web page from which a link to the...",
        "x-f5xc-description-medium": "- PROXY_HOST: Proxy Host Name of the proxied server - REFERER: Referer This is the address of the previous web page from which a link to the currently requested page was followed - SCHEME: Scheme The HTTP scheme used: HTTP or HTTPS - USER_AGENT: User Agent The user agent string of the user agent.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleHeaderOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PROXY_HOST\"",
          "example_yaml": "PROXY_HOST\n..."
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of cdn_cache_rule",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_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/cdn_cache_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 cdn_cache_ruleListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleListResponseItem": {
        "type": "object",
        "description": "By default a summary of cdn_cache_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 cdn_cache_rule",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this cdn_cache_rule.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this cdn_cache_rule.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this cdn_cache_rule.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this cdn_cache_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 cdn_cache_rule is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates cdn_cache_rule is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemacdn_cache_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 cdn_cache_rule.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this cdn_cache_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 cdn_cache_rule.",
            "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"
              }
            ]
          },
          "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 cdn_cache_rule.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "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 cdn_cache_rule 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 cdn_cache_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 cdn_cache_ruleListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleQueryParamCacheOperator": {
        "type": "object",
        "title": "Query Param Cache Operator",
        "x-displayname": "Operator",
        "x-ves-oneof-field-cache_operator": "[\"Contains\",\"DoesNotContain\",\"DoesNotEndWith\",\"DoesNotEqual\",\"DoesNotStartWith\",\"Endswith\",\"Equals\",\"MatchRegex\",\"Startswith\"]",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.QueryParamCacheOperator",
        "properties": {
          "Contains": {
            "type": "string",
            "description": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe query parameter value must include the specified value as a substring.",
            "title": "Contains",
            "x-displayname": "Contains",
            "x-f5xc-description-short": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must...",
            "x-f5xc-description-medium": "Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must include the specified value as a substring.",
            "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": [
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotContain": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe query parameter value must not include the specified value as a substring.",
            "title": "Does Not Contain",
            "x-displayname": "Does Not Contain.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not include the specified value as a substring.",
            "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": [
              "Contains",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEndWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe query parameter value must not end with the specified value.",
            "title": "Does Not End With",
            "x-displayname": "Does Not End With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not end with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotEqual": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith]\nThe query parameter value must not match the specified value.",
            "title": "Does Not Equal",
            "x-displayname": "Does Not Equal.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not match the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "DoesNotStartWith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith]\nThe query parameter value must not begin with the specified value.",
            "title": "Does Not Start With",
            "x-displayname": "Does Not Start With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The query parameter value must not...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The query parameter value must not begin with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "Endswith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Endswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith]\nThe query parameter value must end with the specified value.",
            "title": "Ends With",
            "x-displayname": "Ends With",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The query parameter value must...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The query parameter value must end with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Equals",
              "MatchRegex",
              "Startswith"
            ]
          },
          "Equals": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith]\nThe query parameter value must exactly match the specified value.",
            "title": "Equals",
            "x-displayname": "Equals",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The query parameter value...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The query parameter value must exactly match the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "MatchRegex",
              "Startswith"
            ]
          },
          "MatchRegex": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith]\nThe query parameter value must match the specified regular expression pattern in PCRE format.",
            "title": "Matches Regex",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Matches Regex.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The query parameter value must...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The query parameter value must match the specified regular expression pattern in PCRE format.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "Startswith"
            ]
          },
          "Startswith": {
            "type": "string",
            "description": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex]\nThe query parameter value must begin with the specified value.",
            "title": "Starts With",
            "x-displayname": "Starts With.",
            "x-f5xc-description-short": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The query parameter value must...",
            "x-f5xc-description-medium": "Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The query parameter value must begin with the specified 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-conflicts-with": [
              "Contains",
              "DoesNotContain",
              "DoesNotEndWith",
              "DoesNotEqual",
              "DoesNotStartWith",
              "Endswith",
              "Equals",
              "MatchRegex"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleQueryParamCacheOperator",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a cdn_cache_rule",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_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/schemacdn_cache_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 cdn_cache_ruleReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "cdn_cache_ruleReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for cdn_cache_ruleReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemacdn_cache_ruleCreateSpecType": {
        "type": "object",
        "description": "Shape of the CDN loadbalancer specification.",
        "title": "CreateSpecType",
        "x-displayname": "Create CDN cache rule.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.CreateSpecType",
        "properties": {
          "cache_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCDNCacheRule"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the CDN loadbalancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemacdn_cache_ruleCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemacdn_cache_ruleGetSpecType": {
        "type": "object",
        "description": "Shape of the CDN loadbalancer specification.",
        "title": "GetSpecType",
        "x-displayname": "GET CDN cache rule.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.GetSpecType",
        "properties": {
          "cache_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCDNCacheRule"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the CDN loadbalancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemacdn_cache_ruleGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemacdn_cache_ruleReplaceSpecType": {
        "type": "object",
        "description": "Shape of the CDN loadbalancer specification.",
        "title": "ReplaceSpecType",
        "x-displayname": "Replace CDN cache rule.",
        "x-ves-proto-message": "ves.io.schema.cdn_cache_rule.ReplaceSpecType",
        "properties": {
          "cache_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cdn_cache_ruleCDNCacheRule"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the CDN loadbalancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemacdn_cache_ruleReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "cdn",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "apiHttpBody": {
        "type": "object",
        "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\nmessage GetResourceRequest {\n// A unique request ID.\nString request_id = 1;\n\n// The raw HTTP body is bound to this field.\ngoogle.api.httpbody http_body = 2;\n}\n\nservice ResourceService {\nrpc GetResource(GetResourceRequest) returns (google.api.httpbody);\nrpc UpdateResource(google.api.httpbody) returns\n(google.protobuf.empty);\n}\n\nExample with streaming methods:\n\nservice CaldavService {\nrpc GetCalendar(stream google.api.httpbody)\nreturns (stream google.api.httpbody);\nrpc UpdateCalendar(stream google.api.httpbody)\nreturns (stream google.api.httpbody);\n}\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.",
        "properties": {
          "content_type": {
            "type": "string",
            "description": "The HTTP Content-Type header value specifying the content type of the body.",
            "x-f5xc-description-short": "The HTTP Content-Type header value specifying the content type of the body.",
            "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
            }
          },
          "data": {
            "type": "string",
            "description": "The HTTP request/response body as raw binary.",
            "format": "byte",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The HTTP request/response body as raw binary.",
            "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
            }
          },
          "extensions": {
            "type": "array",
            "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.",
            "items": {
              "$ref": "#/components/schemas/protobufAny"
            },
            "x-f5xc-description-short": "Application specific response metadata. Must be set in the first response for streaming APIs.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Message that represents an arbitrary HTTP body.",
        "x-f5xc-description-medium": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for apiHttpBody",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "app_typeAPIEPCategory": {
        "type": "string",
        "description": "The category of an API endpoint.\n\nDiscovered API Endpoint.\nThe API Endpoint is imported from user swagger.\nThe API Endpoint is present at the API Inventory.\nThe API Endpoint is considered as part of Shadow API.\nDeprecated API Endpoint.\nNon-API Endpoint.\n- APIEP_CATEGORY_DISCOVERY_POLICY: x-displayName: Policy\nUser-Defined Discovery Policy.",
        "title": "APIEP Category",
        "enum": [
          "APIEP_CATEGORY_DISCOVERED",
          "APIEP_CATEGORY_SWAGGER",
          "APIEP_CATEGORY_INVENTORY",
          "APIEP_CATEGORY_SHADOW",
          "APIEP_CATEGORY_DEPRECATED",
          "APIEP_CATEGORY_NON_API",
          "APIEP_CATEGORY_DISCOVERY_POLICY"
        ],
        "default": "APIEP_CATEGORY_DISCOVERED",
        "x-displayname": "Category of the API Endpoint.",
        "x-ves-proto-enum": "ves.io.schema.app_type.APIEPCategory",
        "x-f5xc-description-short": "The category of an API endpoint. Discovered API Endpoint.",
        "x-f5xc-description-medium": "The category of an API endpoint. Discovered API Endpoint. The API Endpoint is imported from user swagger. The API Endpoint is present at the API Inventory. The API Endpoint is considered as part of Shadow API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_typeAPIEPCategory",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"APIEP_CATEGORY_DISCOVERED\"",
          "example_yaml": "APIEP_CATEGORY_DISCOVERED\n..."
        },
        "x-f5xc-cli-domain": "service_mesh",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "App type definition is platform-level"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "app_typeAPIEPSecurityRisk": {
        "type": "string",
        "description": "Signifies API Endpoint Security Risk Level\n\nSecurity risk is not detected (for example, when no traffic).\nAPI Endpoint has low security risk.\nAPI Endpoint has medium security risk.\nAPI Endpoint has high security risk.\nAPI Endpoint has critical security risk.",
        "title": "APIEP Security Risk",
        "enum": [
          "APIEP_SEC_RISK_NONE",
          "APIEP_SEC_RISK_LOW",
          "APIEP_SEC_RISK_MED",
          "APIEP_SEC_RISK_HIGH",
          "APIEP_SEC_RISK_CRITICAL"
        ],
        "default": "APIEP_SEC_RISK_NONE",
        "x-displayname": "API Endpoint Security Risk.",
        "x-ves-proto-enum": "ves.io.schema.app_type.APIEPSecurityRisk",
        "x-f5xc-description-short": "Signifies API Endpoint Security Risk Level Security risk is not detected (for example, when no traffic).",
        "x-f5xc-description-medium": "Signifies API Endpoint Security Risk Level Security risk is not detected (for example, when no traffic). API Endpoint has low security risk. API Endpoint has medium security risk.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_typeAPIEPSecurityRisk",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"APIEP_SEC_RISK_NONE\"",
          "example_yaml": "APIEP_SEC_RISK_NONE\n..."
        },
        "x-f5xc-cli-domain": "service_mesh",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "App type definition is platform-level"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "app_typeRiskScore": {
        "type": "object",
        "description": "Risk score of the vulnerabilities found for this API Endpoint.",
        "title": "RiskScore",
        "x-displayname": "Risk score.",
        "x-ves-proto-message": "ves.io.schema.app_type.RiskScore",
        "properties": {
          "score": {
            "type": "number",
            "description": "Score of the vulnerabilities found for this API Endpoint.",
            "title": "score",
            "format": "float",
            "x-displayname": "Score",
            "x-f5xc-description-short": "Score of the vulnerabilities found for this API Endpoint.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "severity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_typeAPIEPSecurityRisk"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Risk score of the vulnerabilities found for this API Endpoint.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_typeRiskScore",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "service_mesh",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "App type definition is platform-level"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "app_typeSensitiveDataType": {
        "type": "string",
        "description": "List of possible types of sensitive data that can be discovered for an APIEP.\n\nThe Sensitive Data detected as credit card number.\nThe sensitive data detected as social security number.\nThe sensitive data detected as IP address.\nThe sensitive data detected as email address.\nThe sensitive data detected as phone number.\nThe sensitive data detected as credentials info(e.g password, username etc).\nThe sensitive data detected as information leakage.\nThe sensitive data detected as masked PII (CCN, SSN)\nThe sensitive data detected as Location.",
        "title": "SensitiveDataType",
        "enum": [
          "SENSITIVE_DATA_TYPE_CCN",
          "SENSITIVE_DATA_TYPE_SSN",
          "SENSITIVE_DATA_TYPE_IP",
          "SENSITIVE_DATA_TYPE_EMAIL",
          "SENSITIVE_DATA_TYPE_PHONE",
          "SENSITIVE_DATA_TYPE_CREDENTIALS",
          "SENSITIVE_DATA_TYPE_APP_INFO_LEAKAGE",
          "SENSITIVE_DATA_TYPE_MASKED_PII",
          "SENSITIVE_DATA_TYPE_LOCATION"
        ],
        "default": "SENSITIVE_DATA_TYPE_CCN",
        "x-displayname": "Sensitive Data Type.",
        "x-ves-proto-enum": "ves.io.schema.app_type.SensitiveDataType",
        "x-f5xc-description-short": "List of possible types of sensitive data that can be discovered for an APIEP. The Sensitive Data detected as credit card number.",
        "x-f5xc-description-medium": "List of possible types of sensitive data that can be discovered for an APIEP. The Sensitive Data detected as credit card number. The sensitive data detected as social security number.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_typeSensitiveDataType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SENSITIVE_DATA_TYPE_CCN\"",
          "example_yaml": "SENSITIVE_DATA_TYPE_CCN\n..."
        },
        "x-f5xc-cli-domain": "service_mesh",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "App type definition is platform-level"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "clusterCircuitBreaker": {
        "type": "object",
        "description": "CircuitBreaker provides a mechanism for watching failures in upstream connections or requests\nand if the failures reach a certain threshold, automatically fail subsequent requests which\nallows to apply back pressure on downstream quickly.",
        "title": "CircuitBreaker",
        "x-displayname": "Circuit Breaker.",
        "x-ves-displayorder": "1,2,3,4,5",
        "x-ves-proto-message": "ves.io.schema.cluster.CircuitBreaker",
        "properties": {
          "connection_limit": {
            "type": "integer",
            "description": "The maximum number of connections that loadbalancer will establish to all hosts in an upstream cluster.\nIn practice this is only applicable to TCP and HTTP/1.1 clusters since HTTP/2 uses a single connection to each host.\nRemove endpoint out of load balancing decision, if number of connections reach connection limit.",
            "title": "connection_limit",
            "format": "int64",
            "x-displayname": "Connection Limit.",
            "x-ves-example": "100",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-example": "100",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-description-short": "The maximum number of connections that loadbalancer will establish to all hosts in an upstream cluster.",
            "x-f5xc-description-medium": "The maximum number of connections that loadbalancer will establish to all hosts in an upstream cluster. In practice this is only applicable to TCP and HTTP/1.1 clusters since HTTP/2 uses a single connection to each host. Remove endpoint out of load balancing decision, if number of connections...",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 32768,
              "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
            }
          },
          "max_requests": {
            "type": "integer",
            "description": "The maximum number of requests that can be outstanding to all hosts in a cluster at any given time.\nIn practice this is applicable to HTTP/2 clusters since HTTP/1.1 clusters are governed by the\nmaximum connections (connection_limit).\nRemove endpoint out of load balancing decision, if requests exceed this count.",
            "title": "max_requests",
            "format": "int64",
            "x-displayname": "Maximum Request Count.",
            "x-ves-example": "10",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-example": "10",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-description-short": "The maximum number of requests that can be outstanding to all hosts in a cluster at any given time.",
            "x-f5xc-description-medium": "The maximum number of requests that can be outstanding to all hosts in a cluster at any given time. In practice this is applicable to HTTP/2 clusters since HTTP/1.1 clusters are governed by the maximum connections (connection_limit). Remove endpoint out of load balancing decision, if requests...",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 32768,
              "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
            }
          },
          "pending_requests": {
            "type": "integer",
            "description": "The maximum number of requests that will be queued while waiting for a ready connection pool connection.\nSince HTTP/2 requests are sent over a single connection, this circuit breaker only comes into play as the\ninitial connection is created, as requests will be multiplexed immediately afterwards. For HTTP/1.1, requests\nare added to the list of pending requests whenever there aren’t enough upstream connections available to\nimmediately dispatch the request, so this circuit breaker will remain in play for the lifetime of the process.\nRemove endpoint out of load balancing decision, if pending request reach pending_request.",
            "title": "pending_requests",
            "format": "int64",
            "x-displayname": "Pending Requests.",
            "x-ves-example": "20",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-example": "20",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-description-short": "The maximum number of requests that will be queued while waiting for a ready connection pool connection.",
            "x-f5xc-description-medium": "The maximum number of requests that will be queued while waiting for a ready connection pool connection. Since HTTP/2 requests are sent over a single connection, this circuit breaker only comes into play as the initial connection is created, as requests will be multiplexed immediately...",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 32768,
              "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
            }
          },
          "priority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaRoutingPriority"
              }
            ],
            "x-f5xc-example": "10",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "retries": {
            "type": "integer",
            "description": "The maximum number of retries that can be outstanding to all hosts in a cluster at any given time.\nRemove endpoint out of load balancing decision, if retries for request exceed this count.",
            "title": "retries",
            "format": "int64",
            "x-displayname": "Retry Count.",
            "x-ves-example": "10",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-example": "10",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32768"
            },
            "x-f5xc-description-short": "The maximum number of retries that can be outstanding to all hosts in a cluster at any given time.",
            "x-f5xc-description-medium": "The maximum number of retries that can be outstanding to all hosts in a cluster at any given time. Remove endpoint out of load balancing decision, if retries for request exceed this count.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 32768,
              "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-description-short": "CircuitBreaker provides a mechanism for watching failures in upstream connections or requests and if the failures reach a certain threshold...",
        "x-f5xc-description-medium": "CircuitBreaker provides a mechanism for watching failures in upstream connections or requests and if the failures reach a certain threshold, automatically fail subsequent requests which allows to apply back pressure on downstream quickly.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for clusterCircuitBreaker",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "clusterEndpointSelectionPolicy": {
        "type": "string",
        "description": "Policy for selection of endpoints from local site/remote site/both\n\nConsider both remote and local endpoints for load balancing\nLOCAL_ONLY: Consider only local endpoints for load balancing\nEnable this policy to load balance ONLY among locally discovered endpoints\nPrefer the local endpoints for load balancing. If local endpoints are not present\nremote endpoints will be considered.",
        "title": "EndpointSelectionPolicy",
        "enum": [
          "DISTRIBUTED",
          "LOCAL_ONLY",
          "LOCAL_PREFERRED"
        ],
        "default": "DISTRIBUTED",
        "x-displayname": "Endpoint Selection Policy.",
        "x-ves-proto-enum": "ves.io.schema.cluster.EndpointSelectionPolicy",
        "x-f5xc-description-short": "Policy for selection of endpoints from local site/remote site/both Consider both remote and local endpoints for load balancing LOCAL_ONLY...",
        "x-f5xc-description-medium": "Policy for selection of endpoints from local site/remote site/both Consider both remote and local endpoints for load balancing LOCAL_ONLY: Consider only local endpoints for load balancing Enable this policy to load balance ONLY among locally discovered endpoints Prefer the local endpoints for...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for clusterEndpointSelectionPolicy",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"DISTRIBUTED\"",
          "example_yaml": "DISTRIBUTED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "clusterEndpointSubsetSelectorType": {
        "type": "object",
        "description": "Upstream cluster may be configured to divide its endpoints into subsets based on metadata\nattached to the endpoints. Routes may then specify the metadata that a endpoint must match in\norder to be selected by the load balancer.\nList of keys that define a cluster subset. Each endpoint that has a metadata value for all of\nthe keys in the definition is added to that subset. If no endpoint has all the keys, no subsets\nresult from the definition. A single endpoint may appear in multiple subsets if it matches\nmultiple definitions.",
        "title": "EndpointSubsetSelectorType",
        "x-displayname": "Endpoint Subset Selector.",
        "x-ves-proto-message": "ves.io.schema.cluster.EndpointSubsetSelectorType",
        "properties": {
          "keys": {
            "type": "array",
            "description": "List of keys that define a cluster subset class.",
            "title": "keys",
            "maxItems": 16,
            "items": {
              "type": "string"
            },
            "x-displayname": "Keys",
            "x-ves-example": "Production.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-example": "production",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of keys that define a cluster subset class.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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-description-short": "Upstream cluster may be configured to divide its endpoints into subsets based on metadata attached to the endpoints.",
        "x-f5xc-description-medium": "Upstream cluster may be configured to divide its endpoints into subsets based on metadata attached to the endpoints. Routes may then specify the metadata that a endpoint must match in order to be selected by the load balancer. List of keys that define a cluster subset.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for clusterEndpointSubsetSelectorType",
          "required_fields": [
            "keys"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"keys\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "keys:\n- value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "clusterHttp2ProtocolOptions": {
        "type": "object",
        "description": "Http2 Protocol OPTIONS for upstream connections.",
        "title": "Http2ProtocolOptions",
        "x-displayname": "Http2 Protocol OPTIONS.",
        "x-ves-proto-message": "ves.io.schema.cluster.Http2ProtocolOptions",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enable/disable HTTP2 Protocol for upstream connections.",
            "title": "enabled",
            "format": "boolean",
            "x-displayname": "HTTP2 Enabled.",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Enable/disable HTTP2 Protocol for upstream connections.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Http2 Protocol OPTIONS for upstream connections.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for clusterHttp2ProtocolOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "clusterLoadbalancerAlgorithm": {
        "type": "string",
        "description": "Different load balancing algorithms supported\nWhen a connection to a endpoint in an upstream cluster is required, the load balancer uses loadbalancer_algorithm\nto determine which host is selected.\n\n- ROUND_ROBIN: ROUND_ROBIN\n\nPolicy in which each healthy/available upstream endpoint is selected in round robin order.\n- LEAST_REQUEST: LEAST_REQUEST\n\nPolicy in which loadbalancer picks the upstream endpoint which has the fewest active requests\n- RING_HASH: RING_HASH\n\nPolicy implements consistent hashing to upstream endpoints using ring hash of endpoint names\nHash of the incoming request is calculated using request hash policy.\nThe ring/modulo hash load balancer implements consistent hashing to upstream hosts.\nThe algorithm is based on mapping all hosts onto a circle such that the addition or\nremoval of a host from the host set changes only affect 1/N requests. This technique\nis also commonly known as “ketama” hashing. A consistent hashing load balancer is only\neffective when protocol routing is used that specifies a value to hash on. The minimum\nring size governs the replication factor for each host in the ring. For example, if the\nminimum ring size is 1024 and there are 16 hosts, each host will be replicated 64 times.\n- RANDOM: RANDOM\n\nPolicy in which each available upstream endpoint is selected in random order.\nThe random load balancer selects a random healthy host. The random load balancer generally\nperforms better than round robin if no health checking policy is configured. Random selection\navoids bias towards the host in the set that comes after a failed host.\n- LB_OVERRIDE: Load Balancer Override\n\nHash policy is taken from from the load balancer which is using this origin pool.",
        "title": "LoadbalancerAlgorithm",
        "enum": [
          "ROUND_ROBIN",
          "LEAST_REQUEST",
          "RING_HASH",
          "RANDOM",
          "LB_OVERRIDE"
        ],
        "default": "ROUND_ROBIN",
        "x-displayname": "Load Balancer Algorithm.",
        "x-ves-proto-enum": "ves.io.schema.cluster.LoadbalancerAlgorithm",
        "x-f5xc-description-short": "Different load balancing algorithms supported When a connection to a endpoint in an upstream cluster is required, the load balancer uses...",
        "x-f5xc-description-medium": "Different load balancing algorithms supported When a connection to a endpoint in an upstream cluster is required, the load balancer uses loadbalancer_algorithm to determine which host is selected. - ROUND_ROBIN: ROUND_ROBIN Policy in which each healthy/available upstream endpoint is selected in...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for clusterLoadbalancerAlgorithm",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ROUND_ROBIN\"",
          "example_yaml": "ROUND_ROBIN\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "clusterOutlierDetectionType": {
        "type": "object",
        "description": "Outlier detection and ejection is the process of dynamically determining whether some number\nof hosts in an upstream cluster are performing unlike the others and removing them from the\nhealthy load balancing set. Outlier detection is a form of passive health checking.\n\nAlgorithm\n\n1. A endpoint is determined to be an outlier (based on configured number of consecutive_5xx\nor consecutive_gateway_failures) .\n2. If no endpoints have been ejected, loadbalancer will eject the host immediately.\nOtherwise, it checks to make sure the number of ejected hosts is below the allowed threshold\n(specified via max_ejection_percent setting). If the number of ejected hosts is above the\nthreshold, the host is not ejected.\n3. The endpoint is ejected for some number of milliseconds. Ejection means that the endpoint is marked\nunhealthy and will not be used during load balancing. The number of milliseconds is equal to the\nbase_ejection_time value multiplied by the number of times the host has been ejected.\n4. An ejected endpoint will automatically be brought back into service after the ejection time\nhas been satisfied.",
        "title": "OutlierDetectionType",
        "x-displayname": "Outlier Detection.",
        "x-ves-displayorder": "1,2,3,4,5",
        "x-ves-proto-message": "ves.io.schema.cluster.OutlierDetectionType",
        "properties": {
          "base_ejection_time": {
            "type": "integer",
            "description": "The base time that a host is ejected for. The real time is equal to the\nbase time multiplied by the number of times the host has been ejected.\nThis causes hosts to GET ejected for longer periods if they continue to fail.\nDefaults to 30000ms or 30s. Specified in milliseconds.",
            "title": "base_ejection_time",
            "format": "int64",
            "x-displayname": "Base Ejection Time.",
            "x-ves-example": "20000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1800000"
            },
            "x-f5xc-example": "20000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1800000"
            },
            "x-f5xc-description-short": "The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected.",
            "x-f5xc-description-medium": "The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. This causes hosts to GET ejected for longer periods if they continue to fail.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 1800000,
              "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
            }
          },
          "consecutive_5xx": {
            "type": "integer",
            "description": "If an upstream endpoint returns some number of consecutive 5xx, it will be ejected.\nNote that in this case a 5xx means an actual 5xx respond code, or an event that would\ncause the HTTP router to return one on the upstream’s behalf(reset, connection failure, etc.)\nconsecutive_5xx indicates the number of consecutive 5xx responses required before\na consecutive 5xx ejection occurs. Defaults to 5.",
            "title": "consecutive_5xx",
            "format": "int64",
            "x-displayname": "Consecutive 5xx Count.",
            "x-ves-example": "3",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1024"
            },
            "x-f5xc-example": "3",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1024"
            },
            "x-f5xc-description-short": "If an upstream endpoint returns some number of consecutive 5xx, it will be ejected.",
            "x-f5xc-description-medium": "If an upstream endpoint returns some number of consecutive 5xx, it will be ejected. Note that in this case a 5xx means an actual 5xx respond code, or an event that would cause the HTTP router to return one on the upstream’s behalf(reset, connection failure, etc.) consecutive_5xx indicates the...",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 1024,
              "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
            }
          },
          "consecutive_gateway_failure": {
            "type": "integer",
            "description": "If an upstream endpoint returns some number of consecutive “gateway errors”\n(502, 503 or 504 status code), it will be ejected. Note that this includes events\nthat would cause the HTTP router to return one of these status codes on the\nupstream’s behalf (reset, connection failure, etc.).\nConsecutive_gateway_failure indicates the number of consecutive gateway failures\nbefore a consecutive gateway failure ejection occurs. Defaults to 5.",
            "title": "consecutive_gateway_failure",
            "format": "int64",
            "x-displayname": "Consecutive Gateway Failure.",
            "x-ves-example": "5",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1024"
            },
            "x-f5xc-example": "5",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1024"
            },
            "x-f5xc-description-short": "If an upstream endpoint returns some number of consecutive “gateway errors” (502, 503 or 504 status code), it will be ejected.",
            "x-f5xc-description-medium": "If an upstream endpoint returns some number of consecutive “gateway errors” (502, 503 or 504 status code), it will be ejected. Note that this includes events that would cause the HTTP router to return one of these status codes on the upstream’s behalf (reset, connection failure, etc.)...",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 1024,
              "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
            }
          },
          "interval": {
            "type": "integer",
            "description": "The time interval between ejection analysis sweeps. This can result in\nboth new ejections as well as endpoints being returned to service. Defaults\nto 10000ms or 10s. Specified in milliseconds.",
            "title": "interval",
            "format": "int64",
            "x-displayname": "Interval",
            "x-ves-example": "5000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-example": "5000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-description-short": "The time interval between ejection analysis sweeps. This can result in both new ejections as well as endpoints being returned to service.",
            "x-f5xc-description-medium": "The time interval between ejection analysis sweeps. This can result in both new ejections as well as endpoints being returned to service. Defaults to 10000ms or 10s.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 600000,
              "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
            }
          },
          "max_ejection_percent": {
            "type": "integer",
            "description": "The maximum % of an upstream cluster that can be ejected due to outlier\ndetection. Defaults to 10% but will eject at least one host regardless of the value.",
            "title": "max_ejection_percent",
            "format": "int64",
            "x-displayname": "Max Ejection Percentage.",
            "x-ves-example": "20",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "100"
            },
            "x-f5xc-example": "20",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "100"
            },
            "x-f5xc-description-short": "The maximum % of an upstream cluster that can be ejected due to outlier detection.",
            "x-f5xc-description-medium": "The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 100,
              "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": "Outlier detection and ejection is the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike...",
        "x-f5xc-description-medium": "Outlier detection and ejection is the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike the others and removing them from the healthy load balancing set. Outlier detection is a form of passive health checking. Algorithm 1.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for clusterOutlierDetectionType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnCDNControllerStatus__ves_io_schema_views_http_loadbalancer": {
        "type": "object",
        "description": "CDN Controller Status.",
        "title": "CDN Controller status",
        "x-displayname": "CDN Controller Status.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.CDNControllerStatus",
        "properties": {
          "cfg_version": {
            "type": "integer",
            "description": "Cfg version.",
            "title": "Cfg Version",
            "format": "int64",
            "x-displayname": "Cfg Version.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "cp_version": {
            "type": "integer",
            "description": "CP version.",
            "title": "CP Version",
            "format": "int64",
            "x-displayname": "CP Version.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deployment_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnCDNLoadbalancerDeploymentStatus"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "error": {
            "type": "string",
            "description": "Error message.",
            "title": "Error",
            "x-displayname": "Error",
            "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 common_cdnCDNControllerStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnCDNLoadbalancerDeploymentStatus": {
        "type": "string",
        "description": "Deployment status\n\n- CDN_LB_STATUS_FAILED: x-displayname: \"Failed\"",
        "title": "CDN LoadBalancer Deployment status",
        "enum": [
          "CDN_LB_STATUS_CREATED",
          "CDN_LB_STATUS_DEPLOYING",
          "CDN_LB_STATUS_DEPLOY_FAILED",
          "CDN_LB_STATUS_DEPLOYED",
          "CDN_LB_STATUS_FAILED"
        ],
        "default": "CDN_LB_STATUS_CREATED",
        "x-displayname": "CDN LoadBalancer Deployment status.",
        "x-ves-proto-enum": "ves.io.schema.views.common_cdn.CDNLoadbalancerDeploymentStatus",
        "x-f5xc-description-short": "Deployment status - CDN_LB_STATUS_FAILED: x-displayname: \"Failed\".",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnCDNLoadbalancerDeploymentStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CDN_LB_STATUS_CREATED\"",
          "example_yaml": "CDN_LB_STATUS_CREATED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnCDNSiteDeploymentStatus": {
        "type": "string",
        "title": "CDNSiteDeploymentStatus",
        "enum": [
          "DEPLOYMENT_STATUS_NOT_DEPLOYED",
          "DEPLOYMENT_STATUS_DEPLOYING",
          "DEPLOYMENT_STATUS_DEPLOY_FAILED",
          "DEPLOYMENT_STATUS_DEPLOYED"
        ],
        "default": "DEPLOYMENT_STATUS_NOT_DEPLOYED",
        "x-displayname": "CDN LoadBalancer Site Deployment status.",
        "x-ves-proto-enum": "ves.io.schema.views.common_cdn.CDNSiteDeploymentStatus",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnCDNSiteDeploymentStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"DEPLOYMENT_STATUS_NOT_DEPLOYED\"",
          "example_yaml": "DEPLOYMENT_STATUS_NOT_DEPLOYED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_cdnCDNSiteStatus__ves_io_schema_views_http_loadbalancer": {
        "type": "object",
        "description": "This CDN status is per site and it indicates the status of the CDN service for the LB on the site.",
        "title": "CDN Site status details",
        "x-displayname": "CDN Site Status.",
        "x-ves-proto-message": "ves.io.schema.views.common_cdn.CDNSiteStatus",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message (if any)",
            "title": "Error",
            "x-displayname": "Error",
            "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
            }
          },
          "site": {
            "type": "string",
            "description": "Name of the site that reported this status.",
            "title": "Site Name",
            "x-displayname": "Site",
            "x-f5xc-description-short": "Name of the site that reported this 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": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnCDNSiteDeploymentStatus"
              }
            ],
            "x-f5xc-example": "active",
            "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"
          }
        },
        "x-f5xc-description-short": "CDN status is per site and it indicates the status of the CDN service for the LB on the site.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_cdnCDNSiteStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityBotAdvancedMobileSDKConfigType": {
        "type": "object",
        "description": "Mobile Request Identifier Headers.",
        "title": "BotAdvancedMobileSDKConfigType",
        "x-displayname": "Mobile Request Identifier Headers.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.BotAdvancedMobileSDKConfigType",
        "properties": {
          "mobile_identifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityMobileTrafficIdentifierType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityBotAdvancedMobileSDKConfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityBotDefenseAdvancedType": {
        "type": "object",
        "description": "Bot Defense Advanced.",
        "title": "BotDefenseAdvancedType",
        "x-displayname": "Bot Defense Advanced.",
        "x-ves-oneof-field-java_script_choice": "[\"disable_js_insert\",\"js_insert_all_pages\",\"js_insert_all_pages_except\",\"js_insertion_rules\"]",
        "x-ves-oneof-field-mobile_sdk_choice": "[\"disable_mobile_sdk\",\"mobile_sdk_config\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_security.BotDefenseAdvancedType",
        "properties": {
          "disable_js_insert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable js insert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "js_insert_all_pages",
              "js_insert_all_pages_except",
              "js_insertion_rules"
            ]
          },
          "disable_mobile_sdk": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mobile_sdk_config"
            ]
          },
          "js_insert_all_pages": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeJavaScriptInsertAllType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js insert all pages.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages_except",
              "js_insertion_rules"
            ]
          },
          "js_insert_all_pages_except": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeJavaScriptInsertAllWithExceptionsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js insert all pages except.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages",
              "js_insertion_rules"
            ]
          },
          "js_insertion_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeJavaScriptInsertType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_js_insert",
              "js_insert_all_pages",
              "js_insert_all_pages_except"
            ]
          },
          "mobile": {
            "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": null,
                "field_path": "mobile",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "mobile_sdk_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityBotAdvancedMobileSDKConfigType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_mobile_sdk"
            ]
          },
          "web": {
            "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": null,
                "field_path": "web",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityBotDefenseAdvancedType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityMalwareProtectionPolicy": {
        "type": "object",
        "description": "Malware Protection protects Web Apps and APIs, from malicious file uploads by scanning files in real-time.",
        "title": "MalwareProtectionPolicy",
        "x-displayname": "Malware Protection Policy.",
        "x-ves-proto-message": "ves.io.schema.views.common_security.MalwareProtectionPolicy",
        "properties": {
          "malware_protection_rules": {
            "type": "array",
            "description": "Configure the match criteria to trigger Malware Protection Scan.",
            "title": "rules",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/common_securityMalwareProtectionRule"
            },
            "x-displayname": "Malware Detection Rules.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "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": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Configure the match criteria to trigger Malware Protection Scan.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "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-description-short": "Malware Protection protects Web Apps and APIs, from malicious file uploads by scanning files in real-time.",
        "x-f5xc-description-medium": "Malware Protection protects Web Apps and APIs, from malicious file uploads by scanning files in real-time.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityMalwareProtectionPolicy",
          "required_fields": [
            "malware_protection_rules"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"malware_protection_rules\": [\n    {}\n  ]\n}",
          "example_yaml": "malware_protection_rules:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_securityMalwareProtectionRule": {
        "type": "object",
        "description": "Configure the match criteria to trigger Malware Protection Scan.",
        "title": "MalwareProtectionRule",
        "x-displayname": "Malware Protection Rules.",
        "x-ves-displayorder": "1,2,3,4,5,6",
        "x-ves-proto-message": "ves.io.schema.views.common_security.MalwareProtectionRule",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaAction"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDomainMatcherType"
              }
            ],
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Domain name for routing and identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "http_methods": {
            "type": "array",
            "description": "Methods to be matched.",
            "title": "HTTP Methods",
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "HTTP Methods.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Configure the match criteria to trigger Malware Protection Scan.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_securityMalwareProtectionRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIEndpointProtectionRule__ves_io_schema_views_http_loadbalancer": {
        "type": "object",
        "description": "API Protection Rule for a specific endpoint.",
        "title": "API Endpoint Protection Rule",
        "x-displayname": "API Endpoint Protection Rule.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIEndpointProtectionRule",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIProtectionRuleAction__ves_io_schema_views_http_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyHttpMethodMatcherType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_endpoint_path": {
            "type": "string",
            "description": "The endpoint (path) of the request.",
            "title": "api endpoint path",
            "maxLength": 1024,
            "x-displayname": "API Endpoint.",
            "x-ves-example": "/endpoint1.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/endpoint1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.\nFor example: api.example.com.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-example": "api.example.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "api.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain. For",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-description-short": "API Protection Rule for a specific endpoint.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPIEndpointProtectionRule",
          "required_fields": [
            "api_endpoint_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoint_path\": \"/endpoint1\"\n}",
          "example_yaml": "api_endpoint_path: /endpoint1"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIGroupProtectionRule": {
        "type": "object",
        "description": "API Protection Rule for a group or a base URL.",
        "title": "API Group Protection  Rule",
        "x-displayname": "API Group Protection Rule.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIGroupProtectionRule",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIProtectionRuleAction__ves_io_schema_views_http_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "API groups derived from API Definition swaggers.\nFor example oas-all-operations including all paths and methods from the swaggers, oas-base-URLs covering all requests under base-paths from the swaggers.\nCustom groups can be created if user tags paths or operations with \"x-F5 Distributed Cloud-API-group\" extensions inside swaggers.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "API groups derived from API Definition swaggers.",
            "x-f5xc-description-medium": "API groups derived from API Definition swaggers. For example oas-all-operations including all paths and methods from the swaggers, oas-base-URLs covering all requests under base-paths from the swaggers. Custom groups can be created if user tags paths or operations with \"x-F5 Distributed...",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "base_path": {
            "type": "string",
            "description": "Prefix of the request path.\nFor example: /v1.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/v1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.\nFor example: api.example.com.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-example": "api.example.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "api.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain. For",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-description-short": "API Protection Rule for a group or a base URL.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPIGroupProtectionRule",
          "required_fields": [
            "base_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"base_path\": \"/v1\"\n}",
          "example_yaml": "base_path: /v1"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIProtectionRuleAction__ves_io_schema_views_http_loadbalancer": {
        "type": "object",
        "description": "The action to take if the input request matches the rule.",
        "title": "API Protection Rule Action",
        "x-displayname": "API Protection Rule Action.",
        "x-ves-oneof-field-action": "[\"allow\",\"deny\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIProtectionRuleAction",
        "properties": {
          "allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "deny"
            ]
          },
          "deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "allow"
            ]
          }
        },
        "x-f5xc-description-short": "The action to take if the input request matches the rule.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPIProtectionRuleAction",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "common_wafAPIProtectionRules": {
        "type": "object",
        "description": "API Protection Rules.",
        "title": "API Protection Rules",
        "x-displayname": "API Protection Rules.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIProtectionRules",
        "properties": {
          "api_endpoint_rules": {
            "type": "array",
            "description": "This category defines specific rules per API endpoints.\nIf request matches any of these rules, skipping second category rules.",
            "title": "api_endpoint_rules",
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/common_wafAPIEndpointProtectionRule__ves_io_schema_views_http_loadbalancer"
            },
            "x-displayname": "API Endpoints.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Category defines specific rules per API endpoints. If request matches any of these rules, skipping second category rules.",
            "x-f5xc-description-medium": "Category defines specific rules per API endpoints. If request matches any of these rules, skipping second category rules.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "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
            }
          },
          "api_groups_rules": {
            "type": "array",
            "description": "This category includes rules per API group or Server URL.\nFor API groups, refer to API Definition which includes API groups derived from uploaded swaggers.",
            "title": "api_groups_rules",
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/common_wafAPIGroupProtectionRule"
            },
            "x-displayname": "Server URLs and API Groups.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "20"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Category includes rules per API group or Server URL. For API groups, refer to API Definition which includes API groups derived from uploaded swaggers.",
            "x-f5xc-description-medium": "Category includes rules per API group or Server URL. For API groups, refer to API Definition which includes API groups derived from uploaded swaggers.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "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 common_wafAPIProtectionRules",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerAPIGroupsApiep": {
        "type": "object",
        "description": "Apiep for the Evaluate API Group Builder response.",
        "title": "API Endpoint for API Group Evaluation",
        "x-displayname": "API Groups Endpoint.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.APIGroupsApiep",
        "properties": {
          "category": {
            "type": "array",
            "description": "The category of the API Endpoint relative to API Inventory.",
            "title": "Category",
            "items": {
              "$ref": "#/components/schemas/app_typeAPIEPCategory"
            },
            "x-displayname": "Category",
            "x-ves-example": "[APIEP_CATEGORY_DISCOVERED, APIEP_CATEGORY_INVENTORY]",
            "x-f5xc-example": "[APIEP_CATEGORY_DISCOVERED, APIEP_CATEGORY_INVENTORY]",
            "x-f5xc-description-short": "The category of the API Endpoint relative to API Inventory.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "type": "string",
            "description": "API Endpoint path.",
            "title": "Path",
            "x-displayname": "Path",
            "x-ves-example": "/API/v1/users/{ID}",
            "x-f5xc-example": "/api/v1/users/{id}",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "risk_score": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_typeRiskScore"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sensitive_data": {
            "type": "array",
            "description": "Sensitive Data of the API endpoint.",
            "title": "Sensitive Data",
            "items": {
              "$ref": "#/components/schemas/app_typeSensitiveDataType"
            },
            "x-displayname": "Sensitive Data.",
            "x-ves-example": "[SENSITIVE_DATA_TYPE_CCN, SENSITIVE_DATA_TYPE_SSN]",
            "x-f5xc-example": "[SENSITIVE_DATA_TYPE_CCN, SENSITIVE_DATA_TYPE_SSN]",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sensitive_data_types": {
            "type": "array",
            "description": "Sensitive Data of the API endpoint.",
            "title": "Sensitive Data",
            "items": {
              "type": "string"
            },
            "x-displayname": "Sensitive Data.",
            "x-ves-example": "[Social-Security-Number, Credit-Card-Number]",
            "x-f5xc-example": "[Social-Security-Number, Credit-Card-Number]",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Apiep for the Evaluate API Group Builder response.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerAPIGroupsApiep",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerAdvancedOptionsType": {
        "type": "object",
        "description": "This defines various OPTIONS to define a route.",
        "title": "Advanced options",
        "x-displayname": "Advanced OPTIONS.",
        "x-ves-oneof-field-max_requests_per_connection_choice": "[\"max_requests_per_connection\",\"no_request_limit_per_connection\"]",
        "x-ves-oneof-field-path_normalize_choice": "[\"disable_path_normalize\",\"enable_path_normalize\"]",
        "x-ves-oneof-field-strict_sni_host_header_check_choice": "[]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.AdvancedOptionsType",
        "properties": {
          "buffer_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBufferConfigType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "compression_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCompressionType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for compression params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "custom_errors": {
            "type": "object",
            "description": "Map of integer error codes as keys and string values that can be used to provide custom\nHTTP pages for each error code.\nKey of the map can be either response code class or HTTP Error code. Response code classes\nfor key is configured as follows\n3 -- for 3xx response code class\n4 -- for 4xx response code class\n5 -- for 5xx response code class\nValue of the map is string which represents custom HTTP responses.\nSpecific response code takes preference when both response code and response code class\nmatches for a request.",
            "title": "Custom Errors",
            "x-displayname": "Custom Error Responses.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.uint32.ranges": "3,4,5,300-599",
              "ves.io.schema.rules.map.max_pairs": "16",
              "ves.io.schema.rules.map.values.string.max_len": "65536",
              "ves.io.schema.rules.map.values.string.uri_ref": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.uint32.ranges": "3,4,5,300-599",
              "ves.io.schema.rules.map.max_pairs": "16",
              "ves.io.schema.rules.map.values.string.max_len": "65536",
              "ves.io.schema.rules.map.values.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Map of integer error codes as keys and string values that can be used to provide custom HTTP pages for each error code.",
            "x-f5xc-description-medium": "Map of integer error codes as keys and string values that can be used to provide custom HTTP pages for each error code. Key of the map can be either response code class or HTTP Error code. Response code classes for key is configured as follows 3 -- for 3xx response code class 4 -- for 4xx...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disable_default_error_pages": {
            "type": "boolean",
            "description": "Disable the use of default F5XC error pages.",
            "title": "Disable the use of default F5XC error pages",
            "format": "boolean",
            "x-displayname": "Disable Default Error Pages.",
            "x-f5xc-description-short": "Disable the use of default F5XC error pages.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disable_path_normalize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_path_normalize"
            ]
          },
          "enable_path_normalize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_path_normalize"
            ]
          },
          "idle_timeout": {
            "type": "integer",
            "description": "The amount of time that a stream can exist without upstream or downstream activity, in milliseconds.\nThe stream is terminated with a HTTP 504 (Gateway Timeout) error code if no upstream response header has been\nreceived, otherwise the stream is reset.",
            "title": "Idle timeout",
            "format": "int64",
            "x-displayname": "Idle Timeout.",
            "x-ves-example": "2000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "3600000"
            },
            "x-f5xc-example": "2000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "3600000"
            },
            "x-f5xc-description-short": "The amount of time that a stream can exist without upstream or downstream activity, in milliseconds.",
            "x-f5xc-description-medium": "The amount of time that a stream can exist without upstream or downstream activity, in milliseconds. The stream is terminated with a HTTP 504 (Gateway Timeout) error code if no upstream response header has been received, otherwise the stream is reset.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 3600000,
              "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
            }
          },
          "max_request_header_size": {
            "type": "integer",
            "description": "The maximum request header size for downstream connections, in KiB.\nA HTTP 431 (Request Header Fields Too Large) error code is sent for requests that exceed this size.\n\nIf multiple load balancers share the same advertise_policy, the highest value configured across all\nsuch load balancers is used for all the load balancers in question.",
            "title": "Maximum request header size",
            "format": "int64",
            "x-displayname": "Maximum Request Header Size.",
            "x-ves-example": "60",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "96"
            },
            "x-f5xc-example": "60",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "96"
            },
            "x-f5xc-description-short": "The maximum request header size for downstream connections, in KiB.",
            "x-f5xc-description-medium": "The maximum request header size for downstream connections, in KiB. A HTTP 431 (Request Header Fields Too Large) error code is sent for requests that exceed this size. If multiple load balancers share the same advertise_policy, the highest value configured across all such load balancers is used...",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 96,
              "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
            }
          },
          "max_requests_per_connection": {
            "type": "integer",
            "description": "Exclusive with [no_request_limit_per_connection]\nSets the maximum number of requests a downstream client can send\nover a single connection to Envoy.\nEnter a value >=1 to define the request limit per connection.",
            "title": "Maximum Requests Per Connection",
            "format": "int64",
            "x-displayname": "Maximum Requests Per Connection.",
            "x-ves-example": "100",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1"
            },
            "x-f5xc-example": "100",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1"
            },
            "x-f5xc-description-short": "Exclusive with [no_request_limit_per_connection] Sets the maximum number of requests a downstream client can send over a single connection to Envoy.",
            "x-f5xc-description-medium": "Exclusive with [no_request_limit_per_connection] Sets the maximum number of requests a downstream client can send over a single connection to Envoy. Enter a value >=1 to define the request limit per connection.",
            "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": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_request_limit_per_connection"
            ]
          },
          "no_request_limit_per_connection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no request limit per connection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "max_requests_per_connection"
            ]
          },
          "request_cookies_to_add": {
            "type": "array",
            "description": "Cookies are key-value pairs to be added to HTTP request being routed towards upstream.\nCookies specified at this level are applied after cookies from matched Route are applied.",
            "title": "Cookies to add in request",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaCookieValueOption"
            },
            "x-displayname": "Add Cookies in Cookie Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Cookies are key-value pairs to be added to HTTP request being routed towards upstream.",
            "x-f5xc-description-medium": "Cookies are key-value pairs to be added to HTTP request being routed towards upstream. Cookies specified at this level are applied after cookies from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "request_cookies_to_remove": {
            "type": "array",
            "description": "List of keys of Cookies to be removed from the HTTP request being sent towards upstream.",
            "title": "Cookies to be removed from request",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Cookies from Cookie Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Cookies to be removed from the HTTP request being sent towards upstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "request_headers_to_add": {
            "type": "array",
            "description": "Headers are key-value pairs to be added to HTTP request being routed towards upstream.\nHeaders specified at this level are applied after headers from matched Route are applied.",
            "title": "Headers to add in request",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaHeaderManipulationOptionType"
            },
            "x-displayname": "Add Request Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Headers are key-value pairs to be added to HTTP request being routed towards upstream.",
            "x-f5xc-description-medium": "Headers are key-value pairs to be added to HTTP request being routed towards upstream. Headers specified at this level are applied after headers from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "request_headers_to_remove": {
            "type": "array",
            "description": "List of keys of Headers to be removed from the HTTP request being sent towards upstream.",
            "title": "Header to be removed from request",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Request Headers.",
            "x-ves-example": "Host",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "host",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Headers to be removed from the HTTP request being sent towards upstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_cookies_to_add": {
            "type": "array",
            "description": "Cookies are name-value pairs along with optional attribute parameters to be added to HTTP response being sent towards downstream.\nCookies specified at this level are applied after cookies from matched Route are applied.",
            "title": "Cookies to add in set-cookie header in response",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaSetCookieValueOption"
            },
            "x-displayname": "Add Set-Cookie Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Cookies are name-value pairs along with optional attribute parameters to be added to HTTP response being sent towards downstream.",
            "x-f5xc-description-medium": "Cookies are name-value pairs along with optional attribute parameters to be added to HTTP response being sent towards downstream. Cookies specified at this level are applied after cookies from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_cookies_to_remove": {
            "type": "array",
            "description": "List of name of Cookies to be removed from the HTTP response being sent towards downstream. Entire set-cookie header will be removed.",
            "title": "Cookies to be removed from response",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Cookies from Set-Cookie Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of name of Cookies to be removed from the HTTP response being sent towards downstream.",
            "x-f5xc-description-medium": "List of name of Cookies to be removed from the HTTP response being sent towards downstream. Entire set-cookie header will be removed.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_headers_to_add": {
            "type": "array",
            "description": "Headers are key-value pairs to be added to HTTP response being sent towards downstream.\nHeaders specified at this level are applied after headers from matched Route are applied.",
            "title": "Headers to add in response",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaHeaderManipulationOptionType"
            },
            "x-displayname": "Add Response Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Headers are key-value pairs to be added to HTTP response being sent towards downstream.",
            "x-f5xc-description-medium": "Headers are key-value pairs to be added to HTTP response being sent towards downstream. Headers specified at this level are applied after headers from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_headers_to_remove": {
            "type": "array",
            "description": "List of keys of Headers to be removed from the HTTP response being sent towards downstream.",
            "title": "Header to be removed from response",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Response Headers.",
            "x-ves-example": "Host",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "host",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Headers to be removed from the HTTP response being sent towards downstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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": "Defines various OPTIONS to define a route.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerAdvancedOptionsType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerApiInventorySchemaQueryType": {
        "type": "string",
        "description": "API Inventory Schema Query Type\n\n- API_INVENTORY_SCHEMA_FULL_RESPONSE: Full Response\n\n- API_INVENTORY_SCHEMA_CURRENT: Current Schema\n\n- API_INVENTORY_SCHEMA_UPDATED: Updated Schema.",
        "title": "API Inventory Schema Query Type",
        "enum": [
          "API_INVENTORY_SCHEMA_FULL_RESPONSE",
          "API_INVENTORY_SCHEMA_CURRENT",
          "API_INVENTORY_SCHEMA_UPDATED"
        ],
        "default": "API_INVENTORY_SCHEMA_FULL_RESPONSE",
        "x-displayname": "API Inventory Schema Query Type.",
        "x-ves-proto-enum": "ves.io.schema.views.http_loadbalancer.ApiInventorySchemaQueryType",
        "x-f5xc-description-short": "API Inventory Schema Query Type - API_INVENTORY_SCHEMA_FULL_RESPONSE: Full Response - API_INVENTORY_SCHEMA_CURRENT: Current Schema ...",
        "x-f5xc-description-medium": "API Inventory Schema Query Type - API_INVENTORY_SCHEMA_FULL_RESPONSE: Full Response - API_INVENTORY_SCHEMA_CURRENT: Current Schema - API_INVENTORY_SCHEMA_UPDATED: Updated Schema.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerApiInventorySchemaQueryType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"API_INVENTORY_SCHEMA_FULL_RESPONSE\"",
          "example_yaml": "API_INVENTORY_SCHEMA_FULL_RESPONSE\n..."
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerApiKey": {
        "type": "object",
        "title": "Api Key",
        "x-displayname": "API Key",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ApiKey",
        "properties": {
          "key": {
            "type": "string",
            "description": "Cryptographic key material",
            "title": "Api Key",
            "maxLength": 128,
            "x-displayname": "Key",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "[REDACTED_PUBLIC_KEY]",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            },
            "minLength": 7,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "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-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerApiKey",
          "required_fields": [
            "key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"key\": \"[REDACTED_PUBLIC_KEY]\"\n}",
          "example_yaml": "key: '[REDACTED_PUBLIC_KEY]'"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerApiTesting": {
        "type": "object",
        "title": "API Testing",
        "x-displayname": "API Testing.",
        "x-ves-oneof-field-frequency_choice": "[\"every_day\",\"every_month\",\"every_week\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ApiTesting",
        "properties": {
          "custom_header_value": {
            "type": "string",
            "description": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "title": "Custom Header Value",
            "maxLength": 128,
            "x-displayname": "Custom Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "domains": {
            "type": "array",
            "description": "Add and configure testing domains and credentials.",
            "title": "Domain Configuration",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/viewshttp_loadbalancerDomainConfiguration"
            },
            "x-displayname": "Testing Environments.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-description-short": "Add and configure testing domains and credentials.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          },
          "every_day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_month",
              "every_week"
            ]
          },
          "every_month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for every month.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_week"
            ]
          },
          "every_week": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_month"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerApiTesting",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"credentials\": [\n        {\n          \"credential_name\": \"example\"\n        }\n      ],\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- credentials:\n  - credential_name: example\n  domain: example.com"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerAssignAPIDefinitionReq": {
        "type": "object",
        "description": "Request form for Assign API Definition.",
        "title": "Assign API Definition Request",
        "x-displayname": "Assign API Definition Request.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.AssignAPIDefinitionReq",
        "properties": {
          "api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "api_definition",
                "field_path": "api_definition",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "create_if_not_exists": {
            "type": "boolean",
            "description": "Create an empty API Definition object, if not exists.",
            "title": "Create if not exists",
            "format": "boolean",
            "x-displayname": "Create if not exists.",
            "x-f5xc-description-short": "Create an empty API Definition object, if not exists.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the HTTP Load Balancer.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Blogging-app.",
            "x-f5xc-example": "blogging-app",
            "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 of the HTTP Load Balancer.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "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 http_loadbalancerAssignAPIDefinitionReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerAssignAPIDefinitionResp": {
        "type": "object",
        "description": "Response form for Assign API Definition.",
        "title": "Assign API Definition Response",
        "x-displayname": "Assign API Definition Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.AssignAPIDefinitionResp",
        "x-f5xc-description-short": "Response form for Assign API Definition.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerAssignAPIDefinitionResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerBasicAuthentication": {
        "type": "object",
        "title": "Basic Authentication",
        "x-displayname": "Basic Authentication.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.BasicAuthentication",
        "properties": {
          "password": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-example": "example",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user": {
            "type": "string",
            "description": "Configuration parameter for user",
            "title": "The custom domain user authentication",
            "maxLength": 64,
            "x-displayname": "User",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, hyphens"
              },
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerBasicAuthentication",
          "required_fields": [
            "user"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"user\": \"value\"\n}",
          "example_yaml": "user: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerBearer": {
        "type": "object",
        "title": "Bearer Authentication",
        "x-displayname": "Bearer",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.Bearer",
        "properties": {
          "token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-example": "example",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerBearer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerCachingPolicy": {
        "type": "object",
        "description": "Caching Policies for the CDN.",
        "title": "Caching policies",
        "x-displayname": "Caching Policies.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.CachingPolicy",
        "properties": {
          "custom_cache_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cache_ruleCustomCacheRule"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_cache_action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_cache_ruleDefaultCacheAction"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerCachingPolicy",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of http_loadbalancer",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewshttp_loadbalancerCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "HTTP/HTTPS load balancer for distributing traffic across origin pools",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "spec.domains"
          ],
          "mutually_exclusive_groups": [
            {
              "name": "lb_type",
              "fields": [
                "spec.http",
                "spec.https",
                "spec.https_auto_cert"
              ],
              "reason": "Choose exactly one load balancer type"
            },
            {
              "name": "advertising",
              "fields": [
                "spec.advertise_on_public_default_vip",
                "spec.advertise_on_public",
                "spec.advertise_custom",
                "spec.do_not_advertise"
              ],
              "reason": "Choose exactly one advertising method"
            },
            {
              "name": "waf",
              "fields": [
                "spec.app_firewall",
                "spec.disable_waf"
              ],
              "reason": "WAF enabled or disabled"
            },
            {
              "name": "bot_defense",
              "fields": [
                "spec.bot_defense",
                "spec.bot_defense_advanced",
                "spec.disable_bot_defense"
              ],
              "reason": "Bot defense enabled or disabled"
            },
            {
              "name": "rate_limit",
              "fields": [
                "spec.api_rate_limit",
                "spec.disable_rate_limit",
                "spec.rate_limit"
              ],
              "reason": "Rate limiting enabled or disabled"
            },
            {
              "name": "api_discovery",
              "fields": [
                "spec.disable_api_discovery",
                "spec.enable_api_discovery"
              ],
              "reason": "API discovery enabled or disabled"
            },
            {
              "name": "api_testing",
              "fields": [
                "spec.api_testing",
                "spec.disable_api_testing"
              ],
              "reason": "API testing enabled or disabled"
            },
            {
              "name": "api_definition",
              "fields": [
                "spec.api_specification",
                "spec.disable_api_definition"
              ],
              "reason": "API definition enabled or disabled"
            },
            {
              "name": "malware_protection",
              "fields": [
                "spec.disable_malware_protection",
                "spec.malware_protection_settings"
              ],
              "reason": "Malware protection enabled or disabled"
            },
            {
              "name": "client_side_defense",
              "fields": [
                "spec.client_side_defense",
                "spec.disable_client_side_defense"
              ],
              "reason": "Client-side defense enabled or disabled"
            },
            {
              "name": "ip_reputation",
              "fields": [
                "spec.disable_ip_reputation",
                "spec.enable_ip_reputation"
              ],
              "reason": "IP reputation enabled or disabled"
            },
            {
              "name": "threat_mesh",
              "fields": [
                "spec.disable_threat_mesh",
                "spec.enable_threat_mesh"
              ],
              "reason": "Threat mesh enabled or disabled"
            },
            {
              "name": "malicious_user_detection",
              "fields": [
                "spec.disable_malicious_user_detection",
                "spec.enable_malicious_user_detection"
              ],
              "reason": "Malicious user detection enabled or disabled"
            },
            {
              "name": "tls_config",
              "fields": [
                "spec.https_auto_cert.tls_config.default_security",
                "spec.https_auto_cert.tls_config.medium_security",
                "spec.https_auto_cert.tls_config.low_security",
                "spec.https_auto_cert.tls_config.custom_security"
              ],
              "reason": "Choose exactly one TLS security level"
            },
            {
              "name": "mtls",
              "fields": [
                "spec.https_auto_cert.no_mtls",
                "spec.https_auto_cert.use_mtls"
              ],
              "reason": "Mutual TLS enabled or disabled"
            },
            {
              "name": "server_name_header",
              "fields": [
                "spec.https_auto_cert.append_server_name",
                "spec.https_auto_cert.default_header",
                "spec.https_auto_cert.pass_through",
                "spec.https_auto_cert.server_name"
              ],
              "reason": "Choose exactly one server name header handling"
            },
            {
              "name": "path_normalize",
              "fields": [
                "spec.https_auto_cert.enable_path_normalize",
                "spec.https_auto_cert.disable_path_normalize"
              ],
              "reason": "Path normalization enabled or disabled"
            },
            {
              "name": "loadbalancer_choice",
              "fields": [
                "spec.https_auto_cert.non_default_loadbalancer",
                "spec.https_auto_cert.default_loadbalancer"
              ],
              "reason": "Choose default or non-default load balancer"
            },
            {
              "name": "http_protocol",
              "fields": [
                "spec.https_auto_cert.http_protocol_options.http_protocol_enable_v1_only",
                "spec.https_auto_cert.http_protocol_options.http_protocol_enable_v1_v2",
                "spec.https_auto_cert.http_protocol_options.http_protocol_enable_v2_only"
              ],
              "reason": "Choose exactly one HTTP protocol version configuration"
            },
            {
              "name": "coalescing",
              "fields": [
                "spec.https_auto_cert.coalescing_options.default_coalescing",
                "spec.https_auto_cert.coalescing_options.strict_coalescing"
              ],
              "reason": "Choose exactly one connection coalescing option"
            },
            {
              "name": "ddos_mitigation",
              "fields": [
                "spec.l7_ddos_protection.mitigation_block",
                "spec.l7_ddos_protection.mitigation_captcha_challenge",
                "spec.l7_ddos_protection.mitigation_js_challenge"
              ],
              "reason": "Choose exactly one DDoS mitigation action"
            },
            {
              "name": "ddos_rps_threshold",
              "fields": [
                "spec.l7_ddos_protection.default_rps_threshold",
                "spec.l7_ddos_protection.rps_threshold"
              ],
              "reason": "Choose default or custom RPS threshold"
            },
            {
              "name": "ddos_clientside_action",
              "fields": [
                "spec.l7_ddos_protection.clientside_action_captcha_challenge",
                "spec.l7_ddos_protection.clientside_action_js_challenge",
                "spec.l7_ddos_protection.clientside_action_none"
              ],
              "reason": "Choose exactly one client-side DDoS action"
            },
            {
              "name": "ddos_policy",
              "fields": [
                "spec.l7_ddos_protection.ddos_policy_custom",
                "spec.l7_ddos_protection.ddos_policy_none"
              ],
              "reason": "DDoS policy reference or none"
            },
            {
              "name": "challenge",
              "fields": [
                "spec.no_challenge",
                "spec.js_challenge",
                "spec.captcha_challenge",
                "spec.enable_challenge",
                "spec.policy_based_challenge"
              ],
              "reason": "Choose exactly one challenge type"
            },
            {
              "name": "user_identification",
              "fields": [
                "spec.user_id_client_ip",
                "spec.user_identification"
              ],
              "reason": "Choose user identification method"
            },
            {
              "name": "client_ip_headers",
              "fields": [
                "spec.disable_trust_client_ip_headers",
                "spec.enable_trust_client_ip_headers"
              ],
              "reason": "Trust client IP headers or not"
            },
            {
              "name": "service_policies_source",
              "fields": [
                "spec.service_policies_from_namespace",
                "spec.active_service_policies",
                "spec.no_service_policies"
              ],
              "reason": "Service policies from namespace, active list, or none"
            },
            {
              "name": "sensitive_data_policy",
              "fields": [
                "spec.default_sensitive_data_policy",
                "spec.sensitive_data_policy"
              ],
              "reason": "Use default or custom sensitive data policy"
            },
            {
              "name": "load_balancing_algorithm",
              "fields": [
                "spec.least_active",
                "spec.random",
                "spec.ring_hash",
                "spec.round_robin"
              ],
              "reason": "Choose exactly one load balancing algorithm"
            }
          ],
          "example_yaml": "apiVersion: v1\nkind: http_loadbalancer\nmetadata:\n  name: example-app\n  namespace: default\nspec:\n  domains:\n    - example.com\n  https_auto_cert: {}\n",
          "example_json": "{\n  \"metadata\": {\n    \"name\": \"example-app\",\n    \"namespace\": \"default\"\n  },\n  \"spec\": {\n    \"domains\": [\"ar-test.example.com\"],\n    \"advertise_on_public_default_vip\": {},\n    \"http\": {\"port\": 80}\n  }\n}\n"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.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/viewshttp_loadbalancerGetSpecType"
              }
            ],
            "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 http_loadbalancerCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerCredentials": {
        "type": "object",
        "description": "Configure credential details, including type(e.g., API Key, bearer token) and role.",
        "title": "Credentials",
        "x-displayname": "Credential Details.",
        "x-ves-oneof-field-credentials_choice": "[\"api_key\",\"basic_auth\",\"bearer_token\",\"login_endpoint\"]",
        "x-ves-oneof-field-role_choice": "[\"admin\",\"standard\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.Credentials",
        "properties": {
          "admin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "standard"
            ]
          },
          "api_key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerApiKey"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "basic_auth",
              "bearer_token",
              "login_endpoint"
            ]
          },
          "basic_auth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerBasicAuthentication"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_key",
              "bearer_token",
              "login_endpoint"
            ]
          },
          "bearer_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerBearer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bearer token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_key",
              "basic_auth",
              "login_endpoint"
            ]
          },
          "credential_name": {
            "type": "string",
            "description": "Enter a unique name for the credentials used in API testing.",
            "title": "Credential Name",
            "maxLength": 64,
            "x-displayname": "Name",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "example",
            "x-f5xc-description-short": "Enter a unique name for the credentials used in API testing.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "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
            }
          },
          "login_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerLoginEndpoint"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_key",
              "basic_auth",
              "bearer_token"
            ]
          },
          "standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "admin"
            ]
          }
        },
        "x-f5xc-description-short": "Configure credential details, including type(e.g., API Key, bearer token) and role.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerCredentials",
          "required_fields": [
            "credential_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"credential_name\": \"example\"\n}",
          "example_yaml": "credential_name: example"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a http_loadbalancer",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.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 http_loadbalancerDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerGetAPIEndpointsForGroupsReq": {
        "type": "object",
        "description": "Request shape for GET API Endpoints For Groups.",
        "title": "Get API Endpoints For Groups Request",
        "x-displayname": "GET API Endpoints For Groups.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetAPIEndpointsForGroupsReq",
        "properties": {
          "name": {
            "type": "string",
            "description": "HTTP LoadBalancer for the current request.",
            "title": "Http LoadBalancer Name",
            "x-displayname": "HTTP LoadBalancer Name.",
            "x-ves-example": "Blogging-app.",
            "x-f5xc-example": "blogging-app",
            "x-f5xc-description-short": "HTTP LoadBalancer for the current request.",
            "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 of the HTTP LoadBalancer for the current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the HTTP LoadBalancer for the current request.",
            "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 shape for GET API Endpoints For Groups.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerGetAPIEndpointsForGroupsReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerGetAPIEndpointsForGroupsRsp": {
        "type": "object",
        "description": "Response shape for GET API Endpoints For Groups request.",
        "title": "Get API Endpoints For Groups Response",
        "x-displayname": "GET API Endpoints For Groups Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetAPIEndpointsForGroupsRsp",
        "properties": {
          "api_endpoints": {
            "type": "array",
            "description": "A list of API endpoints associated with the HTTP Loadbalancer.",
            "title": "API Endpoints",
            "items": {
              "$ref": "#/components/schemas/http_loadbalancerAPIGroupsApiep"
            },
            "x-displayname": "API Endpoints.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of API endpoints associated with the HTTP Loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "apieps_timestamp": {
            "type": "string",
            "description": "The API endpoints timestamp indicates most recent update of API endpoints happened\nThe API Discovery periodically updates the API endpoints list based on application's traffic.",
            "title": "apieps_timestamp",
            "format": "date-time",
            "x-displayname": "API Endpoints Timestamp.",
            "x-f5xc-description-short": "The API endpoints timestamp indicates most recent update of API endpoints happened The API Discovery periodically updates the API endpoints list...",
            "x-f5xc-description-medium": "The API endpoints timestamp indicates most recent update of API endpoints happened The API Discovery periodically updates the API endpoints list based on application's traffic.",
            "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": "Response shape for GET API Endpoints For Groups request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerGetAPIEndpointsForGroupsRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerGetAPIEndpointsSchemaUpdatesReq": {
        "type": "object",
        "description": "Request shape for GET API Endpoints Schema Updates.",
        "title": "Get API Endpoints Schema Updates Request",
        "x-displayname": "GET API Endpoints Schema Updates Request.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetAPIEndpointsSchemaUpdatesReq",
        "properties": {
          "api_endpoints_filter": {
            "type": "array",
            "description": "The list of discovered API endpoint to GET schema for.\nNOTE: if empty, then the all API endpoints with schema changes would be returned.",
            "title": "API Endpoints Filter",
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Endpoints Filter.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "100"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "100"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The list of discovered API endpoint to GET schema for.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 100,
              "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
            }
          },
          "name": {
            "type": "string",
            "description": "The name of the HTTP Loadbalancer for the current request.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of the HTTP Loadbalancer for the current request.",
            "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 of the HTTP Loadbalancer for the current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "The namespace of the HTTP Loadbalancer for the current request.",
            "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])?$"
          },
          "query_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerApiInventorySchemaQueryType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request shape for GET API Endpoints Schema Updates.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerGetAPIEndpointsSchemaUpdatesReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerGetAPIEndpointsSchemaUpdatesResp": {
        "type": "object",
        "description": "Response shape for GET API Endpoints Schema Updates.",
        "title": "Get API Endpoints Schema Updates Response",
        "x-displayname": "GET API Endpoints Schema Updates Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetAPIEndpointsSchemaUpdatesResp",
        "properties": {
          "api_endpoints_current_schemas": {
            "type": "array",
            "description": "The list of discovered API endpoints with current schemas.",
            "title": "API Endpoints Current Schemas",
            "items": {
              "$ref": "#/components/schemas/viewsApiEndpointWithSchema"
            },
            "x-displayname": "API Endpoints Current Schemas.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The list of discovered API endpoints with current schemas.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_endpoints_updated_schemas": {
            "type": "array",
            "description": "The list of API Inventory API endpoints with updated schemas.",
            "title": "API Endpoints Updated Schemas",
            "items": {
              "$ref": "#/components/schemas/viewsApiEndpointWithSchema"
            },
            "x-displayname": "API Endpoints Updated Schemas.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The list of API Inventory API endpoints with updated schemas.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response shape for GET API Endpoints Schema Updates.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerGetAPIEndpointsSchemaUpdatesResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerGetDnsInfoResponse": {
        "type": "object",
        "description": "Response for GET-DNS-info API.",
        "title": "GetDnsInfoResponse",
        "x-displayname": "GET DNS Info Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetDnsInfoResponse",
        "properties": {
          "dns_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemavirtual_host_dns_infoGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerGetDnsInfoResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read http_loadbalancer",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerCreateRequest"
              }
            ],
            "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/http_loadbalancerReplaceRequest"
              }
            ],
            "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/viewshttp_loadbalancerGetSpecType"
              }
            ],
            "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/http_loadbalancerStatusObject"
            },
            "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 http_loadbalancerGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerGetSecurityConfigReq": {
        "type": "object",
        "description": "Request of GET Security Config Spec API.",
        "title": "Get Security Config request",
        "x-displayname": "GET Security Config Request.",
        "x-ves-oneof-field-loadbalancer_choice": "[\"all_http_loadbalancers\",\"http_loadbalancers_list\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetSecurityConfigReq",
        "properties": {
          "all_http_loadbalancers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for all http loadbalancers.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http_loadbalancers_list"
            ]
          },
          "http_loadbalancers_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerHTTPLoadBalancerList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_http_loadbalancers"
            ]
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the HTTP Load Balancer for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the HTTP Load Balancer for current request.",
            "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 of GET Security Config Spec API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerGetSecurityConfigReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerHTTPLoadBalancerList": {
        "type": "object",
        "title": "List of http load balancers",
        "x-displayname": "List of HTTP Load Balancers.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.HTTPLoadBalancerList",
        "properties": {
          "http_loadbalancer": {
            "type": "array",
            "description": "Configuration parameter for http loadbalancer",
            "title": "HTTP LoadBalancer",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "HTTP LoadBalancer.",
            "x-ves-example": "[blogging-app]",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-example": "[blogging-app]",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-description-short": "Configuration parameter for http loadbalancer.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 5,
              "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 http_loadbalancerHTTPLoadBalancerList",
          "required_fields": [
            "http_loadbalancer"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"http_loadbalancer\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "http_loadbalancer:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerHashPolicyListType": {
        "type": "object",
        "description": "List of hash policy rules.",
        "title": "Hash Policy List",
        "x-displayname": "Hash Policy List.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.HashPolicyListType",
        "properties": {
          "hash_policy": {
            "type": "array",
            "description": "Specifies a list of hash policies to use for ring hash load balancing. Each\nhash policy is evaluated individually and the combined result is used to\nroute the request.",
            "title": "hash_policy",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/routeHashPolicyType"
            },
            "x-displayname": "Hash Policy.",
            "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.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.unique": "true"
            },
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-description-medium": "Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerHashPolicyListType",
          "required_fields": [
            "hash_policy"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"hash_policy\": [\n    {}\n  ]\n}",
          "example_yaml": "hash_policy:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerL7DDoSProtectionSettings": {
        "type": "object",
        "description": "L7 DDoS protection is critical for safeguarding web applications, APIs, and services that are exposed to the internet\nfrom sophisticated, volumetric, application-level threats. Configure actions, thresholds and policies to apply during\nL7 DDoS attack.",
        "title": "L7 DDoS Protection Settings",
        "x-displayname": "L7 DDoS Protection Settings.",
        "x-ves-oneof-field-clientside_action_choice": "[\"clientside_action_captcha_challenge\",\"clientside_action_js_challenge\",\"clientside_action_none\"]",
        "x-ves-oneof-field-ddos_policy_choice": "[\"ddos_policy_custom\",\"ddos_policy_none\"]",
        "x-ves-oneof-field-mitigation_action_choice": "[\"mitigation_block\",\"mitigation_captcha_challenge\",\"mitigation_js_challenge\"]",
        "x-ves-oneof-field-rps_threshold_choice": "[\"default_rps_threshold\",\"rps_threshold\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.L7DDoSProtectionSettings",
        "properties": {
          "clientside_action_captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "clientside_action_js_challenge",
              "clientside_action_none"
            ]
          },
          "clientside_action_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "clientside_action_captcha_challenge",
              "clientside_action_none"
            ]
          },
          "clientside_action_none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "clientside_action_captcha_challenge",
              "clientside_action_js_challenge"
            ]
          },
          "ddos_policy_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ddos policy custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ddos_policy_none"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "ddos_policy_custom",
                "gated_by": {
                  "choice": "ddos_policy_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "ddos_policy_none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ddos policy none.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ddos_policy_custom"
            ]
          },
          "default_rps_threshold": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default rps threshold.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "rps_threshold"
            ]
          },
          "mitigation_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mitigation_captcha_challenge",
              "mitigation_js_challenge"
            ]
          },
          "mitigation_captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mitigation_block",
              "mitigation_js_challenge"
            ]
          },
          "mitigation_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mitigation_block",
              "mitigation_captcha_challenge"
            ]
          },
          "rps_threshold": {
            "type": "integer",
            "description": "Exclusive with [default_rps_threshold]\nConfigure custom RPS threshold.",
            "title": "Custom RPS Threshold",
            "format": "int64",
            "x-displayname": "Custom",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "50000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "50000"
            },
            "x-f5xc-description-short": "Exclusive with [default_rps_threshold] Configure custom RPS threshold.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 50000,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "source": "minimum_configs",
              "enumValues": [
                "default_rps_threshold",
                "custom_rps_threshold"
              ],
              "default": "default_rps_threshold",
              "description": "Requests per second threshold for DDoS detection"
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_rps_threshold"
            ]
          }
        },
        "x-f5xc-description-short": "L7 DDoS protection is critical for safeguarding web applications, APIs, and services that are exposed to the internet from sophisticated...",
        "x-f5xc-description-medium": "L7 DDoS protection is critical for safeguarding web applications, APIs, and services that are exposed to the internet from sophisticated, volumetric, application-level threats. Configure actions, thresholds and policies to apply during L7 DDoS attack.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerL7DDoSProtectionSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerListAvailableAPIDefinitionsResp": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ListAvailableAPIDefinitionsResp",
        "properties": {
          "available_api_definitions": {
            "type": "array",
            "description": "The list of references to available API Definition objects.",
            "title": "Available API Definitions",
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Available API Definitions.",
            "x-f5xc-description-short": "The list of references to available API Definition objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerListAvailableAPIDefinitionsResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of http_loadbalancer",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.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/http_loadbalancerListResponseItem"
            },
            "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 http_loadbalancerListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerListResponseItem": {
        "type": "object",
        "description": "By default a summary of http_loadbalancer 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 http_loadbalancer",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this http_loadbalancer.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this http_loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this http_loadbalancer.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this http_loadbalancer.",
            "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 http_loadbalancer is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates http_loadbalancer is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewshttp_loadbalancerGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this http_loadbalancer.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this http_loadbalancer.",
            "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 http_loadbalancer.",
            "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/http_loadbalancerStatusObject"
            },
            "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 http_loadbalancer.",
            "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 http_loadbalancer.",
            "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 http_loadbalancer 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 http_loadbalancer 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 http_loadbalancerListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerLoginEndpoint": {
        "type": "object",
        "title": "Login Endpoint",
        "x-displayname": "Login Endpoint.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.LoginEndpoint",
        "properties": {
          "json_payload": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for json payload.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "type": "string",
            "description": "URL path for the endpoint",
            "title": "Login Endpoint Path",
            "maxLength": 1024,
            "x-displayname": "Path",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "1024"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "1024"
            },
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "token_response_key": {
            "type": "string",
            "description": "Specifies the key name used to extract the authentication token from the login response, such as token or access_token.",
            "title": "Token Response Key",
            "x-displayname": "Token Response Key.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Specifies the key name used to extract the authentication token from the login response, such as token or access_token.",
            "x-f5xc-description-medium": "Specifies the key name used to extract the authentication token from the login response, such as token or access_token.",
            "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 http_loadbalancerLoginEndpoint",
          "required_fields": [
            "path",
            "token_response_key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/api/v1/resources\",\n  \"token_response_key\": \"example\"\n}",
          "example_yaml": "path: /api/v1/resources\ntoken_response_key: example"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerOriginServerSubsetRuleListType": {
        "type": "object",
        "description": "List of Origin Pools.",
        "title": "OriginServerSubsetRuleListType",
        "x-displayname": "Origin Server Subset Rule List Type.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.OriginServerSubsetRuleListType",
        "properties": {
          "origin_server_subset_rules": {
            "type": "array",
            "description": "Origin Server Subset Rules allow users to define match condition on Client (IP address, ASN, Country), IP Reputation, Regional Edge names,\nRequest for subset selection of origin servers. Origin Server Subset is a sequential engine where rules are evaluated one after the other.\nIt's important to define the correct order for Origin Server Subset to GET the intended result, rules are evaluated from top to bottom in the list.\nWhen an Origin server subset rule is matched, then this selection rule takes effect and no more rules are evaluated.",
            "title": "Origin Server Subset",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyOriginServerSubsetRule"
            },
            "x-displayname": "Origin Server Subset Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Origin Server Subset Rules allow users to define match condition on Client (IP address, ASN, Country), IP Reputation, Regional Edge names, Request...",
            "x-f5xc-description-medium": "Origin Server Subset Rules allow users to define match condition on Client (IP address, ASN, Country), IP Reputation, Regional Edge names, Request for subset selection of origin servers. Origin Server Subset is a sequential engine where rules are evaluated one after the other. It's important to...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerOriginServerSubsetRuleListType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerProxyTypeHttps": {
        "type": "object",
        "description": "Choice for selecting HTTP proxy with bring your own certificates.",
        "title": "BYOC HTTPS Choice",
        "x-displayname": "BYOC HTTPS Choice.",
        "x-ves-displayorder": "1,2,24,3,4,9,16,19,20",
        "x-ves-oneof-field-default_lb_choice": "[\"default_loadbalancer\",\"non_default_loadbalancer\"]",
        "x-ves-oneof-field-path_normalize_choice": "[\"disable_path_normalize\",\"enable_path_normalize\"]",
        "x-ves-oneof-field-port_choice": "[\"port\",\"port_ranges\"]",
        "x-ves-oneof-field-server_header_choice": "[\"append_server_name\",\"default_header\",\"pass_through\",\"server_name\"]",
        "x-ves-oneof-field-tls_certificates_choice": "[\"tls_cert_params\",\"tls_parameters\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ProxyTypeHttps",
        "properties": {
          "add_hsts": {
            "type": "boolean",
            "description": "Add HTTP Strict-Transport-Security response header.",
            "title": "Add HSTS",
            "format": "boolean",
            "x-displayname": "Add HSTS Header.",
            "x-f5xc-description-short": "Add HTTP Strict-Transport-Security response header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "append_server_name": {
            "type": "string",
            "description": "Exclusive with [default_header pass_through server_name]\nDefine the header value for the header name “server”.\nIf header value is already present, it is not overwritten and passed as-is.",
            "title": "append_server_name",
            "maxLength": 8096,
            "x-displayname": "Append header value.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Exclusive with [default_header pass_through server_name] Define the header value for the header name “server”.",
            "x-f5xc-description-medium": "Exclusive with [default_header pass_through server_name] Define the header value for the header name “server”. If header value is already present, it is not overwritten and passed as-is.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 8096,
              "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-conflicts-with": [
              "default_header",
              "pass_through",
              "server_name"
            ]
          },
          "coalescing_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTLSCoalescingOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for coalescing options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "connection_idle_timeout": {
            "type": "integer",
            "description": "The idle timeout for downstream connections. The idle timeout is defined as the\nperiod in which there are no active requests. When the idle timeout is reached the connection\nwill be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.\nThis is specified in milliseconds. The default value is 2 minutes.",
            "title": "Connection Idle Timeout",
            "format": "int64",
            "x-displayname": "Connection Idle Timeout.",
            "x-ves-example": "60000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-example": "60000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-description-short": "The idle timeout for downstream connections. The idle timeout is defined as the period in which there are no active requests.",
            "x-f5xc-description-medium": "The idle timeout for downstream connections. The idle timeout is defined as the period in which there are no active requests. When the idle timeout is reached the connection will be closed.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 600000,
              "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-field-mutability": "read-only"
          },
          "default_header": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "append_server_name",
              "pass_through",
              "server_name"
            ]
          },
          "default_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "non_default_loadbalancer"
            ]
          },
          "disable_path_normalize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_path_normalize"
            ]
          },
          "enable_path_normalize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_path_normalize"
            ]
          },
          "http_protocol_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostHttpProtocolOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http protocol options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_redirect": {
            "type": "boolean",
            "description": "Redirect HTTP traffic to HTTPS.",
            "title": "HTTP Redirect",
            "format": "boolean",
            "x-displayname": "HTTP Redirect to HTTPS.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "non_default_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for non default loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_loadbalancer"
            ]
          },
          "pass_through": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for pass through.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "append_server_name",
              "default_header",
              "server_name"
            ]
          },
          "port": {
            "type": "integer",
            "description": "Exclusive with [port_ranges]\nHTTPS port to Listen.",
            "title": "HTTPS port to listen",
            "format": "int64",
            "x-displayname": "HTTPS Port.",
            "x-ves-example": "443",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "443",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-description-short": "Exclusive with [port_ranges] HTTPS port to Listen.",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "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": [
              "port_ranges"
            ]
          },
          "port_ranges": {
            "type": "string",
            "description": "Exclusive with [port]\nA string containing a comma separated list of port ranges.\nEach port range consists of a single port or two ports separated by \"-\".",
            "title": "Port_ranges",
            "minLength": 1,
            "maxLength": 512,
            "x-displayname": "Port Ranges.",
            "x-ves-example": "80,443,8080-8191,9080.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-example": "80,443,8080-8191,9080",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-description-short": "Exclusive with [port] A string containing a comma separated list of port ranges.",
            "x-f5xc-description-medium": "Exclusive with [port] A string containing a comma separated list of port ranges. Each port range consists of a single port or two ports separated by \"-\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 512,
              "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-conflicts-with": [
              "port"
            ]
          },
          "server_name": {
            "type": "string",
            "description": "Exclusive with [append_server_name default_header pass_through]\nDefine the header value for the header name “server”.\nThis will overwrite existing values, if any, for the server header.",
            "title": "server_name",
            "maxLength": 8096,
            "x-displayname": "Modify header value.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Exclusive with [append_server_name default_header pass_through] Define the header value for the header name “server”.",
            "x-f5xc-description-medium": "Exclusive with [append_server_name default_header pass_through] Define the header value for the header name “server”. This will overwrite existing values, if any, for the server header.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 8096,
              "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-conflicts-with": [
              "append_server_name",
              "default_header",
              "pass_through"
            ]
          },
          "tls_cert_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsDownstreamTLSCertsParams"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls cert params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "tls_parameters"
            ]
          },
          "tls_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsDownstreamTlsParamsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "tls_cert_params"
            ]
          }
        },
        "x-f5xc-description-short": "Choice for selecting HTTP proxy with bring your own certificates.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerProxyTypeHttps",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerProxyTypeHttpsAutoCerts": {
        "type": "object",
        "description": "Choice for selecting HTTP proxy with bring your own certificates.",
        "title": "HTTPS with Auto Certs Choice",
        "x-displayname": "HTTPS with Auto Certs Choice.",
        "x-ves-displayorder": "1,2,25,3,4,7,12,19,22,23",
        "x-ves-oneof-field-default_lb_choice": "[\"default_loadbalancer\",\"non_default_loadbalancer\"]",
        "x-ves-oneof-field-mtls_choice": "[\"no_mtls\",\"use_mtls\"]",
        "x-ves-oneof-field-path_normalize_choice": "[\"disable_path_normalize\",\"enable_path_normalize\"]",
        "x-ves-oneof-field-port_choice": "[\"port\",\"port_ranges\"]",
        "x-ves-oneof-field-server_header_choice": "[\"append_server_name\",\"default_header\",\"pass_through\",\"server_name\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ProxyTypeHttpsAutoCerts",
        "properties": {
          "add_hsts": {
            "type": "boolean",
            "description": "Add HTTP Strict-Transport-Security response header.",
            "title": "Add HSTS",
            "format": "boolean",
            "x-displayname": "Add HSTS Header.",
            "x-f5xc-description-short": "Add HTTP Strict-Transport-Security response header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": false,
            "x-f5xc-server-default": true
          },
          "append_server_name": {
            "type": "string",
            "description": "Exclusive with [default_header pass_through server_name]\nDefine the header value for the header name “server”.\nIf header value is already present, it is not overwritten and passed as-is.",
            "title": "append_server_name",
            "maxLength": 8096,
            "x-displayname": "Append header value.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Exclusive with [default_header pass_through server_name] Define the header value for the header name “server”.",
            "x-f5xc-description-medium": "Exclusive with [default_header pass_through server_name] Define the header value for the header name “server”. If header value is already present, it is not overwritten and passed as-is.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 8096,
              "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-conflicts-with": [
              "default_header",
              "pass_through",
              "server_name"
            ]
          },
          "coalescing_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTLSCoalescingOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for coalescing options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "default_coalescing",
                "disable_coalescing",
                "enable_for_same_origin"
              ],
              "default": null,
              "description": "HTTP/2 connection coalescing options (null in API = implicit default)"
            }
          },
          "connection_idle_timeout": {
            "type": "integer",
            "description": "The idle timeout for downstream connections. The idle timeout is defined as the\nperiod in which there are no active requests. When the idle timeout is reached the connection\nwill be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.\nThis is specified in milliseconds. The default value is 2 minutes.",
            "title": "Connection Idle Timeout",
            "format": "int64",
            "x-displayname": "Connection Idle Timeout.",
            "x-ves-example": "60000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-example": "60000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-description-short": "The idle timeout for downstream connections. The idle timeout is defined as the period in which there are no active requests.",
            "x-f5xc-description-medium": "The idle timeout for downstream connections. The idle timeout is defined as the period in which there are no active requests. When the idle timeout is reached the connection will be closed.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 600000,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "source": "minimum_configs",
              "minimum": 0,
              "default": 0,
              "description": "Connection idle timeout in milliseconds (0 = system default 120000ms, max 600000 = 10 minutes)"
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "default": 0,
            "x-f5xc-server-default": true
          },
          "default_header": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default header.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "append_server_name",
              "pass_through",
              "server_name"
            ]
          },
          "default_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "non_default_loadbalancer"
            ]
          },
          "disable_path_normalize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_path_normalize"
            ]
          },
          "enable_path_normalize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "disable_path_normalize"
            ]
          },
          "http_protocol_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostHttpProtocolOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http protocol options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "http_protocol_enable_v1_only",
                "http_protocol_enable_v1_v2",
                "http_protocol_enable_v2_only"
              ],
              "default": null,
              "description": "HTTP protocol versions to enable (null in API = implicit v1+v2)"
            }
          },
          "http_redirect": {
            "type": "boolean",
            "description": "Redirect HTTP traffic to HTTPS.",
            "title": "HTTP Redirect",
            "format": "boolean",
            "x-displayname": "HTTP Redirect to HTTPS.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": false,
            "x-f5xc-server-default": true
          },
          "no_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "use_mtls"
            ]
          },
          "non_default_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for non default loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_loadbalancer"
            ]
          },
          "pass_through": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for pass through.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "append_server_name",
              "default_header",
              "server_name"
            ]
          },
          "port": {
            "type": "integer",
            "description": "Exclusive with [port_ranges]\nHTTPS port to Listen.",
            "title": "HTTPS port to listen",
            "format": "int64",
            "x-displayname": "HTTPS Listen Port.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "8080",
            "x-f5xc-description-short": "Exclusive with [port_ranges] HTTPS port to Listen.",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "multipleOf": 1,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "source": "minimum_configs",
              "default": 443,
              "description": "HTTPS port number"
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "port_ranges"
            ]
          },
          "port_ranges": {
            "type": "string",
            "description": "Exclusive with [port]\nA string containing a comma separated list of port ranges.\nEach port range consists of a single port or two ports separated by \"-\".",
            "title": "Port_ranges",
            "minLength": 1,
            "maxLength": 512,
            "x-displayname": "Port Ranges.",
            "x-ves-example": "80,443,8080-8191,9080.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-example": "80,443,8080-8191,9080",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-description-short": "Exclusive with [port] A string containing a comma separated list of port ranges.",
            "x-f5xc-description-medium": "Exclusive with [port] A string containing a comma separated list of port ranges. Each port range consists of a single port or two ports separated by \"-\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 512,
              "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-conflicts-with": [
              "port"
            ]
          },
          "server_name": {
            "type": "string",
            "description": "Exclusive with [append_server_name default_header pass_through]\nDefine the header value for the header name “server”.\nThis will overwrite existing values, if any, for the server header.",
            "title": "server_name",
            "maxLength": 8096,
            "x-displayname": "Modify header value.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Exclusive with [append_server_name default_header pass_through] Define the header value for the header name “server”.",
            "x-f5xc-description-medium": "Exclusive with [append_server_name default_header pass_through] Define the header value for the header name “server”. This will overwrite existing values, if any, for the server header.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 8096,
              "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-conflicts-with": [
              "append_server_name",
              "default_header",
              "pass_through"
            ]
          },
          "tls_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsTlsConfig"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "default_security",
                "medium_security",
                "low_security",
                "custom_security"
              ],
              "default": "default_security",
              "description": "TLS security level configuration"
            }
          },
          "use_mtls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsDownstreamTlsValidationContext"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_mtls"
            ]
          }
        },
        "x-f5xc-description-short": "Choice for selecting HTTP proxy with bring your own certificates.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerProxyTypeHttpsAutoCerts",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a http_loadbalancer",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.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/viewshttp_loadbalancerReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "HTTP/HTTPS load balancer for distributing traffic across origin pools",
          "required_fields": [],
          "mutually_exclusive_groups": [
            {
              "name": "lb_type",
              "fields": [
                "spec.http",
                "spec.https",
                "spec.https_auto_cert"
              ],
              "reason": "Choose exactly one load balancer type"
            },
            {
              "name": "advertising",
              "fields": [
                "spec.advertise_on_public_default_vip",
                "spec.advertise_on_public",
                "spec.advertise_custom",
                "spec.do_not_advertise"
              ],
              "reason": "Choose exactly one advertising method"
            },
            {
              "name": "waf",
              "fields": [
                "spec.app_firewall",
                "spec.disable_waf"
              ],
              "reason": "WAF enabled or disabled"
            },
            {
              "name": "bot_defense",
              "fields": [
                "spec.bot_defense",
                "spec.bot_defense_advanced",
                "spec.disable_bot_defense"
              ],
              "reason": "Bot defense enabled or disabled"
            },
            {
              "name": "rate_limit",
              "fields": [
                "spec.api_rate_limit",
                "spec.disable_rate_limit",
                "spec.rate_limit"
              ],
              "reason": "Rate limiting enabled or disabled"
            },
            {
              "name": "api_discovery",
              "fields": [
                "spec.disable_api_discovery",
                "spec.enable_api_discovery"
              ],
              "reason": "API discovery enabled or disabled"
            },
            {
              "name": "api_testing",
              "fields": [
                "spec.api_testing",
                "spec.disable_api_testing"
              ],
              "reason": "API testing enabled or disabled"
            },
            {
              "name": "api_definition",
              "fields": [
                "spec.api_specification",
                "spec.disable_api_definition"
              ],
              "reason": "API definition enabled or disabled"
            },
            {
              "name": "malware_protection",
              "fields": [
                "spec.disable_malware_protection",
                "spec.malware_protection_settings"
              ],
              "reason": "Malware protection enabled or disabled"
            },
            {
              "name": "client_side_defense",
              "fields": [
                "spec.client_side_defense",
                "spec.disable_client_side_defense"
              ],
              "reason": "Client-side defense enabled or disabled"
            },
            {
              "name": "ip_reputation",
              "fields": [
                "spec.disable_ip_reputation",
                "spec.enable_ip_reputation"
              ],
              "reason": "IP reputation enabled or disabled"
            },
            {
              "name": "threat_mesh",
              "fields": [
                "spec.disable_threat_mesh",
                "spec.enable_threat_mesh"
              ],
              "reason": "Threat mesh enabled or disabled"
            },
            {
              "name": "malicious_user_detection",
              "fields": [
                "spec.disable_malicious_user_detection",
                "spec.enable_malicious_user_detection"
              ],
              "reason": "Malicious user detection enabled or disabled"
            },
            {
              "name": "tls_config",
              "fields": [
                "spec.https_auto_cert.tls_config.default_security",
                "spec.https_auto_cert.tls_config.medium_security",
                "spec.https_auto_cert.tls_config.low_security",
                "spec.https_auto_cert.tls_config.custom_security"
              ],
              "reason": "Choose exactly one TLS security level"
            },
            {
              "name": "mtls",
              "fields": [
                "spec.https_auto_cert.no_mtls",
                "spec.https_auto_cert.use_mtls"
              ],
              "reason": "Mutual TLS enabled or disabled"
            },
            {
              "name": "server_name_header",
              "fields": [
                "spec.https_auto_cert.append_server_name",
                "spec.https_auto_cert.default_header",
                "spec.https_auto_cert.pass_through",
                "spec.https_auto_cert.server_name"
              ],
              "reason": "Choose exactly one server name header handling"
            },
            {
              "name": "path_normalize",
              "fields": [
                "spec.https_auto_cert.enable_path_normalize",
                "spec.https_auto_cert.disable_path_normalize"
              ],
              "reason": "Path normalization enabled or disabled"
            },
            {
              "name": "loadbalancer_choice",
              "fields": [
                "spec.https_auto_cert.non_default_loadbalancer",
                "spec.https_auto_cert.default_loadbalancer"
              ],
              "reason": "Choose default or non-default load balancer"
            },
            {
              "name": "http_protocol",
              "fields": [
                "spec.https_auto_cert.http_protocol_options.http_protocol_enable_v1_only",
                "spec.https_auto_cert.http_protocol_options.http_protocol_enable_v1_v2",
                "spec.https_auto_cert.http_protocol_options.http_protocol_enable_v2_only"
              ],
              "reason": "Choose exactly one HTTP protocol version configuration"
            },
            {
              "name": "coalescing",
              "fields": [
                "spec.https_auto_cert.coalescing_options.default_coalescing",
                "spec.https_auto_cert.coalescing_options.strict_coalescing"
              ],
              "reason": "Choose exactly one connection coalescing option"
            },
            {
              "name": "ddos_mitigation",
              "fields": [
                "spec.l7_ddos_protection.mitigation_block",
                "spec.l7_ddos_protection.mitigation_captcha_challenge",
                "spec.l7_ddos_protection.mitigation_js_challenge"
              ],
              "reason": "Choose exactly one DDoS mitigation action"
            },
            {
              "name": "ddos_rps_threshold",
              "fields": [
                "spec.l7_ddos_protection.default_rps_threshold",
                "spec.l7_ddos_protection.rps_threshold"
              ],
              "reason": "Choose default or custom RPS threshold"
            },
            {
              "name": "ddos_clientside_action",
              "fields": [
                "spec.l7_ddos_protection.clientside_action_captcha_challenge",
                "spec.l7_ddos_protection.clientside_action_js_challenge",
                "spec.l7_ddos_protection.clientside_action_none"
              ],
              "reason": "Choose exactly one client-side DDoS action"
            },
            {
              "name": "ddos_policy",
              "fields": [
                "spec.l7_ddos_protection.ddos_policy_custom",
                "spec.l7_ddos_protection.ddos_policy_none"
              ],
              "reason": "DDoS policy reference or none"
            },
            {
              "name": "challenge",
              "fields": [
                "spec.no_challenge",
                "spec.js_challenge",
                "spec.captcha_challenge",
                "spec.enable_challenge",
                "spec.policy_based_challenge"
              ],
              "reason": "Choose exactly one challenge type"
            },
            {
              "name": "user_identification",
              "fields": [
                "spec.user_id_client_ip",
                "spec.user_identification"
              ],
              "reason": "Choose user identification method"
            },
            {
              "name": "client_ip_headers",
              "fields": [
                "spec.disable_trust_client_ip_headers",
                "spec.enable_trust_client_ip_headers"
              ],
              "reason": "Trust client IP headers or not"
            },
            {
              "name": "service_policies_source",
              "fields": [
                "spec.service_policies_from_namespace",
                "spec.active_service_policies",
                "spec.no_service_policies"
              ],
              "reason": "Service policies from namespace, active list, or none"
            },
            {
              "name": "sensitive_data_policy",
              "fields": [
                "spec.default_sensitive_data_policy",
                "spec.sensitive_data_policy"
              ],
              "reason": "Use default or custom sensitive data policy"
            },
            {
              "name": "load_balancing_algorithm",
              "fields": [
                "spec.least_active",
                "spec.random",
                "spec.ring_hash",
                "spec.round_robin"
              ],
              "reason": "Choose exactly one load balancing algorithm"
            }
          ],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerRouteSimpleAdvancedOptions": {
        "type": "object",
        "description": "Configure advanced OPTIONS for route like path rewrite, hash policy, etc.",
        "title": "Advanced Route Options",
        "x-displayname": "Advanced Route OPTIONS.",
        "x-ves-oneof-field-bot_defense_javascript_injection_choice": "[\"bot_defense_javascript_injection\",\"inherited_bot_defense_javascript_injection\"]",
        "x-ves-oneof-field-buffer_choice": "[\"buffer_policy\",\"common_buffering\"]",
        "x-ves-oneof-field-cluster_retract_choice": "[\"do_not_retract_cluster\",\"retract_cluster\"]",
        "x-ves-oneof-field-hash_policy_choice": "[\"common_hash_policy\",\"specific_hash_policy\"]",
        "x-ves-oneof-field-mirroring_choice": "[\"disable_mirroring\",\"mirror_policy\"]",
        "x-ves-oneof-field-retry_policy_choice": "[\"default_retry_policy\",\"no_retry_policy\",\"retry_policy\"]",
        "x-ves-oneof-field-rewrite_choice": "[\"disable_prefix_rewrite\",\"prefix_rewrite\",\"regex_rewrite\"]",
        "x-ves-oneof-field-spdy_choice": "[\"disable_spdy\",\"enable_spdy\"]",
        "x-ves-oneof-field-waf_choice": "[\"app_firewall\",\"disable_waf\",\"inherited_waf\"]",
        "x-ves-oneof-field-waf_exclusion_choice": "[\"inherited_waf_exclusion\",\"waf_exclusion_policy\"]",
        "x-ves-oneof-field-websocket_choice": "[\"disable_web_socket_config\",\"web_socket_config\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.RouteSimpleAdvancedOptions",
        "properties": {
          "app_firewall": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_waf",
              "inherited_waf"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "app_firewall",
                "field_path": "app_firewall",
                "gated_by": {
                  "choice": "waf_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "bot_defense_javascript_injection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeBotDefenseJavascriptInjectionType__ves_io_schema_views_http_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inherited_bot_defense_javascript_injection"
            ]
          },
          "buffer_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBufferConfigType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "common_buffering"
            ]
          },
          "common_buffering": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for common buffering.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "buffer_policy"
            ]
          },
          "common_hash_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_hash_policy"
            ]
          },
          "cors_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCorsPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "csrf_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCsrfPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_retry_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_retry_policy",
              "retry_policy"
            ]
          },
          "disable_location_add": {
            "type": "boolean",
            "description": "Disables append of x-F5 Distributed Cloud-location = <RE-site-name> at route level, if it is configured at\nvirtual-host level. This configuration is ignored on CE sites.",
            "title": "disable_location_add",
            "format": "boolean",
            "x-displayname": "Disable Location Addition.",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Disables append of x-F5 Distributed Cloud-location = <RE-site-name> at route level, if it is configured at virtual-host level.",
            "x-f5xc-description-medium": "Disables append of x-F5 Distributed Cloud-location = <RE-site-name> at route level, if it is configured at virtual-host level. This configuration is ignored on CE sites.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disable_mirroring": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable mirroring.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mirror_policy"
            ]
          },
          "disable_prefix_rewrite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable prefix rewrite.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "prefix_rewrite",
              "regex_rewrite"
            ]
          },
          "disable_spdy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable spdy.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_spdy"
            ]
          },
          "disable_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "app_firewall",
              "inherited_waf"
            ]
          },
          "disable_web_socket_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "web_socket_config"
            ]
          },
          "do_not_retract_cluster": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "retract_cluster"
            ]
          },
          "enable_spdy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable spdy.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_spdy"
            ]
          },
          "endpoint_subsets": {
            "type": "object",
            "description": "Upstream origin pool may be configured to divide its origin servers into subsets based on metadata\nattached to the origin servers. Routes may then specify the metadata that a endpoint must match in\norder to be selected by the load balancer\n\nFor origin servers which are discovered in K8s or Consul cluster, the label of the service is merged with\nendpoint's labels. In case of Consul, the label is derived from the \"Tag\" field.\nFor labels that are common between configured endpoint and discovered service, labels from discovered service\ntakes precedence.\n\nList of key-value pairs that will be used as matching metadata. Only those origin servers of\nupstream origin pool which match this metadata will be selected for load balancing.",
            "title": "Origin Servers Subset",
            "x-displayname": "Origin Servers Subsets.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "16"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "16"
            },
            "x-f5xc-description-short": "Upstream origin pool may be configured to divide its origin servers into subsets based on metadata attached to the origin servers.",
            "x-f5xc-description-medium": "Upstream origin pool may be configured to divide its origin servers into subsets based on metadata attached to the origin servers. Routes may then specify the metadata that a endpoint must match in order to be selected by the load balancer For origin servers which are discovered in K8s or Consul...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "inherited_bot_defense_javascript_injection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_defense_javascript_injection"
            ]
          },
          "inherited_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inherited waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "app_firewall",
              "disable_waf"
            ]
          },
          "inherited_waf_exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inherited waf exclusion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "waf_exclusion_policy"
            ]
          },
          "mirror_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewshttp_loadbalancerMirrorPolicyType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_mirroring"
            ]
          },
          "no_retry_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_retry_policy",
              "retry_policy"
            ]
          },
          "prefix_rewrite": {
            "type": "string",
            "description": "Exclusive with [disable_prefix_rewrite regex_rewrite]\nprefix_rewrite indicates that during forwarding, the matched prefix (or path) should be swapped\nwith its value. When using regex path matching, the entire path (not including\nthe query string) will be swapped with this value.",
            "title": "prefix_rewrite",
            "maxLength": 256,
            "x-displayname": "Enable Prefix Rewrite.",
            "x-ves-example": "/",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [disable_prefix_rewrite regex_rewrite] prefix_rewrite indicates that during forwarding, the matched prefix (or path) should be...",
            "x-f5xc-description-medium": "Exclusive with [disable_prefix_rewrite regex_rewrite] prefix_rewrite indicates that during forwarding, the matched prefix (or path) should be swapped with its value. When using regex path matching, the entire path (not including the query string) will be swapped with this value.",
            "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
            },
            "x-f5xc-conflicts-with": [
              "disable_prefix_rewrite",
              "regex_rewrite"
            ]
          },
          "priority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaRoutingPriority"
              }
            ],
            "x-f5xc-example": "10",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "regex_rewrite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaRegexMatchRewrite"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for regex rewrite.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_prefix_rewrite",
              "prefix_rewrite"
            ]
          },
          "request_cookies_to_add": {
            "type": "array",
            "description": "Cookies are key-value pairs to be added to HTTP request being routed towards upstream.\nCookies specified at this level are applied after cookies from matched Route are applied.",
            "title": "Cookies to add in request",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaCookieValueOption"
            },
            "x-displayname": "Add Cookies in Cookie Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Cookies are key-value pairs to be added to HTTP request being routed towards upstream.",
            "x-f5xc-description-medium": "Cookies are key-value pairs to be added to HTTP request being routed towards upstream. Cookies specified at this level are applied after cookies from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "request_cookies_to_remove": {
            "type": "array",
            "description": "List of keys of Cookies to be removed from the HTTP request being sent towards upstream.",
            "title": "Cookies to be removed from request",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Cookies from Cookie Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Cookies to be removed from the HTTP request being sent towards upstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "request_headers_to_add": {
            "type": "array",
            "description": "Headers are key-value pairs to be added to HTTP request being routed towards upstream.",
            "title": "Headers to add in request",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaHeaderManipulationOptionType"
            },
            "x-displayname": "Add Request Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Headers are key-value pairs to be added to HTTP request being routed towards upstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "request_headers_to_remove": {
            "type": "array",
            "description": "List of keys of Headers to be removed from the HTTP request being sent towards upstream.",
            "title": "Header to be removed from request",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Request Headers.",
            "x-ves-example": "Host",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "host",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Headers to be removed from the HTTP request being sent towards upstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_cookies_to_add": {
            "type": "array",
            "description": "Cookies are name-value pairs along with optional attribute parameters to be added to HTTP response being sent towards downstream.\nCookies specified at this level are applied after cookies from matched Route are applied.",
            "title": "Cookies to add in set-cookie header in response",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaSetCookieValueOption"
            },
            "x-displayname": "Add Set-Cookie Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Cookies are name-value pairs along with optional attribute parameters to be added to HTTP response being sent towards downstream.",
            "x-f5xc-description-medium": "Cookies are name-value pairs along with optional attribute parameters to be added to HTTP response being sent towards downstream. Cookies specified at this level are applied after cookies from matched Route are applied.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_cookies_to_remove": {
            "type": "array",
            "description": "List of name of Cookies to be removed from the HTTP response being sent towards downstream. Entire set-cookie header will be removed.",
            "title": "Cookies to be removed from response",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Cookies from Set-Cookie Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of name of Cookies to be removed from the HTTP response being sent towards downstream.",
            "x-f5xc-description-medium": "List of name of Cookies to be removed from the HTTP response being sent towards downstream. Entire set-cookie header will be removed.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_headers_to_add": {
            "type": "array",
            "description": "Headers are key-value pairs to be added to HTTP response being sent towards downstream.",
            "title": "Headers to add in response",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/schemaHeaderManipulationOptionType"
            },
            "x-displayname": "Add Response Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Headers are key-value pairs to be added to HTTP response being sent towards downstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "response_headers_to_remove": {
            "type": "array",
            "description": "List of keys of Headers to be removed from the HTTP response being sent towards downstream.",
            "title": "Header to be removed from response",
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Remove Response Headers.",
            "x-ves-example": "Host",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "host",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of keys of Headers to be removed from the HTTP response being sent towards downstream.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          },
          "retract_cluster": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "do_not_retract_cluster"
            ]
          },
          "retry_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaRetryPolicyType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_retry_policy",
              "no_retry_policy"
            ]
          },
          "specific_hash_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerHashPolicyListType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "common_hash_policy"
            ]
          },
          "timeout": {
            "type": "integer",
            "description": "The timeout for the route including all retries, in milliseconds.\nShould be set to a high value or 0 (infinite timeout) for server-side streaming.",
            "title": "timeout",
            "format": "int64",
            "x-displayname": "Timeout",
            "x-ves-example": "2000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-example": "2000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-description-short": "The timeout for the route including all retries, in milliseconds. Should be set to a high value or 0 (infinite timeout) for server-side streaming.",
            "x-f5xc-description-medium": "The timeout for the route including all retries, in milliseconds. Should be set to a high value or 0 (infinite timeout) for server-side streaming.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 600000,
              "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
            }
          },
          "waf_exclusion_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inherited_waf_exclusion"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "waf_exclusion_policy",
                "field_path": "waf_exclusion_policy",
                "gated_by": {
                  "choice": "waf_exclusion_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "web_socket_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeWebsocketConfigType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_web_socket_config"
            ]
          }
        },
        "x-f5xc-description-short": "Configure advanced OPTIONS for route like path rewrite, hash policy, etc.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerRouteSimpleAdvancedOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerRouteTypeCustomRoute": {
        "type": "object",
        "description": "A custom route uses a route object created outside of this view.",
        "title": "RouteTypeCustomRoute",
        "x-displayname": "Custom Route Object.",
        "x-ves-displayorder": "1,2",
        "x-ves-oneof-field-caching": "[\"caching_disable\",\"caching_inherit\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.RouteTypeCustomRoute",
        "properties": {
          "caching_disable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for caching disable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "caching_inherit"
            ]
          },
          "caching_inherit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for caching inherit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "caching_disable"
            ]
          },
          "route_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "route_object",
                "field_path": "route_ref",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Custom route uses a route object created outside of this view.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerRouteTypeCustomRoute",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerRouteTypeDirectResponse": {
        "type": "object",
        "description": "A direct response route matches on path, incoming header, incoming port and/or HTTP method\nand responds directly to the matching traffic.",
        "title": "RouteTypeDirectResponse",
        "x-displayname": "Direct Response Route.",
        "x-ves-displayorder": "2,1,4,5,3",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.RouteTypeDirectResponse",
        "properties": {
          "headers": {
            "type": "array",
            "description": "List of (key, value) headers.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/ioschemaHeaderMatcherType"
            },
            "x-displayname": "Headers",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "minItems": 0,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "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
            }
          },
          "http_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http method.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "incoming_port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPortMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "route_direct_response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeRouteDirectResponse"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for route direct response.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Direct response route matches on path, incoming header, incoming port and/or HTTP method and responds directly to the matching traffic.",
        "x-f5xc-description-medium": "Direct response route matches on path, incoming header, incoming port and/or HTTP method and responds directly to the matching traffic.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerRouteTypeDirectResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerRouteTypeRedirect": {
        "type": "object",
        "description": "A redirect route matches on path, incoming header, incoming port and/or HTTP method\nand redirects the matching traffic to a different URL.",
        "title": "RouteTypeRedirect",
        "x-displayname": "Redirect Route.",
        "x-ves-displayorder": "2,1,4,5,3",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.RouteTypeRedirect",
        "properties": {
          "headers": {
            "type": "array",
            "description": "List of (key, value) headers.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/ioschemaHeaderMatcherType"
            },
            "x-displayname": "Headers",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "minItems": 0,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "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
            }
          },
          "http_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http method.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "incoming_port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPortMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "route_redirect": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeRouteRedirect"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for route redirect.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Redirect route matches on path, incoming header, incoming port and/or HTTP method and redirects the matching traffic to a different URL.",
        "x-f5xc-description-medium": "Redirect route matches on path, incoming header, incoming port and/or HTTP method and redirects the matching traffic to a different URL.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerRouteTypeRedirect",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerRouteTypeSimple": {
        "type": "object",
        "description": "A simple route matches on path, incoming header, incoming port and/or HTTP method\nand forwards the matching traffic to the associated pools.",
        "title": "RouteTypeSimple",
        "x-displayname": "Simple Route.",
        "x-ves-displayorder": "2,1,9,10,13,3,4,11,8",
        "x-ves-oneof-field-caching": "[\"caching_disable\",\"caching_inherit\"]",
        "x-ves-oneof-field-host_rewrite_params": "[\"auto_host_rewrite\",\"disable_host_rewrite\",\"host_rewrite\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.RouteTypeSimple",
        "properties": {
          "advanced_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerRouteSimpleAdvancedOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advanced options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "auto_host_rewrite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_host_rewrite",
              "host_rewrite"
            ]
          },
          "caching_disable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for caching disable.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "caching_inherit"
            ]
          },
          "caching_inherit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for caching inherit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "caching_disable"
            ]
          },
          "disable_host_rewrite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "auto_host_rewrite",
              "host_rewrite"
            ]
          },
          "headers": {
            "type": "array",
            "description": "List of (key, value) headers.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/ioschemaHeaderMatcherType"
            },
            "x-displayname": "Headers",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "minItems": 0,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "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
            }
          },
          "host_rewrite": {
            "type": "string",
            "description": "Exclusive with [auto_host_rewrite disable_host_rewrite]\nHost header will be swapped with this value.",
            "title": "HostRewrite",
            "x-displayname": "Host Rewrite Value.",
            "x-ves-example": "One.F5 Distributed cloud.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true"
            },
            "x-f5xc-example": "one.F5 Distributed cloud.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true"
            },
            "x-f5xc-description-short": "Exclusive with [auto_host_rewrite disable_host_rewrite] Host header will be swapped with this value.",
            "x-f5xc-description-medium": "Exclusive with [auto_host_rewrite disable_host_rewrite] Host header will be swapped with this value.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "hostname",
              "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-conflicts-with": [
              "auto_host_rewrite",
              "disable_host_rewrite"
            ]
          },
          "http_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http method.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "incoming_port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPortMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "origin_pools": {
            "type": "array",
            "description": "Origin Pools for this route.",
            "title": "Origin Pools",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/viewsOriginPoolWithWeight"
            },
            "x-displayname": "Origin Pools.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "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": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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
            }
          },
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaPathMatcherType"
              }
            ],
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "query_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeQueryParamsSimpleRoute"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for query params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Simple route matches on path, incoming header, incoming port and/or HTTP method and forwards the matching traffic to the associated pools.",
        "x-f5xc-description-medium": "Simple route matches on path, incoming header, incoming port and/or HTTP method and forwards the matching traffic to the associated pools.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerRouteTypeSimple",
          "required_fields": [
            "origin_pools"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"origin_pools\": [\n    {}\n  ]\n}",
          "example_yaml": "origin_pools:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerSensitiveDataDisclosureRules": {
        "type": "object",
        "description": "Sensitive Data Exposure Rules allows specifying rules to mask sensitive data fields in API responses.",
        "title": "Sensitive Data Exposure Rules",
        "x-displayname": "Sensitive Data Exposure Rules.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.SensitiveDataDisclosureRules",
        "properties": {
          "sensitive_data_types_in_response": {
            "type": "array",
            "description": "Sensitive Data Exposure Rules allows specifying rules to mask sensitive data fields in API responses.",
            "title": "Sensitive Data Exposure Rules",
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/http_loadbalancerSensitiveDataTypes__ves_io_schema_views_http_loadbalancer"
            },
            "x-displayname": "Sensitive Data Exposure Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "100",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "100",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Sensitive Data Exposure Rules allows specifying rules to mask sensitive data fields in API responses.",
            "x-f5xc-description-medium": "Sensitive Data Exposure Rules allows specifying rules to mask sensitive data fields in API responses.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 100,
              "uniqueItems": true,
              "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": "Sensitive Data Exposure Rules allows specifying rules to mask sensitive data fields in API responses.",
        "x-f5xc-description-medium": "Sensitive Data Exposure Rules allows specifying rules to mask sensitive data fields in API responses.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerSensitiveDataDisclosureRules",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerSensitiveDataTypes__ves_io_schema_views_http_loadbalancer": {
        "type": "object",
        "description": "Settings to mask sensitive data in request/response payload.",
        "title": "Sensitive Data Types",
        "x-displayname": "Sensitive Data Types.",
        "x-ves-oneof-field-masking_mode_choice": "[\"mask\",\"report\"]",
        "x-ves-oneof-field-type_condition_type_choice": "[\"api_endpoint\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.SensitiveDataTypes",
        "properties": {
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "body": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerBodySectionMaskingOptions"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mask": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "report"
            ]
          },
          "report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mask"
            ]
          }
        },
        "x-f5xc-description-short": "Settings to mask sensitive data in request/response payload.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerSensitiveDataTypes",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerSetL7DDoSRPSThresholdReq": {
        "type": "object",
        "description": "Request to set L7 DDoS RPS Threshold.",
        "title": "Set L7 DDoS RPS Threshold Request",
        "x-displayname": "Set L7 DDoS RPS Threshold Request.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.SetL7DDoSRPSThresholdReq",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the HTTP loadbalancer.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Lb_name",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "lb_name",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "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 scope of the request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Default",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "default",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "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])?$"
          },
          "rps_threshold": {
            "type": "integer",
            "description": "The new RPS threshold to set.",
            "title": "RPS Threshold",
            "format": "int64",
            "x-displayname": "RPS Threshold.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "20000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "0",
              "ves.io.schema.rules.uint32.lte": "20000"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 20000,
              "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 http_loadbalancerSetL7DDoSRPSThresholdReq",
          "required_fields": [
            "name",
            "namespace",
            "rps_threshold"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"lb_name\",\n  \"namespace\": \"default\",\n  \"rps_threshold\": 0\n}",
          "example_yaml": "name: lb_name\nnamespace: default\nrps_threshold: 0"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerSetL7DDoSRPSThresholdRsp": {
        "type": "object",
        "description": "Response message for setting the RPS threshold.",
        "title": "SetL7DDoSRPSThresholdRsp",
        "x-displayname": "Set RPS Threshold Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.SetL7DDoSRPSThresholdRsp",
        "x-f5xc-description-short": "Response message for setting the RPS threshold.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerSetL7DDoSRPSThresholdRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerSingleLoadBalancerAppSetting": {
        "type": "object",
        "description": "Specific settings for Machine learning analysis on this HTTP LB, independently from other LBs.",
        "title": "Single load balancer app setting",
        "x-displayname": "Single Load Balancer App Setting.",
        "x-ves-oneof-field-api_discovery_choice": "[\"disable_discovery\",\"enable_discovery\"]",
        "x-ves-oneof-field-malicious_user_detection_choice": "[\"disable_malicious_user_detection\",\"enable_malicious_user_detection\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.SingleLoadBalancerAppSetting",
        "properties": {
          "disable_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable discovery.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_discovery"
            ]
          },
          "disable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_malicious_user_detection"
            ]
          },
          "enable_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable discovery.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_discovery"
            ]
          },
          "enable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malicious_user_detection"
            ]
          }
        },
        "x-f5xc-description-short": "Specific settings for Machine learning analysis on this HTTP LB, independently from other LBs.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerSingleLoadBalancerAppSetting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "StatusObject",
        "x-displayname": "Status",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.StatusObject",
        "properties": {
          "cdn_site_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnCDNSiteStatus__ves_io_schema_views_http_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "cdn_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_cdnCDNControllerStatus__ves_io_schema_views_http_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "conditions": {
            "type": "array",
            "description": "Conditions represent the normalized status values for configuration object.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions represent the normalized status values for configuration object.",
            "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": "HTTP loadbalancer view object direct reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-description-short": "HTTP loadbalancer view object direct reference.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_host_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostDNSVHostStatusType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Most recently observed status of object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerUpdateAPIEndpointsSchemasReq": {
        "type": "object",
        "description": "Request shape for Update API Endpoints Schemas.",
        "title": "Update API Endpoints Schemas Request",
        "x-displayname": "Update API Endpoints Schemas Request.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.UpdateAPIEndpointsSchemasReq",
        "properties": {
          "api_endpoints_schema_updates": {
            "type": "array",
            "description": "The list of API Inventory API endpoints schema updates.",
            "title": "API Endpoints Schema Updates",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/viewsApiEndpointWithSchema"
            },
            "x-displayname": "API Endpoints Schema Updates.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "100",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "100",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The list of API Inventory API endpoints schema updates.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 100,
              "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
            }
          },
          "name": {
            "type": "string",
            "description": "The name of the HTTP Loadbalancer for the current request.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of the HTTP Loadbalancer for the current request.",
            "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 of the HTTP Loadbalancer for the current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "The namespace of the HTTP Loadbalancer for the current request.",
            "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 shape for Update API Endpoints Schemas.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerUpdateAPIEndpointsSchemasReq",
          "required_fields": [
            "api_endpoints_schema_updates"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoints_schema_updates\": [\n    {\n      \"schema_json\": \"{}\"\n    }\n  ]\n}",
          "example_yaml": "api_endpoints_schema_updates:\n- schema_json: '{}'"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerUpdateAPIEndpointsSchemasResp": {
        "type": "object",
        "description": "Response shape for Update API Endpoints With Newly Discovered Schema.",
        "title": "Update API Endpoints Schema Response",
        "x-displayname": "Update API Endpoints Schema Response.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.UpdateAPIEndpointsSchemasResp",
        "properties": {
          "updated_api_endpoints": {
            "type": "array",
            "description": "The list of API endpoints which were successfully proceeded by the API Inventory request.",
            "title": "Updated API Endpoints",
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "Updated API Endpoints.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The list of API endpoints which were successfully proceeded by the API Inventory request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response shape for Update API Endpoints With Newly Discovered Schema.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerUpdateAPIEndpointsSchemasResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "ioschemaPortMatcherType": {
        "type": "object",
        "description": "Port match of the request can be a range or a specific port.",
        "title": "PortMatcherType",
        "x-displayname": "Port to Match.",
        "x-ves-displayorder": "3",
        "x-ves-oneof-field-port_match": "[\"no_port_match\",\"port\",\"port_ranges\"]",
        "x-ves-proto-message": "ves.io.schema.PortMatcherType",
        "properties": {
          "no_port_match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "port",
              "port_ranges"
            ]
          },
          "port": {
            "type": "integer",
            "description": "Exclusive with [no_port_match port_ranges]\nExact Port to match.",
            "title": "port",
            "format": "int64",
            "x-displayname": "Port",
            "x-ves-example": "6443",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "6443",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-description-short": "Exclusive with [no_port_match port_ranges] Exact Port to match.",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "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": [
              "no_port_match",
              "port_ranges"
            ]
          },
          "port_ranges": {
            "type": "string",
            "description": "Exclusive with [no_port_match port]\nPort range to match.",
            "title": "port_range",
            "minLength": 1,
            "maxLength": 32,
            "x-displayname": "Port range.",
            "x-ves-example": "8080-8191",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "32",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-f5xc-example": "8080-8191",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "32",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.port_range": "true"
            },
            "x-f5xc-description-short": "Exclusive with [no_port_match port] Port range to match.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 32,
              "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-conflicts-with": [
              "no_port_match",
              "port"
            ]
          }
        },
        "x-f5xc-description-short": "Port match of the request can be a range or a specific port.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaPortMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginPoolAdvancedOptions__ves_io_schema_views_http_loadbalancer": {
        "type": "object",
        "description": "Configure Advanced OPTIONS for origin pool.",
        "title": "Origin Pool Advanced Options",
        "x-displayname": "Origin Pool Advanced OPTIONS.",
        "x-ves-oneof-field-circuit_breaker_choice": "[\"circuit_breaker\",\"default_circuit_breaker\",\"disable_circuit_breaker\"]",
        "x-ves-oneof-field-http_protocol_type": "[\"auto_http_config\",\"http1_config\",\"http2_options\"]",
        "x-ves-oneof-field-lb_source_ip_persistence_choice": "[\"disable_lb_source_ip_persistence\",\"enable_lb_source_ip_persistence\"]",
        "x-ves-oneof-field-max_requests_per_connection_choice": "[\"max_requests_per_connection\",\"no_request_limit_per_connection\"]",
        "x-ves-oneof-field-outlier_detection_choice": "[\"disable_outlier_detection\",\"outlier_detection\"]",
        "x-ves-oneof-field-panic_threshold_type": "[\"no_panic_threshold\",\"panic_threshold\"]",
        "x-ves-oneof-field-proxy_protocol_choice": "[\"disable_proxy_protocol\",\"proxy_protocol_v1\",\"proxy_protocol_v2\"]",
        "x-ves-oneof-field-subset_choice": "[\"disable_subsets\",\"enable_subsets\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginPoolAdvancedOptions",
        "properties": {
          "auto_http_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "http1_config",
              "http2_options"
            ]
          },
          "circuit_breaker": {
            "allOf": [
              {
                "$ref": "#/components/schemas/clusterCircuitBreaker"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for circuit breaker.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_circuit_breaker",
              "disable_circuit_breaker"
            ]
          },
          "connection_timeout": {
            "type": "integer",
            "description": "The timeout for new network connections to endpoints in the cluster.\nThis is specified in milliseconds. The default value is 2 seconds.",
            "title": "connection_timeout",
            "format": "int64",
            "x-displayname": "Connection Timeout.",
            "x-ves-example": "4000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1800000"
            },
            "x-f5xc-example": "4000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "1800000"
            },
            "x-f5xc-description-short": "The timeout for new network connections to endpoints in the cluster. This is specified in milliseconds.",
            "x-f5xc-description-medium": "The timeout for new network connections to endpoints in the cluster. This is specified in milliseconds. The default value is 2 seconds.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 1800000,
              "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
            },
            "default": 0,
            "x-f5xc-server-default": true,
            "x-f5xc-recommended-value": 2000
          },
          "default_circuit_breaker": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default circuit breaker.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "circuit_breaker",
              "disable_circuit_breaker"
            ]
          },
          "disable_circuit_breaker": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable circuit breaker.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "circuit_breaker",
              "default_circuit_breaker"
            ]
          },
          "disable_lb_source_ip_persistence": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-wire-name": "disable_lb_source_ip_persistance",
            "description": "IP address configuration",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_lb_source_ip_persistence"
            ]
          },
          "disable_outlier_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable outlier detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "outlier_detection"
            ]
          },
          "disable_proxy_protocol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable proxy protocol.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "proxy_protocol_v1",
              "proxy_protocol_v2"
            ]
          },
          "disable_subsets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable subsets.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_subsets"
            ]
          },
          "enable_lb_source_ip_persistence": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-wire-name": "enable_lb_source_ip_persistance",
            "description": "IP address configuration",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_lb_source_ip_persistence"
            ]
          },
          "enable_subsets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginPoolSubsets"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable subsets.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_subsets"
            ]
          },
          "http1_config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaclusterHttp1ProtocolOptions"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "auto_http_config",
              "http2_options"
            ]
          },
          "http2_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/clusterHttp2ProtocolOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http2 options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "auto_http_config",
              "http1_config"
            ]
          },
          "http_idle_timeout": {
            "type": "integer",
            "description": "The idle timeout for upstream connection pool connections. The idle timeout is defined as the\nperiod in which there are no active requests. When the idle timeout is reached the connection\nwill be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.\nThis is specified in milliseconds. The default value is 5 minutes.",
            "title": "http_idle_timeout",
            "format": "int64",
            "x-displayname": "HTTP Idle Timeout.",
            "x-ves-example": "60000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-example": "60000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-description-short": "The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests.",
            "x-f5xc-description-medium": "The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests. When the idle timeout is reached the connection will be closed.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 600000,
              "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-field-mutability": "read-only",
            "default": 0,
            "x-f5xc-server-default": true,
            "x-f5xc-recommended-value": 300000
          },
          "max_requests_per_connection": {
            "type": "integer",
            "description": "Exclusive with [no_request_limit_per_connection]\nSets the maximum number of requests allowed per connection to the origin server.\nEnter a value >=1 to define the request limit per connection.",
            "title": "Maximum Requests Per Connection",
            "format": "int64",
            "x-displayname": "Maximum Requests Per Connection.",
            "x-ves-example": "100",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1"
            },
            "x-f5xc-example": "100",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1"
            },
            "x-f5xc-description-short": "Exclusive with [no_request_limit_per_connection] Sets the maximum number of requests allowed per connection to the origin server.",
            "x-f5xc-description-medium": "Exclusive with [no_request_limit_per_connection] Sets the maximum number of requests allowed per connection to the origin server. Enter a value >=1 to define the request limit per connection.",
            "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": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_request_limit_per_connection"
            ]
          },
          "no_panic_threshold": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no panic threshold.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "panic_threshold"
            ]
          },
          "no_request_limit_per_connection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no request limit per connection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "max_requests_per_connection"
            ]
          },
          "outlier_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/clusterOutlierDetectionType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for outlier detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_outlier_detection"
            ]
          },
          "panic_threshold": {
            "type": "integer",
            "description": "Exclusive with [no_panic_threshold]\n\nConfigure a threshold (percentage of unhealthy endpoints) below which\nall endpoints will be considered for load balancing ignoring its health status.",
            "title": "Panic threshold",
            "format": "int64",
            "x-displayname": "Panic threshold.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "100"
            },
            "x-f5xc-example": "25",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "100"
            },
            "x-f5xc-description-short": "Exclusive with [no_panic_threshold] Configure a threshold (percentage of unhealthy endpoints) below which all endpoints will be considered for...",
            "x-f5xc-description-medium": "Exclusive with [no_panic_threshold] Configure a threshold (percentage of unhealthy endpoints) below which all endpoints will be considered for load balancing ignoring its health status.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 100,
              "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-conflicts-with": [
              "no_panic_threshold"
            ]
          },
          "proxy_protocol_v1": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for proxy protocol v1.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_proxy_protocol",
              "proxy_protocol_v2"
            ]
          },
          "proxy_protocol_v2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for proxy protocol v2.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_proxy_protocol",
              "proxy_protocol_v1"
            ]
          }
        },
        "x-f5xc-description-short": "Configure Advanced OPTIONS for origin pool.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginPoolAdvancedOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginPoolDefaultSubset": {
        "type": "object",
        "description": "Default Subset definition.",
        "title": "Origin Pool Default Subset",
        "x-displayname": "Origin Pool Default Subset.",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginPoolDefaultSubset",
        "properties": {
          "default_subset": {
            "type": "object",
            "description": "List of key-value pairs that define default subset.\nWhich gets used when route specifies no metadata or no subset matching the metadata exists.",
            "title": "default_subset",
            "x-displayname": "Default Subset for Origin Pool.",
            "x-ves-example": "Key:value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "32"
            },
            "x-f5xc-example": "key:value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "32"
            },
            "x-f5xc-description-short": "List of key-value pairs that define default subset. Which gets used when route specifies no metadata or no subset matching the metadata exists.",
            "x-f5xc-description-medium": "List of key-value pairs that define default subset. Which gets used when route specifies no metadata or no subset matching the metadata exists.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginPoolDefaultSubset",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginPoolSubsets": {
        "type": "object",
        "description": "Configure subset OPTIONS for origin pool.",
        "title": "Origin Pool Subset Options",
        "x-displayname": "Origin Pool Subset OPTIONS.",
        "x-ves-oneof-field-fallback_policy_choice": "[\"any_endpoint\",\"default_subset\",\"fail_request\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginPoolSubsets",
        "properties": {
          "any_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_subset",
              "fail_request"
            ]
          },
          "default_subset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginPoolDefaultSubset"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default subset.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_endpoint",
              "fail_request"
            ]
          },
          "endpoint_subsets": {
            "type": "array",
            "description": "List of subset class. Subsets class is defined using list of keys. Every unique combination of values of these keys form a subset within the class.",
            "title": "Origin Server Subsets Classes",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/clusterEndpointSubsetSelectorType"
            },
            "x-displayname": "Origin Server Subsets Classes.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of subset class. Subsets class is defined using list of keys.",
            "x-f5xc-description-medium": "List of subset class. Subsets class is defined using list of keys. Every unique combination of values of these keys form a subset within the class.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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
            }
          },
          "fail_request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fail request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_endpoint",
              "default_subset"
            ]
          }
        },
        "x-f5xc-description-short": "Configure subset OPTIONS for origin pool.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginPoolSubsets",
          "required_fields": [
            "endpoint_subsets"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"endpoint_subsets\": [\n    {\n      \"keys\": [\n        \"value\"\n      ]\n    }\n  ]\n}",
          "example_yaml": "endpoint_subsets:\n- keys:\n  - value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerCBIPService": {
        "type": "object",
        "description": "Specify origin server with Classic BIG-IP Service (Virtual Server)",
        "title": "OriginServerCBIPService",
        "x-displayname": "Discovered Classic BIG-IP Service Name.",
        "x-ves-displayorder": "1",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerCBIPService",
        "properties": {
          "service_name": {
            "type": "string",
            "description": "Name of the discovered Classic BIG-IP virtual server to be used as origin.",
            "title": "Service Name",
            "x-displayname": "Service Name.",
            "x-ves-example": "Cbip-vs1-dev.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "cbip-vs1-dev",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of the discovered Classic BIG-IP virtual server to be used as origin.",
            "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": "Specify origin server with Classic BIG-IP Service (Virtual Server).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerCBIPService",
          "required_fields": [
            "service_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"service_name\": \"cbip-vs1-dev\"\n}",
          "example_yaml": "service_name: cbip-vs1-dev"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerConsulService": {
        "type": "object",
        "description": "Specify origin server with HashiCorp Consul service name and site information.",
        "title": "OriginServerConsulService",
        "x-displayname": "Consul Service Name on given Sites.",
        "x-ves-displayorder": "1,2,3",
        "x-ves-oneof-field-network_choice": "[\"inside_network\",\"outside_network\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerConsulService",
        "properties": {
          "inside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "outside_network"
            ]
          },
          "outside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for outside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inside_network"
            ]
          },
          "service_name": {
            "type": "string",
            "description": "Consul service name of this origin server will be listed, including cluster-ID.\nThe format is servicename:cluster-ID.",
            "title": "Service Name",
            "x-displayname": "Service Name.",
            "x-ves-example": "Matching:production.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "matching:production",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Consul service name of this origin server will be listed, including cluster-ID. The format is servicename:cluster-ID.",
            "x-f5xc-description-medium": "Consul service name of this origin server will be listed, including cluster-ID. The format is servicename:cluster-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": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "site_locator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteLocator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "snat_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSnatPoolConfiguration"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Specify origin server with HashiCorp Consul service name and site information.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerConsulService",
          "required_fields": [
            "service_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"service_name\": \"matching:production\"\n}",
          "example_yaml": "service_name: matching:production"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerCustomEndpoint": {
        "type": "object",
        "description": "Specify origin server with a reference to endpoint object.",
        "title": "OriginServerCustomEndpoint",
        "x-displayname": "Custom Endpoint Object for Origin Server.",
        "x-ves-displayorder": "1",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerCustomEndpoint",
        "properties": {
          "endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-example": "https://api.example.com/v1/users",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "endpoint",
                "field_path": "endpoint",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Specify origin server with a reference to endpoint object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerCustomEndpoint",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerK8SService": {
        "type": "object",
        "description": "Specify origin server with K8s service name and site information.",
        "title": "OriginServerK8SService",
        "x-displayname": "K8s Service Name on given Sites.",
        "x-ves-displayorder": "10,12,2,3",
        "x-ves-oneof-field-network_choice": "[\"inside_network\",\"outside_network\",\"vk8s_networks\"]",
        "x-ves-oneof-field-service_info": "[\"service_name\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerK8SService",
        "properties": {
          "inside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "outside_network",
              "vk8s_networks"
            ]
          },
          "outside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for outside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inside_network",
              "vk8s_networks"
            ]
          },
          "protocol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolProtocolType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "PROTOCOL_TCP",
                "PROTOCOL_UDP",
                "PROTOCOL_TCP_UDP"
              ],
              "default": "PROTOCOL_TCP",
              "description": "K8s service protocol"
            }
          },
          "service_name": {
            "type": "string",
            "description": "Exclusive with []\nK8s service name of the origin server will be listed, including the namespace and cluster-ID.\nFor vK8s services, you need to enter a string with the format servicename.namespace:example-namespace\"frontend\",\nnamespace is \"speedtest\" and cluster-ID is \"prod\", then you will enter \"frontend.speedtest:prod\".\nBoth namespace and cluster-ID are optional.",
            "title": "Service Name",
            "x-displayname": "Service Name.",
            "x-ves-example": "matching.default:production.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ves_service_namespace_name": "true"
            },
            "x-f5xc-example": "matching.default:production",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ves_service_namespace_name": "true"
            },
            "x-f5xc-description-short": "Exclusive with [] K8s service name of the origin server will be listed, including the namespace and cluster-ID.",
            "x-f5xc-description-medium": "Exclusive with [] K8s service name of the origin server will be listed, including the namespace and cluster-ID. For vK8s services, you need to enter a string with the format servicename.namespace:example-namespace\"frontend\", namespace is \"speedtest\" and cluster-ID is \"prod\", then you will enter...",
            "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
            }
          },
          "site_locator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteLocator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "snat_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSnatPoolConfiguration"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "vk8s_networks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for vk8s networks.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inside_network",
              "outside_network"
            ]
          }
        },
        "x-f5xc-description-short": "Specify origin server with K8s service name and site information.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerK8SService",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerPrivateIP": {
        "type": "object",
        "description": "Specify origin server with private or public IP address and site information.",
        "title": "OriginServerPrivateIP",
        "x-displayname": "IP address on given Sites.",
        "x-ves-displayorder": "10,2,3",
        "x-ves-oneof-field-network_choice": "[\"inside_network\",\"outside_network\",\"segment\"]",
        "x-ves-oneof-field-private_ip_choice": "[\"ip\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerPrivateIP",
        "properties": {
          "inside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "outside_network",
              "segment"
            ]
          },
          "ip": {
            "type": "string",
            "description": "Exclusive with []\nPrivate IPv4 address.",
            "title": "IP",
            "x-displayname": "IP",
            "x-ves-example": "192.0.2.132.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-example": "192.0.2.132",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "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
            }
          },
          "outside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for outside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inside_network",
              "segment"
            ]
          },
          "segment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inside_network",
              "outside_network"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "segment",
                "field_path": "segment",
                "gated_by": {
                  "choice": "network_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "site_locator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteLocator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "snat_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSnatPoolConfiguration"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Specify origin server with private or public IP address and site information.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerPrivateIP",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerPrivateName": {
        "type": "object",
        "description": "Specify origin server with private or public DNS name and site information.",
        "title": "OriginServerPrivateName",
        "x-displayname": "DNS Name on given Sites.",
        "x-ves-displayorder": "1,6,2,3",
        "x-ves-oneof-field-network_choice": "[\"inside_network\",\"outside_network\",\"segment\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerPrivateName",
        "properties": {
          "dns_name": {
            "type": "string",
            "description": "DNS Name",
            "title": "DNS name",
            "x-displayname": "DNS Name",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "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])?$",
              "characterSet": {
                "allowed": "[a-z0-9.-]",
                "description": "Dot-separated DNS labels"
              },
              "format": "fqdn",
              "formatDescription": "RFC 1123 FQDN: lowercase, dot-separated labels, max 253 chars total",
              "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": true,
              "create": true,
              "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
          },
          "inside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "outside_network",
              "segment"
            ]
          },
          "outside_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for outside network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inside_network",
              "segment"
            ]
          },
          "refresh_interval": {
            "type": "integer",
            "description": "Interval for DNS refresh in seconds.\nMax value is 7 days as per https://datatracker.ietf.org/doc/HTML/rfc8767.",
            "title": "refresh_interval",
            "format": "int64",
            "x-displayname": "DNS Refresh Interval.",
            "x-ves-example": "20",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.ranges": "0,10-604800"
            },
            "x-f5xc-example": "20",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.ranges": "0,10-604800"
            },
            "x-f5xc-description-short": "Interval for DNS refresh in seconds. Max value is 7 days as per https://datatracker.ietf.org/doc/HTML/rfc8767.",
            "x-f5xc-description-medium": "Interval for DNS refresh in seconds. Max value is 7 days as per https://datatracker.ietf.org/doc/HTML/rfc8767.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 604800,
              "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
            }
          },
          "segment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inside_network",
              "outside_network"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "segment",
                "field_path": "segment",
                "gated_by": {
                  "choice": "network_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "site_locator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteLocator"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "snat_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSnatPoolConfiguration"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Specify origin server with private or public DNS name and site information.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerPrivateName",
          "required_fields": [
            "dns_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"dns_name\": \"value\"\n}",
          "example_yaml": "dns_name: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerType": {
        "type": "object",
        "description": "Various OPTIONS to specify origin server.",
        "title": "OriginServerType",
        "x-displayname": "Origin Server.",
        "x-ves-oneof-field-choice": "[\"cbip_service\",\"consul_service\",\"custom_endpoint_object\",\"k8s_service\",\"private_ip\",\"private_name\",\"public_ip\",\"public_name\",\"vn_private_ip\",\"vn_private_name\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerType",
        "properties": {
          "cbip_service": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerCBIPService"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "consul_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_ip",
              "private_name",
              "public_ip",
              "public_name",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "consul_service": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerConsulService"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for consul service.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_ip",
              "private_name",
              "public_ip",
              "public_name",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "custom_endpoint_object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerCustomEndpoint"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "k8s_service",
              "private_ip",
              "private_name",
              "public_ip",
              "public_name",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "k8s_service": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerK8SService"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for k8s service.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "custom_endpoint_object",
              "private_ip",
              "private_name",
              "public_ip",
              "public_name",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "labels": {
            "type": "object",
            "description": "Add Labels for this origin server, these labels can be used to form subset.",
            "title": "Origin Server Labels",
            "x-displayname": "Origin Server Labels.",
            "x-ves-example": "Value",
            "additionalProperties": {
              "type": "string"
            },
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Add Labels for this origin server, these labels can be used to form subset.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "private_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerPrivateIP"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_name",
              "public_ip",
              "public_name",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "private_name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerPrivateName"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_ip",
              "public_ip",
              "public_name",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "public_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerPublicIP"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_ip",
              "private_name",
              "public_name",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "public_name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerPublicName"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_ip",
              "private_name",
              "public_ip",
              "vn_private_ip",
              "vn_private_name"
            ]
          },
          "vn_private_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerVirtualNetworkIP"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_ip",
              "private_name",
              "public_ip",
              "public_name",
              "vn_private_name"
            ]
          },
          "vn_private_name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginServerVirtualNetworkName"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cbip_service",
              "consul_service",
              "custom_endpoint_object",
              "k8s_service",
              "private_ip",
              "private_name",
              "public_ip",
              "public_name",
              "vn_private_ip"
            ]
          }
        },
        "x-f5xc-description-short": "Various OPTIONS to specify origin server.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerVirtualNetworkIP": {
        "type": "object",
        "description": "Specify origin server with IP on Virtual Network.",
        "title": "OriginServerVirtualNetworkIP",
        "x-displayname": "IP address Virtual Network.",
        "x-ves-displayorder": "10,2",
        "x-ves-oneof-field-virtual_network_ip_choice": "[\"ip\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerVirtualNetworkIP",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Exclusive with []\nIPv4 address.",
            "title": "IPV4",
            "x-displayname": "IPv4",
            "x-ves-example": "192.0.2.242.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-example": "192.0.2.242",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "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
            }
          },
          "virtual_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for virtual network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_network",
                "field_path": "virtual_network",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Specify origin server with IP on Virtual Network.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerVirtualNetworkIP",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolOriginServerVirtualNetworkName": {
        "type": "object",
        "description": "Specify origin server with DNS name on Virtual Network.",
        "title": "OriginServerVirtualNetworkName",
        "x-displayname": "DNS Name on Virtual Network.",
        "x-ves-displayorder": "1,2",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.OriginServerVirtualNetworkName",
        "properties": {
          "dns_name": {
            "type": "string",
            "description": "DNS Name",
            "title": "DNS name",
            "x-displayname": "DNS Name",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "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])?$",
              "characterSet": {
                "allowed": "[a-z0-9.-]",
                "description": "Dot-separated DNS labels"
              },
              "format": "fqdn",
              "formatDescription": "RFC 1123 FQDN: lowercase, dot-separated labels, max 253 chars total",
              "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": true,
              "create": true,
              "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
          },
          "private_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for private network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_network",
                "field_path": "private_network",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Specify origin server with DNS name on Virtual Network.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolOriginServerVirtualNetworkName",
          "required_fields": [
            "dns_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"dns_name\": \"value\"\n}",
          "example_yaml": "dns_name: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "origin_poolProtocolType": {
        "type": "string",
        "description": "Type of protocol\n\n- PROTOCOL_TCP: TCP\n\n- PROTOCOL_UDP: UDP.",
        "title": "Protocol Type",
        "enum": [
          "PROTOCOL_TCP",
          "PROTOCOL_UDP"
        ],
        "default": "PROTOCOL_TCP",
        "x-displayname": "Protocol Type.",
        "x-ves-proto-enum": "ves.io.schema.views.origin_pool.ProtocolType",
        "x-f5xc-description-short": "Type of protocol - PROTOCOL_TCP: TCP - PROTOCOL_UDP: UDP.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for origin_poolProtocolType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PROTOCOL_TCP\"",
          "example_yaml": "PROTOCOL_TCP\n..."
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyOriginServerSubsetRule": {
        "type": "object",
        "description": "\"Origin Server Subset rule specifies a simple set of match conditions to be matched to select a list of origin server key/val pairs.",
        "title": "OriginServerSubsetRule",
        "x-displayname": "Origin Server Subset Rule.",
        "x-ves-displayorder": "1,9,4,25,5,30,33,3",
        "x-ves-oneof-field-asn_choice": "[\"any_asn\",\"asn_list\",\"asn_matcher\"]",
        "x-ves-oneof-field-ip_choice": "[\"any_ip\",\"ip_matcher\",\"ip_prefix_list\"]",
        "x-ves-oneof-field-selector_choice": "[\"client_selector\",\"none\"]",
        "x-ves-proto-message": "ves.io.schema.policy.OriginServerSubsetRule",
        "properties": {
          "any_asn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "asn_list",
              "asn_matcher"
            ]
          },
          "any_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "asn_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_asn",
              "asn_matcher"
            ]
          },
          "asn_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for asn matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_asn",
              "asn_list"
            ]
          },
          "client_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaLabelSelectorType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "none"
            ]
          },
          "country_codes": {
            "type": "array",
            "description": "List of Country Codes.",
            "title": "country codes",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyCountryCode"
            },
            "x-displayname": "Country Codes List.",
            "x-ves-example": "IN, DE",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "IN, DE",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "ip_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyIpMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "ip_prefix_list"
            ]
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "ip_matcher"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_selector"
            ]
          },
          "origin_server_subsets_action": {
            "type": "object",
            "description": "Add labels to select one or more origin servers.\nNote: The pre-requisite settings to be configured in the origin pool are:\n1. Add labels to origin servers\n2. Enable subset load balancing in the Origin Server Subsets section and configure keys in origin server subsets classes.",
            "title": "Origin Server Labels Action",
            "x-displayname": "Action",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "128",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.max_pairs": "16",
              "ves.io.schema.rules.map.values.string.max_len": "128",
              "ves.io.schema.rules.map.values.string.min_len": "1",
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "128",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.max_pairs": "16",
              "ves.io.schema.rules.map.values.string.max_len": "128",
              "ves.io.schema.rules.map.values.string.min_len": "1",
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Add labels to select one or more origin servers.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "re_name_list": {
            "type": "array",
            "description": "List of RE names for match.",
            "title": "RE Name list",
            "maxItems": 32,
            "items": {
              "type": "string",
              "maxLength": 64
            },
            "x-displayname": "RE Names",
            "x-ves-example": "VES-I/O-re01.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "ves-io-re01",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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": "\"Origin Server Subset rule specifies a simple set of match conditions to be matched to select a list of origin server key/val pairs.",
        "x-f5xc-description-medium": "\"Origin Server Subset rule specifies a simple set of match conditions to be matched to select a list of origin server key/val pairs.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyOriginServerSubsetRule",
          "required_fields": [
            "origin_server_subsets_action"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"origin_server_subsets_action\": {}\n}",
          "example_yaml": "origin_server_subsets_action: {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "routeBotDefenseJavascriptInjectionType__ves_io_schema_views_http_loadbalancer": {
        "type": "object",
        "description": "Bot Defense Javascript Injection Configuration for inline bot defense deployments.",
        "title": "BotDefenseJavascriptInjectionType",
        "x-displayname": "Bot Defense Javascript Injection Configuration for inline deployments.",
        "x-ves-proto-message": "ves.io.schema.route.BotDefenseJavascriptInjectionType",
        "properties": {
          "javascript_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemarouteJavaScriptLocation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "javascript_tags": {
            "type": "array",
            "description": "Select Add item to configure your javascript tag. If adding both Bot Adv and Fraud, the Bot Javascript should be added first.",
            "title": "javascript_tags",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/routeJavaScriptTag"
            },
            "x-displayname": "JavaScript Tags.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5",
              "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": "5",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Select Add item to configure your javascript tag. If adding both Bot Adv and Fraud, the Bot Javascript should be added first.",
            "x-f5xc-description-medium": "Select Add item to configure your javascript tag. If adding both Bot Adv and Fraud, the Bot Javascript should be added first.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 5,
              "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-description-short": "Bot Defense Javascript Injection Configuration for inline bot defense deployments.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeBotDefenseJavascriptInjectionType",
          "required_fields": [
            "javascript_tags"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"javascript_tags\": [\n    {\n      \"javascript_url\": \"https://www.example.com/login/common.js?single\"\n    }\n  ]\n}",
          "example_yaml": "javascript_tags:\n- javascript_url: https://www.example.com/login/common.js?single"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeCookieForHashing": {
        "type": "object",
        "description": "Two types of cookie affinity:\n\n1. Passive. Takes a cookie that's present in the cookies header and\nhashes on its value.\n\n2. Generated. Generates and sets a cookie with an expiration (TTL)\non the first request from the client in its response to the client,\nbased on the endpoint the request gets sent to. The client then\npresents this on the next and all subsequent requests. The hash of\nthis is sufficient to ensure these requests GET sent to the same\nendpoint. The cookie is generated by hashing the source and\ndestination ports and addresses so that multiple independent HTTP2\nstreams on the same connection will independently receive the same\ncookie, even if they arrive simultaneously.",
        "title": "Cookie for hashing",
        "x-displayname": "Hashing using Cookie.",
        "x-ves-oneof-field-httponly": "[\"add_httponly\",\"ignore_httponly\"]",
        "x-ves-oneof-field-samesite": "[\"ignore_samesite\",\"samesite_lax\",\"samesite_none\",\"samesite_strict\"]",
        "x-ves-oneof-field-secure": "[\"add_secure\",\"ignore_secure\"]",
        "x-ves-proto-message": "ves.io.schema.route.CookieForHashing",
        "properties": {
          "add_httponly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for add httponly.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_httponly"
            ]
          },
          "add_secure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_secure"
            ]
          },
          "ignore_httponly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore httponly.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_httponly"
            ]
          },
          "ignore_samesite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "samesite_lax",
              "samesite_none",
              "samesite_strict"
            ]
          },
          "ignore_secure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_secure"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the cookie that will be used to obtain the hash key. If the\ncookie is not present and TTL below is not set, no hash will be\nproduced.",
            "title": "name",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Name",
            "x-ves-example": "Userid",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "userid",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "The name of the cookie that will be used to obtain the hash key. If the cookie is not present and TTL below is not set, no hash will be produced.",
            "x-f5xc-description-medium": "The name of the cookie that will be used to obtain the hash key. If the cookie is not present and TTL below is not set, no hash will be produced.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "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
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "path": {
            "type": "string",
            "description": "The name of the path for the cookie. If no path is specified here, no path\nwill be set for the cookie.",
            "title": "path",
            "x-displayname": "Path",
            "x-ves-example": "/Users/userid/browser/cookies.",
            "x-f5xc-example": "/Users/userid/browser/cookies",
            "x-f5xc-description-short": "The name of the path for the cookie. If no path is specified here, no path will be set for the cookie.",
            "x-f5xc-description-medium": "The name of the path for the cookie. If no path is specified here, no path will be set for the cookie.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "samesite_lax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_none",
              "samesite_strict"
            ]
          },
          "samesite_none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_lax",
              "samesite_strict"
            ]
          },
          "samesite_strict": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_lax",
              "samesite_none"
            ]
          },
          "ttl": {
            "type": "integer",
            "description": "If specified, a cookie with the TTL will be generated if the cookie is\nnot present. If the TTL is present and zero, the generated cookie will\nbe a session cookie. TTL value is in milliseconds.",
            "title": "ttl",
            "format": "int64",
            "x-displayname": "TTL",
            "x-ves-example": "5000",
            "x-f5xc-example": "5000",
            "x-f5xc-description-short": "If specified, a cookie with the TTL will be generated if the cookie is not present.",
            "x-f5xc-description-medium": "If specified, a cookie with the TTL will be generated if the cookie is not present. If the TTL is present and zero, the generated cookie will be a session cookie. TTL value is in milliseconds.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Two types of cookie affinity: 1. Passive.",
        "x-f5xc-description-medium": "Two types of cookie affinity: 1. Passive. Takes a cookie that's present in the cookies header and hashes on its value. 2. Generated. Generates and sets a cookie with an expiration (TTL) on the first request from the client in its response to the client, based on the endpoint the request gets...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeCookieForHashing",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"userid\"\n}",
          "example_yaml": "name: userid"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeHashPolicyType": {
        "type": "object",
        "description": "HashPolicyType specifies the field of the incoming request that will be used for\ngenerating hash key. When multiple hash policies are configured, this can also specify\nif the current hash policy is terminal policy or not.",
        "title": "HashPolicyType",
        "x-displayname": "Hash Policy.",
        "x-ves-oneof-field-policy_specifier": "[\"cookie\",\"header_name\",\"source_ip\"]",
        "x-ves-proto-message": "ves.io.schema.route.HashPolicyType",
        "properties": {
          "cookie": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeCookieForHashing"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "header_name",
              "source_ip"
            ]
          },
          "header_name": {
            "type": "string",
            "description": "Exclusive with [cookie source_ip]\nThe name or key of the request header that will be used to obtain the hash key.",
            "title": "Header",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Header Name.",
            "x-ves-example": "Host",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-example": "host",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [cookie source_ip] The name or key of the request header that will be used to obtain the hash key.",
            "x-f5xc-description-medium": "Exclusive with [cookie source_ip] The name or key of the request header that will be used to obtain the hash key.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "cookie",
              "source_ip"
            ]
          },
          "source_ip": {
            "type": "boolean",
            "description": "Exclusive with [cookie header_name]\nHash based on source IP address.",
            "title": "Source IP",
            "format": "boolean",
            "x-displayname": "Source IP",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Exclusive with [cookie header_name] Hash based on source IP address.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie",
              "header_name"
            ]
          },
          "terminal": {
            "type": "boolean",
            "description": "Specify if its a terminal policy.",
            "title": "terminal",
            "format": "boolean",
            "x-displayname": "Terminal",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "HashPolicyType specifies the field of the incoming request that will be used for generating hash key.",
        "x-f5xc-description-medium": "HashPolicyType specifies the field of the incoming request that will be used for generating hash key. When multiple hash policies are configured, this can also specify if the current hash policy is terminal policy or not.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeHashPolicyType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeJavaScriptTag": {
        "type": "object",
        "description": "JavaScript URL and attributes.",
        "title": "JavaScriptTag",
        "x-displayname": "JavaScript Tag.",
        "x-ves-proto-message": "ves.io.schema.route.JavaScriptTag",
        "properties": {
          "javascript_url": {
            "type": "string",
            "description": "Please enter the full URL (include domain and path), or relative path.",
            "title": "JavaScriptURL",
            "minLength": 1,
            "maxLength": 2048,
            "x-displayname": "URL",
            "x-ves-example": "https://www.example.com/login/common.js?single.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "2048",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "https://www.example.com/login/common.js?single",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "2048",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-description-short": "Please enter the full URL (include domain and path), or relative path.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 2048,
              "byteLength": {
                "max": 2048,
                "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
            }
          },
          "tag_attributes": {
            "type": "array",
            "description": "Add the tag attributes you want to include in your Javascript tag.",
            "title": "TagAttributes",
            "maxItems": 9,
            "items": {
              "$ref": "#/components/schemas/routeTagAttribute"
            },
            "x-displayname": "Tag Attributes.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Add the tag attributes you want to include in your Javascript tag.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 9,
              "uniqueItems": true,
              "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 routeJavaScriptTag",
          "required_fields": [
            "javascript_url"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"javascript_url\": \"https://www.example.com/login/common.js?single\"\n}",
          "example_yaml": "javascript_url: https://www.example.com/login/common.js?single"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeQueryParamsSimpleRoute": {
        "type": "object",
        "description": "Handling of incoming query parameters in simple route.",
        "title": "query_params",
        "x-displayname": "Query Parameters.",
        "x-ves-oneof-field-query_params": "[\"remove_all_params\",\"replace_params\",\"retain_all_params\"]",
        "x-ves-proto-message": "ves.io.schema.route.QueryParamsSimpleRoute",
        "properties": {
          "remove_all_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for remove all params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "replace_params",
              "retain_all_params"
            ]
          },
          "replace_params": {
            "type": "string",
            "description": "Exclusive with [remove_all_params retain_all_params]",
            "title": "Replace All Params",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Replace All Parameters.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [remove_all_params retain_all_params].",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "remove_all_params",
              "retain_all_params"
            ]
          },
          "retain_all_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for retain all params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "remove_all_params",
              "replace_params"
            ]
          }
        },
        "x-f5xc-description-short": "Handling of incoming query parameters in simple route.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeQueryParamsSimpleRoute",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeRouteDirectResponse": {
        "type": "object",
        "description": "Send this direct response in case of route match action is direct response.",
        "title": "RouteDirectResponse",
        "x-displayname": "Direct Response.",
        "x-ves-proto-message": "ves.io.schema.route.RouteDirectResponse",
        "properties": {
          "response_body_encoded": {
            "type": "string",
            "description": "Response body to send. Currently supported URL schemes is string:///\nfor which message should be encoded in Base64 format.\nThe message can be either plain text or HTML.\nE.g. \"<p> Access Denied </p>\". Base64 encoded string URL for this is string:///PHA+IEFjY2VzcyBEZW5pZWQgPC9wPg==.",
            "title": "response_body",
            "maxLength": 65536,
            "x-displayname": "Response Body.",
            "x-ves-example": "OK",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-example": "OK",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "65536",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Response body to send. Currently supported URL schemes is string:/// for which message should be encoded in Base64 format.",
            "x-f5xc-description-medium": "Response body to send. Currently supported URL schemes is string:/// for which message should be encoded in Base64 format. The message can be either plain text or HTML.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 65536,
              "byteLength": {
                "max": 65536
              },
              "format": "uri",
              "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
            }
          },
          "response_code": {
            "type": "integer",
            "description": "Response code to send.",
            "title": "response_code",
            "format": "int64",
            "x-displayname": "Response Code.",
            "x-ves-example": "200",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "100",
              "ves.io.schema.rules.uint32.lte": "599"
            },
            "x-f5xc-example": "200",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "100",
              "ves.io.schema.rules.uint32.lte": "599"
            },
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 100,
              "maximum": 599,
              "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-description-short": "Send this direct response in case of route match action is direct response.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeRouteDirectResponse",
          "required_fields": [
            "response_code"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"response_code\": 100\n}",
          "example_yaml": "response_code: 100"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeRouteRedirect": {
        "type": "object",
        "description": "Route redirect parameters when match action is redirect.",
        "title": "RouteRedirect",
        "x-displayname": "Redirect",
        "x-ves-displayorder": "3,1,10,6,7",
        "x-ves-oneof-field-query_params": "[\"remove_all_params\",\"replace_params\",\"retain_all_params\"]",
        "x-ves-oneof-field-redirect_path_choice": "[\"path_redirect\",\"prefix_rewrite\"]",
        "x-ves-proto-message": "ves.io.schema.route.RouteRedirect",
        "properties": {
          "host_redirect": {
            "type": "string",
            "description": "Swap host part of incoming URL in redirect URL.",
            "title": "host_redirect",
            "x-displayname": "Host",
            "x-ves-example": "one.ves.I/O.",
            "x-f5xc-example": "one.F5 XC",
            "x-f5xc-description-short": "Swap host part of incoming URL in redirect URL.",
            "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
            }
          },
          "path_redirect": {
            "type": "string",
            "description": "Exclusive with [prefix_rewrite]\nswap path part of incoming URL in redirect URL.",
            "title": "path_redirect",
            "maxLength": 256,
            "x-displayname": "Path",
            "x-ves-example": "/API/register.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/api/register",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [prefix_rewrite] swap path part of incoming URL in redirect URL.",
            "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
            },
            "x-f5xc-conflicts-with": [
              "prefix_rewrite"
            ]
          },
          "prefix_rewrite": {
            "type": "string",
            "description": "Exclusive with [path_redirect]\nIn Redirect response, the matched prefix (or path) should be swapped with this value.\nThis option allows redirect URLs be dynamically created based on the request.",
            "title": "prefix_rewrite",
            "maxLength": 256,
            "x-displayname": "Prefix Rewrite.",
            "x-ves-example": "/API/register/.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "/api/register/",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [path_redirect] In Redirect response, the matched prefix (or path) should be swapped with this value.",
            "x-f5xc-description-medium": "Exclusive with [path_redirect] In Redirect response, the matched prefix (or path) should be swapped with this value. This option allows redirect URLs be dynamically created based on the request.",
            "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
            },
            "x-f5xc-conflicts-with": [
              "path_redirect"
            ]
          },
          "proto_redirect": {
            "type": "string",
            "description": "Swap protocol part of incoming URL in redirect URL\nThe protocol can be swapped with either HTTP or HTTPS\nWhen incoming-proto option is specified, swapping of protocol is not done.",
            "title": "proto_redirect",
            "x-displayname": "Protocol",
            "x-ves-example": "HTTPS",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"incoming-proto\\\",\\\"http\\\",\\\"https\\\"]"
            },
            "x-f5xc-example": "https",
            "x-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"incoming-proto\\\",\\\"http\\\",\\\"https\\\"]"
            },
            "x-f5xc-description-short": "Swap protocol part of incoming URL in redirect URL The protocol can be swapped with either HTTP or HTTPS When incoming-proto option is specified...",
            "x-f5xc-description-medium": "Swap protocol part of incoming URL in redirect URL The protocol can be swapped with either HTTP or HTTPS When incoming-proto option is specified, swapping of protocol is not done.",
            "maxLength": 1024,
            "enum": [
              "incoming-proto",
              "http",
              "https"
            ],
            "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
            }
          },
          "remove_all_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for remove all params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "replace_params",
              "retain_all_params"
            ]
          },
          "replace_params": {
            "type": "string",
            "description": "Exclusive with [remove_all_params retain_all_params]",
            "title": "Replace All Params",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Replace All Parameters.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [remove_all_params retain_all_params].",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            },
            "x-f5xc-conflicts-with": [
              "remove_all_params",
              "retain_all_params"
            ]
          },
          "response_code": {
            "type": "integer",
            "description": "The HTTP status code to use in the redirect response.",
            "title": "response_code",
            "format": "int64",
            "x-displayname": "Response Code.",
            "x-ves-example": "303",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "599"
            },
            "x-f5xc-example": "303",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "599"
            },
            "x-f5xc-description-short": "The HTTP status code to use in the redirect response.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 599,
              "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
            }
          },
          "retain_all_params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for retain all params.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "remove_all_params",
              "replace_params"
            ]
          }
        },
        "x-f5xc-description-short": "Route redirect parameters when match action is redirect.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeRouteRedirect",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeTagAttribute": {
        "type": "object",
        "description": "Attribute for JavaScript tag.",
        "title": "TagAttribute",
        "x-displayname": "Tag Attribute.",
        "x-ves-proto-message": "ves.io.schema.route.TagAttribute",
        "properties": {
          "javascript_tag": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeTagAttributeName"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tag_value": {
            "type": "string",
            "description": "Add the tag attribute value.",
            "title": "TagValue",
            "maxLength": 1024,
            "x-displayname": "Value",
            "x-ves-example": "_imp_apg_dip_.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1024"
            },
            "x-f5xc-example": "_imp_apg_dip_",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1024"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "byteLength": {
                "max": 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeTagAttribute",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeTagAttributeName": {
        "type": "string",
        "description": "Select from one of the predefined tag attributes.",
        "title": "TagAttributeName",
        "enum": [
          "JS_ATTR_ID",
          "JS_ATTR_CID",
          "JS_ATTR_CN",
          "JS_ATTR_API_DOMAIN",
          "JS_ATTR_API_URL",
          "JS_ATTR_API_PATH",
          "JS_ATTR_ASYNC",
          "JS_ATTR_DEFER"
        ],
        "default": "JS_ATTR_ID",
        "x-displayname": "Tag Attribute Name.",
        "x-ves-proto-enum": "ves.io.schema.route.TagAttributeName",
        "x-f5xc-description-short": "Select from one of the predefined tag attributes.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeTagAttributeName",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"JS_ATTR_ID\"",
          "example_yaml": "JS_ATTR_ID\n..."
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "routeWebsocketConfigType": {
        "type": "object",
        "description": "Configuration to allow Websocket\n\nRequest headers of such upgrade looks like below\n'connection', 'Upgrade'\n'upgrade', 'websocket'\n\nWith configuration to allow websocket upgrade, ADC will produce following response\n'HTTP/1.1 101 Switching Protocols\n'Upgrade': 'websocket'\n'Connection': 'Upgrade'",
        "title": "WebsocketConfigType",
        "x-displayname": "Websocket Configuration.",
        "x-ves-proto-message": "ves.io.schema.route.WebsocketConfigType",
        "properties": {
          "use_websocket": {
            "type": "boolean",
            "description": "Specifies that the HTTP client connection to this route is allowed to upgrade to\na WebSocket connection.",
            "title": "use_websocket",
            "format": "boolean",
            "x-displayname": "Use Websocket.",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Specifies that the HTTP client connection to this route is allowed to upgrade to a WebSocket connection.",
            "x-f5xc-description-medium": "Specifies that the HTTP client connection to this route is allowed to upgrade to a WebSocket connection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Configuration to allow Websocket Request headers of such upgrade looks like below 'connection', 'Upgrade' 'upgrade', 'websocket' With...",
        "x-f5xc-description-medium": "Configuration to allow Websocket Request headers of such upgrade looks like below 'connection', 'Upgrade' 'upgrade', 'websocket' With configuration to allow websocket upgrade, ADC will produce following response 'HTTP/1.1 101 Switching Protocols 'Upgrade': 'websocket' 'Connection': 'Upgrade'.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for routeWebsocketConfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaBufferConfigType": {
        "type": "object",
        "description": "Some upstream applications are not capable of handling streamed data. This config\nenables buffering the entire request before sending to upstream application. We can\nspecify the maximum buffer size and buffer interval with this config.\n\nBuffering can be enabled and disabled at VirtualHost and Route levels\nRoute level buffer configuration takes precedence.",
        "title": "BufferConfigType",
        "x-displayname": "Buffer Configuration.",
        "x-ves-displayorder": "2,3,1",
        "x-ves-proto-message": "ves.io.schema.BufferConfigType",
        "properties": {
          "disabled": {
            "type": "boolean",
            "description": "Disable buffering for a particular route. This is useful when virtual-host\nhas buffering, but we need to disable it on a specific route.\nThe value of this field is ignored for virtual-host.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Disable buffering for a particular route. This is useful when virtual-host has buffering, but we need to disable it on a specific route.",
            "x-f5xc-description-medium": "Disable buffering for a particular route. This is useful when virtual-host has buffering, but we need to disable it on a specific route. The value of this field is ignored for virtual-host.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "max_request_bytes": {
            "type": "integer",
            "description": "The maximum request size that the filter will buffer before the connection\nmanager will stop buffering and return a RequestEntityTooLarge (413) response.",
            "title": "max_request_bytes",
            "format": "int64",
            "x-displayname": "Max Request Bytes.",
            "x-ves-example": "2048",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "10485760"
            },
            "x-f5xc-example": "2048",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "10485760"
            },
            "x-f5xc-description-short": "The maximum request size that the filter will buffer before the connection manager will stop buffering and return a RequestEntityTooLarge (413)...",
            "x-f5xc-description-medium": "The maximum request size that the filter will buffer before the connection manager will stop buffering and return a RequestEntityTooLarge (413) response.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 10485760,
              "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": "Some upstream applications are not capable of handling streamed data.",
        "x-f5xc-description-medium": "Some upstream applications are not capable of handling streamed data. This config enables buffering the entire request before sending to upstream application. We can specify the maximum buffer size and buffer interval with this config.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBufferConfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaCookieValueOption": {
        "type": "object",
        "description": "Cookie name and value for cookie header.",
        "title": "CookieValueOption",
        "x-displayname": "Cookie Value Option.",
        "x-ves-oneof-field-value_choice": "[\"secret_value\",\"value\"]",
        "x-ves-proto-message": "ves.io.schema.CookieValueOption",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the cookie in Cookie header.",
            "title": "name",
            "maxLength": 256,
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.cookie_name": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.cookie_name": "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])?$"
          },
          "overwrite": {
            "type": "boolean",
            "description": "Should the value be overwritten? If true, the value is overwritten to existing values.\nDefault value is do not overwrite.",
            "title": "overwrite",
            "format": "boolean",
            "x-displayname": "Overwrite",
            "x-f5xc-description-short": "Should the value be overwritten? If true, the value is overwritten to existing values.",
            "x-f5xc-description-medium": "Should the value be overwritten? If true, the value is overwritten to existing values. Default value is do not overwrite.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "secret_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "value"
            ]
          },
          "value": {
            "type": "string",
            "description": "Exclusive with [secret_value]\nValue of the Cookie header.",
            "title": "value",
            "maxLength": 8096,
            "x-displayname": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-f5xc-description-short": "Exclusive with [secret_value] Value of the Cookie header.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 8096,
              "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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "secret_value"
            ]
          }
        },
        "x-f5xc-description-short": "Cookie name and value for cookie header.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaCookieValueOption",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"value\"\n}",
          "example_yaml": "name: value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaDenominatorType": {
        "type": "string",
        "description": "Denominator used in fraction where sampling percentages are needed. Example sampled requests\n\nUse hundred as denominator\nUse ten thousand as denominator\nUse million as denominator.",
        "title": "DenominatorType",
        "enum": [
          "HUNDRED",
          "TEN_THOUSAND",
          "MILLION"
        ],
        "default": "HUNDRED",
        "x-displayname": "Denominator.",
        "x-ves-proto-enum": "ves.io.schema.DenominatorType",
        "x-f5xc-description-short": "Denominator used in fraction where sampling percentages are needed.",
        "x-f5xc-description-medium": "Denominator used in fraction where sampling percentages are needed. Example sampled requests Use hundred as denominator Use ten thousand as denominator Use million as denominator.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaDenominatorType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"HUNDRED\"",
          "example_yaml": "HUNDRED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaDomainMatcherType": {
        "type": "object",
        "description": "Domain to be matched.",
        "title": "DomainMatcherType",
        "x-displayname": "Domain to Match.",
        "x-ves-oneof-field-domain_matcher": "[\"any_domain\",\"domain\"]",
        "x-ves-proto-message": "ves.io.schema.DomainMatcherType",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "domain"
            ]
          },
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDomainType"
              }
            ],
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Domain name for routing and identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaDomainMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaFractionalPercent": {
        "type": "object",
        "description": "Fraction used where sampling percentages are needed. Example sampled requests.",
        "title": "FractionalPercent",
        "x-displayname": "Fractional Percent.",
        "x-ves-displayorder": "1,2",
        "x-ves-proto-message": "ves.io.schema.FractionalPercent",
        "properties": {
          "denominator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDenominatorType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for denominator.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "numerator": {
            "type": "integer",
            "description": "Sampled parts per denominator. If denominator was 10000, then value of 5 will be 5 in 10000.",
            "title": "numerator",
            "format": "int64",
            "x-displayname": "Numerator",
            "x-ves-example": "5",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "5",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Sampled parts per denominator. If denominator was 10000, then value of 5 will be 5 in 10000.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Fraction used where sampling percentages are needed. Example sampled requests.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaFractionalPercent",
          "required_fields": [
            "numerator"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"numerator\": 0\n}",
          "example_yaml": "numerator: 0"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaHeaderTransformationType": {
        "type": "object",
        "description": "Header Transformation OPTIONS for HTTP/1.1 request/response headers.",
        "title": "HeaderTransformationType",
        "x-displayname": "Header Transformation.",
        "x-ves-displayorder": "1",
        "x-ves-oneof-field-header_transformation_choice": "[\"default_header_transformation\",\"preserve_case_header_transformation\",\"proper_case_header_transformation\"]",
        "x-ves-proto-message": "ves.io.schema.HeaderTransformationType",
        "properties": {
          "default_header_transformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Use the platform's current default HTTP header transformation behavior.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Use the platform's current default HTTP header transformation behavior.",
            "x-f5xc-conflicts-with": [
              "preserve_case_header_transformation",
              "proper_case_header_transformation"
            ]
          },
          "preserve_case_header_transformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Preserve HTTP header-name case when upstream case must remain unchanged.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Preserve HTTP header-name case when upstream case must remain unchanged.",
            "x-f5xc-conflicts-with": [
              "default_header_transformation",
              "proper_case_header_transformation"
            ]
          },
          "proper_case_header_transformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Transform HTTP header names to proper case when explicit transformation is required.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Transform HTTP header names to proper case when explicit transformation is required.",
            "x-f5xc-conflicts-with": [
              "default_header_transformation",
              "preserve_case_header_transformation"
            ]
          }
        },
        "x-f5xc-description-short": "Header Transformation OPTIONS for HTTP/1.1 request/response headers.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaHeaderTransformationType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaRegexMatchRewrite": {
        "type": "object",
        "description": "RegexMatchRewrite describes how to match a string and then produce a new string using a\nregular expression and a substitution string.",
        "title": "RegexMatchRewrite",
        "x-displayname": "Regex Match Rewrite.",
        "x-ves-proto-message": "ves.io.schema.RegexMatchRewrite",
        "properties": {
          "pattern": {
            "type": "string",
            "description": "The regular expression used to find portions of a string that should be replaced.",
            "title": "Pattern",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Pattern",
            "x-ves-example": "^/service/([^/]+)(/.*)$.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-example": "^/service/([^/]+)(/.*)$",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "The regular expression used to find portions of a string that should be replaced.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "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
            }
          },
          "substitution": {
            "type": "string",
            "description": "The string that should be substituted into matching portions of the subject string during a\nsubstitution operation to produce a new string.",
            "title": "Substitution",
            "maxLength": 256,
            "x-displayname": "Substitution.",
            "x-ves-example": "\\\\2/instance/\\\\1.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "\\\\2/instance/\\\\1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "The string that should be substituted into matching portions of the subject string during a substitution operation to produce a new string.",
            "x-f5xc-description-medium": "The string that should be substituted into matching portions of the subject string during a substitution operation to produce a new string.",
            "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
            }
          }
        },
        "x-f5xc-description-short": "RegexMatchRewrite describes how to match a string and then produce a new string using a regular expression and a substitution string.",
        "x-f5xc-description-medium": "RegexMatchRewrite describes how to match a string and then produce a new string using a regular expression and a substitution string.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaRegexMatchRewrite",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaRetryBackOff": {
        "type": "object",
        "description": "Specifies parameters that control retry back off.",
        "title": "RetryBackOff",
        "x-displayname": "Retry BackOff Interval.",
        "x-ves-displayorder": "1,2",
        "x-ves-proto-message": "ves.io.schema.RetryBackOff",
        "properties": {
          "base_interval": {
            "type": "integer",
            "description": "Specifies the base interval between retries in milliseconds.",
            "title": "base_interval",
            "format": "int64",
            "x-displayname": "Base Retry Interval.",
            "x-ves-example": "5",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0"
            },
            "x-f5xc-example": "5",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gt": "0"
            },
            "x-f5xc-description-short": "Specifies the base interval between retries in milliseconds.",
            "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "max_interval": {
            "type": "integer",
            "description": "Specifies the maximum interval between retries in milliseconds.\nThis parameter is optional, but must be greater than or equal\nto the base_interval if set. The default is 10 times the base_interval.",
            "title": "max_interval",
            "format": "int64",
            "x-displayname": "Maximum Retry Interval.",
            "x-ves-example": "60",
            "x-f5xc-example": "60",
            "x-f5xc-description-short": "Specifies the maximum interval between retries in milliseconds.",
            "x-f5xc-description-medium": "Specifies the maximum interval between retries in milliseconds. This parameter is optional, but must be greater than or equal to the base_interval if set. The default is 10 times the base_interval.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Specifies parameters that control retry back off.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaRetryBackOff",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaRetryPolicyType": {
        "type": "object",
        "description": "Retry policy configuration for route destination.",
        "title": "RetryPolicyType",
        "x-displayname": "Retry Policy.",
        "x-ves-displayorder": "1,6,2,3,4,5",
        "x-ves-proto-message": "ves.io.schema.RetryPolicyType",
        "properties": {
          "back_off": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaRetryBackOff"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "num_retries": {
            "type": "integer",
            "description": "Specifies the allowed number of retries. Defaults to 1.\nRetries can be done any number of times. An exponential back-off algorithm\nis used between each retry.",
            "title": "num_retries",
            "format": "int64",
            "x-displayname": "Number of Retries.",
            "x-ves-example": "3",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "8"
            },
            "x-f5xc-example": "3",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "8"
            },
            "x-f5xc-description-short": "Maximum number of retry attempts. Default: 1.",
            "x-f5xc-description-medium": "Specifies the allowed number of retries. Defaults to 1. Retries can be done any number of times. An exponential back-off algorithm is used between each retry.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 8,
              "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
            }
          },
          "per_try_timeout": {
            "type": "integer",
            "description": "Specifies a non-zero timeout per retry attempt. In milliseconds.",
            "title": "per_try_timeout",
            "format": "int64",
            "x-displayname": "Per Try Timeout.",
            "x-ves-example": "1000",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-example": "1000",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "600000"
            },
            "x-f5xc-description-short": "Specifies a non-zero timeout per retry attempt. In milliseconds.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 600000,
              "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
            }
          },
          "retriable_status_codes": {
            "type": "array",
            "description": "HTTP status codes that should trigger a retry in addition to those specified by retry_on.",
            "title": "Retriable status Code",
            "maxItems": 16,
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-displayname": "Status Code to Retry.",
            "x-ves-example": "403",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "403",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "HTTP status codes that should trigger a retry in addition to those specified by retry_on.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "retry_condition": {
            "type": "array",
            "description": "Specifies the conditions under which retry takes place.\nRetries can be on different types of condition depending on application requirements.\nFor example, network failure, all 5xx response codes, idempotent 4xx response codes, etc\n\nThe possible values are\n\n\"5xx\" : Retry will be done if the upstream server responds with any 5xx response code,\nor does not respond at all (disconnect/reset/read timeout).\n\n\"gateway-error\" : Retry will be done only if the upstream server responds with 502, 503 or\n504 responses (Included in 5xx)\n\n\"connect-failure\" : Retry will be done if the request fails because of a connection failure to the\nupstream server (connect timeout, etc.). (Included in 5xx)\n\n\"refused-stream\" : Retry is done if the upstream server resets the stream with a REFUSED_STREAM\nerror code (Included in 5xx)\n\n\"retriable-4xx\" : Retry is done if the upstream server responds with a retriable 4xx response code.\nThe only response code in this category is HTTP CONFLICT (409)\n\n\"retriable-status-codes\" : Retry is done if the upstream server responds with any response code\nmatching one defined in retriable_status_codes field\n\n\"reset\" : Retry is done if the upstream server does not respond at all\n(disconnect/reset/read timeout.)",
            "title": "retry_condition",
            "minItems": 1,
            "maxItems": 7,
            "items": {
              "type": "string"
            },
            "x-displayname": "Retry Condition.",
            "x-ves-example": "5xx",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.in": "[\\\"5xx\\\",\\\"gateway-error\\\",\\\"connect-failure\\\",\\\"refused-stream\\\",\\\"retriable-4xx\\\",\\\"retriable-status-codes\\\",\\\"reset\\\"]",
              "ves.io.schema.rules.repeated.max_items": "7",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "5xx",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.in": "[\\\"5xx\\\",\\\"gateway-error\\\",\\\"connect-failure\\\",\\\"refused-stream\\\",\\\"retriable-4xx\\\",\\\"retriable-status-codes\\\",\\\"reset\\\"]",
              "ves.io.schema.rules.repeated.max_items": "7",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Conditions that trigger request retry (5xx, connection failures).",
            "x-f5xc-description-medium": "Specifies the conditions under which retry takes place. Retries can be on different types of condition depending on application requirements. For example, network failure, all 5xx response codes, idempotent 4xx response codes, etc The possible values are \"5xx\" : Retry will be done if the...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 7,
              "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-description-short": "Retry policy configuration for route destination.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaRetryPolicyType",
          "required_fields": [
            "retry_condition"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"retry_condition\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "retry_condition:\n- value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaRoutingPriority": {
        "type": "string",
        "description": "Priority routing for each request.\nDifferent connection pools are used based on the priority selected for the request.\nAlso, circuit-breaker configuration at destination cluster is chosen based on selected priority.\n\nDefault routing mechanism\nHigh-Priority routing mechanism.",
        "title": "RoutingPriority",
        "enum": [
          "DEFAULT",
          "HIGH"
        ],
        "default": "DEFAULT",
        "x-displayname": "Routing Priority.",
        "x-ves-proto-enum": "ves.io.schema.RoutingPriority",
        "x-f5xc-description-short": "Priority routing for each request. Different connection pools are used based on the priority selected for the request.",
        "x-f5xc-description-medium": "Priority routing for each request. Different connection pools are used based on the priority selected for the request. Also, circuit-breaker configuration at destination cluster is chosen based on selected priority.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaRoutingPriority",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"DEFAULT\"",
          "example_yaml": "DEFAULT\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaSetCookieValueOption": {
        "type": "object",
        "description": "Cookie name and its attribute values in set-cookie header.",
        "title": "SetCookieValueOption",
        "x-displayname": "Set-Cookie Value Option.",
        "x-ves-oneof-field-domain_choice": "[\"add_domain\",\"ignore_domain\"]",
        "x-ves-oneof-field-expiry_choice": "[\"add_expiry\",\"ignore_expiry\"]",
        "x-ves-oneof-field-httponly_choice": "[\"add_httponly\",\"ignore_httponly\"]",
        "x-ves-oneof-field-max_age_choice": "[\"ignore_max_age\",\"max_age_value\"]",
        "x-ves-oneof-field-partitioned_choice": "[\"add_partitioned\",\"ignore_partitioned\"]",
        "x-ves-oneof-field-path_choice": "[\"add_path\",\"ignore_path\"]",
        "x-ves-oneof-field-samesite_choice": "[\"ignore_samesite\",\"samesite_lax\",\"samesite_none\",\"samesite_strict\"]",
        "x-ves-oneof-field-secure_choice": "[\"add_secure\",\"ignore_secure\"]",
        "x-ves-oneof-field-value_choice": "[\"ignore_value\",\"secret_value\",\"value\"]",
        "x-ves-proto-message": "ves.io.schema.SetCookieValueOption",
        "properties": {
          "add_domain": {
            "type": "string",
            "description": "Exclusive with [ignore_domain]\nAdd domain attribute.",
            "title": "add_domain",
            "minLength": 1,
            "maxLength": 256,
            "x-displayname": "Add Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.min_len": "1"
            },
            "x-f5xc-description-short": "Exclusive with [ignore_domain] Add domain attribute.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 256,
              "format": "hostname",
              "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-conflicts-with": [
              "ignore_domain"
            ]
          },
          "add_expiry": {
            "type": "string",
            "description": "Exclusive with [ignore_expiry]\nAdd expiry attribute.",
            "title": "add_expiry",
            "maxLength": 256,
            "x-displayname": "Add expiry.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [ignore_expiry] Add expiry attribute.",
            "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
            },
            "x-f5xc-conflicts-with": [
              "ignore_expiry"
            ]
          },
          "add_httponly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for add httponly.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_httponly"
            ]
          },
          "add_partitioned": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for add partitioned.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_partitioned"
            ]
          },
          "add_path": {
            "type": "string",
            "description": "Exclusive with [ignore_path]\nAdd path attribute.",
            "title": "add_path",
            "maxLength": 256,
            "x-displayname": "Add path",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Exclusive with [ignore_path] Add path attribute.",
            "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
            },
            "x-f5xc-conflicts-with": [
              "ignore_path"
            ]
          },
          "add_secure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_secure"
            ]
          },
          "ignore_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore domain.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_domain"
            ]
          },
          "ignore_expiry": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore expiry.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_expiry"
            ]
          },
          "ignore_httponly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore httponly.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_httponly"
            ]
          },
          "ignore_max_age": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore max age.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "max_age_value"
            ]
          },
          "ignore_partitioned": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore partitioned.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_partitioned"
            ]
          },
          "ignore_path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_path"
            ]
          },
          "ignore_samesite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "samesite_lax",
              "samesite_none",
              "samesite_strict"
            ]
          },
          "ignore_secure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "add_secure"
            ]
          },
          "ignore_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ignore value.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "secret_value",
              "value"
            ]
          },
          "max_age_value": {
            "type": "integer",
            "description": "Exclusive with [ignore_max_age]\nAdd max age attribute.",
            "title": "add_max_age",
            "format": "int32",
            "x-displayname": "Add Max Age.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "34560000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "34560000"
            },
            "x-f5xc-description-short": "Exclusive with [ignore_max_age] Add max age attribute.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "maximum": 34560000,
              "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-conflicts-with": [
              "ignore_max_age"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the cookie in Cookie header.",
            "title": "name",
            "maxLength": 256,
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.cookie_name": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.cookie_name": "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])?$"
          },
          "overwrite": {
            "type": "boolean",
            "description": "Should the value be overwritten? If true, the value is overwritten to existing values.\nDefault value is do not overwrite.",
            "title": "overwrite",
            "format": "boolean",
            "x-displayname": "Overwrite",
            "x-f5xc-description-short": "Should the value be overwritten? If true, the value is overwritten to existing values.",
            "x-f5xc-description-medium": "Should the value be overwritten? If true, the value is overwritten to existing values. Default value is do not overwrite.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "samesite_lax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_none",
              "samesite_strict"
            ]
          },
          "samesite_none": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_lax",
              "samesite_strict"
            ]
          },
          "samesite_strict": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_samesite",
              "samesite_lax",
              "samesite_none"
            ]
          },
          "secret_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore_value",
              "value"
            ]
          },
          "value": {
            "type": "string",
            "description": "Exclusive with [ignore_value secret_value]\nValue of the Cookie header.",
            "title": "value",
            "maxLength": 8096,
            "x-displayname": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "8096"
            },
            "x-f5xc-description-short": "Exclusive with [ignore_value secret_value] Value of the Cookie header.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 8096,
              "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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "ignore_value",
              "secret_value"
            ]
          }
        },
        "x-f5xc-description-short": "Cookie name and its attribute values in set-cookie header.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSetCookieValueOption",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"value\"\n}",
          "example_yaml": "name: value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaTLSCoalescingOptions": {
        "type": "object",
        "description": "TLS connection coalescing configuration (not compatible with mTLS)",
        "title": "TLSCoalescingOptions",
        "x-displayname": "TLS Coalescing OPTIONS.",
        "x-ves-oneof-field-coalescing_choice": "[\"default_coalescing\",\"strict_coalescing\"]",
        "x-ves-proto-message": "ves.io.schema.TLSCoalescingOptions",
        "properties": {
          "default_coalescing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default coalescing.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "strict_coalescing"
            ]
          },
          "strict_coalescing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for strict coalescing.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_coalescing"
            ]
          }
        },
        "x-f5xc-description-short": "TLS connection coalescing configuration (not compatible with mTLS).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTLSCoalescingOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaUpstreamConnPoolReuseType": {
        "type": "object",
        "description": "Select upstream connection pool reuse state for every downstream connection. This configuration choice is for HTTP(S) LB only.",
        "title": "UpstreamConnPoolReuseType",
        "x-displayname": "Select upstream connection pool reuse state.",
        "x-ves-oneof-field-map_downstream_to_upstream_conn_pool_type": "[\"disable_conn_pool_reuse\",\"enable_conn_pool_reuse\"]",
        "x-ves-proto-message": "ves.io.schema.UpstreamConnPoolReuseType",
        "properties": {
          "disable_conn_pool_reuse": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable conn pool reuse.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_conn_pool_reuse"
            ]
          },
          "enable_conn_pool_reuse": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable conn pool reuse.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_conn_pool_reuse"
            ]
          }
        },
        "x-f5xc-description-short": "Select upstream connection pool reuse state for every downstream connection. This configuration choice is for HTTP(S) LB only.",
        "x-f5xc-description-medium": "Select upstream connection pool reuse state for every downstream connection. This configuration choice is for HTTP(S) LB only.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaUpstreamConnPoolReuseType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaclusterHttp1ProtocolOptions": {
        "type": "object",
        "description": "HTTP/1.1 Protocol OPTIONS for upstream connections.",
        "title": "Http1ProtocolOptions",
        "x-displayname": "HTTP/1.1 Protocol OPTIONS.",
        "x-ves-proto-message": "ves.io.schema.cluster.Http1ProtocolOptions",
        "properties": {
          "header_transformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHeaderTransformationType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "HTTP/1.1 Protocol OPTIONS for upstream connections.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaclusterHttp1ProtocolOptions",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemarouteJavaScriptLocation": {
        "type": "string",
        "description": "All inside networks.\n\nInsert JavaScript after <HEAD> tag\nInsert JavaScript after </title> tag.\nInsert JavaScript before first tag.",
        "title": "JavaScriptLocation",
        "enum": [
          "AFTER_HEAD",
          "AFTER_TITLE_END",
          "BEFORE_SCRIPT"
        ],
        "default": "AFTER_HEAD",
        "x-displayname": "JavaScript Location.",
        "x-ves-proto-enum": "ves.io.schema.route.JavaScriptLocation",
        "x-f5xc-description-short": "All inside networks. Insert JavaScript after <HEAD> tag Insert JavaScript after </title> tag.",
        "x-f5xc-description-medium": "All inside networks. Insert JavaScript after <HEAD> tag Insert JavaScript after </title> tag. Insert JavaScript before first tag.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemarouteJavaScriptLocation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"AFTER_HEAD\"",
          "example_yaml": "AFTER_HEAD\n..."
        },
        "x-f5xc-cli-domain": "network",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Route configuration is platform-level routing"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemavirtual_hostHttp1ProtocolOptions": {
        "type": "object",
        "description": "HTTP/1.1 Protocol OPTIONS for downstream connections.",
        "title": "Http1ProtocolOptions",
        "x-displayname": "HTTP/1.1 Protocol OPTIONS.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.Http1ProtocolOptions",
        "properties": {
          "header_transformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHeaderTransformationType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "HTTP/1.1 Protocol OPTIONS for downstream connections.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemavirtual_hostHttp1ProtocolOptions",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemavirtual_host_dns_infoGlobalSpecType": {
        "type": "object",
        "description": "Shape of the virtual host DNS info global specification.",
        "title": "Global Specification for Virtual Host DNS info",
        "x-displayname": "Global Spec.",
        "x-ves-proto-message": "ves.io.schema.virtual_host_dns_info.GlobalSpecType",
        "properties": {
          "dns_info": {
            "type": "array",
            "description": "DNS information for this virtual host.",
            "title": "DNS information",
            "items": {
              "$ref": "#/components/schemas/virtual_host_dns_infoDnsInfo"
            },
            "x-displayname": "DNS Information.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "host_name": {
            "type": "string",
            "description": "Host name to be used for the virtual host.",
            "title": "host name",
            "x-displayname": "Host Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Host name to be used for the virtual host.",
            "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
            }
          },
          "virtual_host": {
            "type": "array",
            "description": "Reference to virtual host object to which this information applies.",
            "title": "virtual host",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Virtual Host.",
            "x-f5xc-description-short": "Reference to virtual host object to which this information applies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the virtual host DNS info global specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemavirtual_host_dns_infoGlobalSpecType",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "viewsAdvertiseCustom__ves_io_schema_views_bigip_http_proxy": {
        "type": "object",
        "description": "This defines a way to advertise a VIP on specific sites.",
        "title": "AdvertiseWhere",
        "x-displayname": "Advertise Custom.",
        "x-ves-proto-message": "ves.io.schema.views.AdvertiseCustom",
        "properties": {
          "advertise_where": {
            "type": "array",
            "description": "Where should this load balancer be available.",
            "title": "Advertise Where",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/viewsWhereType__ves_io_schema_views_bigip_http_proxy"
            },
            "x-displayname": "List of Sites to Advertise.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "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": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Where should this load balancer be available.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "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-description-short": "Defines a way to advertise a VIP on specific sites.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsAdvertiseCustom",
          "required_fields": [
            "advertise_where"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"advertise_where\": [\n    {}\n  ]\n}",
          "example_yaml": "advertise_where:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsAdvertisePublic": {
        "type": "object",
        "description": "This defines a way to advertise a load balancer on public. If optional public_ip is provided, it will only be advertised on RE sites where that public_ip is available.",
        "title": "AdvertisePublic",
        "x-displayname": "Advertise Public.",
        "x-ves-proto-message": "ves.io.schema.views.AdvertisePublic",
        "properties": {
          "public_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "public_ip",
                "field_path": "public_ip",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Defines a way to advertise a load balancer on public.",
        "x-f5xc-description-medium": "Defines a way to advertise a load balancer on public. If optional public_ip is provided, it will only be advertised on RE sites where that public_ip is available.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsAdvertisePublic",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsApiEndpointWithSchema": {
        "type": "object",
        "description": "API endpoint and its schema.",
        "title": "API Endpoint With Schema",
        "x-displayname": "API Endpoint With Schema.",
        "x-ves-proto-message": "ves.io.schema.views.ApiEndpointWithSchema",
        "properties": {
          "api_operation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsApiOperation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "schema_json": {
            "type": "string",
            "description": "The schema of the API endpoint.",
            "title": "Schema JSON",
            "maxLength": 20000,
            "x-displayname": "Schema JSON.",
            "x-ves-example": "{}",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "20000"
            },
            "x-f5xc-example": "{}",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "20000"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 20000,
              "byteLength": {
                "max": 20000
              },
              "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 viewsApiEndpointWithSchema",
          "required_fields": [
            "schema_json"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"schema_json\": \"{}\"\n}",
          "example_yaml": "schema_json: '{}'"
        },
        "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"
          }
        }
      },
      "viewsApiOperation": {
        "type": "object",
        "description": "API operation according to OpenAPI specification.",
        "title": "ApiOperation",
        "x-displayname": "API Operation.",
        "x-ves-proto-message": "ves.io.schema.views.ApiOperation",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "type": "string",
            "description": "An endpoint path, as specified in OpenAPI, including parameters.\nThe path should comply with RFC 3986 and may have parameters according to OpenAPI specification.",
            "title": "path",
            "minLength": 1,
            "maxLength": 1024,
            "x-displayname": "Path",
            "x-ves-example": "/API/users/{userid}",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/api/users/{userid}",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-description-short": "Endpoint path, as specified in OpenAPI, including parameters.",
            "x-f5xc-description-medium": "Endpoint path, as specified in OpenAPI, including parameters. The path should comply with RFC 3986 and may have parameters according to OpenAPI specification.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 1024,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1024,
                "min": 1
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "API operation according to OpenAPI specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsApiOperation",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/api/users/{userid}\"\n}",
          "example_yaml": "path: /api/users/{userid}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsInternetVIPInfo": {
        "type": "object",
        "description": "Internet VIP Info.",
        "title": "Internet VIP Info",
        "x-displayname": "Internet VIP Info.",
        "x-ves-proto-message": "ves.io.schema.views.InternetVIPInfo",
        "properties": {
          "site_name": {
            "type": "string",
            "description": "Site Name where Internet VIP is installed.",
            "title": "Site Name",
            "x-displayname": "Site Name",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Site Name where Internet VIP is installed.",
            "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
            }
          },
          "site_network_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteNetwork"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsInternetVIPStatus"
              }
            ],
            "x-f5xc-example": "active",
            "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"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsInternetVIPInfo",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsInternetVIPListenerStatusType": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.InternetVIPListenerStatusType",
        "properties": {
          "arn": {
            "type": "string",
            "description": "Configuration parameter for arn",
            "title": "Name",
            "x-displayname": "Name",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identifier",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^arn:aws:[a-z0-9-]+:[a-z0-9-]*:[0-9]{12}:[a-z0-9-/]+$",
              "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
            }
          },
          "port": {
            "type": "integer",
            "description": "TCP/UDP port number (1-65535)",
            "title": "Port",
            "format": "int64",
            "x-displayname": "Port",
            "x-f5xc-example": "8080",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "networking",
              "minimum": 1,
              "maximum": 65535,
              "multipleOf": 1,
              "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
            }
          },
          "protocol": {
            "type": "string",
            "description": "Protocol",
            "title": "Protocol",
            "x-displayname": "Protocol",
            "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
            }
          },
          "reason": {
            "type": "string",
            "description": "Reason",
            "title": "Reason",
            "x-displayname": "Reason",
            "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",
            "title": "Status",
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "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-minimum-configuration": {
          "description": "Minimum configuration for viewsInternetVIPListenerStatusType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsInternetVIPStatus": {
        "type": "object",
        "description": "CName and installation info.",
        "title": "Internet VIP Status",
        "x-displayname": "Internet VIP Status.",
        "x-ves-proto-message": "ves.io.schema.views.InternetVIPStatus",
        "properties": {
          "arn": {
            "type": "string",
            "description": "Configuration parameter for arn",
            "title": "ARN",
            "x-displayname": "ARN",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identifier",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^arn:aws:[a-z0-9-]+:[a-z0-9-]*:[0-9]{12}:[a-z0-9-/]+$",
              "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
            }
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "Name",
            "x-displayname": "Name",
            "x-f5xc-example": "example-resource",
            "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])?$"
          },
          "nlb_cname": {
            "type": "string",
            "description": "NLB CNAME",
            "title": "NLB CNAME",
            "x-displayname": "NLB CNAME",
            "x-f5xc-example": "example-resource",
            "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
            }
          },
          "nlb_status": {
            "type": "string",
            "description": "NLB Status.",
            "title": "NLB Status",
            "x-displayname": "NLB 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
            }
          },
          "reason": {
            "type": "string",
            "description": "Reason",
            "title": "Reason",
            "x-displayname": "Reason",
            "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"
          },
          "target_group_status": {
            "type": "array",
            "description": "Target Group Status.",
            "title": "Target Group Status",
            "items": {
              "$ref": "#/components/schemas/viewsInternetVIPTargetGroupStatusType"
            },
            "x-displayname": "Target Group Status.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsInternetVIPStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsInternetVIPTargetGroupStatusType": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.InternetVIPTargetGroupStatusType",
        "properties": {
          "arn": {
            "type": "string",
            "description": "Configuration parameter for arn",
            "title": "ARN",
            "x-displayname": "ARN",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identifier",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^arn:aws:[a-z0-9-]+:[a-z0-9-]*:[0-9]{12}:[a-z0-9-/]+$",
              "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
            }
          },
          "listener_status": {
            "type": "array",
            "description": "Listener status.",
            "title": "Listener status",
            "items": {
              "$ref": "#/components/schemas/viewsInternetVIPListenerStatusType"
            },
            "x-displayname": "Listener status.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "Name",
            "x-displayname": "Name",
            "x-f5xc-example": "example-resource",
            "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])?$"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol",
            "title": "Protocol",
            "x-displayname": "Protocol",
            "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
            }
          },
          "reason": {
            "type": "string",
            "description": "Reason",
            "title": "Reason",
            "x-displayname": "Reason",
            "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",
            "title": "Status",
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "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-minimum-configuration": {
          "description": "Minimum configuration for viewsInternetVIPTargetGroupStatusType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsOriginPoolListType": {
        "type": "object",
        "description": "List of Origin Pools.",
        "title": "OriginPoolListType",
        "x-displayname": "Origin Pool List Type.",
        "x-ves-proto-message": "ves.io.schema.views.OriginPoolListType",
        "properties": {
          "pools": {
            "type": "array",
            "description": "List of Origin Pools.",
            "title": "Pools",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/viewsOriginPoolWithWeight"
            },
            "x-displayname": "Origin Pools.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 8,
              "minItems": 1,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "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 viewsOriginPoolListType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsOriginPoolWithWeight": {
        "type": "object",
        "description": "This defines a combination of origin pool with weight and priority.",
        "title": "OriginPoolWithWeight",
        "x-displayname": "Origin Pool with Weight.",
        "x-ves-oneof-field-pool_choice": "[\"cluster\",\"pool\"]",
        "x-ves-proto-message": "ves.io.schema.views.OriginPoolWithWeight",
        "properties": {
          "cluster": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-example": "production-cluster",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "pool"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "cluster",
                "field_path": "cluster",
                "gated_by": {
                  "choice": "pool_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "endpoint_subsets": {
            "type": "object",
            "description": "Upstream origin pool may be configured to divide its origin servers into subsets based on metadata\nattached to the origin servers. Routes may then specify the metadata that a endpoint must match in\norder to be selected by the load balancer\n\nFor origin servers which are discovered in K8s or Consul cluster, the label of the service is merged with\nendpoint's labels. In case of Consul, the label is derived from the \"Tag\" field.\nFor labels that are common between configured endpoint and discovered service, labels from discovered service\ntakes precedence.\n\nList of key-value pairs that will be used as matching metadata. Only those origin servers of\nupstream origin pool which match this metadata will be selected for load balancing.",
            "title": "Origin Servers Subset",
            "x-displayname": "Origin Servers Subsets.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "16"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "16"
            },
            "x-f5xc-description-short": "Upstream origin pool may be configured to divide its origin servers into subsets based on metadata attached to the origin servers.",
            "x-f5xc-description-medium": "Upstream origin pool may be configured to divide its origin servers into subsets based on metadata attached to the origin servers. Routes may then specify the metadata that a endpoint must match in order to be selected by the load balancer For origin servers which are discovered in K8s or Consul...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cluster"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "origin_pool",
                "field_path": "pool",
                "gated_by": {
                  "choice": "pool_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "priority": {
            "type": "integer",
            "description": "Priority of this origin pool, valid only with multiple origin pools.\nValue of 0 will make the pool as lowest priority origin pool\nPriority of 1 means highest priority and is considered active.\nWhen active origin pool is not available, lower priority origin pools are\nmade active as per the increasing priority.",
            "title": "Priority",
            "format": "int64",
            "x-displayname": "Priority",
            "x-ves-example": "1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32"
            },
            "x-f5xc-example": "1",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "32"
            },
            "x-f5xc-description-short": "Priority of this origin pool, valid only with multiple origin pools.",
            "x-f5xc-description-medium": "Priority of this origin pool, valid only with multiple origin pools. Value of 0 will make the pool as lowest priority origin pool Priority of 1 means highest priority and is considered active. When active origin pool is not available, lower priority origin pools are made active as per the...",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 0,
              "maximum": 32,
              "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
            }
          },
          "weight": {
            "type": "integer",
            "description": "Weight of this origin pool, valid only with multiple origin pool. Value of 0 will disable the pool.",
            "title": "Weight",
            "format": "int64",
            "x-displayname": "Weight",
            "x-ves-example": "1",
            "x-f5xc-example": "1",
            "x-f5xc-description-short": "Weight of this origin pool, valid only with multiple origin pool. Value of 0 will disable the pool.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "load-balancing",
              "minimum": 0,
              "maximum": 100,
              "multipleOf": 1,
              "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": "Defines a combination of origin pool with weight and priority.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsOriginPoolWithWeight",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsSiteLocator": {
        "type": "object",
        "description": "This message defines a reference to a site or virtual site object.",
        "title": "SiteLocator",
        "x-displayname": "Site or Virtual Site.",
        "x-ves-oneof-field-choice": "[\"site\",\"virtual_site\"]",
        "x-ves-proto-message": "ves.io.schema.views.SiteLocator",
        "properties": {
          "site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "virtual_site"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "site",
                "field_path": "site",
                "gated_by": {
                  "choice": "choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "virtual_site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "site"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "virtual_site",
                "gated_by": {
                  "choice": "choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Message defines a reference to a site or virtual site object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsSiteLocator",
          "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": "Sites are platform-level infrastructure"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "viewsSiteNetwork": {
        "type": "string",
        "description": "This defines network types to be used on site\n\nAll inside and outside networks.\nAll inside and outside networks with internet VIP support.\nAll inside networks.\nAll outside networks.\nAll outside networks with internet VIP support.\nVK8s service network.\n- SITE_NETWORK_IP_FABRIC: VER IP Fabric network for the site\n\nThis Virtual network type is used for exposing virtual host on IP Fabric network on the VER site or\nfor endpoint in IP Fabric network.",
        "title": "SiteNetwork",
        "enum": [
          "SITE_NETWORK_INSIDE_AND_OUTSIDE",
          "SITE_NETWORK_INSIDE",
          "SITE_NETWORK_OUTSIDE",
          "SITE_NETWORK_SERVICE",
          "SITE_NETWORK_OUTSIDE_WITH_INTERNET_VIP",
          "SITE_NETWORK_INSIDE_AND_OUTSIDE_WITH_INTERNET_VIP",
          "SITE_NETWORK_IP_FABRIC"
        ],
        "default": "SITE_NETWORK_INSIDE_AND_OUTSIDE",
        "x-displayname": "Site Network.",
        "x-ves-proto-enum": "ves.io.schema.views.SiteNetwork",
        "x-f5xc-description-short": "Defines network types to be used on site All inside and outside networks. All inside and outside networks with internet VIP support.",
        "x-f5xc-description-medium": "Defines network types to be used on site All inside and outside networks. All inside and outside networks with internet VIP support. All inside networks.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsSiteNetwork",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SITE_NETWORK_INSIDE_AND_OUTSIDE\"",
          "example_yaml": "SITE_NETWORK_INSIDE_AND_OUTSIDE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Sites are platform-level infrastructure"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "viewsSiteNetworkSpecifiedVIP": {
        "type": "string",
        "description": "This defines network types to be used on virtual-site with specified VIP\n\nAll outside networks.\nAll inside networks.",
        "title": "SiteNetworkSpecifiedVIP",
        "enum": [
          "SITE_NETWORK_SPECIFIED_VIP_OUTSIDE",
          "SITE_NETWORK_SPECIFIED_VIP_INSIDE"
        ],
        "default": "SITE_NETWORK_SPECIFIED_VIP_OUTSIDE",
        "x-displayname": "Site Network.",
        "x-ves-proto-enum": "ves.io.schema.views.SiteNetworkSpecifiedVIP",
        "x-f5xc-description-short": "Defines network types to be used on virtual-site with specified VIP All outside networks.",
        "x-f5xc-description-medium": "Defines network types to be used on virtual-site with specified VIP All outside networks. All inside networks.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsSiteNetworkSpecifiedVIP",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SITE_NETWORK_SPECIFIED_VIP_OUTSIDE\"",
          "example_yaml": "SITE_NETWORK_SPECIFIED_VIP_OUTSIDE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Sites are platform-level infrastructure"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "viewsSnatPoolConfiguration": {
        "type": "object",
        "description": "SNAT Pool configuration.",
        "title": "SnatPoolConfiguration",
        "x-displayname": "SNAT Pool",
        "x-ves-oneof-field-snat_pool_choice": "[\"no_snat_pool\",\"snat_pool\"]",
        "x-ves-proto-message": "ves.io.schema.views.SnatPoolConfiguration",
        "properties": {
          "no_snat_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no snat pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "snat_pool"
            ]
          },
          "snat_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsPrefixStringListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_snat_pool"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsSnatPoolConfiguration",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsWhereSite": {
        "type": "object",
        "description": "This defines a reference to a CE site along with network type and an optional IP address where a load balancer could be advertised.",
        "title": "WhereSite",
        "x-displayname": "Site",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.views.WhereSite",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Use given IP address as VIP on the site.",
            "title": "IP address on the site",
            "x-displayname": "IP Address.",
            "x-ves-example": "192.0.2.132.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-example": "192.0.2.132",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-description-short": "Use given IP address as VIP on the site.",
            "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
            }
          },
          "network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteNetwork"
              }
            ],
            "x-f5xc-example": "192.0.2.0/24",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "site",
                "field_path": "site",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Defines a reference to a CE site along with network type and an optional IP address where a load balancer could be advertised.",
        "x-f5xc-description-medium": "Defines a reference to a CE site along with network type and an optional IP address where a load balancer could be advertised.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsWhereSite",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsWhereType__ves_io_schema_views_bigip_http_proxy": {
        "type": "object",
        "description": "This defines various OPTIONS where a Loadbalancer could be advertised.",
        "title": "WhereType",
        "x-displayname": "Select Where to Advertise.",
        "x-ves-displayorder": "4,5",
        "x-ves-oneof-field-choice": "[\"advertise_on_public\",\"cloud_edge_segment\",\"segment\",\"site\",\"site_segment\",\"virtual_network\",\"virtual_site\",\"virtual_site_segment\",\"virtual_site_with_vip\",\"vk8s_service\"]",
        "x-ves-oneof-field-port_choice": "[\"port\",\"port_ranges\",\"use_default_port\"]",
        "x-ves-proto-message": "ves.io.schema.views.WhereType",
        "properties": {
          "advertise_on_public": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsAdvertisePublic"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advertise on public.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cloud_edge_segment",
              "segment",
              "site",
              "site_segment",
              "virtual_network",
              "virtual_site",
              "virtual_site_segment",
              "virtual_site_with_vip",
              "vk8s_service"
            ]
          },
          "port": {
            "type": "integer",
            "description": "Exclusive with [port_ranges use_default_port]\nPort to Listen.",
            "title": "Port to listen",
            "format": "int64",
            "x-displayname": "Listen 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-example": "8080",
            "x-f5xc-description-short": "Exclusive with [port_ranges use_default_port] Port to Listen.",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "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": [
              "port_ranges",
              "use_default_port"
            ]
          },
          "port_ranges": {
            "type": "string",
            "description": "Exclusive with [port use_default_port]\nA string containing a comma separated list of port ranges.\nEach port range consists of a single port or two ports separated by \"-\".",
            "title": "Port ranges to listen",
            "minLength": 1,
            "maxLength": 512,
            "x-displayname": "Listen Port Ranges.",
            "x-ves-example": "80,443,8080-8191,9080.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-example": "80,443,8080-8191,9080",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "512",
              "ves.io.schema.rules.string.max_ports": "64",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.unique_port_range_list": "true"
            },
            "x-f5xc-description-short": "Exclusive with [port use_default_port] A string containing a comma separated list of port ranges.",
            "x-f5xc-description-medium": "Exclusive with [port use_default_port] A string containing a comma separated list of port ranges. Each port range consists of a single port or two ports separated by \"-\".",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 512,
              "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-conflicts-with": [
              "port",
              "use_default_port"
            ]
          },
          "site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsWhereSite"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "cloud_edge_segment",
              "segment",
              "site_segment",
              "virtual_network",
              "virtual_site",
              "virtual_site_segment",
              "virtual_site_with_vip",
              "vk8s_service"
            ]
          },
          "use_default_port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "port",
              "port_ranges"
            ]
          },
          "virtual_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsWhereVirtualNetwork"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for virtual network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "cloud_edge_segment",
              "segment",
              "site",
              "site_segment",
              "virtual_site",
              "virtual_site_segment",
              "virtual_site_with_vip",
              "vk8s_service"
            ]
          },
          "virtual_site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsWhereVirtualSite"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "cloud_edge_segment",
              "segment",
              "site",
              "site_segment",
              "virtual_network",
              "virtual_site_segment",
              "virtual_site_with_vip",
              "vk8s_service"
            ]
          },
          "virtual_site_with_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsWhereVirtualSiteSpecifiedVIP"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "cloud_edge_segment",
              "segment",
              "site",
              "site_segment",
              "virtual_network",
              "virtual_site",
              "virtual_site_segment",
              "vk8s_service"
            ]
          },
          "vk8s_service": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsWhereVK8SService"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for vk8s service.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "cloud_edge_segment",
              "segment",
              "site",
              "site_segment",
              "virtual_network",
              "virtual_site",
              "virtual_site_segment",
              "virtual_site_with_vip"
            ]
          }
        },
        "x-f5xc-description-short": "Defines various OPTIONS where a Loadbalancer could be advertised.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsWhereType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsWhereVK8SService": {
        "type": "object",
        "description": "This defines a reference to a RE site or virtual site where a load balancer could be advertised in the vK8s service network.",
        "title": "WhereVK8SService",
        "x-displayname": "VK8s Services on RE.",
        "x-ves-displayorder": "3",
        "x-ves-oneof-field-choice": "[\"site\",\"virtual_site\"]",
        "x-ves-proto-message": "ves.io.schema.views.WhereVK8SService",
        "properties": {
          "site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "virtual_site"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "site",
                "field_path": "site",
                "gated_by": {
                  "choice": "choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "virtual_site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "site"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "virtual_site",
                "gated_by": {
                  "choice": "choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Defines a reference to a RE site or virtual site where a load balancer could be advertised in the vK8s service network.",
        "x-f5xc-description-medium": "Defines a reference to a RE site or virtual site where a load balancer could be advertised in the vK8s service network.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsWhereVK8SService",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsWhereVirtualNetwork": {
        "type": "object",
        "description": "Parameters to advertise on a given virtual network.",
        "title": "WhereVirtualNetwork",
        "x-displayname": "Virtual Network.",
        "x-ves-displayorder": "1,2,10",
        "x-ves-oneof-field-v6_vip_choice": "[\"default_v6_vip\",\"specific_v6_vip\"]",
        "x-ves-oneof-field-vip_choice": "[\"default_vip\",\"specific_vip\"]",
        "x-ves-proto-message": "ves.io.schema.views.WhereVirtualNetwork",
        "properties": {
          "default_v6_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_v6_vip"
            ]
          },
          "default_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_vip"
            ]
          },
          "specific_v6_vip": {
            "type": "string",
            "description": "Exclusive with [default_v6_vip]\nUse given IPv6 address as VIP on virtual Network.",
            "title": "Specific V6 VIP",
            "x-displayname": "Specific V6 VIP.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv6": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv6": "true"
            },
            "x-f5xc-description-short": "Exclusive with [default_v6_vip] Use given IPv6 address as VIP on virtual Network.",
            "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-conflicts-with": [
              "default_v6_vip"
            ]
          },
          "specific_vip": {
            "type": "string",
            "description": "Exclusive with [default_vip]\nUse given IPv4 address as VIP on virtual Network.",
            "title": "Specific VIP",
            "x-displayname": "Specific V4 VIP.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-description-short": "Exclusive with [default_vip] Use given IPv4 address as VIP on virtual Network.",
            "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-conflicts-with": [
              "default_vip"
            ]
          },
          "virtual_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for virtual network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_network",
                "field_path": "virtual_network",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Parameters to advertise on a given virtual network.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsWhereVirtualNetwork",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsWhereVirtualSite": {
        "type": "object",
        "description": "This defines a reference to a customer site virtual site along with network type where a load balancer could be advertised.",
        "title": "WhereVirtualSite",
        "x-displayname": "Virtual Site.",
        "x-ves-displayorder": "1,2",
        "x-ves-proto-message": "ves.io.schema.views.WhereVirtualSite",
        "properties": {
          "network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteNetwork"
              }
            ],
            "x-f5xc-example": "192.0.2.0/24",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "virtual_site",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Defines a reference to a customer site virtual site along with network type where a load balancer could be advertised.",
        "x-f5xc-description-medium": "Defines a reference to a customer site virtual site along with network type where a load balancer could be advertised.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsWhereVirtualSite",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsWhereVirtualSiteSpecifiedVIP": {
        "type": "object",
        "description": "This defines a reference to a customer site virtual site along with network type and IP where a load balancer could be advertised.",
        "title": "WhereVirtualSiteSpecifiedVIP",
        "x-displayname": "Virtual Site with Specified VIP.",
        "x-ves-proto-message": "ves.io.schema.views.WhereVirtualSiteSpecifiedVIP",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Use given IP address as VIP on the site.",
            "title": "IP address on the site",
            "x-displayname": "IP Address.",
            "x-ves-example": "192.0.2.132.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-example": "192.0.2.132",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-description-short": "Use given IP address as VIP on the site.",
            "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
            }
          },
          "network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsSiteNetworkSpecifiedVIP"
              }
            ],
            "x-f5xc-example": "192.0.2.0/24",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "virtual_site",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Defines a reference to a customer site virtual site along with network type and IP where a load balancer could be advertised.",
        "x-f5xc-description-medium": "Defines a reference to a customer site virtual site along with network type and IP where a load balancer could be advertised.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsWhereVirtualSiteSpecifiedVIP",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewshttp_loadbalancerCreateSpecType": {
        "type": "object",
        "description": "Shape of the HTTP load balancer specification.",
        "title": "CreateSpecType",
        "x-displayname": "Create HTTP Load Balancer.",
        "x-ves-oneof-field-advertise_choice": "[\"advertise_custom\",\"advertise_on_public\",\"advertise_on_public_default_vip\",\"do_not_advertise\"]",
        "x-ves-oneof-field-api_definition_choice": "[\"api_specification\",\"disable_api_definition\"]",
        "x-ves-oneof-field-api_discovery_choice": "[\"disable_api_discovery\",\"enable_api_discovery\"]",
        "x-ves-oneof-field-api_testing_choice": "[\"api_testing\",\"disable_api_testing\"]",
        "x-ves-oneof-field-bot_defense_choice": "[\"bot_defense\",\"bot_defense_advanced\",\"disable_bot_defense\"]",
        "x-ves-oneof-field-cache_options": "[\"caching_policy\",\"disable_caching\"]",
        "x-ves-oneof-field-challenge_type": "[\"captcha_challenge\",\"enable_challenge\",\"js_challenge\",\"no_challenge\",\"policy_based_challenge\"]",
        "x-ves-oneof-field-client_side_defense_choice": "[\"client_side_defense\",\"disable_client_side_defense\"]",
        "x-ves-oneof-field-hash_policy_choice": "[\"cookie_stickiness\",\"least_active\",\"random\",\"ring_hash\",\"round_robin\",\"source_ip_stickiness\"]",
        "x-ves-oneof-field-ip_reputation_choice": "[\"disable_ip_reputation\",\"enable_ip_reputation\"]",
        "x-ves-oneof-field-l7_ddos_auto_mitigation_action": "[\"l7_ddos_action_block\",\"l7_ddos_action_default\",\"l7_ddos_action_js_challenge\"]",
        "x-ves-oneof-field-loadbalancer_type": "[\"http\",\"https\",\"https_auto_cert\"]",
        "x-ves-oneof-field-malicious_user_detection_choice": "[\"disable_malicious_user_detection\",\"enable_malicious_user_detection\"]",
        "x-ves-oneof-field-malware_protection": "[\"disable_malware_protection\",\"malware_protection_settings\"]",
        "x-ves-oneof-field-ml_config_choice": "[\"multi_lb_app\",\"single_lb_app\"]",
        "x-ves-oneof-field-origin_pool_choice": "[\"default_pool\",\"default_pool_list\"]",
        "x-ves-oneof-field-rate_limit_choice": "[\"api_rate_limit\",\"disable_rate_limit\",\"rate_limit\"]",
        "x-ves-oneof-field-sensitive_data_policy_choice": "[\"default_sensitive_data_policy\",\"sensitive_data_policy\"]",
        "x-ves-oneof-field-service_policy_choice": "[\"active_service_policies\",\"no_service_policies\",\"service_policies_from_namespace\"]",
        "x-ves-oneof-field-slow_ddos_mitigation_choice": "[\"slow_ddos_mitigation\",\"system_default_timeouts\"]",
        "x-ves-oneof-field-threat_mesh_choice": "[\"disable_threat_mesh\",\"enable_threat_mesh\"]",
        "x-ves-oneof-field-trust_client_ip_headers_choice": "[\"disable_trust_client_ip_headers\",\"enable_trust_client_ip_headers\"]",
        "x-ves-oneof-field-user_id_choice": "[\"user_id_client_ip\",\"user_identification\"]",
        "x-ves-oneof-field-waf_choice": "[\"app_firewall\",\"disable_waf\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.CreateSpecType",
        "properties": {
          "active_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafServicePolicyList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for active service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "add_location": {
            "type": "boolean",
            "description": "X-example: true\nAppends header x-F5 Distributed Cloud-location = <RE-site-name> in responses. This configuration\nis ignored on CE sites.",
            "format": "boolean",
            "x-displayname": "Add Location.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": false,
            "x-f5xc-server-default": true
          },
          "advertise_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsAdvertiseCustom__ves_io_schema_views_bigip_http_proxy"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advertise custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "advertise_on_public_default_vip",
              "do_not_advertise"
            ],
            "x-f5xc-requires": [
              {
                "field": "advertise_where",
                "required": true,
                "reason": "advertise_custom requires advertise_where with min_items:1 (400 without)",
                "min_items": 1
              },
              {
                "field": "advertise_where.choice",
                "required": true,
                "reason": "Each where entry needs choice oneOf: site, virtual_site, vk8s_networks, virtual_network (400 without)"
              }
            ]
          },
          "advertise_on_public": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsAdvertisePublic"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advertise on public.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public_default_vip",
              "do_not_advertise"
            ]
          },
          "advertise_on_public_default_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public",
              "do_not_advertise"
            ]
          },
          "api_protection_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIProtectionRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIRateLimit"
              }
            ],
            "x-f5xc-description-short": "Path- or API-group-scoped rate limiting.",
            "x-f5xc-description-medium": "Path- or API-group-scoped rate limiting. Define server_url_rules or api_endpoint_rules and choose inline_rate_limiter for an inline limit, or ref_rate_limiter for a stored rate-limiter reference.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Path- or API-group-scoped rate limiting. Define server_url_rules or api_endpoint_rules and choose inline_rate_limiter for an inline limit, or ref_rate_limiter for a stored rate-limiter reference.",
            "x-f5xc-conflicts-with": [
              "disable_rate_limit",
              "rate_limit"
            ]
          },
          "api_specification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPISpecificationSettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_definition"
            ]
          },
          "api_testing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerApiTesting"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_testing"
            ]
          },
          "app_firewall": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_waf"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "app_firewall",
                "field_path": "app_firewall",
                "gated_by": {
                  "choice": "waf_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "blocked_clients": {
            "type": "array",
            "description": "Define rules to block IP Prefixes or AS numbers.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Client Blocking Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to block IP Prefixes or AS numbers.",
            "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
            }
          },
          "bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefenseType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_defense_advanced",
              "disable_bot_defense"
            ],
            "x-f5xc-requires": [
              {
                "field": "policy.protected_app_endpoints",
                "required": true,
                "reason": "bot_defense.policy.protected_app_endpoints REQUIRED min_items:1 (400 without)",
                "min_items": 1
              },
              {
                "field": "policy.protected_app_endpoints.flow_label_choice",
                "required": true,
                "reason": "Each endpoint requires flow_label_choice oneOf: undefined_flow_label, flow_label (400 without)"
              },
              {
                "field": "policy.protected_app_endpoints.mitigation",
                "required": true,
                "reason": "Each endpoint requires mitigation (400 without)"
              }
            ]
          },
          "bot_defense_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityBotDefenseAdvancedType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense advanced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_defense",
              "disable_bot_defense"
            ]
          },
          "caching_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerCachingPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_caching"
            ]
          },
          "captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityClientSideDefenseType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_client_side_defense"
            ],
            "x-f5xc-requires": [
              {
                "field": "client_side_defense",
                "requires_field": "resource:protected_domain (same namespace)",
                "requires_resource": {
                  "resource": "protected_domain",
                  "scope": "same_namespace"
                },
                "reason": "Client-Side Defense requires a protected_domain (eTLD+1) registered in the load balancer's OWN namespace — F5 XC generates the per-namespace CSD JS configuration from it. Enabling client_side_defense without one fails with 500 'Failed to get CSD JS Configuration for <tenant>. Please ensure the domain to protect is configured in Client-Side Defense before proceeding'. Verified via live API 2026-07."
              }
            ]
          },
          "cookie_stickiness": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeCookieForHashing"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cookie stickiness.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "least_active",
              "random",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "cors_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCorsPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "csrf_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCsrfPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data_guard_rules": {
            "type": "array",
            "description": "Data Guard prevents responses from exposing sensitive information by masking the data.\nThe system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).\nNote: App Firewall should be enabled, to use Data Guard feature.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policySimpleDataGuardRule"
            },
            "x-displayname": "Data Guard Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data Guard prevents responses from exposing sensitive information by masking the data.",
            "x-f5xc-description-medium": "Data Guard prevents responses from exposing sensitive information by masking the data. The system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            },
            "x-f5xc-requires": [
              {
                "field": "data_guard_rules",
                "requires_field": "spec.enable_waf",
                "reason": "Data Guard requires WAF to be enabled (400 when disable_waf is set)"
              }
            ]
          },
          "ddos_mitigation_rules": {
            "type": "array",
            "description": "Define manual mitigation rules to block L7 DDoS attacks.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_securityDDoSMitigationRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "DDoS Mitigation Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define manual mitigation rules to block L7 DDoS attacks.",
            "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
            }
          },
          "default_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsorigin_poolGlobalSpecType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_pool_list"
            ],
            "x-f5xc-requires": [
              {
                "field": "use_tls.tls_config",
                "required": true,
                "reason": "use_tls requires tls_config sub-field (400 without)"
              },
              {
                "field": "origin_servers",
                "required": true,
                "reason": "Inline pool requires at least one origin server",
                "min_items": 1
              },
              {
                "field": "port",
                "required": true
              }
            ]
          },
          "default_pool_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsOriginPoolListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_pool"
            ]
          },
          "default_route_pools": {
            "type": "array",
            "description": "Origin Pools used when no route is specified (default route)",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/viewsOriginPoolWithWeight"
            },
            "x-displayname": "Origin Pools.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Origin Pools used when no route is specified (default route).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "sensitive_data_policy"
            ]
          },
          "disable_api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_specification"
            ]
          },
          "disable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_api_discovery"
            ]
          },
          "disable_api_testing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_testing"
            ]
          },
          "disable_bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "bot_defense",
              "bot_defense_advanced"
            ]
          },
          "disable_caching": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable caching.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "caching_policy"
            ]
          },
          "disable_client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_side_defense"
            ]
          },
          "disable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_ip_reputation"
            ]
          },
          "disable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_malicious_user_detection"
            ]
          },
          "disable_malware_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malware protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "malware_protection_settings"
            ]
          },
          "disable_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable rate limit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "rate_limit"
            ]
          },
          "disable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_threat_mesh"
            ]
          },
          "disable_trust_client_ip_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_trust_client_ip_headers"
            ]
          },
          "disable_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "app_firewall"
            ]
          },
          "do_not_advertise": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for do not advertise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public",
              "advertise_on_public_default_vip"
            ]
          },
          "domains": {
            "type": "array",
            "description": "A list of Domains (host/authority header) that will be matched to load balancer.\n\nSupported Domains and search order:\n1. Exact Domain names: www.example.com.\n2. Domains starting with a Wildcard: *.example.com.\n\nNot supported Domains:\n- Just a Wildcard: *\n- A Wildcard and TLD with no root Domain: *.com.\n- A Wildcard not matching a whole DNS label.\nE.g. *.example.com and *.bar.example.com are valid Wildcards however *bar.example.com, *-bar.example.com, and bar*.example.com are all invalid.\n\nAdditional notes:\nA Wildcard will not match empty string.\nE.g. *.example.com will match bar.example.com and baz-bar.example.com but not .example.com.\nThe longest Wildcards match first.\nOnly a single virtual host in the entire route configuration can match on *.\nAlso a Domain must be unique across all virtual hosts within an advertise policy.\n\nDomains are also used for SNI matching if the Loadbalancer type is HTTPS.\nDomains also indicate the list of names for which DNS resolution will be automatically resolved to IP addresses by the system.",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Domains",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of Domains (host/authority header) that will be matched to load balancer. Supported Domains and search order: 1.",
            "x-f5xc-description-medium": "List of Domains (host/authority header) that will be matched to load balancer. Supported Domains and search order: 1. Exact Domain names: www.example.com. 2.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "source": "minimum_configs",
              "itemFormat": "vh_domain",
              "description": "Domain list. Format: example.com[:port], *.example.com[:port]. Bare * rejected."
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "enable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_discovery"
            ]
          },
          "enable_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafEnableChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "enable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafIPThreatCategoryListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_ip_reputation"
            ]
          },
          "enable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malicious_user_detection"
            ]
          },
          "enable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_threat_mesh"
            ]
          },
          "enable_trust_client_ip_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostClientIPHeaders"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_trust_client_ip_headers"
            ]
          },
          "graphql_rules": {
            "type": "array",
            "description": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable\ndescription of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it\neasier to evolve APIs over time, and enables powerful developer tools. Policy configuration to analyze GraphQL\nqueries and prevent GraphQL tailored attacks.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyGraphQLRule"
            },
            "x-displayname": "GraphQL Inspection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API.",
            "x-f5xc-description-medium": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it easier to evolve APIs over time, and enables powerful developer tools. Policy...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "http": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "https",
              "https_auto_cert"
            ],
            "x-f5xc-requires": [
              {
                "field": "port",
                "required": true,
                "reason": "HTTP lb_type requires port_choice (400 when port omitted, unlike https_auto_cert)"
              }
            ]
          },
          "https": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttps"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https_auto_cert"
            ]
          },
          "https_auto_cert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttpsAutoCerts"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for https auto cert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https"
            ]
          },
          "js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "jwt_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafJWTValidation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for jwt validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "l7_ddos_action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_default",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_default"
            ]
          },
          "l7_ddos_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerL7DDoSProtectionSettings"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for l7 ddos protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true
          },
          "least_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "random",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "malware_protection_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityMalwareProtectionPolicy"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for malware protection settings.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malware_protection"
            ]
          },
          "more_option": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerAdvancedOptionsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for more option.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "multi_lb_app": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for multi lb app.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "single_lb_app"
            ]
          },
          "no_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "policy_based_challenge"
            ]
          },
          "no_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "origin_server_subset_rule_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerOriginServerSubsetRuleListType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "policy_based_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafPolicyBasedChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for policy based challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "no_challenge"
            ]
          },
          "protected_cookies": {
            "type": "array",
            "description": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.\nCookie Tampering Protection prevents attackers from modifying the value of session cookies.\nFor Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.\nThe configured mode of WAF (monitoring or blocking) will be enforced on the request when cookie tampering is identified.\nNote: We recommend enabling Secure and HttpOnly attributes along with cookie tampering protection.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaCookieManipulationOptionType"
            },
            "x-displayname": "Cookie Protection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.",
            "x-f5xc-description-medium": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses. Cookie Tampering Protection prevents attackers from modifying the value of session cookies. For Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "random": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafRateLimitConfigType"
              }
            ],
            "x-f5xc-example": "{\"requests_per_second\": 100}",
            "x-f5xc-description-short": "Load-balancer-wide per-client rate limiting.",
            "x-f5xc-description-medium": "Load-balancer-wide per-client rate limiting. The counter applies across every path; use api_rate_limit rules when only selected paths such as /login should be limited.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Load-balancer-wide per-client rate limiting. The counter applies across every path; use api_rate_limit rules when only selected paths such as /login should be limited.",
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "disable_rate_limit"
            ],
            "x-f5xc-requires": [
              {
                "field": "rate_limiter.burst_multiplier",
                "required": true,
                "reason": "burst_multiplier MUST be > 0 (400: 'should be greater than 0')"
              }
            ]
          },
          "ring_hash": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerHashPolicyListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "round_robin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for round robin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "ring_hash",
              "source_ip_stickiness"
            ]
          },
          "routes": {
            "type": "array",
            "description": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic\nto origin pool or redirect matching traffic to a different URL or respond directly to matching traffic.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/viewshttp_loadbalancerRouteType"
            },
            "x-displayname": "Routes",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic to origin pool or redirect matching...",
            "x-f5xc-description-medium": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic to origin pool or redirect matching traffic to a different URL or respond directly to matching traffic.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 256,
              "uniqueItems": true,
              "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-requires": [
              {
                "field": "simple_route.path",
                "required": true,
                "reason": "simple_route requires path (400: 'path should be not nil')"
              },
              {
                "field": "simple_route.origin_pools",
                "required": true,
                "reason": "simple_route requires at least one origin_pool (400: 'origin_pools should have minimum items of 1')",
                "min_items": 1
              },
              {
                "field": "direct_response_route.route_direct_response",
                "required": true,
                "reason": "direct_response_route requires route_direct_response (500 without: 'Route does not have action')"
              },
              {
                "field": "redirect_route.route_redirect",
                "required": true,
                "reason": "redirect_route requires route_redirect with at least proto_redirect"
              }
            ]
          },
          "sensitive_data_disclosure_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSensitiveDataDisclosureRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securitySensitiveDataPolicySettings"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_sensitive_data_policy"
            ]
          },
          "service_policies_from_namespace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "no_service_policies"
            ]
          },
          "single_lb_app": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSingleLoadBalancerAppSetting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for single lb app.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "multi_lb_app"
            ]
          },
          "slow_ddos_mitigation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostSlowDDoSMitigation"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "system_default_timeouts"
            ]
          },
          "source_ip_stickiness": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "ring_hash",
              "round_robin"
            ]
          },
          "system_default_timeouts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for system default timeouts.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "slow_ddos_mitigation"
            ]
          },
          "trusted_clients": {
            "type": "array",
            "description": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc. For clients.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Trusted Client Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc.",
            "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-requires": [
              {
                "field": "actions",
                "required": true,
                "reason": "Trusted client entries require non-empty actions list (500 without)"
              }
            ]
          },
          "user_id_client_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "user_identification"
            ]
          },
          "user_identification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for user identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_id_client_ip"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "user_identification",
                "gated_by": {
                  "choice": "user_id_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "waf_exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafWafExclusion"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for waf exclusion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the HTTP load balancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewshttp_loadbalancerCreateSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "domains:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-recommended-oneof-variant": {
          "loadbalancer_type": "https_auto_cert",
          "advertise_choice": "advertise_on_public_default_vip",
          "waf_choice": "disable_waf",
          "challenge_type": "no_challenge",
          "rate_limit_choice": "disable_rate_limit",
          "user_identification_choice": "user_id_client_ip",
          "hash_policy_choice": "round_robin",
          "service_policy_choice": "service_policies_from_namespace",
          "sensitive_data_policy_choice": "default_sensitive_data_policy",
          "api_definition_choice": "disable_api_definition",
          "api_discovery_choice": "disable_api_discovery",
          "api_testing_choice": "disable_api_testing",
          "bot_defense_choice": "disable_bot_defense",
          "cache_options": "disable_caching",
          "client_side_defense_choice": "disable_client_side_defense",
          "ip_reputation_choice": "disable_ip_reputation",
          "l7_ddos_auto_mitigation_action": "l7_ddos_action_default",
          "malicious_user_detection_choice": "disable_malicious_user_detection",
          "malware_protection": "disable_malware_protection",
          "ml_config_choice": "single_lb_app",
          "origin_pool_choice": "default_pool",
          "slow_ddos_mitigation_choice": "system_default_timeouts",
          "threat_mesh_choice": "disable_threat_mesh",
          "trust_client_ip_headers_choice": "disable_trust_client_ip_headers",
          "user_id_choice": "user_id_client_ip"
        },
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewshttp_loadbalancerDomainConfiguration": {
        "type": "object",
        "description": "The Domain configuration message.",
        "title": "Configured API Domains",
        "x-displayname": "Domain Configuration.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.DomainConfiguration",
        "properties": {
          "allow_destructive_methods": {
            "type": "boolean",
            "description": "Enable to allow API Testing to execute against destructive methods. Use with caution as these may modify or DELETE data.",
            "title": "Destructive Methods",
            "format": "boolean",
            "x-displayname": "Use Destructive Methods (e.g., DELETE, PUT)",
            "x-f5xc-description-short": "Enable to allow API Testing to execute against destructive methods. Use with caution as these may modify or DELETE data.",
            "x-f5xc-description-medium": "Enable to allow API Testing to execute against destructive methods. Use with caution as these may modify or DELETE data.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "credentials": {
            "type": "array",
            "description": "Add credentials for API testing to use in the selected environment.",
            "title": "The Domain credentials",
            "items": {
              "$ref": "#/components/schemas/http_loadbalancerCredentials"
            },
            "x-displayname": "Credentials.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Add credentials for API testing to use in the selected environment.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "domain": {
            "type": "string",
            "description": "Add your testing environment domain. Be aware that running tests on a production domain can impact live applications, as API testing cannot distinguish between production and testing environments.",
            "title": "Domain",
            "maxLength": 256,
            "x-displayname": "Domain",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "example.com",
            "x-f5xc-description-medium": "Add your testing environment domain. Be aware that running tests on a production domain can impact live applications, as API testing cannot distinguish between production and testing environments.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "fqdn",
              "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
            },
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewshttp_loadbalancerDomainConfiguration",
          "required_fields": [
            "credentials",
            "domain"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"credentials\": [\n    {\n      \"credential_name\": \"example\"\n    }\n  ],\n  \"domain\": \"example.com\"\n}",
          "example_yaml": "credentials:\n- credential_name: example\ndomain: example.com"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewshttp_loadbalancerGetSpecType": {
        "type": "object",
        "description": "Shape of the HTTP load balancer specification.",
        "title": "GetSpecType",
        "x-displayname": "GET HTTP Load Balancer.",
        "x-ves-oneof-field-advertise_choice": "[\"advertise_custom\",\"advertise_on_public\",\"advertise_on_public_default_vip\",\"do_not_advertise\"]",
        "x-ves-oneof-field-api_definition_choice": "[\"api_specification\",\"disable_api_definition\"]",
        "x-ves-oneof-field-api_discovery_choice": "[\"disable_api_discovery\",\"enable_api_discovery\"]",
        "x-ves-oneof-field-api_testing_choice": "[\"api_testing\",\"disable_api_testing\"]",
        "x-ves-oneof-field-bot_defense_choice": "[\"bot_defense\",\"bot_defense_advanced\",\"disable_bot_defense\"]",
        "x-ves-oneof-field-cache_options": "[\"caching_policy\",\"disable_caching\"]",
        "x-ves-oneof-field-challenge_type": "[\"captcha_challenge\",\"enable_challenge\",\"js_challenge\",\"no_challenge\",\"policy_based_challenge\"]",
        "x-ves-oneof-field-client_side_defense_choice": "[\"client_side_defense\",\"disable_client_side_defense\"]",
        "x-ves-oneof-field-hash_policy_choice": "[\"cookie_stickiness\",\"least_active\",\"random\",\"ring_hash\",\"round_robin\",\"source_ip_stickiness\"]",
        "x-ves-oneof-field-ip_reputation_choice": "[\"disable_ip_reputation\",\"enable_ip_reputation\"]",
        "x-ves-oneof-field-l7_ddos_auto_mitigation_action": "[\"l7_ddos_action_block\",\"l7_ddos_action_default\",\"l7_ddos_action_js_challenge\"]",
        "x-ves-oneof-field-loadbalancer_type": "[\"http\",\"https\",\"https_auto_cert\"]",
        "x-ves-oneof-field-malicious_user_detection_choice": "[\"disable_malicious_user_detection\",\"enable_malicious_user_detection\"]",
        "x-ves-oneof-field-malware_protection": "[\"disable_malware_protection\",\"malware_protection_settings\"]",
        "x-ves-oneof-field-ml_config_choice": "[\"multi_lb_app\",\"single_lb_app\"]",
        "x-ves-oneof-field-origin_pool_choice": "[\"default_pool\",\"default_pool_list\"]",
        "x-ves-oneof-field-rate_limit_choice": "[\"api_rate_limit\",\"disable_rate_limit\",\"rate_limit\"]",
        "x-ves-oneof-field-sensitive_data_policy_choice": "[\"default_sensitive_data_policy\",\"sensitive_data_policy\"]",
        "x-ves-oneof-field-service_policy_choice": "[\"active_service_policies\",\"no_service_policies\",\"service_policies_from_namespace\"]",
        "x-ves-oneof-field-slow_ddos_mitigation_choice": "[\"slow_ddos_mitigation\",\"system_default_timeouts\"]",
        "x-ves-oneof-field-threat_mesh_choice": "[\"disable_threat_mesh\",\"enable_threat_mesh\"]",
        "x-ves-oneof-field-trust_client_ip_headers_choice": "[\"disable_trust_client_ip_headers\",\"enable_trust_client_ip_headers\"]",
        "x-ves-oneof-field-user_id_choice": "[\"user_id_client_ip\",\"user_identification\"]",
        "x-ves-oneof-field-waf_choice": "[\"app_firewall\",\"disable_waf\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.GetSpecType",
        "properties": {
          "active_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafServicePolicyList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for active service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "add_location": {
            "type": "boolean",
            "description": "X-example: true\nAppends header x-F5 Distributed Cloud-location = <RE-site-name> in responses. This configuration\nis ignored on CE sites.",
            "format": "boolean",
            "x-displayname": "Add Location.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": false,
            "x-f5xc-server-default": true
          },
          "advertise_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsAdvertiseCustom__ves_io_schema_views_bigip_http_proxy"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advertise custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "advertise_on_public_default_vip",
              "do_not_advertise"
            ],
            "x-f5xc-requires": [
              {
                "field": "advertise_where",
                "required": true,
                "reason": "advertise_custom requires advertise_where with min_items:1 (400 without)",
                "min_items": 1
              },
              {
                "field": "advertise_where.choice",
                "required": true,
                "reason": "Each where entry needs choice oneOf: site, virtual_site, vk8s_networks, virtual_network (400 without)"
              }
            ]
          },
          "advertise_on_public": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsAdvertisePublic"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advertise on public.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public_default_vip",
              "do_not_advertise"
            ]
          },
          "advertise_on_public_default_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public",
              "do_not_advertise"
            ]
          },
          "api_protection_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIProtectionRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIRateLimit"
              }
            ],
            "x-f5xc-description-short": "Path- or API-group-scoped rate limiting.",
            "x-f5xc-description-medium": "Path- or API-group-scoped rate limiting. Define server_url_rules or api_endpoint_rules and choose inline_rate_limiter for an inline limit, or ref_rate_limiter for a stored rate-limiter reference.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Path- or API-group-scoped rate limiting. Define server_url_rules or api_endpoint_rules and choose inline_rate_limiter for an inline limit, or ref_rate_limiter for a stored rate-limiter reference.",
            "x-f5xc-conflicts-with": [
              "disable_rate_limit",
              "rate_limit"
            ]
          },
          "api_specification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPISpecificationSettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_definition"
            ]
          },
          "api_testing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerApiTesting"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_testing"
            ]
          },
          "app_firewall": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_waf"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "app_firewall",
                "field_path": "app_firewall",
                "gated_by": {
                  "choice": "waf_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "auto_cert_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostAutoCertInfoType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for auto cert info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "blocked_clients": {
            "type": "array",
            "description": "Define rules to block IP Prefixes or AS numbers.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Client Blocking Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to block IP Prefixes or AS numbers.",
            "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
            }
          },
          "bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefenseType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_defense_advanced",
              "disable_bot_defense"
            ],
            "x-f5xc-requires": [
              {
                "field": "policy.protected_app_endpoints",
                "required": true,
                "reason": "bot_defense.policy.protected_app_endpoints REQUIRED min_items:1 (400 without)",
                "min_items": 1
              },
              {
                "field": "policy.protected_app_endpoints.flow_label_choice",
                "required": true,
                "reason": "Each endpoint requires flow_label_choice oneOf: undefined_flow_label, flow_label (400 without)"
              },
              {
                "field": "policy.protected_app_endpoints.mitigation",
                "required": true,
                "reason": "Each endpoint requires mitigation (400 without)"
              }
            ]
          },
          "bot_defense_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityBotDefenseAdvancedType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense advanced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_defense",
              "disable_bot_defense"
            ]
          },
          "caching_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerCachingPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_caching"
            ]
          },
          "captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "cert_state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCertificationState"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityClientSideDefenseType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_client_side_defense"
            ],
            "x-f5xc-requires": [
              {
                "field": "client_side_defense",
                "requires_field": "resource:protected_domain (same namespace)",
                "requires_resource": {
                  "resource": "protected_domain",
                  "scope": "same_namespace"
                },
                "reason": "Client-Side Defense requires a protected_domain (eTLD+1) registered in the load balancer's OWN namespace — F5 XC generates the per-namespace CSD JS configuration from it. Enabling client_side_defense without one fails with 500 'Failed to get CSD JS Configuration for <tenant>. Please ensure the domain to protect is configured in Client-Side Defense before proceeding'. Verified via live API 2026-07."
              }
            ]
          },
          "cookie_stickiness": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeCookieForHashing"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cookie stickiness.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "least_active",
              "random",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "cors_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCorsPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "csrf_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCsrfPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data_guard_rules": {
            "type": "array",
            "description": "Data Guard prevents responses from exposing sensitive information by masking the data.\nThe system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).\nNote: App Firewall should be enabled, to use Data Guard feature.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policySimpleDataGuardRule"
            },
            "x-displayname": "Data Guard Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data Guard prevents responses from exposing sensitive information by masking the data.",
            "x-f5xc-description-medium": "Data Guard prevents responses from exposing sensitive information by masking the data. The system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            },
            "x-f5xc-requires": [
              {
                "field": "data_guard_rules",
                "requires_field": "spec.enable_waf",
                "reason": "Data Guard requires WAF to be enabled (400 when disable_waf is set)"
              }
            ]
          },
          "ddos_mitigation_rules": {
            "type": "array",
            "description": "Define manual mitigation rules to block L7 DDoS attacks.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_securityDDoSMitigationRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "DDoS Mitigation Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define manual mitigation rules to block L7 DDoS attacks.",
            "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
            }
          },
          "default_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsorigin_poolGlobalSpecType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_pool_list"
            ],
            "x-f5xc-requires": [
              {
                "field": "use_tls.tls_config",
                "required": true,
                "reason": "use_tls requires tls_config sub-field (400 without)"
              },
              {
                "field": "origin_servers",
                "required": true,
                "reason": "Inline pool requires at least one origin server",
                "min_items": 1
              },
              {
                "field": "port",
                "required": true
              }
            ]
          },
          "default_pool_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsOriginPoolListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_pool"
            ]
          },
          "default_route_pools": {
            "type": "array",
            "description": "Origin Pools used when no route is specified (default route)",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/viewsOriginPoolWithWeight"
            },
            "x-displayname": "Origin Pools.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Origin Pools used when no route is specified (default route).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "sensitive_data_policy"
            ]
          },
          "disable_api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_specification"
            ]
          },
          "disable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_api_discovery"
            ]
          },
          "disable_api_testing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_testing"
            ]
          },
          "disable_bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "bot_defense",
              "bot_defense_advanced"
            ]
          },
          "disable_caching": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable caching.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "caching_policy"
            ]
          },
          "disable_client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_side_defense"
            ]
          },
          "disable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_ip_reputation"
            ]
          },
          "disable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_malicious_user_detection"
            ]
          },
          "disable_malware_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malware protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "malware_protection_settings"
            ]
          },
          "disable_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable rate limit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "rate_limit"
            ]
          },
          "disable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_threat_mesh"
            ]
          },
          "disable_trust_client_ip_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_trust_client_ip_headers"
            ]
          },
          "disable_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "app_firewall"
            ]
          },
          "dns_info": {
            "type": "array",
            "description": "DNS information for this virtual host.",
            "items": {
              "$ref": "#/components/schemas/virtual_host_dns_infoDnsInfo"
            },
            "x-displayname": "DNS Information.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "do_not_advertise": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for do not advertise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public",
              "advertise_on_public_default_vip"
            ]
          },
          "domains": {
            "type": "array",
            "description": "A list of Domains (host/authority header) that will be matched to load balancer.\n\nSupported Domains and search order:\n1. Exact Domain names: www.example.com.\n2. Domains starting with a Wildcard: *.example.com.\n\nNot supported Domains:\n- Just a Wildcard: *\n- A Wildcard and TLD with no root Domain: *.com.\n- A Wildcard not matching a whole DNS label.\nE.g. *.example.com and *.bar.example.com are valid Wildcards however *bar.example.com, *-bar.example.com, and bar*.example.com are all invalid.\n\nAdditional notes:\nA Wildcard will not match empty string.\nE.g. *.example.com will match bar.example.com and baz-bar.example.com but not .example.com.\nThe longest Wildcards match first.\nOnly a single virtual host in the entire route configuration can match on *.\nAlso a Domain must be unique across all virtual hosts within an advertise policy.\n\nDomains are also used for SNI matching if the Loadbalancer type is HTTPS.\nDomains also indicate the list of names for which DNS resolution will be automatically resolved to IP addresses by the system.",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Domains",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of Domains (host/authority header) that will be matched to load balancer. Supported Domains and search order: 1.",
            "x-f5xc-description-medium": "List of Domains (host/authority header) that will be matched to load balancer. Supported Domains and search order: 1. Exact Domain names: www.example.com. 2.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "source": "minimum_configs",
              "itemFormat": "vh_domain",
              "description": "Domain list. Format: example.com[:port], *.example.com[:port]. Bare * rejected."
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "enable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_discovery"
            ]
          },
          "enable_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafEnableChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "enable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafIPThreatCategoryListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_ip_reputation"
            ]
          },
          "enable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malicious_user_detection"
            ]
          },
          "enable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_threat_mesh"
            ]
          },
          "enable_trust_client_ip_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostClientIPHeaders"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_trust_client_ip_headers"
            ]
          },
          "graphql_rules": {
            "type": "array",
            "description": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable\ndescription of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it\neasier to evolve APIs over time, and enables powerful developer tools. Policy configuration to analyze GraphQL\nqueries and prevent GraphQL tailored attacks.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyGraphQLRule"
            },
            "x-displayname": "GraphQL Inspection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API.",
            "x-f5xc-description-medium": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it easier to evolve APIs over time, and enables powerful developer tools. Policy...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "host_name": {
            "type": "string",
            "description": "Internally generated host name to be used for the virtual host.",
            "x-displayname": "Host Name",
            "x-ves-example": "VES-I/o-00000000-0000-4000-8000-9694d5ee0763.ac.vh.ves.I/O.",
            "x-f5xc-example": "ves-io-00000000-0000-4000-8000-9694d5ee0763.ac.vh.F5 XC",
            "x-f5xc-description-short": "Internally generated host name to be used for the virtual host.",
            "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-requires": [
              {
                "field": "host_name"
              }
            ]
          },
          "http": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "https",
              "https_auto_cert"
            ],
            "x-f5xc-requires": [
              {
                "field": "port",
                "required": true,
                "reason": "HTTP lb_type requires port_choice (400 when port omitted, unlike https_auto_cert)"
              }
            ]
          },
          "https": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttps"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https_auto_cert"
            ]
          },
          "https_auto_cert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttpsAutoCerts"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for https auto cert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https"
            ]
          },
          "internet_vip_info": {
            "type": "array",
            "description": "Internet VIP Info.",
            "items": {
              "$ref": "#/components/schemas/viewsInternetVIPInfo"
            },
            "x-displayname": "Internet VIP Info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "jwt_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafJWTValidation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for jwt validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "l7_ddos_action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_default",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_default"
            ]
          },
          "l7_ddos_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerL7DDoSProtectionSettings"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for l7 ddos protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true
          },
          "least_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "random",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "malware_protection_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityMalwareProtectionPolicy"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for malware protection settings.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malware_protection"
            ]
          },
          "more_option": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerAdvancedOptionsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for more option.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "multi_lb_app": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for multi lb app.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "single_lb_app"
            ]
          },
          "no_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "policy_based_challenge"
            ]
          },
          "no_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "origin_server_subset_rule_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerOriginServerSubsetRuleListType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "policy_based_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafPolicyBasedChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for policy based challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "no_challenge"
            ]
          },
          "protected_cookies": {
            "type": "array",
            "description": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.\nCookie Tampering Protection prevents attackers from modifying the value of session cookies.\nFor Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.\nThe configured mode of WAF (monitoring or blocking) will be enforced on the request when cookie tampering is identified.\nNote: We recommend enabling Secure and HttpOnly attributes along with cookie tampering protection.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaCookieManipulationOptionType"
            },
            "x-displayname": "Cookie Protection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.",
            "x-f5xc-description-medium": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses. Cookie Tampering Protection prevents attackers from modifying the value of session cookies. For Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "random": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafRateLimitConfigType"
              }
            ],
            "x-f5xc-example": "{\"requests_per_second\": 100}",
            "x-f5xc-description-short": "Load-balancer-wide per-client rate limiting.",
            "x-f5xc-description-medium": "Load-balancer-wide per-client rate limiting. The counter applies across every path; use api_rate_limit rules when only selected paths such as /login should be limited.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Load-balancer-wide per-client rate limiting. The counter applies across every path; use api_rate_limit rules when only selected paths such as /login should be limited.",
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "disable_rate_limit"
            ],
            "x-f5xc-requires": [
              {
                "field": "rate_limiter.burst_multiplier",
                "required": true,
                "reason": "burst_multiplier MUST be > 0 (400: 'should be greater than 0')"
              }
            ]
          },
          "ring_hash": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerHashPolicyListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "round_robin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for round robin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "ring_hash",
              "source_ip_stickiness"
            ]
          },
          "routes": {
            "type": "array",
            "description": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic\nto origin pool or redirect matching traffic to a different URL or respond directly to matching traffic.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/viewshttp_loadbalancerRouteType"
            },
            "x-displayname": "Routes",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic to origin pool or redirect matching...",
            "x-f5xc-description-medium": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic to origin pool or redirect matching traffic to a different URL or respond directly to matching traffic.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 256,
              "uniqueItems": true,
              "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-requires": [
              {
                "field": "simple_route.path",
                "required": true,
                "reason": "simple_route requires path (400: 'path should be not nil')"
              },
              {
                "field": "simple_route.origin_pools",
                "required": true,
                "reason": "simple_route requires at least one origin_pool (400: 'origin_pools should have minimum items of 1')",
                "min_items": 1
              },
              {
                "field": "direct_response_route.route_direct_response",
                "required": true,
                "reason": "direct_response_route requires route_direct_response (500 without: 'Route does not have action')"
              },
              {
                "field": "redirect_route.route_redirect",
                "required": true,
                "reason": "redirect_route requires route_redirect with at least proto_redirect"
              }
            ]
          },
          "sensitive_data_disclosure_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSensitiveDataDisclosureRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securitySensitiveDataPolicySettings"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_sensitive_data_policy"
            ]
          },
          "service_policies_from_namespace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "no_service_policies"
            ]
          },
          "single_lb_app": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSingleLoadBalancerAppSetting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for single lb app.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "multi_lb_app"
            ]
          },
          "slow_ddos_mitigation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostSlowDDoSMitigation"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "system_default_timeouts"
            ]
          },
          "source_ip_stickiness": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "ring_hash",
              "round_robin"
            ]
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostVirtualHostState"
              }
            ],
            "x-f5xc-example": "running",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_default_timeouts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for system default timeouts.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "slow_ddos_mitigation"
            ]
          },
          "trusted_clients": {
            "type": "array",
            "description": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc. For clients.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Trusted Client Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc.",
            "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-requires": [
              {
                "field": "actions",
                "required": true,
                "reason": "Trusted client entries require non-empty actions list (500 without)"
              }
            ]
          },
          "user_id_client_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "user_identification"
            ]
          },
          "user_identification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for user identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_id_client_ip"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "user_identification",
                "gated_by": {
                  "choice": "user_id_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "waf_exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafWafExclusion"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for waf exclusion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the HTTP load balancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewshttp_loadbalancerGetSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "domains:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-recommended-oneof-variant": {
          "loadbalancer_type": "https_auto_cert",
          "advertise_choice": "advertise_on_public_default_vip",
          "waf_choice": "disable_waf",
          "challenge_type": "no_challenge",
          "rate_limit_choice": "disable_rate_limit",
          "user_identification_choice": "user_id_client_ip",
          "hash_policy_choice": "round_robin",
          "service_policy_choice": "service_policies_from_namespace",
          "sensitive_data_policy_choice": "default_sensitive_data_policy",
          "api_definition_choice": "disable_api_definition",
          "api_discovery_choice": "disable_api_discovery",
          "api_testing_choice": "disable_api_testing",
          "bot_defense_choice": "disable_bot_defense",
          "cache_options": "disable_caching",
          "client_side_defense_choice": "disable_client_side_defense",
          "ip_reputation_choice": "disable_ip_reputation",
          "l7_ddos_auto_mitigation_action": "l7_ddos_action_default",
          "malicious_user_detection_choice": "disable_malicious_user_detection",
          "malware_protection": "disable_malware_protection",
          "ml_config_choice": "single_lb_app",
          "origin_pool_choice": "default_pool",
          "slow_ddos_mitigation_choice": "system_default_timeouts",
          "threat_mesh_choice": "disable_threat_mesh",
          "trust_client_ip_headers_choice": "disable_trust_client_ip_headers",
          "user_id_choice": "user_id_client_ip"
        },
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewshttp_loadbalancerMirrorPolicyType": {
        "type": "object",
        "description": "MirrorPolicy is used for shadowing traffic from one origin pool to another. The approach used\nis \"fire and forget\", meaning it will not wait for the shadow origin pool to\nrespond before returning the response from the primary origin pool. All normal statistics are\ncollected for the shadow origin pool making this feature useful for testing and troubleshooting.",
        "title": "MirrorPolicyType",
        "x-displayname": "Mirror Policy.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.MirrorPolicyType",
        "properties": {
          "origin_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for origin pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "origin_pool",
                "field_path": "origin_pool",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "percent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaFractionalPercent"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "MirrorPolicy is used for shadowing traffic from one origin pool to another.",
        "x-f5xc-description-medium": "MirrorPolicy is used for shadowing traffic from one origin pool to another. The approach used is \"fire and forget\", meaning it will not wait for the shadow origin pool to respond before returning the response from the primary origin pool. All normal statistics are collected for the shadow origin...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewshttp_loadbalancerMirrorPolicyType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewshttp_loadbalancerReplaceSpecType": {
        "type": "object",
        "description": "Shape of the HTTP load balancer specification.",
        "title": "ReplaceSpecType",
        "x-displayname": "Replace HTTP Load Balancer.",
        "x-ves-oneof-field-advertise_choice": "[\"advertise_custom\",\"advertise_on_public\",\"advertise_on_public_default_vip\",\"do_not_advertise\"]",
        "x-ves-oneof-field-api_definition_choice": "[\"api_specification\",\"disable_api_definition\"]",
        "x-ves-oneof-field-api_discovery_choice": "[\"disable_api_discovery\",\"enable_api_discovery\"]",
        "x-ves-oneof-field-api_testing_choice": "[\"api_testing\",\"disable_api_testing\"]",
        "x-ves-oneof-field-bot_defense_choice": "[\"bot_defense\",\"bot_defense_advanced\",\"disable_bot_defense\"]",
        "x-ves-oneof-field-cache_options": "[\"caching_policy\",\"disable_caching\"]",
        "x-ves-oneof-field-challenge_type": "[\"captcha_challenge\",\"enable_challenge\",\"js_challenge\",\"no_challenge\",\"policy_based_challenge\"]",
        "x-ves-oneof-field-client_side_defense_choice": "[\"client_side_defense\",\"disable_client_side_defense\"]",
        "x-ves-oneof-field-hash_policy_choice": "[\"cookie_stickiness\",\"least_active\",\"random\",\"ring_hash\",\"round_robin\",\"source_ip_stickiness\"]",
        "x-ves-oneof-field-ip_reputation_choice": "[\"disable_ip_reputation\",\"enable_ip_reputation\"]",
        "x-ves-oneof-field-l7_ddos_auto_mitigation_action": "[\"l7_ddos_action_block\",\"l7_ddos_action_default\",\"l7_ddos_action_js_challenge\"]",
        "x-ves-oneof-field-loadbalancer_type": "[\"http\",\"https\",\"https_auto_cert\"]",
        "x-ves-oneof-field-malicious_user_detection_choice": "[\"disable_malicious_user_detection\",\"enable_malicious_user_detection\"]",
        "x-ves-oneof-field-malware_protection": "[\"disable_malware_protection\",\"malware_protection_settings\"]",
        "x-ves-oneof-field-ml_config_choice": "[\"multi_lb_app\",\"single_lb_app\"]",
        "x-ves-oneof-field-origin_pool_choice": "[\"default_pool\",\"default_pool_list\"]",
        "x-ves-oneof-field-rate_limit_choice": "[\"api_rate_limit\",\"disable_rate_limit\",\"rate_limit\"]",
        "x-ves-oneof-field-sensitive_data_policy_choice": "[\"default_sensitive_data_policy\",\"sensitive_data_policy\"]",
        "x-ves-oneof-field-service_policy_choice": "[\"active_service_policies\",\"no_service_policies\",\"service_policies_from_namespace\"]",
        "x-ves-oneof-field-slow_ddos_mitigation_choice": "[\"slow_ddos_mitigation\",\"system_default_timeouts\"]",
        "x-ves-oneof-field-threat_mesh_choice": "[\"disable_threat_mesh\",\"enable_threat_mesh\"]",
        "x-ves-oneof-field-trust_client_ip_headers_choice": "[\"disable_trust_client_ip_headers\",\"enable_trust_client_ip_headers\"]",
        "x-ves-oneof-field-user_id_choice": "[\"user_id_client_ip\",\"user_identification\"]",
        "x-ves-oneof-field-waf_choice": "[\"app_firewall\",\"disable_waf\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.ReplaceSpecType",
        "properties": {
          "active_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafServicePolicyList"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for active service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "add_location": {
            "type": "boolean",
            "description": "X-example: true\nAppends header x-F5 Distributed Cloud-location = <RE-site-name> in responses. This configuration\nis ignored on CE sites.",
            "format": "boolean",
            "x-displayname": "Add Location.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": false,
            "x-f5xc-server-default": true
          },
          "advertise_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsAdvertiseCustom__ves_io_schema_views_bigip_http_proxy"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advertise custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_on_public",
              "advertise_on_public_default_vip",
              "do_not_advertise"
            ],
            "x-f5xc-requires": [
              {
                "field": "advertise_where",
                "required": true,
                "reason": "advertise_custom requires advertise_where with min_items:1 (400 without)",
                "min_items": 1
              },
              {
                "field": "advertise_where.choice",
                "required": true,
                "reason": "Each where entry needs choice oneOf: site, virtual_site, vk8s_networks, virtual_network (400 without)"
              }
            ]
          },
          "advertise_on_public": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsAdvertisePublic"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advertise on public.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public_default_vip",
              "do_not_advertise"
            ]
          },
          "advertise_on_public_default_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public",
              "do_not_advertise"
            ]
          },
          "api_protection_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIProtectionRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIRateLimit"
              }
            ],
            "x-f5xc-description-short": "Path- or API-group-scoped rate limiting.",
            "x-f5xc-description-medium": "Path- or API-group-scoped rate limiting. Define server_url_rules or api_endpoint_rules and choose inline_rate_limiter for an inline limit, or ref_rate_limiter for a stored rate-limiter reference.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Path- or API-group-scoped rate limiting. Define server_url_rules or api_endpoint_rules and choose inline_rate_limiter for an inline limit, or ref_rate_limiter for a stored rate-limiter reference.",
            "x-f5xc-conflicts-with": [
              "disable_rate_limit",
              "rate_limit"
            ]
          },
          "api_specification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPISpecificationSettings"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_definition"
            ]
          },
          "api_testing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerApiTesting"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_testing"
            ]
          },
          "app_firewall": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for app firewall.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_waf"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "app_firewall",
                "field_path": "app_firewall",
                "gated_by": {
                  "choice": "waf_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "blocked_clients": {
            "type": "array",
            "description": "Define rules to block IP Prefixes or AS numbers.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Client Blocking Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to block IP Prefixes or AS numbers.",
            "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
            }
          },
          "bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityShapeBotDefenseType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_defense_advanced",
              "disable_bot_defense"
            ],
            "x-f5xc-requires": [
              {
                "field": "policy.protected_app_endpoints",
                "required": true,
                "reason": "bot_defense.policy.protected_app_endpoints REQUIRED min_items:1 (400 without)",
                "min_items": 1
              },
              {
                "field": "policy.protected_app_endpoints.flow_label_choice",
                "required": true,
                "reason": "Each endpoint requires flow_label_choice oneOf: undefined_flow_label, flow_label (400 without)"
              },
              {
                "field": "policy.protected_app_endpoints.mitigation",
                "required": true,
                "reason": "Each endpoint requires mitigation (400 without)"
              }
            ]
          },
          "bot_defense_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityBotDefenseAdvancedType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bot defense advanced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bot_defense",
              "disable_bot_defense"
            ]
          },
          "caching_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerCachingPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_caching"
            ]
          },
          "captcha_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostCaptchaChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for captcha challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityClientSideDefenseType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_client_side_defense"
            ],
            "x-f5xc-requires": [
              {
                "field": "client_side_defense",
                "requires_field": "resource:protected_domain (same namespace)",
                "requires_resource": {
                  "resource": "protected_domain",
                  "scope": "same_namespace"
                },
                "reason": "Client-Side Defense requires a protected_domain (eTLD+1) registered in the load balancer's OWN namespace — F5 XC generates the per-namespace CSD JS configuration from it. Enabling client_side_defense without one fails with 500 'Failed to get CSD JS Configuration for <tenant>. Please ensure the domain to protect is configured in Client-Side Defense before proceeding'. Verified via live API 2026-07."
              }
            ]
          },
          "cookie_stickiness": {
            "allOf": [
              {
                "$ref": "#/components/schemas/routeCookieForHashing"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cookie stickiness.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "least_active",
              "random",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "cors_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCorsPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "csrf_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaCsrfPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data_guard_rules": {
            "type": "array",
            "description": "Data Guard prevents responses from exposing sensitive information by masking the data.\nThe system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).\nNote: App Firewall should be enabled, to use Data Guard feature.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policySimpleDataGuardRule"
            },
            "x-displayname": "Data Guard Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data Guard prevents responses from exposing sensitive information by masking the data.",
            "x-f5xc-description-medium": "Data Guard prevents responses from exposing sensitive information by masking the data. The system masks credit card numbers and social security numbers leaked from the application from within the HTTP response with a string of asterisks (*).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            },
            "x-f5xc-requires": [
              {
                "field": "data_guard_rules",
                "requires_field": "spec.enable_waf",
                "reason": "Data Guard requires WAF to be enabled (400 when disable_waf is set)"
              }
            ]
          },
          "ddos_mitigation_rules": {
            "type": "array",
            "description": "Define manual mitigation rules to block L7 DDoS attacks.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_securityDDoSMitigationRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "DDoS Mitigation Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define manual mitigation rules to block L7 DDoS attacks.",
            "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
            }
          },
          "default_pool": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsorigin_poolGlobalSpecType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default pool.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_pool_list"
            ],
            "x-f5xc-requires": [
              {
                "field": "use_tls.tls_config",
                "required": true,
                "reason": "use_tls requires tls_config sub-field (400 without)"
              },
              {
                "field": "origin_servers",
                "required": true,
                "reason": "Inline pool requires at least one origin server",
                "min_items": 1
              },
              {
                "field": "port",
                "required": true
              }
            ]
          },
          "default_pool_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsOriginPoolListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_pool"
            ]
          },
          "default_route_pools": {
            "type": "array",
            "description": "Origin Pools used when no route is specified (default route)",
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/viewsOriginPoolWithWeight"
            },
            "x-displayname": "Origin Pools.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "8",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Origin Pools used when no route is specified (default route).",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "sensitive_data_policy"
            ]
          },
          "disable_api_definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_specification"
            ]
          },
          "disable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_api_discovery"
            ]
          },
          "disable_api_testing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_testing"
            ]
          },
          "disable_bot_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable bot defense.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "bot_defense",
              "bot_defense_advanced"
            ]
          },
          "disable_caching": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable caching.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "caching_policy"
            ]
          },
          "disable_client_side_defense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_side_defense"
            ]
          },
          "disable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_ip_reputation"
            ]
          },
          "disable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_malicious_user_detection"
            ]
          },
          "disable_malware_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable malware protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "malware_protection_settings"
            ]
          },
          "disable_rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable rate limit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "rate_limit"
            ]
          },
          "disable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_threat_mesh"
            ]
          },
          "disable_trust_client_ip_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "enable_trust_client_ip_headers"
            ]
          },
          "disable_waf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disable waf.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "app_firewall"
            ]
          },
          "do_not_advertise": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for do not advertise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "advertise_custom",
              "advertise_on_public",
              "advertise_on_public_default_vip"
            ]
          },
          "domains": {
            "type": "array",
            "description": "A list of Domains (host/authority header) that will be matched to load balancer.\n\nSupported Domains and search order:\n1. Exact Domain names: www.example.com.\n2. Domains starting with a Wildcard: *.example.com.\n\nNot supported Domains:\n- Just a Wildcard: *\n- A Wildcard and TLD with no root Domain: *.com.\n- A Wildcard not matching a whole DNS label.\nE.g. *.example.com and *.bar.example.com are valid Wildcards however *bar.example.com, *-bar.example.com, and bar*.example.com are all invalid.\n\nAdditional notes:\nA Wildcard will not match empty string.\nE.g. *.example.com will match bar.example.com and baz-bar.example.com but not .example.com.\nThe longest Wildcards match first.\nOnly a single virtual host in the entire route configuration can match on *.\nAlso a Domain must be unique across all virtual hosts within an advertise policy.\n\nDomains are also used for SNI matching if the Loadbalancer type is HTTPS.\nDomains also indicate the list of names for which DNS resolution will be automatically resolved to IP addresses by the system.",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Domains",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "256",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.items.string.vh_domain": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of Domains (host/authority header) that will be matched to load balancer. Supported Domains and search order: 1.",
            "x-f5xc-description-medium": "List of Domains (host/authority header) that will be matched to load balancer. Supported Domains and search order: 1. Exact Domain names: www.example.com. 2.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "source": "minimum_configs",
              "itemFormat": "vh_domain",
              "description": "Domain list. Format: example.com[:port], *.example.com[:port]. Bare * rejected."
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "enable_api_discovery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiDiscoverySetting__ves_io_schema_views_cdn_loadbalancer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_api_discovery"
            ]
          },
          "enable_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafEnableChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "js_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "enable_ip_reputation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafIPThreatCategoryListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_ip_reputation"
            ]
          },
          "enable_malicious_user_detection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for enable malicious user detection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malicious_user_detection"
            ]
          },
          "enable_threat_mesh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_threat_mesh"
            ]
          },
          "enable_trust_client_ip_headers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostClientIPHeaders"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_trust_client_ip_headers"
            ]
          },
          "graphql_rules": {
            "type": "array",
            "description": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable\ndescription of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it\neasier to evolve APIs over time, and enables powerful developer tools. Policy configuration to analyze GraphQL\nqueries and prevent GraphQL tailored attacks.",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/policyGraphQLRule"
            },
            "x-displayname": "GraphQL Inspection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API.",
            "x-f5xc-description-medium": "GraphQL is a query language and server-side runtime for APIs which provides a complete and understandable description of the data in API. GraphQL gives clients the power to ask for exactly what they need, makes it easier to evolve APIs over time, and enables powerful developer tools. Policy...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 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
            }
          },
          "http": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "https",
              "https_auto_cert"
            ],
            "x-f5xc-requires": [
              {
                "field": "port",
                "required": true,
                "reason": "HTTP lb_type requires port_choice (400 when port omitted, unlike https_auto_cert)"
              }
            ]
          },
          "https": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttps"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https_auto_cert"
            ]
          },
          "https_auto_cert": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerProxyTypeHttpsAutoCerts"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for https auto cert.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http",
              "https"
            ]
          },
          "js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for js challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "no_challenge",
              "policy_based_challenge"
            ]
          },
          "jwt_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafJWTValidation"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for jwt validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "l7_ddos_action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_default",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_js_challenge"
            ]
          },
          "l7_ddos_action_js_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostJavascriptChallengeType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "l7_ddos_action_block",
              "l7_ddos_action_default"
            ]
          },
          "l7_ddos_protection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerL7DDoSProtectionSettings"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for l7 ddos protection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true
          },
          "least_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "random",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "malware_protection_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securityMalwareProtectionPolicy"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for malware protection settings.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_malware_protection"
            ]
          },
          "more_option": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerAdvancedOptionsType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for more option.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "multi_lb_app": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for multi lb app.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "single_lb_app"
            ]
          },
          "no_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "policy_based_challenge"
            ]
          },
          "no_service_policies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for no service policies.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "service_policies_from_namespace"
            ]
          },
          "origin_server_subset_rule_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerOriginServerSubsetRuleListType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "policy_based_challenge": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewscommon_wafPolicyBasedChallenge"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for policy based challenge.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "captcha_challenge",
              "enable_challenge",
              "js_challenge",
              "no_challenge"
            ]
          },
          "protected_cookies": {
            "type": "array",
            "description": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.\nCookie Tampering Protection prevents attackers from modifying the value of session cookies.\nFor Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.\nThe configured mode of WAF (monitoring or blocking) will be enforced on the request when cookie tampering is identified.\nNote: We recommend enabling Secure and HttpOnly attributes along with cookie tampering protection.",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaCookieManipulationOptionType"
            },
            "x-displayname": "Cookie Protection.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses.",
            "x-f5xc-description-medium": "Allows setting attributes (SameSite, Secure, and HttpOnly) on cookies in responses. Cookie Tampering Protection prevents attackers from modifying the value of session cookies. For Cookie Tampering Protection, enabling a web app firewall (WAF) is a prerequisite.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "random": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "ring_hash",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "rate_limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafRateLimitConfigType"
              }
            ],
            "x-f5xc-example": "{\"requests_per_second\": 100}",
            "x-f5xc-description-short": "Load-balancer-wide per-client rate limiting.",
            "x-f5xc-description-medium": "Load-balancer-wide per-client rate limiting. The counter applies across every path; use api_rate_limit rules when only selected paths such as /login should be limited.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Load-balancer-wide per-client rate limiting. The counter applies across every path; use api_rate_limit rules when only selected paths such as /login should be limited.",
            "x-f5xc-conflicts-with": [
              "api_rate_limit",
              "disable_rate_limit"
            ],
            "x-f5xc-requires": [
              {
                "field": "rate_limiter.burst_multiplier",
                "required": true,
                "reason": "burst_multiplier MUST be > 0 (400: 'should be greater than 0')"
              }
            ]
          },
          "ring_hash": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerHashPolicyListType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "round_robin",
              "source_ip_stickiness"
            ]
          },
          "round_robin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for round robin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "ring_hash",
              "source_ip_stickiness"
            ]
          },
          "routes": {
            "type": "array",
            "description": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic\nto origin pool or redirect matching traffic to a different URL or respond directly to matching traffic.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/viewshttp_loadbalancerRouteType"
            },
            "x-displayname": "Routes",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic to origin pool or redirect matching...",
            "x-f5xc-description-medium": "Routes allow users to define match condition on a path and/or HTTP method to either forward matching traffic to origin pool or redirect matching traffic to a different URL or respond directly to matching traffic.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 256,
              "uniqueItems": true,
              "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-requires": [
              {
                "field": "simple_route.path",
                "required": true,
                "reason": "simple_route requires path (400: 'path should be not nil')"
              },
              {
                "field": "simple_route.origin_pools",
                "required": true,
                "reason": "simple_route requires at least one origin_pool (400: 'origin_pools should have minimum items of 1')",
                "min_items": 1
              },
              {
                "field": "direct_response_route.route_direct_response",
                "required": true,
                "reason": "direct_response_route requires route_direct_response (500 without: 'Route does not have action')"
              },
              {
                "field": "redirect_route.route_redirect",
                "required": true,
                "reason": "redirect_route requires route_redirect with at least proto_redirect"
              }
            ]
          },
          "sensitive_data_disclosure_rules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSensitiveDataDisclosureRules"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sensitive_data_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_securitySensitiveDataPolicySettings"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_sensitive_data_policy"
            ]
          },
          "service_policies_from_namespace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "active_service_policies",
              "no_service_policies"
            ]
          },
          "single_lb_app": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSingleLoadBalancerAppSetting"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for single lb app.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "multi_lb_app"
            ]
          },
          "slow_ddos_mitigation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostSlowDDoSMitigation"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "system_default_timeouts"
            ]
          },
          "source_ip_stickiness": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cookie_stickiness",
              "least_active",
              "random",
              "ring_hash",
              "round_robin"
            ]
          },
          "system_default_timeouts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for system default timeouts.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "slow_ddos_mitigation"
            ]
          },
          "trusted_clients": {
            "type": "array",
            "description": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc. For clients.",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/common_wafSimpleClientSrcRule__ves_io_schema_views_cdn_loadbalancer"
            },
            "x-displayname": "Trusted Client Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "256",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to skip processing of one or more features such as WAF, Bot Defense etc.",
            "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-requires": [
              {
                "field": "actions",
                "required": true,
                "reason": "Trusted client entries require non-empty actions list (500 without)"
              }
            ]
          },
          "user_id_client_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "user_identification"
            ]
          },
          "user_identification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for user identification.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "user_id_client_ip"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "user_identification",
                "gated_by": {
                  "choice": "user_id_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "waf_exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafWafExclusion"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for waf exclusion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the HTTP load balancer specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewshttp_loadbalancerReplaceSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "domains:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-recommended-oneof-variant": {
          "loadbalancer_type": "https_auto_cert",
          "advertise_choice": "advertise_on_public_default_vip",
          "waf_choice": "disable_waf",
          "challenge_type": "no_challenge",
          "rate_limit_choice": "disable_rate_limit",
          "user_identification_choice": "user_id_client_ip",
          "hash_policy_choice": "round_robin",
          "service_policy_choice": "service_policies_from_namespace",
          "sensitive_data_policy_choice": "default_sensitive_data_policy",
          "api_definition_choice": "disable_api_definition",
          "api_discovery_choice": "disable_api_discovery",
          "api_testing_choice": "disable_api_testing",
          "bot_defense_choice": "disable_bot_defense",
          "cache_options": "disable_caching",
          "client_side_defense_choice": "disable_client_side_defense",
          "ip_reputation_choice": "disable_ip_reputation",
          "l7_ddos_auto_mitigation_action": "l7_ddos_action_default",
          "malicious_user_detection_choice": "disable_malicious_user_detection",
          "malware_protection": "disable_malware_protection",
          "ml_config_choice": "single_lb_app",
          "origin_pool_choice": "default_pool",
          "slow_ddos_mitigation_choice": "system_default_timeouts",
          "threat_mesh_choice": "disable_threat_mesh",
          "trust_client_ip_headers_choice": "disable_trust_client_ip_headers",
          "user_id_choice": "user_id_client_ip"
        },
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewshttp_loadbalancerRouteType": {
        "type": "object",
        "description": "This defines various OPTIONS to define a route.",
        "title": "RouteType",
        "x-displayname": "Route Type.",
        "x-ves-oneof-field-choice": "[\"custom_route_object\",\"direct_response_route\",\"redirect_route\",\"simple_route\"]",
        "x-ves-oneof-field-route_state": "[\"route_state_disabled\",\"route_state_enabled\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.RouteType",
        "properties": {
          "custom_route_object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerRouteTypeCustomRoute"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for custom route object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "direct_response_route",
              "redirect_route",
              "simple_route"
            ]
          },
          "direct_response_route": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerRouteTypeDirectResponse"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for direct response route.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_route_object",
              "redirect_route",
              "simple_route"
            ]
          },
          "redirect_route": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerRouteTypeRedirect"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for redirect route.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_route_object",
              "direct_response_route",
              "simple_route"
            ]
          },
          "route_state_disabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "route_state_enabled"
            ]
          },
          "route_state_enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "route_state_disabled"
            ]
          },
          "simple_route": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerRouteTypeSimple"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for simple route.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_route_object",
              "direct_response_route",
              "redirect_route"
            ]
          }
        },
        "x-f5xc-description-short": "Defines various OPTIONS to define a route.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewshttp_loadbalancerRouteType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsorigin_poolGlobalSpecType": {
        "type": "object",
        "description": "Shape of the origin pool specification.",
        "title": "GlobalSpecType",
        "x-displayname": "Global Specification.",
        "x-ves-oneof-field-health_check_port_choice": "[\"health_check_port\",\"same_as_endpoint_port\"]",
        "x-ves-oneof-field-port_choice": "[\"automatic_port\",\"lb_port\",\"port\"]",
        "x-ves-oneof-field-tls_choice": "[\"no_tls\",\"use_tls\"]",
        "x-ves-proto-message": "ves.io.schema.views.origin_pool.GlobalSpecType",
        "properties": {
          "advanced_options": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolOriginPoolAdvancedOptions__ves_io_schema_views_http_loadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for advanced options.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "automatic_port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "lb_port",
              "port"
            ]
          },
          "endpoint_selection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/clusterEndpointSelectionPolicy"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": "DISTRIBUTED",
            "x-f5xc-server-default": true,
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "DISTRIBUTED",
                "LOCAL_ONLY",
                "LOCAL_PREFERRED"
              ],
              "default": "DISTRIBUTED",
              "description": "Policy for selecting endpoints from local/remote sites"
            }
          },
          "health_check_port": {
            "type": "integer",
            "description": "Exclusive with [same_as_endpoint_port]\nPort used for performing health check.",
            "title": "Health check port",
            "format": "int64",
            "x-displayname": "Health check port.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-description-short": "Exclusive with [same_as_endpoint_port] Port used for performing health check.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "networking",
              "minimum": 0,
              "maximum": 65535,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "category": "networking",
                "note": "Asymmetry: port enforces [1,65535], health_check_port allows 0",
                "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": [
              "same_as_endpoint_port"
            ]
          },
          "healthcheck": {
            "type": "array",
            "description": "Reference to healthcheck configuration objects.",
            "title": "Health Check",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Health Check object.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-f5xc-description-short": "Reference to healthcheck configuration objects.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "lb_port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "automatic_port",
              "port"
            ]
          },
          "loadbalancer_algorithm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/clusterLoadbalancerAlgorithm"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for loadbalancer algorithm.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": "ROUND_ROBIN",
            "x-f5xc-server-default": true,
            "x-f5xc-constraints": {
              "source": "minimum_configs",
              "constraintType": "enum",
              "enumValues": [
                "ROUND_ROBIN",
                "LEAST_REQUEST",
                "RING_HASH",
                "RANDOM",
                "LB_OVERRIDE"
              ],
              "default": "ROUND_ROBIN",
              "description": "Load balancing algorithm for distributing traffic"
            }
          },
          "no_tls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "use_tls"
            ]
          },
          "origin_servers": {
            "type": "array",
            "description": "List of origin servers in this pool.",
            "title": "List of Origin Servers",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/origin_poolOriginServerType"
            },
            "x-displayname": "Origin Servers.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "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": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "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-requires": [
              {
                "field": "private_name.site_locator",
                "required": true,
                "reason": "private_name requires site_locator (400: 'site_locator should be not nil')"
              },
              {
                "field": "private_ip.site_locator",
                "required": true,
                "reason": "private_ip requires site_locator (400: 'site_locator should be not nil')"
              },
              {
                "field": "k8s_service.site_locator",
                "required": true,
                "reason": "k8s_service requires site_locator (400: 'site_locator should be not nil')"
              },
              {
                "field": "consul_service.site_locator",
                "required": true,
                "reason": "consul_service requires site_locator (400: 'site_locator should be not nil')"
              },
              {
                "field": "*.site_locator.choice",
                "required": true,
                "reason": "site_locator requires oneOf choice: site or virtual_site (400: 'choice should be not nil')"
              }
            ]
          },
          "port": {
            "type": "integer",
            "description": "Exclusive with [automatic_port lb_port]\nEndpoint service is available on this port.",
            "title": "Port",
            "format": "int64",
            "x-displayname": "Port",
            "x-ves-example": "9080",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "9080",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-description-short": "Exclusive with [automatic_port lb_port] Endpoint service is available on this port.",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "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-recommended-value": 443,
            "x-f5xc-conflicts-with": [
              "automatic_port",
              "lb_port"
            ]
          },
          "same_as_endpoint_port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "health_check_port"
            ]
          },
          "upstream_conn_pool_reuse_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaUpstreamConnPoolReuseType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_tls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/origin_poolUpstreamTlsParameters"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "no_tls"
            ],
            "x-f5xc-requires": [
              {
                "field": "tls_config",
                "required": true,
                "reason": "use_tls requires tls_config sub-field (400: 'tls_config should be not nil')"
              },
              {
                "field": "use_mtls.tls_certificates",
                "required": true,
                "reason": "use_mtls requires at least one TLS certificate (400: 'tls_certificates should have minimum items of 1')",
                "min_items": 1
              }
            ]
          },
          "view_internal": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for view internal.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "view_internal",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsorigin_poolGlobalSpecType",
          "required_fields": [
            "origin_servers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"origin_servers\": [\n    {}\n  ]\n}",
          "example_yaml": "origin_servers:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-recommended-oneof-variant": {
          "port_choice": "port",
          "upstream_conn_pool_reuse": "enable_conn_pool_reuse",
          "health_check_port_choice": "same_as_endpoint_port",
          "tls_choice": "no_tls",
          "circuit_breaker_choice": "default_circuit_breaker",
          "outlier_detection_choice": "disable_outlier_detection",
          "panic_threshold_type": "no_panic_threshold",
          "subset_choice": "disable_subsets",
          "http_protocol_type": "auto_http_config",
          "proxy_protocol_choice": "disable_proxy_protocol",
          "lb_source_ip_persistence_choice": "disable_lb_source_ip_persistance"
        },
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "virtual_hostClientIPHeaders": {
        "type": "object",
        "description": "List of Client IP Headers.",
        "title": "Trust Client IP Headers List Type",
        "x-displayname": "Trust Client IP Headers List.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.ClientIPHeaders",
        "properties": {
          "client_ip_headers": {
            "type": "array",
            "description": "Define the list of one or more Client IP Headers. Headers will be used in order from top to bottom, meaning\nif the first header is not present in the request, the system will proceed to check for the second header,\nand so on, until one of the listed headers is found. If none of the defined headers exist, or the value\nis not an IP address, then the system will use the source IP of the packet. If multiple defined headers with\ndifferent names are present in the request, the value of the first header name in the configuration will be used.\nIf multiple defined headers with the same name are present in the request, values of all those headers will be combined.\nThe system will read the right-most IP address from header, if there are multiple IP addresses in the header value.\nFor X-Forwarded-For header, the system will read the IP address(rightmost - 1), as the client IP.",
            "title": "Client IP Headers",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Client IP Headers.",
            "x-ves-example": "Client-IP-Header.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "Client-IP-Header",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "5",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Define the list of one or more Client IP Headers.",
            "x-f5xc-description-medium": "Define the list of one or more Client IP Headers. Headers will be used in order from top to bottom, meaning if the first header is not present in the request, the system will proceed to check for the second header, and so on, until one of the listed headers is found. If none of the defined...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 5,
              "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 virtual_hostClientIPHeaders",
          "required_fields": [
            "client_ip_headers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"client_ip_headers\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "client_ip_headers:\n- value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostCompressionType": {
        "type": "object",
        "description": "Enables loadbalancer to compress dispatched data from an upstream service upon client request.\nThe content is compressed and then sent to the client with the appropriate headers if either response and request allow.\nOnly GZIP compression is supported.\n\nBy default compression will be skipped when:\n\nA request does NOT contain accept-encoding header.\nA request includes accept-encoding header, but it does not contain “gzip” or “*”.\nA request includes accept-encoding with “gzip” or “*” with the weight “q=0”. Note that the “gzip” will have a higher weight then “*”. For example, if accept-encoding is “gzip;q=0,*;q=1”, the filter will not compress. But if the header is set to “*;q=0,gzip;q=1”, the filter will compress.\nA request whose accept-encoding header includes “identity”.\nA response contains a content-encoding header.\nA response contains a cache-control header whose value includes “no-transform”.\nA response contains a transfer-encoding header whose value includes “gzip”.\nA response does not contain a content-type value that matches one of the selected mime-types, which default to application/javascript, application/JSON, application/xhtml+XML, image/svg+XML, text/CSS, text/HTML, text/plain, text/XML.\nNeither content-length nor transfer-encoding headers are present in the response.\nResponse size is smaller than 30 bytes (only applicable when transfer-encoding is not chunked).\n\nWhen compression is applied:\n\nThe content-length is removed from response headers.\nResponse headers contain “transfer-encoding: chunked” and do not contain “content-encoding” header.\nThe “vary: accept-encoding” header is inserted on every response.\n\nGZIP Compression Level:\n\nA value which is optimal balance between speed of compression and amount of compression is chosen.",
        "title": "CompressionType",
        "x-displayname": "Compression Parameters.",
        "x-ves-proto-message": "ves.io.schema.virtual_host.CompressionType",
        "properties": {
          "content_length": {
            "type": "integer",
            "description": "Minimum response length, in bytes, which will trigger compression. The default value is 30.",
            "title": "content_length",
            "format": "int64",
            "x-displayname": "Content Length.",
            "x-ves-example": "100",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "30"
            },
            "x-f5xc-example": "100",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "30"
            },
            "x-f5xc-description-short": "Minimum response length, in bytes, which will trigger compression. The default value is 30.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 30,
              "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
            }
          },
          "content_type": {
            "type": "array",
            "description": "Set of strings that allows specifying which mime-types yield compression\nWhen this field is not defined, compression will be applied\nto the following mime-types:\n\"application/javascript\"\n\"application/JSON\",\n\"application/xhtml+XML\"\n\"image/svg+XML\"\n\"text/CSS\"\n\"text/HTML\"\n\"text/plain\"\n\"text/XML\"",
            "title": "content_type",
            "maxItems": 50,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Content Type.",
            "x-ves-example": "Application/JSON.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "50",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "application/json",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.max_items": "50",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Set of strings that allows specifying which mime-types yield compression When this field is not defined, compression will be applied to the...",
            "x-f5xc-description-medium": "Set of strings that allows specifying which mime-types yield compression When this field is not defined, compression will be applied to the following mime-types: \"application/javascript\" \"application/JSON\", \"application/xhtml+XML\" \"image/svg+XML\" \"text/CSS\" \"text/HTML\" \"text/plain\" \"text/XML\".",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 50,
              "uniqueItems": true,
              "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
            }
          },
          "disable_on_etag_header": {
            "type": "boolean",
            "description": "If true, disables compression when the response contains an etag header. When it is false,\nweak etags will be preserved and the ones that require strong validation will be removed.",
            "title": "disable_on_etag_header",
            "format": "boolean",
            "x-displayname": "Disable On Etag Header.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "If true, disables compression when the response contains an etag header.",
            "x-f5xc-description-medium": "If true, disables compression when the response contains an etag header. When it is false, weak etags will be preserved and the ones that require strong validation will be removed.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "remove_accept_encoding_header": {
            "type": "boolean",
            "description": "If true, removes accept-encoding from the request headers before dispatching it to the upstream\nso that responses do not GET compressed before reaching the filter.",
            "title": "remove_accept_encoding_header",
            "format": "boolean",
            "x-displayname": "Remove Accept-Encoding Header.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "If true, removes accept-encoding from the request headers before dispatching it to the upstream so that responses do not GET compressed before...",
            "x-f5xc-description-medium": "If true, removes accept-encoding from the request headers before dispatching it to the upstream so that responses do not GET compressed before reaching the filter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Enables loadbalancer to compress dispatched data from an upstream service upon client request.",
        "x-f5xc-description-medium": "Enables loadbalancer to compress dispatched data from an upstream service upon client request. The content is compressed and then sent to the client with the appropriate headers if either response and request allow. Only GZIP compression is supported.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostCompressionType",
          "required_fields": [
            "content_length"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"content_length\": 30\n}",
          "example_yaml": "content_length: 30"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostHttpProtocolOptions": {
        "type": "object",
        "description": "HTTP protocol configuration OPTIONS for downstream connections.",
        "title": "HttpProtocolOptions",
        "x-displayname": "HTTP Protocol Configuration OPTIONS.",
        "x-ves-displayorder": "1",
        "x-ves-oneof-field-http_protocol_choice": "[\"http_protocol_enable_v1_only\",\"http_protocol_enable_v1_v2\",\"http_protocol_enable_v2_only\"]",
        "x-ves-proto-message": "ves.io.schema.virtual_host.HttpProtocolOptions",
        "properties": {
          "http_protocol_enable_v1_only": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemavirtual_hostHttp1ProtocolOptions"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http protocol enable v1 only.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http_protocol_enable_v1_v2",
              "http_protocol_enable_v2_only"
            ]
          },
          "http_protocol_enable_v1_v2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http protocol enable v1 v2.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http_protocol_enable_v1_only",
              "http_protocol_enable_v2_only"
            ]
          },
          "http_protocol_enable_v2_only": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http protocol enable v2 only.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "http_protocol_enable_v1_only",
              "http_protocol_enable_v1_v2"
            ]
          }
        },
        "x-f5xc-description-short": "HTTP protocol configuration OPTIONS for downstream connections.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostHttpProtocolOptions",
          "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": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "requestBodies": {}
  }
}
