- Home
- API Enriched
- extensions
- Enrichment Extension Catalog
Enrichment Extension Catalog
Enrichment Extension Catalog
Section titled “Enrichment Extension Catalog”Source of truth for every x-* extension that appears in
docs/specifications/api/*.json. Parity with
scripts/utils/extension_constants.py is enforced by
tests/test_extension_catalog.py.
Three classes of extensions are documented here:
- Injected here — extensions our enrichers add (
x-f5xc-*andx-ves-cli-*/x-ves-field-*/x-ves-operation-*/ discovery variants). These are the ones downstream tools should consume. - Upstream pass-through — extensions F5 emits in the source specs
and we preserve unchanged (
x-ves-proto-*,x-displayname, etc.). Documented for transparency but not controlled by this repo. - Future-injected — not yet emitted; documented here the moment an enricher begins to produce them (not applicable at the initial population).
Entry schema
Section titled “Entry schema”Every entry below has exactly this shape. The parity test in
tests/test_extension_catalog.py tolerates the section body being
stubby as long as the ### x-name header exists and the
Pass-through from upstream: flag is present with value yes or no.
### x-<name>- **Applied at:** <schema | parameter | operation | path-item | info | response>- **Purpose:** <one sentence>- **Consumers:** <CLI | VSCode | Terraform | Web UI | multiple | N/A>- **Value type:** <string | number | boolean | object | array>- **Value schema:** <JSON Schema snippet, or N/A>- **Injected by:** <scripts/utils/<enricher>.py, or "upstream">- **Driven by config:** <config/<file>.yaml, or "hardcoded", or "upstream">- **Example:** <short snippet>- **Pass-through from upstream:** <yes/no>Injected — spec-level (info section)
Section titled “Injected — spec-level (info section)”x-f5xc-cli-domain
Section titled “x-f5xc-cli-domain”- Applied at: info
- Purpose: Identifies the CLI domain slug (e.g.
http_loadbalancer) for an enriched spec. - Consumers: CLI
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: hardcoded
- Example:
"x-f5xc-cli-domain": "http_loadbalancer" - Pass-through from upstream: no
x-f5xc-cli-metadata
Section titled “x-f5xc-cli-metadata”- Applied at: info
- Purpose: CLI-wide metadata block (tool name, version hints, domain grouping).
- Consumers: CLI
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/merge_specs.py
- Driven by config: config/cli_metadata.yaml
- Example:
"x-f5xc-cli-metadata": {"tool": "xcsh", "domain": "http_loadbalancer"} - Pass-through from upstream: no
x-f5xc-upstream-timestamp
Section titled “x-f5xc-upstream-timestamp”- Applied at: info
- Purpose: Timestamp of the upstream source spec the enriched file was built from.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string", "format": "date-time"} - Injected by: scripts/merge_specs.py
- Driven by config: hardcoded
- Example:
"x-f5xc-upstream-timestamp": "2026-04-21T12:00:00Z" - Pass-through from upstream: no
x-f5xc-upstream-etag
Section titled “x-f5xc-upstream-etag”- Applied at: info
- Purpose: ETag of the upstream source spec release asset.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: hardcoded
- Example:
"x-f5xc-upstream-etag": "\"abc123\"" - Pass-through from upstream: no
x-f5xc-enriched-version
Section titled “x-f5xc-enriched-version”- Applied at: info
- Purpose: Semantic version stamped on the enriched spec by the pipeline.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: hardcoded
- Example:
"x-f5xc-enriched-version": "3.2.1" - Pass-through from upstream: no
x-f5xc-glossary
Section titled “x-f5xc-glossary”- Applied at: info
- Purpose: Branding/terminology glossary block applied to each domain spec.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/branding.py
- Driven by config: config/branding.yaml
- Example:
"x-f5xc-glossary": {"XC": "F5 Distributed Cloud"} - Pass-through from upstream: no
x-f5xc-discovered-at
Section titled “x-f5xc-discovered-at”- Applied at: info
- Purpose: Timestamp when the live-API discovery pass was executed.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string", "format": "date-time"} - Injected by: scripts/utils/discovery_enricher.py
- Driven by config: config/discovery.yaml
- Example:
"x-f5xc-discovered-at": "2026-04-21T09:15:00Z" - Pass-through from upstream: no
x-f5xc-api-url
Section titled “x-f5xc-api-url”- Applied at: info
- Purpose: Base URL of the live API that was probed during discovery.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string", "format": "uri"} - Injected by: scripts/utils/discovery_enricher.py
- Driven by config: config/discovery.yaml
- Example:
"x-f5xc-api-url": "https://f5-amer-ent.console.ves.volterra.io" - Pass-through from upstream: no
x-f5xc-response-time-ms
Section titled “x-f5xc-response-time-ms”- Applied at: info
- Purpose: Observed response time (ms) for the probed API during discovery.
- Consumers: multiple
- Value type: number
- Value schema:
{"type": "number"} - Injected by: scripts/utils/discovery_enricher.py
- Driven by config: config/discovery.yaml
- Example:
"x-f5xc-response-time-ms": 42 - Pass-through from upstream: no
x-f5xc-best-practices
Section titled “x-f5xc-best-practices”- Applied at: info
- Purpose: Curated best-practice guidance for a domain.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "object"}} - Injected by: scripts/utils/best_practices_enricher.py
- Driven by config: config/best_practices.yaml
- Example:
"x-f5xc-best-practices": [{"id": "bp-1", "text": "Prefer HTTPS"}] - Pass-through from upstream: no
x-f5xc-guided-workflows
Section titled “x-f5xc-guided-workflows”- Applied at: info
- Purpose: Named step-by-step workflows to accomplish common tasks in a domain.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "object"}} - Injected by: scripts/utils/guided_workflow_enricher.py
- Driven by config: config/guided_workflows.yaml
- Example:
"x-f5xc-guided-workflows": [{"name": "create-lb", "steps": [...]}] - Pass-through from upstream: no
x-f5xc-acronyms
Section titled “x-f5xc-acronyms”- Applied at: info
- Purpose: Per-domain acronym expansion table.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object", "additionalProperties": {"type": "string"}} - Injected by: scripts/utils/acronym_enricher.py
- Driven by config: config/acronyms.yaml
- Example:
"x-f5xc-acronyms": {"LB": "Load Balancer"} - Pass-through from upstream: no
Injected — schema-level (component schemas)
Section titled “Injected — schema-level (component schemas)”x-f5xc-minimum-configuration
Section titled “x-f5xc-minimum-configuration”- Applied at: schema
- Purpose: Minimum viable field set required to successfully POST/PUT this resource.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/minimum_configuration_enricher.py
- Driven by config: config/minimum_configs.yaml
- Example:
"x-f5xc-minimum-configuration": {"required_fields": ["name"]} - Pass-through from upstream: no
x-f5xc-namespace-profile
Section titled “x-f5xc-namespace-profile”- Applied at: info
- Purpose: Provides namespace constraint, recommendation, and classification metadata for a resource.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object", "properties": {"constraint": {"type": "object"}, "recommendation": {"type": "object"}, "classification": {"type": "object"}}} - Injected by: scripts/utils/namespace_profile_enricher.py
- Driven by config: config/namespace_profile.yaml
- Example:
"x-f5xc-namespace-profile": {"constraint": {"allowed": ["system", "shared", "user"]}, "recommendation": {"default": "shared"}, "classification": {"multi_tenant_pattern": "shared-ref"}} - Pass-through from upstream: no
x-f5xc-displayorder
Section titled “x-f5xc-displayorder”- Applied at: schema
- Purpose: Suggested ordering of properties for UI/CLI presentation.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-displayorder": ["name", "description", "spec"] - Pass-through from upstream: no
x-f5xc-terraform-resource
Section titled “x-f5xc-terraform-resource”- Applied at: schema
- Purpose: Terraform resource type name that maps to this schema.
- Consumers: Terraform
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-terraform-resource": "volterra_http_loadbalancer" - Pass-through from upstream: no
x-f5xc-display-name
Section titled “x-f5xc-display-name”- Applied at: schema
- Purpose: Human-readable display name for a resource schema (overrides auto-generation).
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-display-name": "HTTP Load Balancer" - Pass-through from upstream: no
Injected — property-level
Section titled “Injected — property-level”x-f5xc-description
Section titled “x-f5xc-description”- Applied at: schema property
- Purpose: Enriched property description that supplements the upstream
description. - Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_descriptions.yaml
- Example:
"x-f5xc-description": "Fully-qualified domain name used for TLS SNI." - Pass-through from upstream: no
x-f5xc-validation
Section titled “x-f5xc-validation”- Applied at: schema property
- Purpose: Declarative validation rules derived from upstream protobuf
ves.io.schema.rules. - Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/validation_enricher.py
- Driven by config: config/validation_rules.yaml
- Example:
"x-f5xc-validation": {"min_len": 1, "max_len": 64} - Pass-through from upstream: no
x-f5xc-examples
Section titled “x-f5xc-examples”- Applied at: schema property
- Purpose: Multiple illustrative example values for a property.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array"} - Injected by: scripts/utils/resource_examples_enricher.py
- Driven by config: config/resource_examples.yaml
- Example:
"x-f5xc-examples": ["example.com", "api.example.com"] - Pass-through from upstream: no
x-f5xc-example
Section titled “x-f5xc-example”- Applied at: schema property
- Purpose: A single canonical example value.
- Consumers: multiple
- Value type: string
- Value schema:
{} - Injected by: scripts/utils/field_description_enricher.py
- Driven by config: config/field_descriptions.yaml
- Example:
"x-f5xc-example": "example.com" - Pass-through from upstream: no
x-f5xc-completion
Section titled “x-f5xc-completion”- Applied at: schema property
- Purpose: Shell completion hints (static enum or dynamic command).
- Consumers: CLI
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-completion": {"source": "command", "cmd": "xcsh namespace list"} - Pass-through from upstream: no
x-f5xc-defaults
Section titled “x-f5xc-defaults”- Applied at: schema property
- Purpose: Default value(s) to surface in generated docs and UIs.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-defaults": {"value": "default"} - Pass-through from upstream: no
x-f5xc-required-for-operations
Section titled “x-f5xc-required-for-operations”- Applied at: schema property
- Purpose: Lists HTTP operations (POST/PUT/…) that require this property.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-required-for-operations": ["POST", "PUT"] - Pass-through from upstream: no
x-f5xc-required-for
Section titled “x-f5xc-required-for”- Applied at: schema property
- Purpose: Lists named feature combinations that require this property.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/utils/minimum_configuration_enricher.py
- Driven by config: config/minimum_configs.yaml
- Example:
"x-f5xc-required-for": ["tls-origin", "mtls"] - Pass-through from upstream: no
x-f5xc-conditions
Section titled “x-f5xc-conditions”- Applied at: schema property
- Purpose: Conditional requirements (e.g. required when sibling field equals X).
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "object"}} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-conditions": [{"when": "tls.enabled == true", "require": "cert"}] - Pass-through from upstream: no
x-f5xc-deprecated
Section titled “x-f5xc-deprecated”- Applied at: schema property
- Purpose: Deprecation notice with replacement guidance.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/field_metadata_enricher.py
- Driven by config: config/field_metadata.yaml
- Example:
"x-f5xc-deprecated": {"since": "3.0.0", "use": "new_field"} - Pass-through from upstream: no
x-f5xc-server-default
Section titled “x-f5xc-server-default”- Applied at: schema property
- Purpose: Default value the server assigns when the client omits the property.
- Consumers: multiple
- Value type: string
- Value schema:
{} - Injected by: scripts/utils/default_value_enricher.py
- Driven by config: config/discovered_defaults.yaml
- Example:
"x-f5xc-server-default": "ROUND_ROBIN" - Pass-through from upstream: no
x-f5xc-recommended-value
Section titled “x-f5xc-recommended-value”- Applied at: schema property
- Purpose: Recommended production value for a field where the server default is suboptimal.
- Consumers: multiple
- Value type: string
- Value schema:
{} - Injected by: scripts/utils/default_value_enricher.py
- Driven by config: config/discovered_defaults.yaml
- Example:
"x-f5xc-recommended-value": "LEAST_REQUEST" - Pass-through from upstream: no
x-f5xc-recommended-oneof-variant
Section titled “x-f5xc-recommended-oneof-variant”- Applied at: schema property
- Purpose: For
oneOfblocks, indicates which variant is recommended. - Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/utils/default_value_enricher.py
- Driven by config: config/discovered_defaults.yaml
- Example:
"x-f5xc-recommended-oneof-variant": "tls_parameters" - Pass-through from upstream: no
x-f5xc-conflicts-with
Section titled “x-f5xc-conflicts-with”- Applied at: schema property
- Purpose: Lists sibling properties that cannot be set alongside this one.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/utils/conflicts_with_enricher.py
- Driven by config: hardcoded
- Example:
"x-f5xc-conflicts-with": ["plaintext", "auto_cert"] - Pass-through from upstream: no
x-f5xc-requires
Section titled “x-f5xc-requires”- Applied at: schema property
- Purpose: Documents cross-field dependencies where one field requires another to be set.
- Consumers: compile_catalog.py, xcsh CLI
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "object", "properties": {"field": {"type": "string"}, "required": {"type": "boolean"}, "reason": {"type": "string"}}}} - Injected by: scripts/utils/dependency_enricher.py
- Driven by config: config/minimum_configs.yaml (dependencies section)
- Example:
"x-f5xc-requires": [{"field": "tls_config", "required": true, "reason": "use_tls requires tls_config sub-field"}] - Pass-through from upstream: no
x-f5xc-constraints
Section titled “x-f5xc-constraints”- Applied at: schema property
- Purpose: Numeric / string constraints derived from live-API probing or static patterns.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/constraint_enricher.py
- Driven by config: config/constraint_patterns.yaml
- Example:
"x-f5xc-constraints": {"min": 1, "max": 65535, "source": "live-api"} - Pass-through from upstream: no
x-f5xc-uniqueness
Section titled “x-f5xc-uniqueness”- Applied at: schema property
- Purpose: Declares whether a field must be unique within its scope.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/uniqueness_enricher.py
- Driven by config: hardcoded
- Example:
"x-f5xc-uniqueness": {"scope": "namespace"} - Pass-through from upstream: no
Injected — operation-level
Section titled “Injected — operation-level”x-f5xc-required-fields
Section titled “x-f5xc-required-fields”- Applied at: operation
- Purpose: Names the operation-body fields that must be provided for success.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/utils/operation_metadata_enricher.py
- Driven by config: config/operation_metadata.yaml
- Example:
"x-f5xc-required-fields": ["metadata.name", "spec.domains"] - Pass-through from upstream: no
x-f5xc-danger-level
Section titled “x-f5xc-danger-level”- Applied at: operation
- Purpose: Classifies the blast radius of an operation (low/medium/high/critical).
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string", "enum": ["low", "medium", "high", "critical"]} - Injected by: scripts/utils/operation_metadata_enricher.py
- Driven by config: config/operation_metadata.yaml
- Example:
"x-f5xc-danger-level": "high" - Pass-through from upstream: no
x-f5xc-confirmation-required
Section titled “x-f5xc-confirmation-required”- Applied at: operation
- Purpose: Whether CLI/UI should prompt the user to confirm before executing.
- Consumers: multiple
- Value type: boolean
- Value schema:
{"type": "boolean"} - Injected by: scripts/utils/operation_metadata_enricher.py
- Driven by config: config/operation_metadata.yaml
- Example:
"x-f5xc-confirmation-required": true - Pass-through from upstream: no
x-f5xc-side-effects
Section titled “x-f5xc-side-effects”- Applied at: operation
- Purpose: Lists observable side effects of the operation (restart, reconfigure, etc.).
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/utils/operation_metadata_enricher.py
- Driven by config: config/operation_metadata.yaml
- Example:
"x-f5xc-side-effects": ["invalidates-cache"] - Pass-through from upstream: no
x-f5xc-discovered-response-time
Section titled “x-f5xc-discovered-response-time”- Applied at: operation
- Purpose: Empirically measured response time for this operation during discovery.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/discovery_enricher.py
- Driven by config: config/discovery_enrichment.yaml
- Example:
"x-f5xc-discovered-response-time": {"p50_ms": 40, "p95_ms": 120} - Pass-through from upstream: no
x-f5xc-discovered-rate-limits
Section titled “x-f5xc-discovered-rate-limits”- Applied at: operation
- Purpose: Observed rate-limit headers / behavior surfaced from the live API.
- Consumers: multiple
- Value type: object
- Value schema:
{"type": "object"} - Injected by: scripts/utils/discovery_enricher.py
- Driven by config: config/discovery_enrichment.yaml
- Example:
"x-f5xc-discovered-rate-limits": {"limit": 100, "window_s": 60} - Pass-through from upstream: no
x-f5xc-discovered-error-catalog
Section titled “x-f5xc-discovered-error-catalog”- Applied at: operation
- Purpose: Catalog of error responses observed during live discovery, with sample payloads.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "object"}} - Injected by: scripts/utils/discovery_enricher.py
- Driven by config: config/discovery_enrichment.yaml
- Example:
"x-f5xc-discovered-error-catalog": [{"status": 400, "reason": "bad_request"}] - Pass-through from upstream: no
Injected — index-level (domain metadata)
Section titled “Injected — index-level (domain metadata)”x-f5xc-category
Section titled “x-f5xc-category”- Applied at: info
- Purpose: Top-level CLI / UI / docs / Terraform grouping category for a domain.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-category": "networking" - Pass-through from upstream: no
x-f5xc-primary-resources
Section titled “x-f5xc-primary-resources”- Applied at: info
- Purpose: List of primary resource types that define the domain.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-primary-resources": ["http_loadbalancer"] - Pass-through from upstream: no
x-f5xc-critical-resources
Section titled “x-f5xc-critical-resources”- Applied at: info
- Purpose: Resources that require elevated care (production-critical).
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/merge_specs.py
- Driven by config: config/critical_resources.yaml
- Example:
"x-f5xc-critical-resources": ["tls_certificate"] - Pass-through from upstream: no
x-f5xc-description-short
Section titled “x-f5xc-description-short”- Applied at: info
- Purpose: Short (~60 char) domain description. Also applies at property level for long descriptions.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/utils/property_description_short_enricher.py
- Driven by config: config/property_description_short.yaml
- Example:
"x-f5xc-description-short": "Layer-7 HTTPS load balancing." - Pass-through from upstream: no
x-f5xc-description-medium
Section titled “x-f5xc-description-medium”- Applied at: info
- Purpose: Medium (~150 char) domain description. Also applies at property level.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/utils/property_description_short_enricher.py
- Driven by config: config/property_description_short.yaml
- Example:
"x-f5xc-description-medium": "HTTP/HTTPS load balancer with advanced routing, WAF, and TLS." - Pass-through from upstream: no
x-f5xc-description-long
Section titled “x-f5xc-description-long”- Applied at: info
- Purpose: Long (~500 char) domain description.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/utils/description_enricher.py
- Driven by config: config/domain_descriptions.yaml
- Example:
"x-f5xc-description-long": "Full paragraph describing the domain..." - Pass-through from upstream: no
x-f5xc-complexity
Section titled “x-f5xc-complexity”- Applied at: info
- Purpose: Relative complexity tier for authoring configurations in this domain.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string", "enum": ["low", "medium", "high"]} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-complexity": "medium" - Pass-through from upstream: no
x-f5xc-requires-tier
Section titled “x-f5xc-requires-tier”- Applied at: info
- Purpose: Minimum F5 XC subscription tier required.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-requires-tier": "enterprise" - Pass-through from upstream: no
x-f5xc-is-preview
Section titled “x-f5xc-is-preview”- Applied at: info
- Purpose: Flags a domain as a preview / beta feature.
- Consumers: multiple
- Value type: boolean
- Value schema:
{"type": "boolean"} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-is-preview": false - Pass-through from upstream: no
x-f5xc-use-cases
Section titled “x-f5xc-use-cases”- Applied at: info
- Purpose: Named use cases this domain supports.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-use-cases": ["tls-termination", "waf"] - Pass-through from upstream: no
x-f5xc-icon
Section titled “x-f5xc-icon”- Applied at: info
- Purpose: Icon identifier to use when rendering this domain in a UI.
- Consumers: Web UI
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-icon": "f5xc:load-balancer" - Pass-through from upstream: no
x-f5xc-logo-svg
Section titled “x-f5xc-logo-svg”- Applied at: info
- Purpose: Inline SVG (or path) for a brand logo representing the domain.
- Consumers: Web UI
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-logo-svg": "<svg>...</svg>" - Pass-through from upstream: no
x-f5xc-related-domains
Section titled “x-f5xc-related-domains”- Applied at: info
- Purpose: Cross-links to other domains commonly used together with this one.
- Consumers: multiple
- Value type: array
- Value schema:
{"type": "array", "items": {"type": "string"}} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-related-domains": ["origin_pool", "tls_certificate"] - Pass-through from upstream: no
x-f5xc-doc-section
Section titled “x-f5xc-doc-section”- Applied at: info
- Purpose: Documentation section / nav grouping slug for rendered docs.
- Consumers: multiple
- Value type: string
- Value schema:
{"type": "string"} - Injected by: scripts/merge_specs.py
- Driven by config: config/domain_patterns.yaml
- Example:
"x-f5xc-doc-section": "load-balancing" - Pass-through from upstream: no
Upstream pass-through
Section titled “Upstream pass-through”x-ves-proto-package
Section titled “x-ves-proto-package”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example:
"x-ves-proto-package": "ves.io.schema.virtual_host" - Pass-through from upstream: yes
x-ves-proto-file
Section titled “x-ves-proto-file”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example:
"x-ves-proto-file": "ves.io/schema/virtual_host/types.proto" - Pass-through from upstream: yes
x-ves-proto-message
Section titled “x-ves-proto-message”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example:
"x-ves-proto-message": "ves.io.schema.virtual_host.CreateSpecType" - Pass-through from upstream: yes
x-ves-proto-service
Section titled “x-ves-proto-service”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example:
"x-ves-proto-service": "ves.io.schema.virtual_host.API" - Pass-through from upstream: yes
x-ves-proto-rpc
Section titled “x-ves-proto-rpc”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example:
"x-ves-proto-rpc": "ves.io.schema.api_sec.api_crawler.API.Create" - Pass-through from upstream: yes
x-displayname
Section titled “x-displayname”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example:
"x-displayname": "Namespace" - Pass-through from upstream: yes
x-ves-oneof
Section titled “x-ves-oneof”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example: See F5 upstream docs.
- Pass-through from upstream: yes
x-ves-default
Section titled “x-ves-default”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example: See F5 upstream docs.
- Pass-through from upstream: yes
x-ves-required
Section titled “x-ves-required”- Applied at: upstream
- Purpose: Preserved unchanged from F5 upstream spec.
- Consumers: N/A
- Value type: varies
- Value schema: N/A
- Injected by: upstream
- Driven by config: upstream
- Example: See F5 upstream docs.
- Pass-through from upstream: yes