@robinmordasiewicz/f5xc-terraform-mcp 2.3.0 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -15
- package/dist/docs/data-sources/addon_subscription.md +51 -0
- package/dist/docs/data-sources/address_allocator.md +51 -0
- package/dist/docs/data-sources/advertise_policy.md +51 -0
- package/dist/docs/data-sources/alert_policy.md +51 -0
- package/dist/docs/data-sources/alert_receiver.md +62 -0
- package/dist/docs/data-sources/allowed_tenant.md +51 -0
- package/dist/docs/data-sources/api_crawler.md +51 -0
- package/dist/docs/data-sources/api_credential.md +51 -0
- package/dist/docs/data-sources/api_definition.md +51 -0
- package/dist/docs/data-sources/api_discovery.md +51 -0
- package/dist/docs/data-sources/api_testing.md +51 -0
- package/dist/docs/data-sources/apm.md +51 -0
- package/dist/docs/data-sources/app_api_group.md +51 -0
- package/dist/docs/data-sources/app_firewall.md +62 -0
- package/dist/docs/data-sources/app_setting.md +51 -0
- package/dist/docs/data-sources/app_type.md +51 -0
- package/dist/docs/data-sources/authentication.md +51 -0
- package/dist/docs/data-sources/aws_tgw_site.md +51 -0
- package/dist/docs/data-sources/aws_vpc_site.md +68 -0
- package/dist/docs/data-sources/azure_vnet_site.md +68 -0
- package/dist/docs/data-sources/bgp.md +51 -0
- package/dist/docs/data-sources/bgp_asn_set.md +51 -0
- package/dist/docs/data-sources/bgp_routing_policy.md +51 -0
- package/dist/docs/data-sources/bigip_irule.md +51 -0
- package/dist/docs/data-sources/bot_defense_app_infrastructure.md +51 -0
- package/dist/docs/data-sources/cdn_cache_rule.md +51 -0
- package/dist/docs/data-sources/cdn_loadbalancer.md +51 -0
- package/dist/docs/data-sources/certificate.md +66 -0
- package/dist/docs/data-sources/certificate_chain.md +51 -0
- package/dist/docs/data-sources/child_tenant.md +51 -0
- package/dist/docs/data-sources/child_tenant_manager.md +51 -0
- package/dist/docs/data-sources/cloud_connect.md +51 -0
- package/dist/docs/data-sources/cloud_credentials.md +62 -0
- package/dist/docs/data-sources/cloud_elastic_ip.md +51 -0
- package/dist/docs/data-sources/cloud_link.md +51 -0
- package/dist/docs/data-sources/cluster.md +51 -0
- package/dist/docs/data-sources/cminstance.md +51 -0
- package/dist/docs/data-sources/code_base_integration.md +51 -0
- package/dist/docs/data-sources/contact.md +51 -0
- package/dist/docs/data-sources/container_registry.md +51 -0
- package/dist/docs/data-sources/crl.md +51 -0
- package/dist/docs/data-sources/customer_support.md +51 -0
- package/dist/docs/data-sources/data_group.md +51 -0
- package/dist/docs/data-sources/data_type.md +51 -0
- package/dist/docs/data-sources/dc_cluster_group.md +51 -0
- package/dist/docs/data-sources/discovery.md +51 -0
- package/dist/docs/data-sources/dns_compliance_checks.md +51 -0
- package/dist/docs/data-sources/dns_domain.md +51 -0
- package/dist/docs/data-sources/dns_lb_health_check.md +51 -0
- package/dist/docs/data-sources/dns_lb_pool.md +51 -0
- package/dist/docs/data-sources/dns_load_balancer.md +51 -0
- package/dist/docs/data-sources/dns_zone.md +62 -0
- package/dist/docs/data-sources/endpoint.md +51 -0
- package/dist/docs/data-sources/enhanced_firewall_policy.md +51 -0
- package/dist/docs/data-sources/external_connector.md +51 -0
- package/dist/docs/data-sources/fast_acl.md +51 -0
- package/dist/docs/data-sources/fast_acl_rule.md +51 -0
- package/dist/docs/data-sources/filter_set.md +51 -0
- package/dist/docs/data-sources/fleet.md +51 -0
- package/dist/docs/data-sources/forward_proxy_policy.md +51 -0
- package/dist/docs/data-sources/forwarding_class.md +51 -0
- package/dist/docs/data-sources/gcp_vpc_site.md +68 -0
- package/dist/docs/data-sources/geo_location_set.md +51 -0
- package/dist/docs/data-sources/global_log_receiver.md +51 -0
- package/dist/docs/data-sources/healthcheck.md +62 -0
- package/dist/docs/data-sources/http_loadbalancer.md +60 -0
- package/dist/docs/data-sources/ike1.md +51 -0
- package/dist/docs/data-sources/ike2.md +51 -0
- package/dist/docs/data-sources/ike_phase1_profile.md +51 -0
- package/dist/docs/data-sources/ike_phase2_profile.md +51 -0
- package/dist/docs/data-sources/infraprotect_asn.md +51 -0
- package/dist/docs/data-sources/infraprotect_asn_prefix.md +51 -0
- package/dist/docs/data-sources/infraprotect_deny_list_rule.md +51 -0
- package/dist/docs/data-sources/infraprotect_firewall_rule.md +51 -0
- package/dist/docs/data-sources/infraprotect_firewall_rule_group.md +51 -0
- package/dist/docs/data-sources/infraprotect_internet_prefix_advertisement.md +51 -0
- package/dist/docs/data-sources/infraprotect_tunnel.md +51 -0
- package/dist/docs/data-sources/ip_prefix_set.md +51 -0
- package/dist/docs/data-sources/irule.md +51 -0
- package/dist/docs/data-sources/k8s_cluster.md +51 -0
- package/dist/docs/data-sources/k8s_cluster_role.md +51 -0
- package/dist/docs/data-sources/k8s_cluster_role_binding.md +51 -0
- package/dist/docs/data-sources/k8s_pod_security_admission.md +51 -0
- package/dist/docs/data-sources/k8s_pod_security_policy.md +51 -0
- package/dist/docs/data-sources/log_receiver.md +62 -0
- package/dist/docs/data-sources/malicious_user_mitigation.md +51 -0
- package/dist/docs/data-sources/managed_tenant.md +51 -0
- package/dist/docs/data-sources/namespace.md +58 -0
- package/dist/docs/data-sources/nat_policy.md +51 -0
- package/dist/docs/data-sources/network_connector.md +51 -0
- package/dist/docs/data-sources/network_firewall.md +51 -0
- package/dist/docs/data-sources/network_interface.md +51 -0
- package/dist/docs/data-sources/network_policy.md +51 -0
- package/dist/docs/data-sources/network_policy_rule.md +51 -0
- package/dist/docs/data-sources/network_policy_view.md +51 -0
- package/dist/docs/data-sources/nfv_service.md +51 -0
- package/dist/docs/data-sources/oidc_provider.md +51 -0
- package/dist/docs/data-sources/origin_pool.md +65 -0
- package/dist/docs/data-sources/policer.md +51 -0
- package/dist/docs/data-sources/policy_based_routing.md +51 -0
- package/dist/docs/data-sources/protocol_inspection.md +51 -0
- package/dist/docs/data-sources/protocol_policer.md +51 -0
- package/dist/docs/data-sources/proxy.md +51 -0
- package/dist/docs/data-sources/quota.md +51 -0
- package/dist/docs/data-sources/rate_limiter.md +64 -0
- package/dist/docs/data-sources/rate_limiter_policy.md +51 -0
- package/dist/docs/data-sources/registration.md +51 -0
- package/dist/docs/data-sources/report_config.md +51 -0
- package/dist/docs/data-sources/role.md +51 -0
- package/dist/docs/data-sources/route.md +51 -0
- package/dist/docs/data-sources/secret_management_access.md +51 -0
- package/dist/docs/data-sources/secret_policy.md +51 -0
- package/dist/docs/data-sources/secret_policy_rule.md +51 -0
- package/dist/docs/data-sources/securemesh_site.md +51 -0
- package/dist/docs/data-sources/securemesh_site_v2.md +51 -0
- package/dist/docs/data-sources/segment.md +51 -0
- package/dist/docs/data-sources/sensitive_data_policy.md +51 -0
- package/dist/docs/data-sources/service_policy.md +64 -0
- package/dist/docs/data-sources/service_policy_rule.md +51 -0
- package/dist/docs/data-sources/site_mesh_group.md +51 -0
- package/dist/docs/data-sources/srv6_network_slice.md +51 -0
- package/dist/docs/data-sources/subnet.md +51 -0
- package/dist/docs/data-sources/tcp_loadbalancer.md +51 -0
- package/dist/docs/data-sources/tenant_configuration.md +51 -0
- package/dist/docs/data-sources/tenant_profile.md +51 -0
- package/dist/docs/data-sources/ticket_tracking_system.md +51 -0
- package/dist/docs/data-sources/token.md +51 -0
- package/dist/docs/data-sources/tpm_api_key.md +51 -0
- package/dist/docs/data-sources/tpm_category.md +51 -0
- package/dist/docs/data-sources/tpm_manager.md +51 -0
- package/dist/docs/data-sources/trusted_ca_list.md +51 -0
- package/dist/docs/data-sources/tunnel.md +51 -0
- package/dist/docs/data-sources/udp_loadbalancer.md +51 -0
- package/dist/docs/data-sources/usb_policy.md +51 -0
- package/dist/docs/data-sources/user_identification.md +51 -0
- package/dist/docs/data-sources/virtual_host.md +51 -0
- package/dist/docs/data-sources/virtual_k8s.md +51 -0
- package/dist/docs/data-sources/virtual_network.md +51 -0
- package/dist/docs/data-sources/virtual_site.md +68 -0
- package/dist/docs/data-sources/voltshare_admin_policy.md +51 -0
- package/dist/docs/data-sources/voltstack_site.md +51 -0
- package/dist/docs/data-sources/waf_exclusion_policy.md +51 -0
- package/dist/docs/data-sources/workload.md +51 -0
- package/dist/docs/data-sources/workload_flavor.md +51 -0
- package/dist/docs/functions/blindfold.md +133 -0
- package/dist/docs/functions/blindfold_file.md +154 -0
- package/dist/docs/guides/authentication.md +389 -0
- package/dist/docs/guides/blindfold.md +509 -0
- package/dist/docs/guides/http-loadbalancer.md +274 -0
- package/dist/docs/resources/addon_subscription.md +136 -0
- package/dist/docs/resources/address_allocator.md +106 -0
- package/dist/docs/resources/advertise_policy.md +318 -0
- package/dist/docs/resources/alert_policy.md +242 -0
- package/dist/docs/resources/alert_receiver.md +394 -0
- package/dist/docs/resources/allowed_tenant.md +104 -0
- package/dist/docs/resources/api_crawler.md +142 -0
- package/dist/docs/resources/api_credential.md +101 -0
- package/dist/docs/resources/api_definition.md +127 -0
- package/dist/docs/resources/api_discovery.md +100 -0
- package/dist/docs/resources/api_testing.md +273 -0
- package/dist/docs/resources/apm.md +946 -0
- package/dist/docs/resources/app_api_group.md +161 -0
- package/dist/docs/resources/app_firewall.md +282 -0
- package/dist/docs/resources/app_setting.md +228 -0
- package/dist/docs/resources/app_type.md +124 -0
- package/dist/docs/resources/authentication.md +228 -0
- package/dist/docs/resources/aws_tgw_site.md +948 -0
- package/dist/docs/resources/aws_vpc_site.md +1262 -0
- package/dist/docs/resources/azure_vnet_site.md +2316 -0
- package/dist/docs/resources/bgp.md +341 -0
- package/dist/docs/resources/bgp_asn_set.md +86 -0
- package/dist/docs/resources/bgp_routing_policy.md +166 -0
- package/dist/docs/resources/bigip_irule.md +90 -0
- package/dist/docs/resources/bot_defense_app_infrastructure.md +166 -0
- package/dist/docs/resources/cdn_cache_rule.md +278 -0
- package/dist/docs/resources/cdn_loadbalancer.md +3800 -0
- package/dist/docs/resources/certificate.md +146 -0
- package/dist/docs/resources/certificate_chain.md +86 -0
- package/dist/docs/resources/child_tenant.md +166 -0
- package/dist/docs/resources/child_tenant_manager.md +130 -0
- package/dist/docs/resources/cloud_connect.md +260 -0
- package/dist/docs/resources/cloud_credentials.md +264 -0
- package/dist/docs/resources/cloud_elastic_ip.md +108 -0
- package/dist/docs/resources/cloud_link.md +252 -0
- package/dist/docs/resources/cluster.md +408 -0
- package/dist/docs/resources/cminstance.md +166 -0
- package/dist/docs/resources/code_base_integration.md +360 -0
- package/dist/docs/resources/contact.md +104 -0
- package/dist/docs/resources/container_registry.md +132 -0
- package/dist/docs/resources/crl.md +106 -0
- package/dist/docs/resources/customer_support.md +170 -0
- package/dist/docs/resources/data_group.md +121 -0
- package/dist/docs/resources/data_type.md +188 -0
- package/dist/docs/resources/dc_cluster_group.md +108 -0
- package/dist/docs/resources/discovery.md +443 -0
- package/dist/docs/resources/dns_compliance_checks.md +90 -0
- package/dist/docs/resources/dns_domain.md +94 -0
- package/dist/docs/resources/dns_lb_health_check.md +166 -0
- package/dist/docs/resources/dns_lb_pool.md +233 -0
- package/dist/docs/resources/dns_load_balancer.md +254 -0
- package/dist/docs/resources/dns_zone.md +135 -0
- package/dist/docs/resources/endpoint.md +234 -0
- package/dist/docs/resources/enhanced_firewall_policy.md +327 -0
- package/dist/docs/resources/external_connector.md +246 -0
- package/dist/docs/resources/fast_acl.md +376 -0
- package/dist/docs/resources/fast_acl_rule.md +192 -0
- package/dist/docs/resources/filter_set.md +142 -0
- package/dist/docs/resources/fleet.md +1267 -0
- package/dist/docs/resources/forward_proxy_policy.md +408 -0
- package/dist/docs/resources/forwarding_class.md +133 -0
- package/dist/docs/resources/gcp_vpc_site.md +1170 -0
- package/dist/docs/resources/geo_location_set.md +97 -0
- package/dist/docs/resources/global_log_receiver.md +1085 -0
- package/dist/docs/resources/healthcheck.md +148 -0
- package/dist/docs/resources/http_loadbalancer.md +7118 -0
- package/dist/docs/resources/ike1.md +133 -0
- package/dist/docs/resources/ike2.md +127 -0
- package/dist/docs/resources/ike_phase1_profile.md +141 -0
- package/dist/docs/resources/ike_phase2_profile.md +131 -0
- package/dist/docs/resources/infraprotect_asn.md +100 -0
- package/dist/docs/resources/infraprotect_asn_prefix.md +104 -0
- package/dist/docs/resources/infraprotect_deny_list_rule.md +108 -0
- package/dist/docs/resources/infraprotect_firewall_rule.md +205 -0
- package/dist/docs/resources/infraprotect_firewall_rule_group.md +86 -0
- package/dist/docs/resources/infraprotect_internet_prefix_advertisement.md +108 -0
- package/dist/docs/resources/infraprotect_tunnel.md +228 -0
- package/dist/docs/resources/ip_prefix_set.md +97 -0
- package/dist/docs/resources/irule.md +88 -0
- package/dist/docs/resources/k8s_cluster.md +291 -0
- package/dist/docs/resources/k8s_cluster_role.md +143 -0
- package/dist/docs/resources/k8s_cluster_role_binding.md +130 -0
- package/dist/docs/resources/k8s_pod_security_admission.md +116 -0
- package/dist/docs/resources/k8s_pod_security_policy.md +258 -0
- package/dist/docs/resources/log_receiver.md +183 -0
- package/dist/docs/resources/malicious_user_mitigation.md +132 -0
- package/dist/docs/resources/managed_tenant.md +116 -0
- package/dist/docs/resources/namespace.md +87 -0
- package/dist/docs/resources/nat_policy.md +408 -0
- package/dist/docs/resources/network_connector.md +252 -0
- package/dist/docs/resources/network_firewall.md +178 -0
- package/dist/docs/resources/network_interface.md +439 -0
- package/dist/docs/resources/network_policy.md +347 -0
- package/dist/docs/resources/network_policy_rule.md +157 -0
- package/dist/docs/resources/network_policy_view.md +330 -0
- package/dist/docs/resources/nfv_service.md +992 -0
- package/dist/docs/resources/oidc_provider.md +208 -0
- package/dist/docs/resources/origin_pool.md +801 -0
- package/dist/docs/resources/policer.md +97 -0
- package/dist/docs/resources/policy_based_routing.md +330 -0
- package/dist/docs/resources/protocol_inspection.md +130 -0
- package/dist/docs/resources/protocol_policer.md +146 -0
- package/dist/docs/resources/proxy.md +1181 -0
- package/dist/docs/resources/quota.md +104 -0
- package/dist/docs/resources/rate_limiter.md +155 -0
- package/dist/docs/resources/rate_limiter_policy.md +296 -0
- package/dist/docs/resources/registration.md +406 -0
- package/dist/docs/resources/report_config.md +160 -0
- package/dist/docs/resources/role.md +100 -0
- package/dist/docs/resources/route.md +724 -0
- package/dist/docs/resources/secret_management_access.md +498 -0
- package/dist/docs/resources/secret_policy.md +157 -0
- package/dist/docs/resources/secret_policy_rule.md +115 -0
- package/dist/docs/resources/securemesh_site.md +940 -0
- package/dist/docs/resources/securemesh_site_v2.md +2942 -0
- package/dist/docs/resources/segment.md +97 -0
- package/dist/docs/resources/sensitive_data_policy.md +116 -0
- package/dist/docs/resources/service_policy.md +795 -0
- package/dist/docs/resources/service_policy_rule.md +609 -0
- package/dist/docs/resources/site_mesh_group.md +163 -0
- package/dist/docs/resources/srv6_network_slice.md +92 -0
- package/dist/docs/resources/subnet.md +155 -0
- package/dist/docs/resources/tcp_loadbalancer.md +671 -0
- package/dist/docs/resources/tenant_configuration.md +136 -0
- package/dist/docs/resources/tenant_profile.md +156 -0
- package/dist/docs/resources/ticket_tracking_system.md +112 -0
- package/dist/docs/resources/token.md +87 -0
- package/dist/docs/resources/tpm_api_key.md +108 -0
- package/dist/docs/resources/tpm_category.md +108 -0
- package/dist/docs/resources/tpm_manager.md +84 -0
- package/dist/docs/resources/trusted_ca_list.md +89 -0
- package/dist/docs/resources/tunnel.md +250 -0
- package/dist/docs/resources/udp_loadbalancer.md +336 -0
- package/dist/docs/resources/usb_policy.md +108 -0
- package/dist/docs/resources/user_identification.md +126 -0
- package/dist/docs/resources/virtual_host.md +934 -0
- package/dist/docs/resources/virtual_k8s.md +132 -0
- package/dist/docs/resources/virtual_network.md +149 -0
- package/dist/docs/resources/virtual_site.md +102 -0
- package/dist/docs/resources/voltshare_admin_policy.md +196 -0
- package/dist/docs/resources/voltstack_site.md +2259 -0
- package/dist/docs/resources/waf_exclusion_policy.md +182 -0
- package/dist/docs/resources/workload.md +6021 -0
- package/dist/docs/resources/workload_flavor.md +90 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0000.public.ves.io.schema.ai_assistant.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0001.public.ves.io.schema.api_sec.api_crawler.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0002.public.ves.io.schema.views.api_definition.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0003.public.ves.io.schema.api_sec.api_discovery.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0004.public.ves.io.schema.api_group.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0005.public.ves.io.schema.api_group_element.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0006.public.ves.io.schema.api_sec.api_testing.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0007.public.ves.io.schema.api_credential.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0008.public.ves.io.schema.pbac.addon_service.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0009.public.ves.io.schema.pbac.addon_subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0010.public.ves.io.schema.address_allocator.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0011.public.ves.io.schema.advertise_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0012.public.ves.io.schema.alert_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0013.public.ves.io.schema.alert_receiver.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0014.public.ves.io.schema.alert.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0015.public.ves.io.schema.tenant_management.allowed_tenant.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0016.public.ves.io.schema.views.app_api_group.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0017.public.ves.io.schema.app_setting.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0018.public.ves.io.schema.app_type.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0019.public.ves.io.schema.app_firewall.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0020.public.ves.io.schema.app_security.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0021.public.ves.io.schema.api_sec.rule_suggestion.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0022.public.ves.io.schema.shape.device_id.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0023.public.ves.io.schema.authentication.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0024.public.ves.io.schema.ai_data.bfdp.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0025.public.ves.io.schema.ai_data.bfdp.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0026.public.ves.io.schema.bgp.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0027.public.ves.io.schema.bgp_asn_set.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0028.public.ves.io.schema.operate.bgp.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0029.public.ves.io.schema.bgp_routing_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0030.public.ves.io.schema.bigip.apm.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0031.public.ves.io.schema.bigip_irule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0032.public.ves.io.schema.views.bigip_virtual_server.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0033.public.ves.io.schema.shape.brmalerts.alert_gen_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0034.public.ves.io.schema.shape.brmalerts.alert_template.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0035.public.ves.io.schema.views.bot_defense_app_infrastructure.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0036.public.ves.io.schema.shape.bot_defense.threat_intelligence.bot_detection_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0037.public.ves.io.schema.shape.bot_defense.threat_intelligence.bot_detection_update.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0038.public.ves.io.schema.shape.bot_defense.bot_endpoint_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0039.public.ves.io.schema.shape.bot_defense.bot_infrastructure.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0040.public.ves.io.schema.shape.bot_defense.bot_allowlist_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0041.public.ves.io.schema.shape.bot_defense.bot_network_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0042.public.ves.io.schema.views.cdn_loadbalancer.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0043.public.ves.io.schema.cdn_cache_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0044.public.ves.io.schema.crl.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0045.public.ves.io.schema.operate.crl.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0046.public.ves.io.schema.pbac.catalog.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0047.public.ves.io.schema.cminstance.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0048.public.ves.io.schema.certificate.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0049.public.ves.io.schema.certificate_chain.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0050.public.ves.io.schema.certified_hardware.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0051.public.ves.io.schema.tenant_management.child_tenant.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0052.public.ves.io.schema.tenant_management.child_tenant_manager.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0053.public.ves.io.schema.shape.client_side_defense.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0054.public.ves.io.schema.shape.client_side_defense.allowed_domain.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0055.public.ves.io.schema.shape.client_side_defense.protected_domain.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0056.public.ves.io.schema.shape.client_side_defense.mitigated_domain.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0057.public.ves.io.schema.shape.client_side_defense.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0058.public.ves.io.schema.cloud_connect.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0059.public.ves.io.schema.cloud_credentials.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0060.public.ves.io.schema.cloud_elastic_ip.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0061.public.ves.io.schema.cloud_region.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0062.public.ves.io.schema.cloud_link.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0063.public.ves.io.schema.cluster.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0064.public.ves.io.schema.api_sec.code_base_integration.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0065.public.ves.io.schema.views.aws_tgw_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0066.public.ves.io.schema.views.aws_vpc_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0067.public.ves.io.schema.views.voltstack_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0068.public.ves.io.schema.views.azure_vnet_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0069.public.ves.io.schema.dns_compliance_checks.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0071.public.ves.io.schema.views.forward_proxy_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0072.public.ves.io.schema.views.gcp_vpc_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0073.public.ves.io.schema.views.http_loadbalancer.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0074.public.ves.io.schema.views.network_policy_view.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0075.public.ves.io.schema.protocol_inspection.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0076.public.ves.io.schema.views.securemesh_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0077.public.ves.io.schema.views.securemesh_site_v2.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0078.public.ves.io.schema.views.tcp_loadbalancer.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0079.public.ves.io.schema.views.udp_loadbalancer.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0080.public.ves.io.schema.bigcne.irule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0081.public.ves.io.schema.graph.connectivity.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0082.public.ves.io.schema.contact.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0083.public.ves.io.schema.container_registry.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0084.public.ves.io.schema.customer_support.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0085.public.ves.io.schema.dc_cluster_group.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0086.public.ves.io.schema.dns_domain.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0087.public.ves.io.schema.dns_load_balancer.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0088.public.ves.io.schema.dns_lb_health_check.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0089.public.ves.io.schema.dns_lb_pool.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0090.public.ves.io.schema.observability.synthetic_monitor.v1_dns_monitor.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0091.public.ves.io.schema.dns_zone.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0092.public.ves.io.schema.shape.data_delivery.receiver.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0093.public.ves.io.schema.shape.data_delivery.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0094.public.ves.io.schema.bigcne.data_group.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0095.public.ves.io.schema.shape.data_delivery.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0096.public.ves.io.schema.data_type.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0097.public.ves.io.schema.operate.debug.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0098.public.ves.io.schema.operate.dhcp.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0100.public.ves.io.schema.discovered_service.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0101.public.ves.io.schema.discovery.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0102.public.ves.io.schema.endpoint.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0103.public.ves.io.schema.enhanced_firewall_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0104.public.ves.io.schema.views.external_connector.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0105.public.ves.io.schema.dns_zone.rrset.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0106.public.ves.io.schema.dns_zone.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0107.public.ves.io.schema.malware_protection.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0108.public.ves.io.schema.secret_management.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0109.public.ves.io.schema.voltshare.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0110.public.ves.io.schema.maintenance_status.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0111.public.ves.io.schema.fast_acl.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0112.public.ves.io.schema.fast_acl_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0113.public.ves.io.schema.filter_set.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0114.public.ves.io.schema.fleet.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0115.public.ves.io.schema.flow_anomaly.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0116.public.ves.io.schema.operate.flow.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0117.public.ves.io.schema.flow.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0118.public.ves.io.schema.forwarding_class.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0119.public.ves.io.schema.data_privacy.geo_config.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0120.public.ves.io.schema.geo_location_set.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0121.public.ves.io.schema.gia.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0122.public.ves.io.schema.global_log_receiver.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0123.public.ves.io.schema.observability.synthetic_monitor.v1_http_monitor.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0124.public.ves.io.schema.healthcheck.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0125.public.ves.io.schema.ike1.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0126.public.ves.io.schema.views.ike_phase1_profile.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0127.public.ves.io.schema.ike2.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0128.public.ves.io.schema.views.ike_phase2_profile.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0129.public.ves.io.schema.ip_prefix_set.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0130.public.ves.io.schema.implicit_label.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0131.public.ves.io.schema.infraprotect.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0132.public.ves.io.schema.infraprotect_asn.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0133.public.ves.io.schema.infraprotect_asn_prefix.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0134.public.ves.io.schema.infraprotect_deny_list_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0135.public.ves.io.schema.infraprotect_firewall_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0136.public.ves.io.schema.infraprotect_firewall_rule_group.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0137.public.ves.io.schema.infraprotect_firewall_ruleset.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0138.public.ves.io.schema.infraprotect_information.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0139.public.ves.io.schema.infraprotect_internet_prefix_advertisement.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0140.public.ves.io.schema.usage.invoice.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0141.public.ves.io.schema.k8s_cluster.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0142.public.ves.io.schema.k8s_cluster_role.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0143.public.ves.io.schema.k8s_cluster_role_binding.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0144.public.ves.io.schema.k8s_pod_security_admission.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0145.public.ves.io.schema.k8s_pod_security_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0146.public.ves.io.schema.known_label.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0147.public.ves.io.schema.known_label_key.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0148.public.ves.io.schema.data_privacy.lma_region.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0149.public.ves.io.schema.operate.lte.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0150.public.ves.io.schema.log_receiver.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0151.public.ves.io.schema.log.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0152.public.ves.io.schema.malicious_user_mitigation.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0153.public.ves.io.schema.tenant_management.managed_tenant.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0154.public.ves.io.schema.shape.mobile_app_shield.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0155.public.ves.io.schema.shape.mobile_integrator.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0156.public.ves.io.schema.shape.bot_defense.mobile_sdk.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0157.public.ves.io.schema.shape.bot_defense.mobile_base_config.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0158.public.ves.io.schema.module_management.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0159.public.ves.io.schema.nat_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0160.public.ves.io.schema.nfv_service.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0161.public.ves.io.schema.nginx.one.nginx_csg.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0162.public.ves.io.schema.nginx.one.nginx_instance.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0163.public.ves.io.schema.nginx.one.nginx_server.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0164.public.ves.io.schema.nginx.one.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0165.public.ves.io.schema.nginx.one.nginx_service_discovery.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0166.public.ves.io.schema.namespace.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0167.public.ves.io.schema.namespace_role.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0168.public.ves.io.schema.pbac.navigation_tile.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0169.public.ves.io.schema.network_connector.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0170.public.ves.io.schema.network_firewall.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0171.public.ves.io.schema.network_interface.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0172.public.ves.io.schema.network_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0173.public.ves.io.schema.network_policy_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0174.public.ves.io.schema.network_policy_set.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0175.public.ves.io.schema.observability.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0176.public.ves.io.schema.marketplace.aws_account.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0177.public.ves.io.schema.views.origin_pool.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0178.public.ves.io.schema.billing.payment_method.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0179.public.ves.io.schema.operate.ping.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0180.public.ves.io.schema.pbac.plan.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0181.public.ves.io.schema.billing.plan_transition.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0182.public.ves.io.schema.policer.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0183.public.ves.io.schema.views.policy_based_routing.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0184.public.ves.io.schema.shape.bot_defense.protected_application.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0185.public.ves.io.schema.protocol_policer.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0186.public.ves.io.schema.views.proxy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0187.public.ves.io.schema.public_ip.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0188.public.ves.io.schema.quota.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0189.public.ves.io.schema.rbac_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0190.public.ves.io.schema.rate_limiter.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0191.public.ves.io.schema.views.rate_limiter_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0192.public.ves.io.schema.registration.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0193.public.ves.io.schema.report.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0194.public.ves.io.schema.report_config.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0195.public.ves.io.schema.role.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0196.public.ves.io.schema.trusted_ca_list.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0197.public.ves.io.schema.route.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0198.public.ves.io.schema.operate.route.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0199.public.ves.io.schema.srv6_network_slice.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0200.public.ves.io.schema.oidc_provider.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0201.public.ves.io.schema.secret_management_access.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0202.public.ves.io.schema.secret_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0203.public.ves.io.schema.secret_policy_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0204.public.ves.io.schema.segment.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0205.public.ves.io.schema.segment_connection.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0206.public.ves.io.schema.sensitive_data_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0207.public.ves.io.schema.graph.service.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0208.public.ves.io.schema.service_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0209.public.ves.io.schema.service_policy_rule.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0210.public.ves.io.schema.service_policy_set.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0211.public.ves.io.schema.shape_bot_defense_instance.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0212.public.ves.io.schema.shape.bot_defense.reporting.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0213.public.ves.io.schema.shape.bot_defense.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0214.public.ves.io.schema.shape.recognize.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0215.public.ves.io.schema.shape.safeap.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0216.public.ves.io.schema.shape.safe.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0217.public.ves.io.schema.signup.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0218.public.ves.io.schema.site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0219.public.ves.io.schema.graph.site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0220.public.ves.io.schema.site_mesh_group.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0221.public.ves.io.schema.status_at_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0222.public.ves.io.schema.stored_object.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0223.public.ves.io.schema.subnet.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0224.public.ves.io.schema.usage.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0225.public.ves.io.schema.subscription.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0226.public.ves.io.schema.observability.synthetic_monitor.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0227.public.ves.io.schema.scim.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0228.public.ves.io.schema.tpm_api_key.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0229.public.ves.io.schema.tpm_category.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0230.public.ves.io.schema.tpm_manager.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0231.public.ves.io.schema.tpm_provision.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0232.public.ves.io.schema.operate.tcpdump.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0233.public.ves.io.schema.tenant.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0234.public.ves.io.schema.views.tenant_configuration.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0235.public.ves.io.schema.tenant_management.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0236.public.ves.io.schema.tenant_management.tenant_profile.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0237.public.ves.io.schema.views.third_party_application.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0238.public.ves.io.schema.ticket_management.ticket_tracking_system.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0239.public.ves.io.schema.token.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0240.public.ves.io.schema.topology.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0241.public.ves.io.schema.operate.traceroute.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0242.public.ves.io.schema.tunnel.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0243.public.ves.io.schema.infraprotect_tunnel.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0244.public.ves.io.schema.operate.usb.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0245.public.ves.io.schema.usb_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0246.public.ves.io.schema.ui.static_component.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0247.public.ves.io.schema.upgrade_status.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0248.public.ves.io.schema.virtual_appliance.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0249.public.ves.io.schema.usage.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0250.public.ves.io.schema.usage.plan.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0251.public.ves.io.schema.user.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0252.public.ves.io.schema.user_group.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0253.public.ves.io.schema.user_identification.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0254.public.ves.io.schema.user.setting.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0255.public.ves.io.schema.views.view_internal.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0256.public.ves.io.schema.views.terraform_parameters.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0257.public.ves.io.schema.virtual_host.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0258.public.ves.io.schema.virtual_k8s.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0259.public.ves.io.schema.virtual_network.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0260.public.ves.io.schema.virtual_site.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0261.public.ves.io.schema.voltshare_admin_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0262.public.ves.io.schema.waf.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0263.public.ves.io.schema.waf_exclusion_policy.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0264.public.ves.io.schema.waf_signatures_changelog.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0265.public.ves.io.schema.operate.wifi.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0266.public.ves.io.schema.was.user_token.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0267.public.ves.io.schema.views.workload.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0268.public.ves.io.schema.workload_flavor.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0269.public.ves.io.schema.marketplace.xc_saas.ves-swagger.json +1 -0
- package/dist/docs/specifications/api/docs-cloud-f5-com.0270.public.ves.io.schema.graph.l3l4.ves-swagger.json +1 -0
- package/dist/index.js +21 -21
- package/dist/index.js.map +1 -1
- package/dist/services/api-specs.d.ts.map +1 -1
- package/dist/services/api-specs.js +15 -3
- package/dist/services/api-specs.js.map +1 -1
- package/dist/services/documentation.d.ts.map +1 -1
- package/dist/services/documentation.js +25 -9
- package/dist/services/documentation.js.map +1 -1
- package/package.json +6 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"openapi":"3.0.0","info":{"title":"F5 Distributed Cloud Services API for ves.io.schema.route","description":"route object is used to configuring L7 routing decision. route is made of three things\n1. Match condition for incoming request\n2. Actions to take if match is true\n3. Whether custom java script processing is enabled for this route match.","version":""},"paths":{"/api/config/namespaces/{metadata.namespace}/routes":{"post":{"summary":"Create Route","description":"Create route object in a given namespace. Route object is list of route rules.\nEach rule has match condition to match incoming requests and actions to take on matching requests.\nVirtual host object has reference to route object","operationId":"ves.io.schema.route.API.Create","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeCreateResponse"}}}},"401":{"description":"Returned when operation is not authorized","content":{"application/json":{"schema":{"format":"string"}}}},"403":{"description":"Returned when there is no permission to access resource","content":{"application/json":{"schema":{"format":"string"}}}},"404":{"description":"Returned when resource is not found","content":{"application/json":{"schema":{"format":"string"}}}},"409":{"description":"Returned when operation on resource is conflicting with current value","content":{"application/json":{"schema":{"format":"string"}}}},"429":{"description":"Returned when operation has been rejected as it is happening too frequently","content":{"application/json":{"schema":{"format":"string"}}}},"500":{"description":"Returned when server encountered an error in processing API","content":{"application/json":{"schema":{"format":"string"}}}},"503":{"description":"Returned when service is unavailable temporarily","content":{"application/json":{"schema":{"format":"string"}}}},"504":{"description":"Returned when server timed out processing request","content":{"application/json":{"schema":{"format":"string"}}}}},"parameters":[{"name":"metadata.namespace","description":"namespace\n\nx-example: \"staging\"\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"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeCreateRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-route-api-create"},"x-ves-proto-rpc":"ves.io.schema.route.API.Create"},"x-displayname":"Route","x-ves-proto-service":"ves.io.schema.route.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"},"/api/config/namespaces/{metadata.namespace}/routes/{metadata.name}":{"put":{"summary":"Replace Route","description":"Replace route object in a given namespace. Route object is list of route rules.\nEach rule has match condition to match incoming requests and actions to take on matching requests.\nVirtual host object has reference to route object","operationId":"ves.io.schema.route.API.Replace","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeReplaceResponse"}}}},"401":{"description":"Returned when operation is not authorized","content":{"application/json":{"schema":{"format":"string"}}}},"403":{"description":"Returned when there is no permission to access resource","content":{"application/json":{"schema":{"format":"string"}}}},"404":{"description":"Returned when resource is not found","content":{"application/json":{"schema":{"format":"string"}}}},"409":{"description":"Returned when operation on resource is conflicting with current value","content":{"application/json":{"schema":{"format":"string"}}}},"429":{"description":"Returned when operation has been rejected as it is happening too frequently","content":{"application/json":{"schema":{"format":"string"}}}},"500":{"description":"Returned when server encountered an error in processing API","content":{"application/json":{"schema":{"format":"string"}}}},"503":{"description":"Returned when service is unavailable temporarily","content":{"application/json":{"schema":{"format":"string"}}}},"504":{"description":"Returned when server timed out processing request","content":{"application/json":{"schema":{"format":"string"}}}}},"parameters":[{"name":"metadata.namespace","description":"namespace\n\nx-example: \"staging\"\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"}},{"name":"metadata.name","description":"name\n\nx-example: \"acmecorp-web\"\nThe configuration object to be replaced will be looked up by name","in":"path","required":true,"x-displayname":"Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeReplaceRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-route-api-replace"},"x-ves-proto-rpc":"ves.io.schema.route.API.Replace"},"x-displayname":"Route","x-ves-proto-service":"ves.io.schema.route.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"},"/api/config/namespaces/{namespace}/routes":{"get":{"summary":"List Route","description":"List the set of route in a namespace","operationId":"ves.io.schema.route.API.List","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeListResponse"}}}},"401":{"description":"Returned when operation is not authorized","content":{"application/json":{"schema":{"format":"string"}}}},"403":{"description":"Returned when there is no permission to access resource","content":{"application/json":{"schema":{"format":"string"}}}},"404":{"description":"Returned when resource is not found","content":{"application/json":{"schema":{"format":"string"}}}},"409":{"description":"Returned when operation on resource is conflicting with current value","content":{"application/json":{"schema":{"format":"string"}}}},"429":{"description":"Returned when operation has been rejected as it is happening too frequently","content":{"application/json":{"schema":{"format":"string"}}}},"500":{"description":"Returned when server encountered an error in processing API","content":{"application/json":{"schema":{"format":"string"}}}},"503":{"description":"Returned when service is unavailable temporarily","content":{"application/json":{"schema":{"format":"string"}}}},"504":{"description":"Returned when server timed out processing request","content":{"application/json":{"schema":{"format":"string"}}}}},"parameters":[{"name":"namespace","description":"namespace\n\nx-example: \"ns1\"\nNamespace to scope the listing of route","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"label_filter","description":"x-example: \"env in (staging, testing), tier in (web, db)\"\nA LabelSelectorType expression that every item in list response will satisfy","in":"query","required":false,"x-displayname":"Label Filter","schema":{"type":"string"}},{"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://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-route-api-list"},"x-ves-proto-rpc":"ves.io.schema.route.API.List"},"x-displayname":"Route","x-ves-proto-service":"ves.io.schema.route.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"},"/api/config/namespaces/{namespace}/routes/{name}":{"get":{"summary":"Get Route","description":"Get route object in a given namespace. Route object is list of route rules.\nEach rule has match condition to match incoming requests and actions to take on matching requests.\nVirtual host object has reference to route object","operationId":"ves.io.schema.route.API.Get","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeGetResponse"}}}},"401":{"description":"Returned when operation is not authorized","content":{"application/json":{"schema":{"format":"string"}}}},"403":{"description":"Returned when there is no permission to access resource","content":{"application/json":{"schema":{"format":"string"}}}},"404":{"description":"Returned when resource is not found","content":{"application/json":{"schema":{"format":"string"}}}},"409":{"description":"Returned when operation on resource is conflicting with current value","content":{"application/json":{"schema":{"format":"string"}}}},"429":{"description":"Returned when operation has been rejected as it is happening too frequently","content":{"application/json":{"schema":{"format":"string"}}}},"500":{"description":"Returned when server encountered an error in processing API","content":{"application/json":{"schema":{"format":"string"}}}},"503":{"description":"Returned when service is unavailable temporarily","content":{"application/json":{"schema":{"format":"string"}}}},"504":{"description":"Returned when server timed out processing request","content":{"application/json":{"schema":{"format":"string"}}}}},"parameters":[{"name":"namespace","description":"namespace\n\nx-example: \"ns1\"\nThe namespace in which the configuration object is present","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"name\n\nx-example: \"name\"\nThe name of the configuration object to be fetched","in":"path","required":true,"x-displayname":"Name","schema":{"type":"string"}},{"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 referrred 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://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-route-api-get"},"x-ves-proto-rpc":"ves.io.schema.route.API.Get"},"delete":{"summary":"Delete Route","description":"Delete the specified route","operationId":"ves.io.schema.route.API.Delete","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned when operation is not authorized","content":{"application/json":{"schema":{"format":"string"}}}},"403":{"description":"Returned when there is no permission to access resource","content":{"application/json":{"schema":{"format":"string"}}}},"404":{"description":"Returned when resource is not found","content":{"application/json":{"schema":{"format":"string"}}}},"409":{"description":"Returned when operation on resource is conflicting with current value","content":{"application/json":{"schema":{"format":"string"}}}},"429":{"description":"Returned when operation has been rejected as it is happening too frequently","content":{"application/json":{"schema":{"format":"string"}}}},"500":{"description":"Returned when server encountered an error in processing API","content":{"application/json":{"schema":{"format":"string"}}}},"503":{"description":"Returned when service is unavailable temporarily","content":{"application/json":{"schema":{"format":"string"}}}},"504":{"description":"Returned when server timed out processing request","content":{"application/json":{"schema":{"format":"string"}}}}},"parameters":[{"name":"namespace","description":"namespace\n\nx-example: \"ns1\"\nNamespace in which the configuration object is present","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"name\n\nx-example: \"name\"\nName of the configuration object","in":"path","required":true,"x-displayname":"Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeDeleteRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-route-api-delete"},"x-ves-proto-rpc":"ves.io.schema.route.API.Delete"},"x-displayname":"Route","x-ves-proto-service":"ves.io.schema.route.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"}},"x-displayname":"Route","x-ves-proto-package":"ves.io.schema.route","components":{"schemas":{"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"},"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\n regex match on value\n exact match of value\n presence of header\n\nHeader Match can also be inverse of above, which be used to check\n missing header or\n non-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]\n Header value to match exactly\n\nExample: ` \"application/json\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 256\n ves.io.schema.rules.string.not_empty: true\n","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"}},"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"},"name":{"type":"string","description":" Name of the header\n\nExample: ` \"Content-Type\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.http_header_field: true\n ves.io.schema.rules.string.max_bytes: 256\n ves.io.schema.rules.string.min_bytes: 1\n","title":"name","minLength":1,"maxLength":256,"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"}},"presence":{"type":"boolean","description":"Exclusive with [exact regex]\n If true, check for presence of header","title":"presence","format":"boolean","x-displayname":"Presence"},"regex":{"type":"string","description":"Exclusive with [exact presence]\n Regex match of the header value in re2 format\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 256\n ves.io.schema.rules.string.not_empty: true\n ves.io.schema.rules.string.regex: true\n","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"}}}},"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)\n then kind will hold the referred object's kind (e.g. \"route\")\n\nExample: ` \"virtual_site\"`","title":"kind","x-displayname":"Kind","x-ves-example":"virtual_site"},"name":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then name will hold the referred object's(e.g. route's) name.\n\nExample: ` \"contactus-route\"`","title":"name","x-displayname":"Name","x-ves-example":"contactus-route"},"namespace":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then namespace will hold the referred object's(e.g. route's) namespace.\n\nExample: ` \"ns1\"`","title":"namespace","x-displayname":"Namespace","x-ves-example":"ns1"},"tenant":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then tenant will hold the referred object's(e.g. route's) tenant.\n\nExample: ` \"acmecorp\"`","title":"tenant","x-displayname":"Tenant","x-ves-example":"acmecorp"},"uid":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then uid will hold the referred object's(e.g. route's) uid.\n\nExample: ` \"d15f1fad-4d37-48c0-8706-df1824d76d31\"`","title":"uid","x-displayname":"UID","x-ves-example":"d15f1fad-4d37-48c0-8706-df1824d76d31"}}},"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]\n Exact path value to match\n\nExample: ` \"/logout\"`\n\nValidation Rules:\n ves.io.schema.rules.string.http_path: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"prefix":{"type":"string","description":"Exclusive with [path regex]\n Path prefix to match (e.g. the value / will match on all paths)\n\nExample: ` \"/register/\"`\n\nValidation Rules:\n ves.io.schema.rules.string.http_path: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"regex":{"type":"string","description":"Exclusive with [path prefix]\n Regular expression of path match (e.g. the value .* will match on all paths)\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 256\n ves.io.schema.rules.string.min_bytes: 1\n ves.io.schema.rules.string.regex: true\n","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"}}}},"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":{"$ref":"#/components/schemas/ioschemaEmpty"},"port":{"type":"integer","description":"Exclusive with [no_port_match port_ranges]\n Exact Port to match\n\nExample: ` \"6443\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 65535\n","title":"port","format":"int64","x-displayname":"Port","x-ves-example":"6443","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"65535"}},"port_ranges":{"type":"string","description":"Exclusive with [no_port_match port]\n Port range to match\n\nExample: ` \"8080-8191\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 32\n ves.io.schema.rules.string.min_len: 1\n ves.io.schema.rules.string.port_range: true\n","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"}}}},"ioschemaQueryParameterMatcherType":{"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":"QueryParameterMatcherType","x-displayname":"Query Parameter to Match","x-ves-oneof-field-value_match":"[\"exact\",\"regex\"]","x-ves-proto-message":"ves.io.schema.QueryParameterMatcherType","properties":{"exact":{"type":"string","description":"Exclusive with [regex]\n Exact match value for the query parameter key","title":"exact","x-displayname":"Exact"},"key":{"type":"string","description":" Query parameter key\n In the above example, assignee_username is the key\n\nExample: ` \"assignee_username\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_bytes: 256\n ves.io.schema.rules.string.min_bytes: 1\n","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"}},"regex":{"type":"string","description":"Exclusive with [exact]\n Regex match value for the query parameter key\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 256\n ves.io.schema.rules.string.min_bytes: 1\n ves.io.schema.rules.string.regex: true\n","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"}}}},"policyHTMLPosition":{"type":"string","description":"x-displayName: \"HTML Position\"\nPosition of the HTML tag to insert in HTML document\n\n - BEGINNING: x-displayName: \"Beginning of HTML tag\"\nBeginning of HTML tag.\n - END: x-displayName: \"End of HTML tag\"\nEnd of HTML tag.\n - BEFORE: x-displayName: \"Before HTML tag\"\nBefore HTML tag.\n - AFTER: x-displayName: \"After HTML tag\"\nAfter HTML tag.","title":"HTMLPosition","enum":["BEGINNING","END","BEFORE","AFTER"],"default":"BEGINNING"},"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\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := &pb.Foo{}\n if 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.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\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\n package google.profile;\n message Person {\n string first_name = 1;\n string 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][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking 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."},"value":{"type":"string","description":"Must be a valid serialized protocol buffer of the above specified type.","format":"byte"}}},"routeBotDefenseJavascriptInjectionType":{"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":{"$ref":"#/components/schemas/routeJavaScriptLocation"},"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.\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 5\n ves.io.schema.rules.repeated.min_items: 1\n ves.io.schema.rules.repeated.unique: true\n","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"}}}},"routeContentRewriteType":{"type":"object","description":"x-displayName: \"Content Rewrite Type\"\nRewrite HTML response to insert HTML content such as Javascript <script> tags into the HTML document","title":"ContentRewriteType","properties":{"element_selector":{"type":"string","description":"x-displayName: \"Element selector to rewrite\"\nx-example: \"value\"\nx-required\nElement selector to insert into.","title":"Element selector"},"insert_content":{"type":"string","description":"x-displayName: \"HTML Content to insert\"\nx-example: \"value\"\nHTML content to insert.","title":"Insert Content"},"position":{"$ref":"#/components/schemas/policyHTMLPosition"}}},"routeContextExtensionInfo":{"type":"object","description":"x-displayName: \"Context Extension Configuration\"\nContext Extension Configuration details","title":"ContextExtensionInfo","properties":{"context_extensions":{"type":"object","description":"x-displayName: \"Context Extensions\"\nx-example: \"value\"\nprovide extra context for the external authorization server on specific virtual hosts or routes.","title":"context_extensions"}}},"routeCookieForHashing":{"type":"object","description":"Two types of cookie affinity:\n\n1. Passive. Takes a cookie that's present in the cookies header and\n hashes on its value.\n\n2. Generated. Generates and sets a cookie with an expiration (TTL)\n on the first request from the client in its response to the client,\n based on the endpoint the request gets sent to. The client then\n presents this on the next and all subsequent requests. The hash of\n this is sufficient to ensure these requests get sent to the same\n endpoint. The cookie is generated by hashing the source and\n destination ports and addresses so that multiple independent HTTP2\n streams on the same connection will independently receive the same\n cookie, 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":{"$ref":"#/components/schemas/ioschemaEmpty"},"add_secure":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_httponly":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_samesite":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_secure":{"$ref":"#/components/schemas/ioschemaEmpty"},"name":{"type":"string","description":" The name of the cookie that will be used to obtain the hash key. If the\n cookie is not present and TTL below is not set, no hash will be\n produced\n\nExample: ` \"userid\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n","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"}},"path":{"type":"string","description":" The name of the path for the cookie. If no path is specified here, no path\n will be set for the cookie\n\nExample: ` \"/Users/userid/browser/cookies\"`","title":"path","x-displayname":"Path","x-ves-example":"/Users/userid/browser/cookies"},"samesite_lax":{"$ref":"#/components/schemas/ioschemaEmpty"},"samesite_none":{"$ref":"#/components/schemas/ioschemaEmpty"},"samesite_strict":{"$ref":"#/components/schemas/ioschemaEmpty"},"ttl":{"type":"integer","description":" If specified, a cookie with the TTL will be generated if the cookie is\n not present. If the TTL is present and zero, the generated cookie will\n be a session cookie. TTL value is in milliseconds\n\nExample: ` \"5000\"`","title":"ttl","format":"int64","x-displayname":"TTL","x-ves-example":"5000"}}},"routeCreateRequest":{"type":"object","description":"This is the input message of the 'Create' RPC","title":"CreateRequest is used to create an instance of route","x-displayname":"Create Request","x-ves-proto-message":"ves.io.schema.route.CreateRequest","properties":{"metadata":{"$ref":"#/components/schemas/schemaObjectCreateMetaType"},"spec":{"$ref":"#/components/schemas/schemarouteCreateSpecType"}}},"routeCreateResponse":{"type":"object","x-ves-proto-message":"ves.io.schema.route.CreateResponse","properties":{"metadata":{"$ref":"#/components/schemas/schemaObjectGetMetaType"},"spec":{"$ref":"#/components/schemas/schemarouteGetSpecType"},"system_metadata":{"$ref":"#/components/schemas/schemaSystemObjectGetMetaType"}}},"routeDeleteRequest":{"type":"object","description":"This is the input message of the 'Delete' RPC.","title":"DeleteRequest is used to delete a route","x-displayname":"Delete Request","x-ves-proto-message":"ves.io.schema.route.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"},"name":{"type":"string","description":" Name of the configuration object\n\nExample: ` \"name\"`","title":"name","x-displayname":"Name","x-ves-example":"name"},"namespace":{"type":"string","description":" Namespace in which the configuration object is present\n\nExample: ` \"ns1\"`","title":"namespace","x-displayname":"Namespace","x-ves-example":"ns1"}}},"routeGetResponse":{"type":"object","description":"This is the output message of the 'Get' RPC","title":"GetResponse is the shape of a read route","x-displayname":"Get Response","x-ves-proto-message":"ves.io.schema.route.GetResponse","properties":{"create_form":{"$ref":"#/components/schemas/routeCreateRequest"},"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"},"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"},"metadata":{"$ref":"#/components/schemas/schemaObjectGetMetaType"},"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"},"replace_form":{"$ref":"#/components/schemas/routeReplaceRequest"},"spec":{"$ref":"#/components/schemas/schemarouteGetSpecType"},"status":{"type":"array","description":"The status reported by different services for this configuration object","title":"status","items":{"$ref":"#/components/schemas/routeStatusObject"},"x-displayname":"Status"},"system_metadata":{"$ref":"#/components/schemas/schemaSystemObjectGetMetaType"}}},"routeGetResponseFormatCode":{"type":"string","description":"x-displayName: \"Get Response Format\"\nThis is the various forms that can be requested to be sent in the GetResponse\n\n - GET_RSP_FORMAT_DEFAULT: x-displayName: \"Default Format\"\nDefault format of returned resource\n - GET_RSP_FORMAT_FOR_CREATE: x-displayName: \"Create request Format\"\nResponse should be in CreateRequest format\n - GET_RSP_FORMAT_FOR_REPLACE: x-displayName: \"Replace request format\"\nResponse should be in ReplaceRequest format\n - GET_RSP_FORMAT_STATUS: x-displayName: \"Status format\"\nResponse should be in StatusObject(s) format\n - GET_RSP_FORMAT_READ: x-displayName: \"GetSpecType format\"\nResponse should be in format of GetSpecType\n - GET_RSP_FORMAT_REFERRING_OBJECTS: x-displayName: \"Referring Objects\"\nResponse should have other objects referring to this object\n - GET_RSP_FORMAT_BROKEN_REFERENCES: x-displayName: \"Broken Referred Objects\"\nResponse should have deleted and disabled objects referrred by this object","title":"GetResponseFormatCode","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"},"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":{"$ref":"#/components/schemas/routeCookieForHashing"},"header_name":{"type":"string","description":"Exclusive with [cookie source_ip]\n The name or key of the request header that will be used to obtain the hash key\n\nExample: ` \"host\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n","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"}},"source_ip":{"type":"boolean","description":"Exclusive with [cookie header_name]\n Hash based on source IP address\n\nExample: ` true`","title":"Source IP","format":"boolean","x-displayname":"Source IP"},"terminal":{"type":"boolean","description":" Specify if its a terminal policy\n\nExample: ` true`","title":"terminal","format":"boolean","x-displayname":"Terminal"}}},"routeJavaScriptLocation":{"type":"string","description":"All inside networks.\n\nInsert JavaScript after <head> tag\nInsert JavaScript after </title> tag.\nInsert JavaScript before first <script> 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"},"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.\n\nExample: ` \"https://www.example.com/login/common.js?single\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_bytes: 2048\n ves.io.schema.rules.string.min_bytes: 1\n","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"}},"tag_attributes":{"type":"array","description":" Add the tag attributes you want to include in your Javascript tag.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 9\n ves.io.schema.rules.repeated.unique: true\n","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"}}}},"routeListResponse":{"type":"object","description":"This is the output message of 'List' RPC.","title":"ListResponse is the collection of route","x-displayname":"List Response","x-ves-proto-message":"ves.io.schema.route.ListResponse","properties":{"errors":{"type":"array","description":" Errors(if any) while listing items from collection","title":"errors","items":{"$ref":"#/components/schemas/schemaErrorType"},"x-displayname":"Errors"},"items":{"type":"array","description":" items represents the collection in response","title":"items","items":{"$ref":"#/components/schemas/routeListResponseItem"},"x-displayname":"Items"}}},"routeListResponseItem":{"type":"object","description":"By default a summary of route 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 route","x-displayname":"List Item","x-ves-proto-message":"ves.io.schema.route.ListResponseItem","properties":{"annotations":{"type":"object","description":" The set of annotations present on this route","title":"annotations","x-displayname":"Annotations"},"description":{"type":"string","description":" The description set for this route","title":"description","x-displayname":"Description"},"disabled":{"type":"boolean","description":" A value of true indicates route is administratively disabled","title":"disabled","format":"boolean","x-displayname":"Disabled"},"get_spec":{"$ref":"#/components/schemas/schemarouteGetSpecType"},"labels":{"type":"object","description":" The set of labels present on this route","title":"labels","x-displayname":"Labels"},"metadata":{"$ref":"#/components/schemas/schemaObjectGetMetaType"},"name":{"type":"string","description":" The name of this route\n\nExample: ` \"name\"`","title":"name","x-displayname":"Name","x-ves-example":"name"},"namespace":{"type":"string","description":" The namespace this item belongs to\n\nExample: ` \"ns1\"`","title":"namespace","x-displayname":"Namespace","x-ves-example":"ns1"},"owner_view":{"$ref":"#/components/schemas/schemaViewRefType"},"status_set":{"type":"array","description":" The status reported by different services for this configuration object","title":"status","items":{"$ref":"#/components/schemas/routeStatusObject"},"x-displayname":"Status"},"system_metadata":{"$ref":"#/components/schemas/schemaSystemObjectGetMetaType"},"tenant":{"type":"string","description":" The tenant this item belongs to\n\nExample: ` \"acmecorp\"`","title":"tenant","x-displayname":"Tenant","x-ves-example":"acmecorp"},"uid":{"type":"string","description":" The unique uid of this route\n\nExample: ` \"d27938ba-967e-40a7-9709-57b8627f9f75\"`","title":"uid","x-displayname":"UID","x-ves-example":"d27938ba-967e-40a7-9709-57b8627f9f75"}}},"routeMirrorPolicyType":{"type":"object","description":"MirrorPolicy is used for shadowing traffic from one cluster to another. The approach used\nis \"fire and forget\", meaning it will not wait for the shadow cluster to\nrespond before returning the response from the primary cluster. All normal statistics are\ncollected for the shadow cluster making this feature useful for testing and troubleshooting.","title":"MirrorPolicyType","x-displayname":"Mirror Policy","x-ves-proto-message":"ves.io.schema.route.MirrorPolicyType","properties":{"cluster":{"type":"array","description":" Specifies the cluster to which the requests will be mirrored. The cluster object\n referred here must be present.\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 1\n","title":"cluster","maxItems":1,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Mirror Destination Cluster","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"1"}},"percent":{"$ref":"#/components/schemas/schemaFractionalPercent"}}},"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":{"$ref":"#/components/schemas/ioschemaEmpty"},"replace_params":{"type":"string","description":"Exclusive with [remove_all_params retain_all_params]\n\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n","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"}},"retain_all_params":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"routeReplaceRequest":{"type":"object","description":"This is the input message of the 'Replace' RPC","title":"ReplaceRequest is used to replace contents of a route","x-displayname":"Replace Request","x-ves-proto-message":"ves.io.schema.route.ReplaceRequest","properties":{"metadata":{"$ref":"#/components/schemas/schemaObjectReplaceMetaType"},"spec":{"$ref":"#/components/schemas/schemarouteReplaceSpecType"}}},"routeReplaceResponse":{"type":"object","x-ves-proto-message":"ves.io.schema.route.ReplaceResponse"},"routeRouteDestination":{"type":"object","description":"Each destination is a reference to cluster, it's priority, weight and subset criteria.","title":"RouteDestination","x-displayname":"Destination","x-ves-proto-message":"ves.io.schema.route.RouteDestination","properties":{"cluster":{"type":"array","description":" Indicates the upstream cluster to which the request should be sent. If the cluster\n does not exist ServiceUnavailable response will be sent\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 1\n","title":"cluster","maxItems":1,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Cluster","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"1"}},"endpoint_subsets":{"type":"object","description":" Upstream cluster may be configured to divide its endpoints into subsets based on metadata\n attached to the endpoints. Routes may then specify the metadata that a endpoint must match in\n order to be selected by the load balancer\n\n Labels field of endpoint object's metadata is used for subset matching.\n For endpoints which are discovered in K8S or Consul cluster, the label of the service is merged with\n endpoint's labels. In case of Consul, the label is derived from the \"Tag\" field.\n For labels that are common between configured endpoint and discovered service, labels from discovered service\n takes precedence.\n\n List of key-value pairs that will be used as matching metadata. Only those endpoints of\n upstream cluster which match this metadata will be selected for load balancing\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.max_pairs: 16\n","title":"endpoint_subsets","x-displayname":"Endpoint Subsets","x-ves-example":"value","x-ves-validation-rules":{"ves.io.schema.rules.map.max_pairs":"16"}},"priority":{"type":"integer","description":" Priority of this cluster, valid only with multiple destinations are configured.\n Value of 0 will make the cluster as lowest priority upstream cluster\n Priority of 1 means highest priority and is considered active.\n When active cluster is not available, lower priority clusters are\n made active as per the increasing priority.\n\nExample: ` \"1\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 32\n","title":"Priority","format":"int64","x-displayname":"Priority","x-ves-example":"1","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"32"}},"weight":{"type":"integer","description":" When requests have to distributed among multiple upstream clusters,\n multiple destinations are configured, each having its own cluster and weight.\n Traffic is distributed among clusters based on the weight configured.\n\n Example:\n destinations:\n - cluster:\n - kind: ves.io.vega.cfg.adc.cluster.Object\n uid: cluster-1\n weight: 20\n - cluster:\n - kind: ves.io.vega.cfg.adc.cluster.Object\n uid: cluster-2\n weight: 30\n - cluster:\n - kind: ves.io.vega.cfg.adc.cluster.Object\n uid: cluster-3\n weight: 10\n\n This indicates that out of every 60 requests, 10 goes to cluster-3, 30 to\n cluster-2 and 20 to cluster-1\n\n When single destination is configured, weight is ignored. All the requests are\n sent to the cluster specified in the destination\n\nExample: ` \"10\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 65535\n","title":"weight","format":"int64","x-displayname":"Weight","x-ves-example":"10","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"65535"}}}},"routeRouteDestinationList":{"type":"object","description":"List of destination to choose if the route is match.","title":"RouteDestinationList","x-displayname":"Destination List","x-ves-displayorder":"1,8,9,25,20,27,10,11,13,14,15,16,18,19,23","x-ves-oneof-field-cluster_retract_choice":"[\"do_not_retract_cluster\",\"retract_cluster\"]","x-ves-oneof-field-host_rewrite_params":"[\"auto_host_rewrite\",\"host_rewrite\"]","x-ves-oneof-field-route_destination_rewrite":"[\"prefix_rewrite\",\"regex_rewrite\"]","x-ves-proto-message":"ves.io.schema.route.RouteDestinationList","properties":{"auto_host_rewrite":{"type":"boolean","description":"Exclusive with [host_rewrite]\n Indicates that during forwarding, the host header will be swapped with the hostname\n of the upstream host chosen by the cluster\n\nExample: ` true`","title":"Auto Host Rewrite","format":"boolean","x-displayname":"Automatic Host Rewrite"},"buffer_policy":{"$ref":"#/components/schemas/schemaBufferConfigType"},"cors_policy":{"$ref":"#/components/schemas/schemaCorsPolicy"},"csrf_policy":{"$ref":"#/components/schemas/schemaCsrfPolicy"},"destinations":{"type":"array","description":" When requests have to distributed among multiple upstream clusters,\n multiple destinations are configured, each having its own cluster and weight.\n Traffic is distributed among clusters based on the weight configured.\n\n Example:\n destinations:\n - cluster:\n - kind: ves.io.vega.cfg.adc.cluster.Object\n uid: cluster-1\n weight: 20\n - cluster:\n - kind: ves.io.vega.cfg.adc.cluster.Object\n uid: cluster-2\n weight: 30\n - cluster:\n - kind: ves.io.vega.cfg.adc.cluster.Object\n uid: cluster-3\n weight: 50\n\n This indicates that out of every 100 requests, 50 goes to cluster-3, 30 to\n cluster-2 and 20 to cluster-1\n\n When single destination is configured, weight is ignored. All the requests are\n sent to the cluster specified in the destination\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 16\n","title":"destinations","maxItems":16,"items":{"$ref":"#/components/schemas/routeRouteDestination"},"x-displayname":"Destination Origin pools (clusters)","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"16"}},"do_not_retract_cluster":{"$ref":"#/components/schemas/ioschemaEmpty"},"endpoint_subsets":{"type":"object","description":" Upstream cluster may be configured to divide its endpoints into subsets based on metadata\n attached to the endpoints. Routes may then specify the metadata that a endpoint must match in\n order to be selected by the load balancer\n\n Labels field of endpoint object's metadata is used for subset matching.\n For endpoint's which are discovered in K8S or Consul cluster, the label of the service is merged with\n endpoint's labels. In case of Consul, the label is derived from the \"Tag\" field.\n For labels that are common between configured endpoint and discovered service, labels from discovered service\n takes precedence.\n\n List of key-value pairs that will be used as matching metadata. Only those endpoints of\n upstream cluster which match this metadata will be selected for load balancing\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.max_pairs: 16\n","title":"endpoint_subsets","x-displayname":"Endpoint Subsets","x-ves-example":"value","x-ves-validation-rules":{"ves.io.schema.rules.map.max_pairs":"16"}},"hash_policy":{"type":"array","description":" Specifies a list of hash policies to use for ring hash load balancing. Each\n hash policy is evaluated individually and the combined result is used to\n route the request\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 8\n","title":"hash_policy","maxItems":8,"items":{"$ref":"#/components/schemas/routeHashPolicyType"},"x-displayname":"Hash Policy","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"8"}},"host_rewrite":{"type":"string","description":"Exclusive with [auto_host_rewrite]\n Indicates that during forwarding, the host header will be swapped with this value\n\nExample: ` \"one.volterra.com\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n","title":"HostRewrite","minLength":1,"maxLength":256,"x-displayname":"Host Rewrite","x-ves-example":"one.volterra.com","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"256","ves.io.schema.rules.string.min_len":"1"}},"mirror_policy":{"$ref":"#/components/schemas/routeMirrorPolicyType"},"prefix_rewrite":{"type":"string","description":"Exclusive with [regex_rewrite]\n prefix_rewrite indicates that during forwarding, the matched prefix (or path) should be swapped\n with its value. When using regex path matching, the entire path (not including\n the query string) will be swapped with this value. This option allows application\n URLs to be rooted at a different path from those exposed at the reverse proxy layer.\n\n Example :\n gcSpec:\n routes:\n - match:\n - headers: []\n path:\n prefix : /register/\n query_params: []\n - headers: []\n path:\n prefix: /register\n query_params: []\n routeDestination:\n prefixRewrite: \"/\"\n destinations:\n - cluster:\n - kind: cluster.Object\n uid: cluster-1\n\n Having above entries in the config, requests to /register will be stripped to /,\n while requests to /register/public will be stripped to /public\n\nExample: ` \"/\"`\n\nValidation Rules:\n ves.io.schema.rules.string.http_path: true\n ves.io.schema.rules.string.max_len: 256\n","title":"prefix_rewrite","maxLength":256,"x-displayname":"Prefix Rewrite","x-ves-example":"/","x-ves-validation-rules":{"ves.io.schema.rules.string.http_path":"true","ves.io.schema.rules.string.max_len":"256"}},"priority":{"$ref":"#/components/schemas/schemaRoutingPriority"},"query_params":{"$ref":"#/components/schemas/routeQueryParamsSimpleRoute"},"regex_rewrite":{"$ref":"#/components/schemas/schemaRegexMatchRewrite"},"retract_cluster":{"$ref":"#/components/schemas/ioschemaEmpty"},"retry_policy":{"$ref":"#/components/schemas/schemaRetryPolicyType"},"spdy_config":{"$ref":"#/components/schemas/routeSpdyConfigType"},"timeout":{"type":"integer","description":" Specifies the timeout for the route in milliseconds.\n This timeout includes all retries.\n For server side streaming, configure this field with higher value or leave it un-configured\n for infinite timeout\n\nExample: ` \"2000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 1800000\n","title":"timeout","format":"int64","x-displayname":"Timeout","x-ves-example":"2000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"1800000"}},"web_socket_config":{"$ref":"#/components/schemas/routeWebsocketConfigType"}}},"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:///\n for which message should be encoded in Base64 format.\n The message can be either plain text or html.\n E.g. \"<p> Access Denied </p>\". Base64 encoded string url for this is string:///PHA+IEFjY2VzcyBEZW5pZWQgPC9wPg==\n\nExample: ` \"OK\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 65536\n ves.io.schema.rules.string.uri_ref: true\n","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"}},"response_code":{"type":"integer","description":" response code to send\n\nExample: ` \"200\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 100\n ves.io.schema.rules.uint32.lte: 599\n","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"}}}},"routeRouteQueryParams":{"type":"object","description":"x-displayName: \"Query Parameters\"\nQuery params keys to strip while manipulating the HTTP request","title":"RouteQueryParams","properties":{"query_params":{"type":"array","description":"x-displayName: \"Query Parameters\"\nx-example: \"userid\"\nQuery params keys to strip while manipulating the HTTP request","title":"query_params","items":{"type":"string"}}}},"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\n\nExample: ` \"one.ves.io\"`","title":"host_redirect","x-displayname":"Host","x-ves-example":"one.ves.io"},"path_redirect":{"type":"string","description":"Exclusive with [prefix_rewrite]\n swap path part of incoming URL in redirect URL\n\nExample: ` \"/api/register\"`\n\nValidation Rules:\n ves.io.schema.rules.string.http_path: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"prefix_rewrite":{"type":"string","description":"Exclusive with [path_redirect]\n In Redirect response, the matched prefix (or path) should be swapped with this value.\n This option allows redirect URLs be dynamically created based on the request\n\nExample: ` \"/api/register/\"`\n\nValidation Rules:\n ves.io.schema.rules.string.http_path: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"proto_redirect":{"type":"string","description":" swap protocol part of incoming URL in redirect URL\n The protocol can be swapped with either http or https\n When incoming-proto option is specified, swapping of protocol is not done.\n\nExample: ` \"https\"`\n\nValidation Rules:\n ves.io.schema.rules.string.in: [\\\"incoming-proto\\\",\\\"http\\\",\\\"https\\\"]\n","title":"proto_redirect","x-displayname":"Protocol","x-ves-example":"https","x-ves-validation-rules":{"ves.io.schema.rules.string.in":"[\\\"incoming-proto\\\",\\\"http\\\",\\\"https\\\"]"}},"remove_all_params":{"$ref":"#/components/schemas/ioschemaEmpty"},"replace_params":{"type":"string","description":"Exclusive with [remove_all_params retain_all_params]\n\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n","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"}},"response_code":{"type":"integer","description":" The HTTP status code to use in the redirect response.\n\nExample: ` \"303\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 599\n","title":"response_code","format":"int64","x-displayname":"Response Code","x-ves-example":"303","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"599"}},"retain_all_params":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"routeRouteType":{"type":"object","description":"Each RouteType is a rule which has match condition and action. When the condition is\nmatched for incoming request, the specified action is taken.","title":"RouteType","x-displayname":"Route","x-ves-displayorder":"1,14,13,12,11,24,7,9,8,10,20,21,22,23,5,16","x-ves-oneof-field-bot_defense_javascript_injection_choice":"[\"bot_defense_javascript_injection\",\"inherited_bot_defense_javascript_injection\"]","x-ves-oneof-field-route_action":"[\"route_destination\",\"route_direct_response\",\"route_redirect\"]","x-ves-oneof-field-waf_exclusion_choice":"[\"inherited_waf_exclusion\",\"waf_exclusion_policy\"]","x-ves-proto-message":"ves.io.schema.route.RouteType","properties":{"bot_defense_javascript_injection":{"$ref":"#/components/schemas/routeBotDefenseJavascriptInjectionType"},"disable_location_add":{"type":"boolean","description":" disables append of x-volterra-location = <re-site-name> at route level, if it is configured at\n virtual-host level. This configuration is ignored on CE sites.\n\nExample: ` true`","title":"disable_location_add","format":"boolean","x-displayname":"Disable Location Addition"},"inherited_bot_defense_javascript_injection":{"$ref":"#/components/schemas/ioschemaEmpty"},"inherited_waf_exclusion":{"$ref":"#/components/schemas/ioschemaEmpty"},"match":{"type":"array","description":" route match condition\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 16\n","title":"match","maxItems":16,"items":{"$ref":"#/components/schemas/schemaRouteMatch"},"x-displayname":"Match","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"16"}},"request_cookies_to_add":{"type":"array","description":" Cookies are key-value pairs to be added to HTTP request being routed towards upstream.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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"}},"request_cookies_to_remove":{"type":"array","description":" List of keys of Cookies to be removed from the HTTP request being sent towards upstream.\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.max_bytes: 256\n ves.io.schema.rules.repeated.items.string.min_bytes: 1\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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"}},"request_headers_to_add":{"type":"array","description":" Headers are key-value pairs to be added to HTTP requests being sent towards upstream.\n Headers specified at this level are applied before headers from the\n enclosing VirtualHost object level\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n","title":"Headers to add in request","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Request Headers to Add","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32"}},"request_headers_to_remove":{"type":"array","description":" List of keys of Headers to be removed from the HTTP request being sent towards upstream.\n\nExample: ` \"host\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.max_bytes: 256\n ves.io.schema.rules.repeated.items.string.min_bytes: 1\n ves.io.schema.rules.repeated.max_items: 32\n","title":"Header to be removed from request","maxItems":32,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"Request Headers to Remove","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"}},"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.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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"}},"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\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.max_bytes: 256\n ves.io.schema.rules.repeated.items.string.min_bytes: 1\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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"}},"response_headers_to_add":{"type":"array","description":" Headers are key-value pairs to be added to HTTP response being sent towards downstream.\n Headers specified at this level are applied before headers from the\n enclosing VirtualHost object level\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n","title":"Headers to add in response","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Response Headers to Add","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32"}},"response_headers_to_remove":{"type":"array","description":" List of keys of Headers to be removed from the HTTP response being sent towards downstream.\n\nExample: ` \"host\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.max_bytes: 256\n ves.io.schema.rules.repeated.items.string.min_bytes: 1\n ves.io.schema.rules.repeated.max_items: 32\n","title":"Header to be removed from response","maxItems":32,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"Response Headers to Remove","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"}},"route_destination":{"$ref":"#/components/schemas/routeRouteDestinationList"},"route_direct_response":{"$ref":"#/components/schemas/routeRouteDirectResponse"},"route_redirect":{"$ref":"#/components/schemas/routeRouteRedirect"},"service_policy":{"$ref":"#/components/schemas/routeServicePolicyInfo"},"waf_exclusion_policy":{"$ref":"#/components/schemas/schemaviewsObjectRefType"},"waf_type":{"$ref":"#/components/schemas/schemaWafType"}}},"routeServicePolicyInfo":{"type":"object","description":"ServicePolicy configuration details at route level","title":"ServicePolicyInfo","x-displayname":"Service Policy Configuration","x-ves-oneof-field-service_policy_choice":"[\"disable\"]","x-ves-proto-message":"ves.io.schema.route.ServicePolicyInfo","properties":{"disable":{"type":"boolean","description":"Exclusive with []\n disable service policy at route level, if it is configured at virtual-host level\n\nExample: ` true`","title":"disable","format":"boolean","x-displayname":"Disable"}}},"routeSpdyConfigType":{"type":"object","description":"Request headers of such upgrade looks like below\n 'connection', 'Upgrade'\n 'upgrade', 'SPDY/3.1'\n\nConfiguration to allow UPGRADE of connection to SPDY and any additional tuning\nWith configuration to allow SPDY upgrade, ADC will produce following response\n 'HTTP/1.1 101 Switching Protocols\n 'Upgrade': 'SPDY/3.1'\n 'Connection': 'Upgrade'","title":"SpdyConfigType","x-displayname":"SPDY Configuration","x-ves-proto-message":"ves.io.schema.route.SpdyConfigType","properties":{"use_spdy":{"type":"boolean","description":" Specifies that the HTTP client connection to this route is allowed to upgrade to\n a SPDY connection\n\nExample: ` true`","title":"use_spdy","format":"boolean","x-displayname":"Use SPDY"}}},"routeStatusObject":{"type":"object","description":"Most recently observed status of object","title":"Status for route","x-displayname":"Status","x-ves-proto-message":"ves.io.schema.route.StatusObject","properties":{"conditions":{"type":"array","description":" Conditions","title":"conditions","items":{"$ref":"#/components/schemas/schemaConditionType"},"x-displayname":"Conditions"},"metadata":{"$ref":"#/components/schemas/schemaStatusMetaType"},"object_refs":{"type":"array","description":" Object reference","title":"object_refs","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Config Object"},"ver_status":{"type":"array","description":" Ver status for this route. List of statuses, one for each route entry within this route","title":"Ver status","items":{"$ref":"#/components/schemas/routeVerStatusType"},"x-displayname":"Ver status"}}},"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":{"$ref":"#/components/schemas/routeTagAttributeName"},"tag_value":{"type":"string","description":" Add the tag attribute value.\n\nExample: ` \"_imp_apg_dip_\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 1024\n","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"}}}},"routeTagAttributeName":{"type":"string","description":"Select from one of the predefined tag attributes.\n","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"},"routeVerStatusType":{"type":"object","description":"Status information sent for each route entry within route","title":"VerStatusType","x-displayname":"VER Status Type","x-ves-proto-message":"ves.io.schema.route.VerStatusType","properties":{"reason":{"type":"string","description":" A human readable string explaining the reason for reaching this condition\n\nExample: ` \"Insufficient memory in data plane\"`","title":"reason","x-displayname":"Reason","x-ves-example":"Insufficient memory in data plane"},"status":{"type":"string","description":" Status of the condition\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\nExample: ` \"Failed\"`\n\nValidation Rules:\n ves.io.schema.rules.string.in: [\\\"Incomplete\\\",\\\"Installed\\\"]\n","title":"status","x-displayname":"Status","x-ves-example":"Failed","x-ves-validation-rules":{"ves.io.schema.rules.string.in":"[\\\"Incomplete\\\",\\\"Installed\\\"]"}}}},"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\n a WebSocket connection\n\nExample: ` true`","title":"use_websocket","format":"boolean","x-displayname":"Use Websocket"}}},"schemaAppFirewallRefType":{"type":"object","description":"A list of references to the app_firewall configuration objects","title":"AppFirewallRefType","x-displayname":"App Firewall Reference","x-ves-proto-message":"ves.io.schema.AppFirewallRefType","properties":{"app_firewall":{"type":"array","description":" References to an Application Firewall configuration object\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.num_items: 1\n","title":"app_firewall","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Application Firewall","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.num_items":"1"}}}},"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.\n\nExample: ` \"value\"`","title":"Decryption Provider","x-displayname":"Decryption Provider","x-ves-example":"value"},"location":{"type":"string","description":" Location is the uri_ref. It could be in url format for string:///\n Or it could be a path if the store provider is an http/https location\n\nExample: ` \"string:///U2VjcmV0SW5mb3JtYXRpb24=\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.uri_ref: true\n","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"}},"store_provider":{"type":"string","description":" Name of the Secret Management Access object that contains information about the store to get encrypted bytes\n This field needs to be provided only if the url scheme is not string:///\n\nExample: ` \"value\"`","title":"Store Provider","x-displayname":"Store Provider","x-ves-example":"value"}}},"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\n has buffering, but we need to disable it on a specific route.\n The value of this field is ignored for virtual-host","title":"disable","format":"boolean","x-displayname":"Disable"},"max_request_bytes":{"type":"integer","description":" The maximum request size that the filter will buffer before the connection\n manager will stop buffering and return a RequestEntityTooLarge (413) response.\n\nExample: ` \"2048\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 10485760\n","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"}}}},"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\n This field needs to be provided only if the url scheme is not string:///\n\nExample: ` \"box-provider\"`","title":"Provider","x-displayname":"Provider","x-ves-example":"box-provider"},"url":{"type":"string","description":" URL of the secret. Currently supported URL schemes is string:///.\n For string:/// scheme, Secret needs to be encoded Base64 format.\n When asked for this secret, caller will get Secret bytes after Base64 decoding.\n\nExample: ` \"string:///U2VjcmV0SW5mb3JtYXRpb24=\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_bytes: 131072\n ves.io.schema.rules.string.uri_ref: true\n","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"}}}},"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"},"last_update_time":{"type":"string","description":" Last time the condition was updated","title":"last_update_time","format":"date-time","x-displayname":"Last Updated"},"reason":{"type":"string","description":" x-reason: \"Insufficient memory in data plane\"\n A human readable string explaining the reason for reaching this condition\n\nExample: ` \"value\"`","title":"reason","x-displayname":"Reason","x-ves-example":"value"},"service_name":{"type":"string","description":" Name of the service that sent the status","title":"service name","x-displayname":"Service Name"},"status":{"type":"string","description":" Status of the condition\n \"Success\" Validtion has succeded. 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\n\nExample: ` \"Failed\"`\n\nValidation Rules:\n ves.io.schema.rules.string.in: [\\\"Success\\\",\\\"Failed\\\",\\\"Incomplete\\\",\\\"Installed\\\",\\\"Down\\\",\\\"Disabled\\\",\\\"NotApplicable\\\"]\n","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\\\"]"}},"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\n\nExample: ` \"Operational\"`\n\nValidation Rules:\n ves.io.schema.rules.string.in: [\\\"Validation\\\",\\\"Operational\\\"]\n","title":"type","x-displayname":"Type","x-ves-example":"Operational","x-ves-validation-rules":{"ves.io.schema.rules.string.in":"[\\\"Validation\\\",\\\"Operational\\\"]"}}}},"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.\n\nExample: ` \"value\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.cookie_name: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"overwrite":{"type":"boolean","description":" Should the value be overwritten? If true, the value is overwritten to existing values.\n Default value is do not overwrite","title":"overwrite","format":"boolean","x-displayname":"Overwrite"},"secret_value":{"$ref":"#/components/schemas/schemaSecretType"},"value":{"type":"string","description":"Exclusive with [secret_value]\n Value of the Cookie header.\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","title":"value","maxLength":8096,"x-displayname":"Value","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}}}},"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\n GET /resources/public-data/ HTTP/1.1\n Host: bar.other\n User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3pre) Gecko/20081130 Minefield/3.1b3pre\n Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\n Accept-Language: en-us,en;q=0.5\n Accept-Encoding: gzip,deflate\n Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\n Connection: keep-alive\n Referrer: http://foo.example/examples/access-control/simpleXSInvocation.html\n Origin: http://foo.example\n\n\n HTTP/1.1 200 OK\n Date: Mon, 01 Dec 2008 00:23:53 GMT\n Server: Apache/2.0.61\n Access-Control-Allow-Origin: *\n Keep-Alive: timeout=2, max=100\n Connection: Keep-Alive\n Transfer-Encoding: chunked\n Content-Type: application/xml\n\nAn example for cross origin HTTP OPTIONS request with Access-Control-Request-* header\n\n OPTIONS /resources/post-here/ HTTP/1.1\n Host: bar.other\n User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3pre) Gecko/20081130 Minefield/3.1b3pre\n Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\n Accept-Language: en-us,en;q=0.5\n Accept-Encoding: gzip,deflate\n Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\n Connection: keep-alive\n Origin: http://foo.example\n Access-Control-Request-Method: POST\n Access-Control-Request-Headers: X-PINGOTHER, Content-Type\n\n\n HTTP/1.1 204 No Content\n Date: Mon, 01 Dec 2008 01:15:39 GMT\n Server: Apache/2.0.61 (Unix)\n Access-Control-Allow-Origin: http://foo.example\n Access-Control-Allow-Methods: POST, GET, OPTIONS\n Access-Control-Allow-Headers: X-PINGOTHER, Content-Type\n Access-Control-Max-Age: 86400\n Vary: Accept-Encoding, Origin\n Keep-Alive: timeout=2, max=100\n Connection: 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"},"allow_headers":{"type":"string","description":" Specifies the content for the access-control-allow-headers header\n\nExample: ` \"value\"`","title":"allow_headers","x-displayname":"Allow Headers","x-ves-example":"value"},"allow_methods":{"type":"string","description":" Specifies the content for the access-control-allow-methods header\n\nExample: ` \"GET\"`\n\nValidation Rules:\n ves.io.schema.rules.string.http_valid_methods: true\n","title":"allow_methods","x-displayname":"Allow Methods","x-ves-example":"GET","x-ves-validation-rules":{"ves.io.schema.rules.string.http_valid_methods":"true"}},"allow_origin":{"type":"array","description":" Specifies the origins that will be allowed to do CORS requests.\n An origin is allowed if either allow_origin or allow_origin_regex match\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.max_len: 256\n ves.io.schema.rules.repeated.items.string.min_len: 1\n ves.io.schema.rules.repeated.max_items: 128\n ves.io.schema.rules.repeated.unique: true\n","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"}},"allow_origin_regex":{"type":"array","description":" Specifies regex patterns that match allowed origins.\n An origin is allowed if either allow_origin or allow_origin_regex match\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.max_bytes: 256\n ves.io.schema.rules.repeated.items.string.min_bytes: 1\n ves.io.schema.rules.repeated.items.string.regex: true\n ves.io.schema.rules.repeated.max_items: 16\n ves.io.schema.rules.repeated.unique: true\n","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"}},"disabled":{"type":"boolean","description":" Disable the CorsPolicy for a particular route. This is useful when\n virtual-host has CorsPolicy, but we need to disable it on a specific route.\n The value of this field is ignored for virtual-host","title":"disabled","format":"boolean","x-displayname":"Disabled"},"expose_headers":{"type":"string","description":" Specifies the content for the access-control-expose-headers header\n\nExample: ` \"value\"`","title":"expose_headers","x-displayname":"Expose Headers","x-ves-example":"value"},"maximum_age":{"type":"integer","description":" Specifies the content for the access-control-max-age header in seconds.\n This indicates the maximum number of seconds the results can be cached\n A value of -1 will disable caching.\n Maximum permitted value is 86400 seconds (24 hours)\n\nExample: ` \"-1\"`\n\nValidation Rules:\n ves.io.schema.rules.int32.gte: -1\n ves.io.schema.rules.int32.lte: 86400\n","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"}}}},"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 detination.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":{"$ref":"#/components/schemas/ioschemaEmpty"},"custom_domain_list":{"$ref":"#/components/schemas/schemaDomainNameList"},"disabled":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"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"},"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":"\n A list of domain names that will be matched to loadbalancer.\n These domains are not used for SNI match.\n Wildcard names are supported in the suffix or prefix form.\n\nExample: ` \"www.foo.com\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.items.string.max_len: 256\n ves.io.schema.rules.repeated.items.string.min_len: 1\n ves.io.schema.rules.repeated.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.min_items: 1\n ves.io.schema.rules.repeated.unique: true\n","title":"Domains","minItems":1,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"Domain names","x-ves-example":"www.foo.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"}}}},"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"},"schemaErrorType":{"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":{"$ref":"#/components/schemas/schemaErrorCode"},"error_obj":{"$ref":"#/components/schemas/protobufAny"},"message":{"type":"string","description":" A human readable string of the error\n\nExample: ` \"value\"`","title":"message","x-displayname":"Message","x-ves-example":"value"}}},"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":{"$ref":"#/components/schemas/schemaDenominatorType"},"numerator":{"type":"integer","description":" sampled parts per denominator. If denominator was 10000, then value of 5 will be 5 in 10000\n\nExample: ` \"5\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","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"}}}},"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\n Host: user.volterra.com\nIn the above example, Host is the name or key of HTTP header\nIn the above example, user.volterra.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.\n Default value is do not append","title":"append","format":"boolean","x-displayname":"Append"},"name":{"type":"string","description":" Name of the HTTP header.\n\nExample: ` \"value\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"secret_value":{"$ref":"#/components/schemas/schemaSecretType"},"value":{"type":"string","description":"Exclusive with [secret_value]\n Value of the HTTP header.\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","title":"value","maxLength":8096,"x-displayname":"Value","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}}}},"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"},"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"}}},"schemaInitializersType":{"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.\n When the last pending initializer is removed, and no failing result is set, the initializers\n struct will be set to nil and the object is considered as initialized and visible to all\n clients.","title":"pending","items":{"$ref":"#/components/schemas/schemaInitializerType"},"x-displayname":"Pending"},"result":{"$ref":"#/components/schemas/schemaStatusType"}}},"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\n set by external tools to store and retrieve arbitrary metadata. They are not\n queryable and should be preserved when modifying objects.\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.keys.string.max_len: 64\n ves.io.schema.rules.map.keys.string.min_len: 1\n ves.io.schema.rules.map.values.string.max_len: 1024\n ves.io.schema.rules.map.values.string.min_len: 1\n","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"}},"description":{"type":"string","description":" Human readable description for the object\n\nExample: ` \"Virtual Host for acmecorp website\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 1200\n","title":"description","maxLength":1200,"x-displayname":"Description","x-ves-example":"Virtual Host for acmecorp website","x-ves-validation-rules":{"ves.io.schema.rules.string.max_bytes":"1200"}},"disable":{"type":"boolean","description":" A value of true will administratively disable the object\n\nExample: ` \"true\"`","title":"disable","format":"boolean","x-displayname":"Disable"},"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\n by selector expression\n\nExample: ` \"value\"`","title":"labels","x-displayname":"Labels"},"name":{"type":"string","description":" This is the name of configuration object. It has to be unique within the namespace.\n It can only be specified during create API and cannot be changed during replace API.\n The value of name has to follow DNS-1035 format.\n\nExample: ` \"acmecorp-web\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"name","x-displayname":"Name","x-ves-example":"acmecorp-web","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"namespace":{"type":"string","description":" This defines the workspace within which each the configuration object is to be created.\n Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"\n\nExample: ` \"staging\"`","title":"namespace","x-displayname":"Namespace","x-ves-example":"staging"}}},"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\n set by external tools to store and retrieve arbitrary metadata. They are not\n queryable and should be preserved when modifying objects.\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.keys.string.max_len: 64\n ves.io.schema.rules.map.keys.string.min_len: 1\n ves.io.schema.rules.map.values.string.max_len: 1024\n ves.io.schema.rules.map.values.string.min_len: 1\n","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"}},"description":{"type":"string","description":" Human readable description for the object\n\nExample: ` \"Virtual Host for acmecorp website\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 1200\n","title":"description","maxLength":1200,"x-displayname":"Description","x-ves-example":"Virtual Host for acmecorp website","x-ves-validation-rules":{"ves.io.schema.rules.string.max_bytes":"1200"}},"disable":{"type":"boolean","description":" A value of true will administratively disable the object\n\nExample: ` \"true\"`","title":"disable","format":"boolean","x-displayname":"Disable","x-ves-example":"true"},"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\n by selector expression\n\nExample: ` \"value\"`","title":"labels","x-displayname":"Labels","x-ves-example":"value"},"name":{"type":"string","description":" This is the name of configuration object. It has to be unique within the namespace.\n It can only be specified during create API and cannot be changed during replace API.\n The value of name has to follow DNS-1035 format.\n\nExample: ` \"acmecorp-web\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"name","x-displayname":"Name","x-ves-example":"acmecorp-web","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"namespace":{"type":"string","description":" This defines the workspace within which each the configuration object is to be created.\n Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"\n\nExample: ` \"staging\"`","title":"namespace","x-displayname":"Namespace","x-ves-example":"staging"}}},"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\n set by external tools to store and retrieve arbitrary metadata. They are not\n queryable and should be preserved when modifying objects.\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.keys.string.max_len: 64\n ves.io.schema.rules.map.keys.string.min_len: 1\n ves.io.schema.rules.map.values.string.max_len: 1024\n ves.io.schema.rules.map.values.string.min_len: 1\n","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"}},"description":{"type":"string","description":" Human readable description for the object\n\nExample: ` \"Virtual Host for acmecorp website\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 1200\n","title":"description","maxLength":1200,"x-displayname":"Description","x-ves-example":"Virtual Host for acmecorp website","x-ves-validation-rules":{"ves.io.schema.rules.string.max_bytes":"1200"}},"disable":{"type":"boolean","description":" A value of true will administratively disable the object\n\nExample: ` \"true\"`","title":"disable","format":"boolean","x-displayname":"Disable"},"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\n by selector expression\n\nExample: ` \"value\"`","title":"labels","x-displayname":"Labels","x-ves-example":"value"},"name":{"type":"string","description":" This is the name of configuration object. It has to be unique within the namespace.\n It can only be specified during create API and cannot be changed during replace API.\n The value of name has to follow DNS-1035 format.\n\nExample: ` \"acmecorp-web\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"name","x-displayname":"Name","x-ves-example":"acmecorp-web","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"namespace":{"type":"string","description":" This defines the workspace within which each the configuration object is to be created.\n Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"\n\nExample: ` \"staging\"`","title":"namespace","x-displayname":"Namespace","x-ves-example":"staging"}}},"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.\n\nExample: ` \"^/service/([^/]+)(/.*)$\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n ves.io.schema.rules.string.regex: true\n","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"}},"substitution":{"type":"string","description":" The string that should be substituted into matching portions of the subject string during a \n substitution operation to produce a new string.\n\nExample: ` \"\\\\2/instance/\\\\1\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n","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"}}}},"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\n\nExample: ` \"5\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gt: 0\n","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"}},"max_interval":{"type":"integer","description":" Specifies the maximum interval between retries in milliseconds.\n This parameter is optional, but must be greater than or equal\n to the base_interval if set. The default is 10 times the base_interval.\n\nExample: ` \"60\"`","title":"max_interval","format":"int64","x-displayname":"Maximum Retry Interval","x-ves-example":"60"}}},"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":{"$ref":"#/components/schemas/schemaRetryBackOff"},"num_retries":{"type":"integer","description":" Specifies the allowed number of retries. Defaults to 1.\n Retries can be done any number of times. An exponential back-off algorithm\n is used between each retry\n\nExample: ` \"3\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 8\n","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"}},"per_try_timeout":{"type":"integer","description":" Specifies a non-zero timeout per retry attempt. In milliseconds\n\nExample: ` \"1000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 600000\n","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"}},"retriable_status_codes":{"type":"array","description":" HTTP status codes that should trigger a retry in addition to those specified by retry_on.\n\nExample: ` \"403\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 16\n ves.io.schema.rules.repeated.unique: true\n","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"}},"retry_condition":{"type":"array","description":" Specifies the conditions under which retry takes place.\n Retries can be on different types of condition depending on application requirements.\n For example, network failure, all 5xx response codes, idempotent 4xx response codes, etc\n\n The possible values are\n\n \"5xx\" : Retry will be done if the upstream server responds with any 5xx response code,\n or 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\n 504 responses (Included in 5xx)\n\n \"connect-failure\" : Retry will be done if the request fails because of a connection failure to the\n upstream 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\n error code (Included in 5xx)\n\n \"retriable-4xx\" : Retry is done if the upstream server responds with a retriable 4xx response code.\n The 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\n matching 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.)\n\nExample: ` \"5xx\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.items.string.in: [\\\"5xx\\\",\\\"gateway-error\\\",\\\"connect-failure\\\",\\\"refused-stream\\\",\\\"retriable-4xx\\\",\\\"retriable-status-codes\\\",\\\"reset\\\"]\n ves.io.schema.rules.repeated.max_items: 7\n ves.io.schema.rules.repeated.min_items: 1\n ves.io.schema.rules.repeated.unique: true\n","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"}}}},"schemaRouteMatch":{"type":"object","description":"Route Match can be specified to match five things\n1. In case of HTTP \"path\" specifies URI part URL (path excluding hostname) in request.\n2. List of headers to match in incoming request.\n3. Query parameters (key, value) in the request. (Not the Query expression)\n4. HTTP method\n5. The port on which the request is received","title":"RouteMatch","x-displayname":"Match","x-ves-displayorder":"4,1,3,2,5","x-ves-proto-message":"ves.io.schema.RouteMatch","properties":{"headers":{"type":"array","description":" List of (key, value) headers\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 16\n ves.io.schema.rules.repeated.unique: true\n","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"}},"http_method":{"$ref":"#/components/schemas/schemaHttpMethod"},"incoming_port":{"$ref":"#/components/schemas/ioschemaPortMatcherType"},"path":{"$ref":"#/components/schemas/ioschemaPathMatcherType"},"query_params":{"type":"array","description":" List of (key, value) query parameters\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 16\n ves.io.schema.rules.repeated.unique: true\n","title":"query_params","maxItems":16,"items":{"$ref":"#/components/schemas/ioschemaQueryParameterMatcherType"},"x-displayname":"Query Parameters","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"16","ves.io.schema.rules.repeated.unique":"true"}}}},"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"},"schemaSecretEncodingType":{"type":"string","description":"x-displayName: \"Secret Encoding\"\nSecretEncodingType defines the encoding type of the secret before handled by the Secret Management Service.\n\n - EncodingNone: x-displayName: \"None\"\nNo Encoding\n - EncodingBase64: Base64\n\nx-displayName: \"Base64\"\nBase64 encoding","title":"SecretEncodingType","enum":["EncodingNone","EncodingBase64"],"default":"EncodingNone"},"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":{"$ref":"#/components/schemas/schemaBlindfoldSecretInfoType"},"clear_secret_info":{"$ref":"#/components/schemas/schemaClearSecretInfoType"}}},"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]\n Add domain attribute\n\nValidation Rules:\n ves.io.schema.rules.string.hostname: true\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n","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"}},"add_expiry":{"type":"string","description":"Exclusive with [ignore_expiry]\n Add expiry attribute\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n","title":"add_expiry","maxLength":256,"x-displayname":"Add expiry","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"256"}},"add_httponly":{"$ref":"#/components/schemas/ioschemaEmpty"},"add_partitioned":{"$ref":"#/components/schemas/ioschemaEmpty"},"add_path":{"type":"string","description":"Exclusive with [ignore_path]\n Add path attribute\n\nValidation Rules:\n ves.io.schema.rules.string.http_path: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"add_secure":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_domain":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_expiry":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_httponly":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_max_age":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_partitioned":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_path":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_samesite":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_secure":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_value":{"$ref":"#/components/schemas/ioschemaEmpty"},"max_age_value":{"type":"integer","description":"Exclusive with [ignore_max_age]\n Add max age attribute\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 34560000\n","title":"add_max_age","format":"int32","x-displayname":"Add Max Age","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"34560000"}},"name":{"type":"string","description":" Name of the cookie in Cookie header.\n\nExample: ` \"value\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.cookie_name: true\n ves.io.schema.rules.string.max_len: 256\n","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"}},"overwrite":{"type":"boolean","description":" Should the value be overwritten? If true, the value is overwritten to existing values.\n Default value is do not overwrite","title":"overwrite","format":"boolean","x-displayname":"Overwrite"},"samesite_lax":{"$ref":"#/components/schemas/ioschemaEmpty"},"samesite_none":{"$ref":"#/components/schemas/ioschemaEmpty"},"samesite_strict":{"$ref":"#/components/schemas/ioschemaEmpty"},"secret_value":{"$ref":"#/components/schemas/schemaSecretType"},"value":{"type":"string","description":"Exclusive with [ignore_value secret_value]\n Value of the Cookie header.\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","title":"value","maxLength":8096,"x-displayname":"Value","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}}}},"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\n for latest status object from same origin","title":"creation_timestamp","format":"date-time","x-displayname":"Creation Timestamp"},"creator_class":{"type":"string","description":" Class of creator which created this StatusObject. This will be service's DNS FQDN.\n This will be set by the system based on client certificate information.\n\nExample: ` \"ver.re1.int.ves.io\"`","title":"creator_class","x-displayname":"Creator Class","x-ves-example":"ver.re1.int.ves.io"},"creator_id":{"type":"string","description":" ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g.\n identifying the environment also). This will be set by the system based on client certificate\n information\n\nExample: ` \"ver-instance-1\"`","title":"creator_id","x-displayname":"Creator ID","x-ves-example":"ver-instance-1"},"publish":{"$ref":"#/components/schemas/schemaStatusPublishType"},"status_id":{"type":"string","description":" status_id is a field used by the generator to distinguish (if necessary) between two status\n objects for the same config object from the same site and same service and potentially same\n daemon(creator-id)","title":"status_id","x-displayname":"Status ID"},"uid":{"type":"string","description":" uid is the unique in time and space value for a StatusObject.\n\nExample: ` \"d15f1fad-4d37-48c0-8706-df1824d76d31\"`","title":"uid","x-displayname":"UID","x-ves-example":"d15f1fad-4d37-48c0-8706-df1824d76d31"},"vtrp_id":{"type":"string","description":" Origin of this status exchanged by VTRP.","title":"vtrp_id","x-displayname":"VTRP ID"},"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"}}},"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"},"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.\n\nExample: ` \"0\"`","title":"code","format":"int32","x-displayname":"Code","x-ves-example":"0"},"reason":{"type":"string","description":" A human-readable description of why this operation is in the\n \"Failure\" status. If this value is empty there\n is no information available.\n\nExample: ` \"value\"`","title":"reason","x-displayname":"Reason","x-ves-example":"value"},"status":{"type":"string","description":" Status of the operation.\n One of: \"Success\" or \"Failure\".\n\nExample: ` \"value\"`","title":"status","x-displayname":"Status","x-ves-example":"value"}}},"schemaSystemObjectGetMetaType":{"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\n created. It is not guaranteed to be set in happens-before order across separate operations.\n Clients 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"},"creator_class":{"type":"string","description":" A value identifying the class of the user or service which created this configuration object.\n\nExample: ` \"value\"`","title":"creator_class","x-displayname":"Creator Class","x-ves-example":"prism"},"creator_id":{"type":"string","description":" A value identifying the exact user or service that created this configuration object\n\nExample: ` \"value\"`","title":"creator_id","x-displayname":"Creator ID","x-ves-example":"admin@acmecorp.com"},"deletion_timestamp":{"type":"string","description":" DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This\n field is set by the server when a graceful deletion is requested by the user, and is not\n directly settable by a client. The resource is expected to be deleted (no longer visible\n from resource lists, and not reachable by name) after the time in this field, once the\n finalizers list is empty. As long as the finalizers list contains items, deletion is blocked.\n Once the deletionTimestamp is set, this value may not be unset or be set further into the\n future, although it may be shortened or the resource may be deleted prior to this time.\n For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react\n by sending a graceful termination signal to the containers in the pod. After that 30 seconds,\n the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup,\n remove the pod from the API. In the presence of network partitions, this object may still\n exist after this timestamp, until an administrator or automated process can determine the\n resource is fully terminated.\n If not set, graceful deletion of the object has not been requested.\n\n Populated by the system when a graceful deletion is requested.\n Read-only.","title":"deletion_timestamp","format":"date-time","x-displayname":"Deletion Timestamp"},"finalizers":{"type":"array","description":" Must be empty before the object is deleted from the registry. Each entry\n is an identifier for the responsible component that will remove the entry\n from the list. If the deletionTimestamp of the object is non-nil, entries\n in this list can only be removed.\n\nExample: ` \"value\"`","title":"finalizers","items":{"type":"string"},"x-displayname":"Finalizers","x-ves-example":"value"},"initializers":{"$ref":"#/components/schemas/schemaInitializersType"},"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\n by software(backend or frontend) to enable certain behavior e.g. things marked as soft-deleted(restorable).\n\nExample: ` \"'ves.io/soft-deleted''true'\"`","title":"labels","x-displayname":"Labels","x-ves-example":"'ves.io/soft-deleted': 'true'"},"modification_timestamp":{"type":"string","description":" ModificationTimestamp is a timestamp representing the server time when this object was\n last modified.","title":"modification_timestamp","format":"date-time","x-displayname":"Modification Timestamp"},"object_index":{"type":"integer","description":" Unique index for the object. Some objects need a unique integer index to be allocated\n for each object type. This field will be populated for all objects that need it and will\n be zero otherwise.\n\nExample: ` \"0\"`","title":"object_index","format":"int64","x-displayname":"Object Index","x-ves-example":"0"},"owner_view":{"$ref":"#/components/schemas/schemaViewRefType"},"tenant":{"type":"string","description":" Tenant to which this configuration object belongs to. The value for this is found from\n presented credentials.\n\nExample: ` \"acmecorp\"`","title":"tenant","x-displayname":"Tenant","x-ves-example":"acmecorp"},"uid":{"type":"string","description":" uid is the unique in time and space value for this object. It is generated by\n the server on successful creation of an object and is not allowed to change on Replace\n API. The value of is taken from uid field of ObjectMetaType, if provided.\n\nExample: ` \"d15f1fad-4d37-48c0-8706-df1824d76d31\"`","title":"uid","x-displayname":"UID","x-ves-example":"d15f1fad-4d37-48c0-8706-df1824d76d31"}}},"schemaVaultSecretInfoType":{"type":"object","description":"x-displayName: \"Vault Secret\"\nVaultSecretInfoType specifies information about the Secret managed by Hashicorp Vault.","title":"VaultSecretInfoType","properties":{"key":{"type":"string","description":"x-displayName: \"Key\"\nx-example: \"key_pem\"\nKey of the individual secret. Vault Secrets are stored as key-value pair.\nIf user is only interested in one value from the map, this field should be set to the corresponding key.\nIf not provided entire secret will be returned.","title":"Key"},"location":{"type":"string","description":"x-displayName: \"Location\"\nx-required\nx-example: \"v1/data/vhost_key\"\nPath to secret in Vault.","title":"Location"},"provider":{"type":"string","description":"x-displayName: \"Provider\"\nx-required\nx-example: \"vault-vh-provider\"\nName of the Secret Management Access object that contains information about the backend Vault.","title":"Provider"},"secret_encoding":{"$ref":"#/components/schemas/schemaSecretEncodingType"},"version":{"type":"integer","description":"x-displayName: \"Version\"\nx-example: \"1\"\nVersion of the secret to be fetched. As vault secrets are versioned, user can specify this field to fetch specific version.\nIf not provided latest version will be returned.","title":"Version","format":"int64"}}},"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\n\nExample: ` \"http_proxy\"`","title":"kind","x-displayname":"Kind","x-ves-example":"http_proxy"},"name":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then name will hold the referred object's(e.g. route's) name.\n\nExample: ` \"contactus-route\"`","title":"name","x-displayname":"Name","x-ves-example":"contactus-route"},"namespace":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then namespace will hold the referred object's(e.g. route's) namespace.\n\nExample: ` \"ns1\"`","title":"namespace","x-displayname":"Namespace","x-ves-example":"ns1"},"uid":{"type":"string","description":" UID of the view object\n\nExample: ` \"f3744323-1adf-4aaa-a5dc-0707c1d1bd82\"`","title":"uid","x-displayname":"UID","x-ves-example":"f3744323-1adf-4aaa-a5dc-0707c1d1bd82"}}},"schemaWafType":{"type":"object","description":"WAF instance will be pointing to an app_firewall object","title":"WafType","x-displayname":"WAF Instance","x-ves-oneof-field-ref_type":"[\"app_firewall\",\"disable_waf\",\"inherit_waf\"]","x-ves-proto-message":"ves.io.schema.WafType","properties":{"app_firewall":{"$ref":"#/components/schemas/schemaAppFirewallRefType"},"disable_waf":{"$ref":"#/components/schemas/ioschemaEmpty"},"inherit_waf":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"schemaWingmanSecretInfoType":{"type":"object","description":"x-displayName: \"Wingman Secret\"\nWingmanSecretInfoType specifies the handle to the wingman secret","title":"WingmanSecretInfoType","properties":{"name":{"type":"string","description":"x-displayName: \"Name\"\nx-required\nx-example: \"ChargeBack-API-Key\"\nName of the secret.","title":"Name"}}},"schemarouteCreateSpecType":{"type":"object","description":"Create route object in a given namespace. Route object is list of route rules.\nEach rule has match condition to match incoming requests and actions to take on matching requests.\nVirtual host object has reference to route object","title":"CreateSpecType","x-displayname":"Create Route","x-ves-proto-message":"ves.io.schema.route.CreateSpecType","properties":{"routes":{"type":"array","description":" List of routes to match for incoming request\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 257\n","maxItems":257,"items":{"$ref":"#/components/schemas/routeRouteType"},"x-displayname":"Routes","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"257"}}}},"schemarouteGetSpecType":{"type":"object","description":"Get route object in a given namespace. Route object is list of route rules.\nEach rule has match condition to match incoming requests and actions to take on matching requests.\nVirtual host object has reference to route object","title":"GetSpecType","x-displayname":"Get Route","x-ves-proto-message":"ves.io.schema.route.GetSpecType","properties":{"routes":{"type":"array","description":" List of routes to match for incoming request\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 257\n","maxItems":257,"items":{"$ref":"#/components/schemas/routeRouteType"},"x-displayname":"Routes","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"257"}}}},"schemarouteReplaceSpecType":{"type":"object","description":"Replace route object in a given namespace. Route object is list of route rules.\nEach rule has match condition to match incoming requests and actions to take on matching requests.\nVirtual host object has reference to route object","title":"ReplaceSpecType","x-displayname":"Replace Route","x-ves-proto-message":"ves.io.schema.route.ReplaceSpecType","properties":{"routes":{"type":"array","description":" List of routes to match for incoming request\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 257\n","maxItems":257,"items":{"$ref":"#/components/schemas/routeRouteType"},"x-displayname":"Routes","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"257"}}}},"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)\n then name will hold the referred object's(e.g. route's) name.\n\nExample: ` \"contacts-route\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_bytes: 128\n ves.io.schema.rules.string.min_bytes: 1\n","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"}},"namespace":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then namespace will hold the referred object's(e.g. route's) namespace.\n\nExample: ` \"ns1\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 64\n","title":"namespace","maxLength":64,"x-displayname":"Namespace","x-ves-example":"ns1","x-ves-validation-rules":{"ves.io.schema.rules.string.max_bytes":"64"}},"tenant":{"type":"string","description":" When a configuration object(e.g. virtual_host) refers to another(e.g route)\n then tenant will hold the referred object's(e.g. route's) tenant.\n\nExample: ` \"acmecorp\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 64\n","title":"tenant","maxLength":64,"x-displayname":"Tenant","x-ves-example":"acmecorp","x-ves-validation-rules":{"ves.io.schema.rules.string.max_bytes":"64"}}}}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"openapi":"3.0.0","info":{"title":"F5 Distributed Cloud Services API for ves.io.schema.operate.route","description":"Proto definitions for VER routes","version":""},"paths":{"/api/operate/namespaces/{namespace}/sites/{site}/ver/routes":{"post":{"summary":"Show Routes","description":"Show VER routes matching the request","operationId":"ves.io.schema.operate.route.CustomPublicAPI.ShowRoutes","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeRouteResponse"}}}},"401":{"description":"Returned when operation is not authorized","content":{"application/json":{"schema":{"format":"string"}}}},"403":{"description":"Returned when there is no permission to access resource","content":{"application/json":{"schema":{"format":"string"}}}},"404":{"description":"Returned when resource is not found","content":{"application/json":{"schema":{"format":"string"}}}},"409":{"description":"Returned when operation on resource is conflicting with current value","content":{"application/json":{"schema":{"format":"string"}}}},"429":{"description":"Returned when operation has been rejected as it is happening too frequently","content":{"application/json":{"schema":{"format":"string"}}}},"500":{"description":"Returned when server encountered an error in processing API","content":{"application/json":{"schema":{"format":"string"}}}},"503":{"description":"Returned when service is unavailable temporarily","content":{"application/json":{"schema":{"format":"string"}}}},"504":{"description":"Returned when server timed out processing request","content":{"application/json":{"schema":{"format":"string"}}}}},"parameters":[{"name":"namespace","description":"Namespace\n\nx-example: \"system\"\nNamespace for which the request is sent (system)","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"site","description":"Site Name\n\nx-example: \"value\"\nName of the site for which request is sent","in":"path","required":true,"x-displayname":"Site Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeRouteRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-operate-route-custompublicapi-showroutes"},"x-ves-proto-rpc":"ves.io.schema.operate.route.CustomPublicAPI.ShowRoutes"},"x-displayname":"Route Info","x-ves-proto-service":"ves.io.schema.operate.route.CustomPublicAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/operate/namespaces/{namespace}/sites/{site}/ver/simplified_routes":{"post":{"summary":"Show Simplified Routes","description":"Show user-friendly VER routes matching the request","operationId":"ves.io.schema.operate.route.CustomPublicAPI.ShowSimplifiedRoutes","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeSimplifiedRouteResponse"}}}},"401":{"description":"Returned when operation is not authorized","content":{"application/json":{"schema":{"format":"string"}}}},"403":{"description":"Returned when there is no permission to access resource","content":{"application/json":{"schema":{"format":"string"}}}},"404":{"description":"Returned when resource is not found","content":{"application/json":{"schema":{"format":"string"}}}},"409":{"description":"Returned when operation on resource is conflicting with current value","content":{"application/json":{"schema":{"format":"string"}}}},"429":{"description":"Returned when operation has been rejected as it is happening too frequently","content":{"application/json":{"schema":{"format":"string"}}}},"500":{"description":"Returned when server encountered an error in processing API","content":{"application/json":{"schema":{"format":"string"}}}},"503":{"description":"Returned when service is unavailable temporarily","content":{"application/json":{"schema":{"format":"string"}}}},"504":{"description":"Returned when server timed out processing request","content":{"application/json":{"schema":{"format":"string"}}}}},"parameters":[{"name":"namespace","description":"Namespace\n\nx-example: \"system\"\nNamespace for which the request is sent (system)","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"site","description":"Site Name\n\nx-example: \"value\"\nName of the site for which request is sent","in":"path","required":true,"x-displayname":"Site Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routeSimplifiedRouteRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-operate-route-custompublicapi-showsimplifiedroutes"},"x-ves-proto-rpc":"ves.io.schema.operate.route.CustomPublicAPI.ShowSimplifiedRoutes"},"x-displayname":"Route Info","x-ves-proto-service":"ves.io.schema.operate.route.CustomPublicAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"}},"x-displayname":"Route Info","x-ves-proto-package":"ves.io.schema.operate.route","components":{"schemas":{"routeDcgHop":{"type":"object","description":"DC Cluster Group intermediate hop type","title":"DC Cluster Group Hop","x-displayname":"Via DC Cluster Group","x-ves-proto-message":"ves.io.schema.operate.route.DcgHop","properties":{"site_ip":{"$ref":"#/components/schemas/schemaIpAddressType"},"site_name":{"type":"string","description":" Destination site name in the DC Cluster ","title":"DC Cluster Site Name","x-displayname":"DC Cluster Site"}}},"routeDropNH":{"type":"object","description":"Nexthop type to drop packets","title":"Drop Nexthop","x-displayname":"Drop Nexthop Type","x-ves-proto-message":"ves.io.schema.operate.route.DropNH"},"routeGREHop":{"type":"object","description":"GRE Tunnel intermediate hop type","title":"GRE Tunnel Hop","x-displayname":"Via GRE Tunnel","x-ves-proto-message":"ves.io.schema.operate.route.GREHop","properties":{"site_ip":{"$ref":"#/components/schemas/schemaIpAddressType"},"site_name":{"type":"string","description":" Destination site name for the GRE tunnel ","title":"GRE Site Name","x-displayname":"GRE Site"}}},"routeGREType":{"type":"object","description":"x-displaName: \"GRE Tunnel Type\"\nGRE tunnel type","title":"GRE Tunnel Type","x-ves-proto-message":"ves.io.schema.operate.route.GREType","properties":{"interface":{"type":"string","description":" Interface over which GRE tunnel is created ","title":"GRE Tunnel Interface","x-displayname":"Intermediate GRE Tunnel Interface"}}},"routeIPSecType":{"type":"object","description":"x-displaName: \"IPSec Tunnel Type\"\nIPSec tunnel type","title":"IPsec Tunnel Type","x-ves-proto-message":"ves.io.schema.operate.route.IPSecType","properties":{"interface":{"type":"string","description":" Interface over which ipsec tunnel is created ","title":"IPSec Tunnel Interface","x-displayname":"Intermediate IPSec Tunnel Interface"}}},"routeIPinIPType":{"type":"object","description":"x-displaName: \"IPinIP Tunnel Type\"\nIPinIP tunnel type","title":"IPinIP Tunnel Type","x-ves-proto-message":"ves.io.schema.operate.route.IPinIPType","properties":{"intermediate_hop":{"type":"array","description":" Entity via which packet is routed to final destination","title":"Via Information","items":{"$ref":"#/components/schemas/routeIntermediateHop"},"x-displayname":"Via"}}},"routeIPinUDPType":{"type":"object","description":"x-displaName: \"IPinUDP Tunnel Type\"\nIPinUDP tunnel type","title":"IPinUDP Tunnel Type","x-ves-proto-message":"ves.io.schema.operate.route.IPinUDPType","properties":{"intermediate_hop":{"type":"array","description":" Entity via which packet is routed to final destination","title":"Via Information","items":{"$ref":"#/components/schemas/routeIntermediateHop"},"x-displayname":"Via"}}},"routeIntermediateHop":{"type":"object","description":"Type of entity via which packet is routed to final destination","title":"Via Information Type","x-displayname":"Via Type","x-ves-oneof-field-type":"[\"dcg\",\"gre\",\"ipsec\",\"node\",\"ssl\"]","x-ves-proto-message":"ves.io.schema.operate.route.IntermediateHop","properties":{"dcg":{"$ref":"#/components/schemas/routeDcgHop"},"gre":{"$ref":"#/components/schemas/routeGREHop"},"ipsec":{"$ref":"#/components/schemas/routeIpSecHop"},"node":{"type":"string","description":"Exclusive with [dcg gre ipsec ssl]\n Name of node ","title":"Via node","x-displayname":"Via Node"},"ssl":{"$ref":"#/components/schemas/routeSslHop"}}},"routeIpSecHop":{"type":"object","description":"IPSec Tunnel intermediate hop type","title":"IPSec Tunnel Hop","x-displayname":"Via IPSec Tunnel","x-ves-proto-message":"ves.io.schema.operate.route.IpSecHop","properties":{"site_ip":{"$ref":"#/components/schemas/schemaIpAddressType"},"site_name":{"type":"string","description":" Destination site name for the IPSec tunnel ","title":"IPSec Site Name","x-displayname":"IPSec Site"}}},"routeLocalNH":{"type":"object","description":"x-dsiplayName: \"Local Nexthop Type\"\nNexthop type for packets destined to the local site","title":"Local Nexthop","x-ves-proto-message":"ves.io.schema.operate.route.LocalNH","properties":{"interface":{"type":"string","description":" x-dsiplayName: \"Interface Name\"\n Interface on which the packet goes out on, or interface which created the nexthop","title":"Interface"}}},"routeMPLSType":{"type":"object","description":"x-displaName: \"MPLS Tunnel Type\"\nMPLS tunnel type","title":"MPLS Tunnel Type","x-ves-proto-message":"ves.io.schema.operate.route.MPLSType","properties":{"intermediate_hop":{"type":"array","description":" Entity via which packet is routed to final destination","title":"Via Information","items":{"$ref":"#/components/schemas/routeIntermediateHop"},"x-displayname":"Via"}}},"routeRouteFamily":{"type":"string","description":"Address family for which routes are requested\n\nIPv4 Routes\nIPv6 Routes","title":"RouteFamily","enum":["INET4","INET6"],"default":"INET4","x-displayname":"Route Family","x-ves-proto-enum":"ves.io.schema.operate.route.RouteFamily"},"routeRouteInfo":{"type":"object","description":"Route information","title":"Route Information","x-displayname":"Route Information","x-ves-displayorder":"1,5,3,4","x-ves-proto-message":"ves.io.schema.operate.route.RouteInfo","properties":{"flags":{"type":"string","description":" Route Flags\n\nExample: ` \"Proxy ARP\"`","title":"Flags","x-displayname":"Flags","x-ves-example":"Proxy ARP"},"label":{"type":"integer","description":" Associated Label\n\nExample: ` \"20\"`","title":"Label","format":"int64","x-displayname":"Label","x-ves-example":"20"},"nh":{"type":"integer","description":" Nexthop identifier\n\nExample: ` \"20\"`","title":"Nexthop","format":"int64","x-displayname":"Nexthop","x-ves-example":"20"},"nh_info":{"type":"string","description":" Nexthop information\n\nExample: ` \"Interface eth0\"`","title":"Nexthop Info","x-displayname":"Nexthop Info","x-ves-example":"Interface eth0"},"prefix":{"type":"string","description":" Route prefix\n\nExample: ` \"192.168.10.0/24\"`","title":"Prefix","x-displayname":"Prefix","x-ves-example":"192.168.10.0/24"}}},"routeRouteRequest":{"type":"object","description":"Request to get list of VER routes matching the request","title":"Route Request","x-displayname":"Route Request","x-ves-oneof-field-cluster_node_choice":"[\"cluster_wide\",\"node\"]","x-ves-oneof-field-network_choice":"[\"segment\",\"vn\",\"vn_type\"]","x-ves-proto-message":"ves.io.schema.operate.route.RouteRequest","properties":{"cluster_wide":{"$ref":"#/components/schemas/schemaEmpty"},"family":{"$ref":"#/components/schemas/routeRouteFamily"},"namespace":{"type":"string","description":" Namespace for which the request is sent (system)\n\nExample: ` \"system\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"system"},"node":{"type":"string","description":"Exclusive with [cluster_wide]\n Fetch routes from this node\n\nExample: ` \"master-0\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 64\n ves.io.schema.rules.string.min_len: 1\n","title":"Node Name","minLength":1,"maxLength":64,"x-displayname":"Node Name","x-ves-example":"master-0","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"64","ves.io.schema.rules.string.min_len":"1"}},"prefix":{"$ref":"#/components/schemas/schemaPrefixListType"},"segment":{"type":"string","description":"Exclusive with [vn vn_type]\n Name of Segment for which routes are required\n\nExample: ` \"test-segment\"`","title":"Segment name","x-displayname":"Segment Name","x-ves-example":"test-segment"},"site":{"type":"string","description":" Name of the site for which request is sent\n\nExample: ` \"value\"`","title":"Site Name","x-displayname":"Site Name","x-ves-example":"value"},"vn":{"type":"string","description":"Exclusive with [segment vn_type]\n Name of Virtual Network for which routes are required\n\nExample: ` \"site-local-outside-vn\"`","title":"Virtual Network Name","x-displayname":"Virtual Network Name","x-ves-example":"site-local-outside-vn"},"vn_type":{"$ref":"#/components/schemas/schemaVirtualNetworkType"}}},"routeRouteResponse":{"type":"object","description":"List of routes from ver instances in the site","title":"Route Response","x-displayname":"Route Response","x-ves-displayorder":"1","x-ves-proto-message":"ves.io.schema.operate.route.RouteResponse","properties":{"ver_routes":{"type":"array","description":" Routes from ver instance","title":"Ver Routes","items":{"$ref":"#/components/schemas/routeRoutes"},"x-displayname":"Ver Routes"}}},"routeRouteType":{"type":"string","description":"Type of route based on where it has been learnt from\n\n - REMOTE_SITE_ROUTE: REMOTE_SITE_ROUTE\n\nRoute has been learnt from a remote site\n - LOCAL_ROUTE: LOCAL_ROUTE\n\nRoute has been generated locally\n - STATIC_ROUTE: STATIC_ROUTE\n\nRoute is a static route\n - BGP_ROUTE: BGP_ROUTE\n\nRoute has been learnt through BGP","title":"Route Type","enum":["REMOTE_SITE_ROUTE","LOCAL_ROUTE","STATIC_ROUTE","BGP_ROUTE"],"default":"REMOTE_SITE_ROUTE","x-displayname":"Route Type","x-ves-proto-enum":"ves.io.schema.operate.route.RouteType"},"routeRoutes":{"type":"object","description":"Matching routes from VER","title":"Routes","x-displayname":"Routes","x-ves-displayorder":"2,1","x-ves-proto-message":"ves.io.schema.operate.route.Routes","properties":{"node":{"type":"string","description":" Host name of VER instance\n\nExample: ` \"master-0\"`","title":"Ver Hostname","x-displayname":"Ver Hostname","x-ves-example":"master-0"},"route":{"type":"array","description":" Route information","title":"Route Info","items":{"$ref":"#/components/schemas/routeRouteInfo"},"x-displayname":"Route Info"}}},"routeSSLType":{"type":"object","description":"x-displaName: \"SSL Tunnel Type\"\nSSL tunnel type","title":"SSL Tunnel Type","x-ves-proto-message":"ves.io.schema.operate.route.SSLType","properties":{"interface":{"type":"string","description":" Interface over which SSL tunnel is created ","title":"SSL Tunnel Interface","x-displayname":"Intermediate SSL Tunnel Interface"}}},"routeSimplifiedEcmpNH":{"type":"object","description":"ECMP type nexthop contains multiple member nexthops","title":"Simplified ECMP Type NH","x-displayname":"ECMP Nexthop Type","x-ves-proto-message":"ves.io.schema.operate.route.SimplifiedEcmpNH","properties":{"members":{"type":"array","description":" Member nexthops of the ECMP type nexthop","title":"Nexthop Members","items":{"$ref":"#/components/schemas/routeSimplifiedNexthopType"},"x-displayname":"ECMP Members"}}},"routeSimplifiedNexthopType":{"type":"object","description":"Information about the nexthop based on type","title":"NexthopType","x-displayname":"Nexthop Type","x-ves-oneof-field-nh":"[\"drop\",\"local\",\"subnet\",\"tunnel\"]","x-ves-proto-message":"ves.io.schema.operate.route.SimplifiedNexthopType","properties":{"drop":{"$ref":"#/components/schemas/routeDropNH"},"local":{"$ref":"#/components/schemas/routeLocalNH"},"subnet":{"$ref":"#/components/schemas/routeSubnetNH"},"tunnel":{"$ref":"#/components/schemas/routeTunnelNH"}}},"routeSimplifiedRouteInfo":{"type":"object","description":"Simplified Route information","title":"Simplified Route Information","x-displayname":"Simplified Route Information","x-ves-displayorder":"1,5,3,4","x-ves-oneof-field-nh_type":"[\"ecmp\",\"nexthop\"]","x-ves-proto-message":"ves.io.schema.operate.route.SimplifiedRouteInfo","properties":{"ecmp":{"$ref":"#/components/schemas/routeSimplifiedEcmpNH"},"flags":{"type":"array","description":" Route Flags\n\nExample: ` \"Proxy ARP\"`","title":"Flags","items":{"type":"string"},"x-displayname":"Flags","x-ves-example":"Proxy ARP"},"nexthop":{"$ref":"#/components/schemas/routeSimplifiedNexthopType"},"prefix":{"type":"string","description":" Route prefix\n\nExample: ` \"192.168.10.0/24\"`","title":"Prefix","x-displayname":"Prefix","x-ves-example":"192.168.10.0/24"},"route_type":{"$ref":"#/components/schemas/routeRouteType"}}},"routeSimplifiedRouteRequest":{"type":"object","description":"Request to get list of VER routes matching the request","title":"SimplifiedRoute Request","x-displayname":"Simplified Route Request","x-ves-oneof-field-cluster_node_choice":"[\"all_nodes\",\"node\"]","x-ves-oneof-field-network_choice":"[\"global_network\",\"segment\",\"sli\",\"slo\"]","x-ves-proto-message":"ves.io.schema.operate.route.SimplifiedRouteRequest","properties":{"all_nodes":{"$ref":"#/components/schemas/schemaEmpty"},"family":{"$ref":"#/components/schemas/routeRouteFamily"},"global_network":{"type":"string","description":"Exclusive with [segment sli slo]\n Name of the Global Network for which routes are required\n\nExample: ` \"mcn-global-network\"`","title":"Global Network Name","x-displayname":"Global Network Name","x-ves-example":"mcn-global-network"},"namespace":{"type":"string","description":" Namespace for which the request is sent (system)\n\nExample: ` \"system\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"system"},"node":{"type":"string","description":"Exclusive with [all_nodes]\n Fetch routes from this node\n\nExample: ` \"master-0\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 64\n ves.io.schema.rules.string.min_len: 1\n","title":"Node Name","minLength":1,"maxLength":64,"x-displayname":"Node Name","x-ves-example":"master-0","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"64","ves.io.schema.rules.string.min_len":"1"}},"prefix":{"$ref":"#/components/schemas/schemaPrefixListType"},"segment":{"type":"string","description":"Exclusive with [global_network sli slo]\n Name of Segment for which routes are required\n\nExample: ` \"test-segment\"`","title":"Segment name","x-displayname":"Segment Name","x-ves-example":"test-segment"},"site":{"type":"string","description":" Name of the site for which request is sent\n\nExample: ` \"value\"`","title":"Site Name","x-displayname":"Site Name","x-ves-example":"value"},"sli":{"$ref":"#/components/schemas/schemaEmpty"},"slo":{"$ref":"#/components/schemas/schemaEmpty"}}},"routeSimplifiedRouteResponse":{"type":"object","description":"List of routes from ver instances in the site","title":"Route Response","x-displayname":"Route Response","x-ves-displayorder":"1","x-ves-proto-message":"ves.io.schema.operate.route.SimplifiedRouteResponse","properties":{"ver_routes":{"type":"array","description":" Routes from ver instance","title":"Ver Routes","items":{"$ref":"#/components/schemas/routeSimplifiedRoutes"},"x-displayname":"Ver Routes"}}},"routeSimplifiedRoutes":{"type":"object","description":"Matching routes from VER","title":"Simplified Routes","x-displayname":"Simplified Routes","x-ves-displayorder":"2,1","x-ves-proto-message":"ves.io.schema.operate.route.SimplifiedRoutes","properties":{"node":{"type":"string","description":" Host name of VER instance\n\nExample: ` \"master-0\"`","title":"Ver Hostname","x-displayname":"Ver Hostname","x-ves-example":"master-0"},"route":{"type":"array","description":" Route information","title":"Route Info","items":{"$ref":"#/components/schemas/routeSimplifiedRouteInfo"},"x-displayname":"Route Info"}}},"routeSslHop":{"type":"object","description":"SSL Tunnel intermediate hop type","title":"SSL Tunnel Hop","x-displayname":"Via SSL Tunnel","x-ves-proto-message":"ves.io.schema.operate.route.SslHop","properties":{"site_ip":{"$ref":"#/components/schemas/schemaIpAddressType"},"site_name":{"type":"string","description":" Destination site name for the SSL tunnel ","title":"SSL Site Name","x-displayname":"SSL Site"}}},"routeSubnetNH":{"type":"object","description":"Nexthop type for packets coming to a subnet","title":"Subnet Nexthop","x-displayname":"Subnet Nexthop Type","x-ves-proto-message":"ves.io.schema.operate.route.SubnetNH","properties":{"intf_name":{"type":"string","description":" Resolve on this interface","title":"Interface name","x-displayname":"Interface Name"}}},"routeTunnelNH":{"type":"object","description":"Nexthop type for packets going out on a tunnel/tunnel interface","title":"Tunnel Nexthop","x-displayname":"Tunnel Nexthop Type","x-ves-oneof-field-tunnel_type":"[\"gre\",\"ip_in_ip\",\"ip_in_udp\",\"ipsec\",\"mpls\",\"ssl\"]","x-ves-proto-message":"ves.io.schema.operate.route.TunnelNH","properties":{"gre":{"$ref":"#/components/schemas/routeGREType"},"ip_in_ip":{"$ref":"#/components/schemas/routeIPinIPType"},"ip_in_udp":{"$ref":"#/components/schemas/routeIPinUDPType"},"ipsec":{"$ref":"#/components/schemas/routeIPSecType"},"mpls":{"$ref":"#/components/schemas/routeMPLSType"},"remote_ip":{"$ref":"#/components/schemas/schemaIpAddressType"},"remote_site":{"type":"string","description":" Site name for the final destination","title":"Remote Site","x-displayname":"Remote Destination"},"ssl":{"$ref":"#/components/schemas/routeSSLType"}}},"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"},"schemaIpAddressType":{"type":"object","description":"IP Address used to specify an IPv4 or IPv6 address","title":"IP Address","x-displayname":"IP Address","x-ves-displayorder":"3","x-ves-oneof-field-ver":"[\"ipv4\",\"ipv6\"]","x-ves-proto-message":"ves.io.schema.IpAddressType","properties":{"ipv4":{"$ref":"#/components/schemas/schemaIpv4AddressType"},"ipv6":{"$ref":"#/components/schemas/schemaIpv6AddressType"}}},"schemaIpv4AddressType":{"type":"object","description":"IPv4 Address in dot-decimal notation","title":"IPv4 Address","x-displayname":"IPv4 Address","x-ves-proto-message":"ves.io.schema.Ipv4AddressType","properties":{"addr":{"type":"string","description":" IPv4 Address in string form with dot-decimal notation\n\nExample: ` \"192.168.1.1\"`\n\nValidation Rules:\n ves.io.schema.rules.string.ipv4: true\n","title":"IPv4 Address","x-displayname":"IPv4 Address","x-ves-example":"192.168.1.1","x-ves-validation-rules":{"ves.io.schema.rules.string.ipv4":"true"}}}},"schemaIpv6AddressType":{"type":"object","description":"IPv6 Address specified as hexadecimal numbers separated by ':'","title":"IPv6 Address","x-displayname":"IPv6 Address","x-ves-proto-message":"ves.io.schema.Ipv6AddressType","properties":{"addr":{"type":"string","description":" IPv6 Address in form of string. IPv6 address must be specified as hexadecimal numbers separated by ':'\n The address can be compacted by suppressing zeros\n e.g. '2001:db8:0:0:0:0:2:1' becomes '2001:db8::2:1' or '2001:db8:0:0:0:2:0:0' becomes '2001:db8::2::'\n\nExample: ` \"2001:db8:0:0:0:0:2:1\"`\n\nValidation Rules:\n ves.io.schema.rules.string.ipv6: true\n","title":"IPv6 Address","x-displayname":"IPv6 Address","x-ves-example":"2001:db8:0:0:0:0:2:1","x-ves-validation-rules":{"ves.io.schema.rules.string.ipv6":"true"}}}},"schemaPrefixListType":{"type":"object","description":"List of IP Address prefixes. Prefix must contain both prefix and prefix-length\nThe list can contain mix of both IPv4 and IPv6 prefixes","title":"IP Prefix List","x-displayname":"IP Prefix List","x-ves-proto-message":"ves.io.schema.PrefixListType","properties":{"prefix":{"type":"array","description":" IP Address prefix in string format. String must contain both prefix and prefix-length\n\nExample: ` \"[192.168.1.0/24, 192.168.2.0/24]\"\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.ipv4_prefix: true\n ves.io.schema.rules.repeated.max_items: 256\n","title":"Prefix","maxItems":256,"items":{"type":"string"},"x-displayname":"Prefix","x-ves-example":"[192.168.1.0/24, 192.168.2.0/24]\"","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.string.ipv4_prefix":"true","ves.io.schema.rules.repeated.max_items":"256"}}}},"schemaVirtualNetworkType":{"type":"string","description":"Different types of virtual networks understood by the system\n\nVirtual-network of type VIRTUAL_NETWORK_SITE_LOCAL provides connectivity to public (outside) network.\nThis is an insecure network and is connected to public internet via NAT Gateways/firwalls\nVirtual-network of this type is local to every site. Two virtual networks of this type on different\nsites are neither related nor connected.\n\nConstraints:\nThere can be atmost one virtual network of this type in a given site.\nThis network type is supported on CE sites. This network is created automatically and present on all sites\nVirtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE is a private network inside site.\nIt is a secure network and is not connected to public network.\nVirtual-network of this type is local to every site. Two virtual networks of this type on different\nsites are neither related nor connected.\n\nConstraints:\nThere can be atmost one virtual network of this type in a given site.\nThis network type is supported on CE sites. This network is created during provisioning of site\nUser defined per-site virtual network. Scope of this virtual network is limited to the site.\nThis is not yet supported\nVirtual-network of type VIRTUAL_NETWORK_PUBLIC directly conects to the public internet.\nVirtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected.\n\nConstraints:\nThere can be atmost one virtual network of this type in a given site.\nThis network type is supported on RE sites only\nIt is an internally created by the system. They must not be created by user\nVirtual Neworks with global scope across different sites in F5XC domain.\nAn example global virtual-network called \"AIN Network\" is created for every tenant.\nfor volterra fabric\n\nConstraints:\nIt is currently only supported as internally created by the system.\nvK8s service network for a given tenant. Used to advertise a virtual host only to vk8s pods for that tenant\nConstraints:\nIt is an internally created by the system. Must not be created by user\nVER internal network for the site. It can only be used for virtual hosts with SMA_PROXY type proxy\nConstraints:\nIt is an internally created by the system. Must not be created by user\nVirtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE represents both\nVIRTUAL_NETWORK_SITE_LOCAL and VIRTUAL_NETWORK_SITE_LOCAL_INSIDE\n\nConstraints:\nThis network type is only meaningful in an advertise policy\nWhen virtual-network of type VIRTUAL_NETWORK_IP_AUTO is selected for\nan endpoint, VER will try to determine the network based on the provided\nIP address\n\nConstraints:\nThis network type is only meaningful in an endpoint\n\nVoltADN Private Network is used on volterra RE(s) to connect to customer private networks\nThis network is created by opening a support ticket\n\nThis network is per site srv6 network\nVER IP Fabric network for the site.\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\nConstraints:\nIt is an internally created by the system. Must not be created by user\nNetwork internally created for a segment\nConstraints:\nIt is an internally created by the system. Must not be created by user","title":"VirtualNetworkType","enum":["VIRTUAL_NETWORK_SITE_LOCAL","VIRTUAL_NETWORK_SITE_LOCAL_INSIDE","VIRTUAL_NETWORK_PER_SITE","VIRTUAL_NETWORK_PUBLIC","VIRTUAL_NETWORK_GLOBAL","VIRTUAL_NETWORK_SITE_SERVICE","VIRTUAL_NETWORK_VER_INTERNAL","VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE","VIRTUAL_NETWORK_IP_AUTO","VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK","VIRTUAL_NETWORK_SRV6_NETWORK","VIRTUAL_NETWORK_IP_FABRIC","VIRTUAL_NETWORK_SEGMENT"],"default":"VIRTUAL_NETWORK_SITE_LOCAL","x-displayname":"Virtual Network Type","x-ves-proto-enum":"ves.io.schema.VirtualNetworkType"}}}}
|