@robinmordasiewicz/f5xc-terraform-mcp 2.3.0 → 2.4.4
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 +988 -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.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -22
- 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.virtual_host","description":"Virtual host is main anchor configuration for a proxy. Primary application for virtual host configuration is\nreverse proxy. Virtual host object is used to create a Loadbalancer, virtual service Or API gateway.\nIt can also be viewed as base object to define application routing.\n\nTypes of proxies supported\n\n* HTTP Proxy\n* TCP Proxy\n* TCP Proxy with SNI\n* HTTPS Proxy\n* UDP Proxy\n* Secret Management Access Proxy\n\nTerminology\n\nDownstream: A downstream host connects to virtual host, sends requests, and receives responses.\nUpstream: An upstream host receives connections and requests from virtual host and returns responses.","version":""},"paths":{"/api/config/namespaces/{metadata.namespace}/virtual_hosts":{"post":{"summary":"Create Virtual Host","description":"Creates virtual host in a given namespace.","operationId":"ves.io.schema.virtual_host.API.Create","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostCreateResponse"}}}},"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/virtual_hostCreateRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-api-create"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.API.Create"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"},"/api/config/namespaces/{metadata.namespace}/virtual_hosts/{metadata.name}":{"put":{"summary":"Replace Virtual Host","description":"Replace a given virtual host in a given namespace.","operationId":"ves.io.schema.virtual_host.API.Replace","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostReplaceResponse"}}}},"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/virtual_hostReplaceRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-api-replace"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.API.Replace"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"},"/api/config/namespaces/{namespace}/virtual_hosts":{"get":{"summary":"List Virtual Host","description":"List the set of virtual_host in a namespace","operationId":"ves.io.schema.virtual_host.API.List","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostListResponse"}}}},"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 virtual_host","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-virtual_host-api-list"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.API.List"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"},"/api/config/namespaces/{namespace}/virtual_hosts/{name}":{"get":{"summary":"Get Virtual Host","description":"Get virtual host from a given namespace.","operationId":"ves.io.schema.virtual_host.API.Get","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetResponse"}}}},"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-virtual_host-api-get"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.API.Get"},"delete":{"summary":"Delete Virtual Host","description":"Delete the specified virtual_host","operationId":"ves.io.schema.virtual_host.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/virtual_hostDeleteRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-api-delete"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.API.Delete"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.API","x-ves-proto-service-type":"AUTO_CRUD_PUBLIC"},"/api/config/namespaces/{namespace}/virtual_hosts/{name}/api_definitions/assign":{"post":{"summary":"Assign API Definition","description":"Set a reference to the API Definition, with an option to create an empty one if not exists.","operationId":"ves.io.schema.virtual_host.CustomAPI.AssignAPIDefinition","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAssignAPIDefinitionResp"}}}},"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: \"shared\"\nNamespace of the Virtual Hosts","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Name\n\nx-example: \"blogging-app\"\nName of the Virtual Hosts","in":"path","required":true,"x-displayname":"Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAssignAPIDefinitionReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-customapi-assignapidefinition"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.CustomAPI.AssignAPIDefinition"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.CustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoint":{"post":{"summary":"Get API Endpoint","description":"Get API endpoint for Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpoint","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAPIEndpointRsp"}}}},"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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAPIEndpointReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getapiendpoint"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpoint"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoint/learnt_schema":{"get":{"summary":"Get Get Learnt Schema per API endpoint","description":"Get Learnt Schema per API endpoint for a given auto discovered API endpoint for Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpointLearntSchema","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAPIEndpointLearntSchemaRsp"}}}},"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: \"blogging-app\"\nNamespace of the App type for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host\n\nx-example: \"blogging-app-vhost\"\nVirtual Host Name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}},{"name":"collapsed_url","description":"x-example: \"api/v1/user_id/DYN/vehicle_id/DYN\"\nAPI endpoint for which PDFs are requested.","in":"query","required":false,"x-displayname":"API URL","schema":{"type":"string"}},{"name":"method","description":"x-example: \"GET\"\nmethod of API endpoint for which PDFs are requested.","in":"query","required":false,"x-displayname":"Method","schema":{"type":"string"}},{"name":"domains","description":"x-example: \"www.example.com\"\nList of domains that needs to be sent as part of the request\nOptional filter by domains. If absent, all domains are considered.","in":"query","required":false,"x-displayname":"List of Domain","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"api_endpoint_info_request","description":"List of additional things that needs to be sent as part of the request\n\nAPI ENDPOINT INFO NONE option is used to disable any additional info request per api endpoint response\nAPI ENDPOINT INFO PDF SPARKLINES option is used to enable pdf sparkline info along with the api endpoint response","in":"query","required":false,"x-displayname":"API Endpoint Info PDF Sparklines","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["API_ENDPOINT_INFO_NONE","API_ENDPOINT_INFO_PDF_SPARKLINES"]}}}],"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getapiendpointlearntschema"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpointLearntSchema"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoint/pdf":{"get":{"summary":"Get API Endpoint PDF","description":"Get PDF of all metrics for a given auto discovered API endpoint for Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpointPDF","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAPIEndpointPDFRsp"}}}},"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: \"blogging-app\"\nNamespace of the App type for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host\n\nx-example: \"blogging-app-vhost\"\nVirtual Host Name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}},{"name":"collapsed_url","description":"x-example: \"api/v1/user_id/DYN/vehicle_id/DYN\"\nAPI endpoint for which PDFs are requested.","in":"query","required":false,"x-displayname":"API URL","schema":{"type":"string"}},{"name":"method","description":"x-example: \"GET\"\nmethod of API endpoint for which PDFs are requested.","in":"query","required":false,"x-displayname":"Method","schema":{"type":"string"}}],"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getapiendpointpdf"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpointPDF"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoint/sources_openapi_schema":{"get":{"summary":"Get relevant source OpenApi schema per API endpoint","description":"Get openapi schema per API endpoint for a given source types and Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEPSourceOpenApiSchema","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAPIEPSourceOpenApiSchemaRsp"}}}},"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: \"blogging-app\"\nNamespace of the App type for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host\n\nx-example: \"blogging-app-vhost\"\nVirtual Host Name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}},{"name":"id","description":"Endpoint ID.","in":"query","required":false,"x-displayname":"Endpoint ID","schema":{"type":"string"}},{"name":"discovery_source_types","description":"List of wanted discovery source types\n\nMerging all source types to one spec\nDiscovery spec from traffic data\nDiscovery spec from crawler engine\nDiscovery spec from code scan","in":"query","required":false,"x-displayname":"Code Scan","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["MERGED","TRAFFIC","CRAWLER","CODE_SCAN"]}}}],"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getapiepsourceopenapischema"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEPSourceOpenApiSchema"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoint/unmerge_sources_openapi_schema":{"post":{"summary":"Unmerge Source from Api Endpoint","description":"Unmerge Source Discovered schema from Api Endpoint merged schema","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.UnmergeAPIEPSourceOpenApiSchema","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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostUnmergeAPIEPSourceOpenApiSchemaReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-unmergeapiepsourceopenapischema"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.UnmergeAPIEPSourceOpenApiSchema"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoints":{"get":{"summary":"Get API Endpoints","description":"Get all autodiscovered API endpoints for Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpoints","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostAPIEndpointsRsp"}}}},"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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}},{"name":"api_endpoint_info_request","description":"List of additional things that needs to be sent as part of the request\n\nAPI ENDPOINT INFO NONE option is used to disable any additional info request per api endpoint response\nAPI ENDPOINT INFO PDF SPARKLINES option is used to enable pdf sparkline info along with the api endpoint response","in":"query","required":false,"x-displayname":"API Endpoint Info PDF Sparklines","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["API_ENDPOINT_INFO_NONE","API_ENDPOINT_INFO_PDF_SPARKLINES"]}}},{"name":"domains","description":"x-example: \"www.example.com\"\nList of domains that needs to be sent as part of the request\nOptional filter by domains. If absent, all domains are considered.","in":"query","required":false,"x-displayname":"List of Domain","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"start_time","description":"x-example: \"2019-09-23T12:30:11.733Z\"\nformat: unix_timestamp|rfc 3339\nFilters the APIEPs with access time >= start_time. Considered only to calculate activity metrics, based on #sec-events and #requests.\nOptional: If not specified, then the start_time will be evaluated to end_time-2h\n If end_time is not specified, then the start_time will be evaluated to <current time>-10m","in":"query","required":false,"x-displayname":"Start Time","schema":{"type":"string"}},{"name":"end_time","description":"x-example: \"2019-09-24T12:30:11.733Z\"\nformat: unix_timestamp|rfc 3339\nFilters the APIEPs with access time < end_time. Considered only to calculate activity metrics, based on #sec-events and #requests.\nOptional: If not specified, then the end_time will be evaluated to start_time+2h\n If start_time is not specified, then the end_time will be evaluated to <current time>","in":"query","required":false,"x-displayname":"End Time","schema":{"type":"string"}},{"name":"apiep_category","description":"x-example: \"DISCOVERED\"\nCategory of api endpoints. Can be DISCOVERED, INVENTORY or SHADOW API.\nOptional filter by api_category. If absent, endpoints of all categories are considered.\n\nDiscovered API Endpoint.\nThe API Endpoint is imported from user swagger.\nThe API Endpoint is present at the API Inventory.\nThe API Endpoint is considered as part of Shadow API.\nDeprecated API Endpoint.\nNon-API Endpoint.","in":"query","required":false,"x-displayname":"Non-API Endpoint","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["APIEP_CATEGORY_DISCOVERED","APIEP_CATEGORY_SWAGGER","APIEP_CATEGORY_INVENTORY","APIEP_CATEGORY_SHADOW","APIEP_CATEGORY_DEPRECATED","APIEP_CATEGORY_NON_API"]}}}],"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpoints"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoints/stats":{"get":{"summary":"Get Api Endpoints Stats for Virtual Host","description":"Get api endpoints stats for the given Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetApiEndpointsStats","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostApiEndpointsStatsRsp"}}}},"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: \"shared\"\nNamespace of the App type for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app\"\nVirtual Host for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getapiendpointsstats"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetApiEndpointsStats"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoints/summary/calls_by_response_code":{"post":{"summary":"Get Total API Calls for Virtual Host","description":"Get total api calls for the given Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPICallSummary","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetAPICallSummaryRsp"}}}},"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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetAPICallSummaryReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getapicallsummary"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPICallSummary"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoints/summary/top_active":{"post":{"summary":"Get Top APIs Endpoints for Virtual Host","description":"Top APIs by requested activity metric. For example most-active APIs or most-attacked APIs.","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetTopAPIEndpoints","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetTopAPIEndpointsRsp"}}}},"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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetTopAPIEndpointsReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-gettopapiendpoints"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetTopAPIEndpoints"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoints/summary/top_sensitive_data":{"post":{"summary":"Get Sensitive Data Summary for Virtual Host","description":"Get sensitive data summary for the given Virtual Host.\nFor each sensitive data type (e.g. SSN, CC, Email) we count the number of APIEPs having the respective\nsensitive data type and return top k (max 10) types with maximum APIEPs.","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetTopSensitiveData","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetTopSensitiveDataRsp"}}}},"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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetTopSensitiveDataReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-gettopsensitivedata"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetTopSensitiveData"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_endpoints/swagger_spec":{"get":{"summary":"Get Swagger Spec for App Type","description":"Get the corresponding Swagger spec for the given app type","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetSwaggerSpec","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiHttpBody"}}}},"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: \"shared\"\nNamespace of the App type for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app\"\nVirtual Host for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}},{"name":"domains","description":"x-example: \"www.example.com\"\nList of domains that needs to be sent as part of the request\nOptional filter by domains. If absent, all domains are considered.","in":"query","required":false,"x-displayname":"List of Domain","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-virtual_host-apiepcustomapi-getswaggerspec"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetSwaggerSpec"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_inventory/api_endpoints/get_schema_updates":{"post":{"summary":"Get API Endpoints Schema Updates","description":"Get list of schema paiComparablers, current and updated, for each endpoint in the request\nor all pending changes if empty list is provided.\nNOTE: any API endpoint defined in user swagger files should be ignored","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpointsSchemaUpdates","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetAPIEndpointsSchemaUpdatesResp"}}}},"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: \"shared\"\nThe namespace of the Virtual Host for the current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Name\n\nx-example: \"name\"\nThe name of the Virtual Host for the current request","in":"path","required":true,"x-displayname":"Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetAPIEndpointsSchemaUpdatesReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getapiendpointsschemaupdates"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetAPIEndpointsSchemaUpdates"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/api_inventory/api_endpoints/update_schemas":{"post":{"summary":"Update API Endpoints Schemas","description":"Update the payload schema for the specified endpoints or all pending changes if empty list is provided.\nNOTE: only API endpoints returned by a call to `GetAPIEndpointsSchemaStates` can be updated.","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.UpdateAPIEndpointsSchemas","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostUpdateAPIEndpointsSchemasResp"}}}},"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: \"shared\"\nThe namespace of the Virtual Host for the current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Name\n\nx-example: \"name\"\nThe name of the Virtual Host for the current request","in":"path","required":true,"x-displayname":"Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostUpdateAPIEndpointsSchemasReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-updateapiendpointsschemas"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.UpdateAPIEndpointsSchemas"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/create_ticket":{"post":{"summary":"Create a ticket for a vulnerability","description":"Create a ticket for the given vulnerability","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.CreateTicket","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostCreateTicketResponse"}}}},"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-required\nNamespace for the ticket","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-required\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostCreateTicketRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-createticket"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.CreateTicket"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/config/namespaces/{namespace}/virtual_hosts/{name}/get-dns-info":{"get":{"summary":"Get DNS Info","description":"GetDnsInfo is an API to get DNS information for a given virtual host","operationId":"ves.io.schema.virtual_host.CustomAPI.GetDnsInfo","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetDnsInfoResponse"}}}},"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: \"value\"\nNamespace for the virtual host","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Name\n\nx-example: \"value\"\nName of the virtual host","in":"path","required":true,"x-displayname":"Name","schema":{"type":"string"}}],"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-customapi-getdnsinfo"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.CustomAPI.GetDnsInfo"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.CustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/unlink_tickets":{"post":{"summary":"Unlink Tickets","description":"Remove the Ticket from vulnerability in XC platform\nExternal ticket systems will continue to have the record","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.UnlinkTickets","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostUnlinkTicketsResponse"}}}},"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-required\nNamespace for the ticket","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-required\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostUnlinkTicketsRequest"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-unlinktickets"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.UnlinkTickets"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/vulnerabilities":{"post":{"summary":"Get Vulnerabilities for Virtual Host","description":"Get vulnerabilities for the given Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.GetVulnerabilities","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetVulnerabilitiesRsp"}}}},"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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostGetVulnerabilitiesReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-getvulnerabilities"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.GetVulnerabilities"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"},"/api/ml/data/namespaces/{namespace}/virtual_hosts/{name}/vulnerability/update_state":{"post":{"summary":"Update Vulnerabilities for Virtual Host","description":"Update vulnerabilities for the given Virtual Host","operationId":"ves.io.schema.virtual_host.ApiepCustomAPI.UpdateVulnerabilitiesState","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostUpdateVulnerabilitiesStateRsp"}}}},"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: \"blogging-app\"\nNamespace of the virtual host for current request","in":"path","required":true,"x-displayname":"Namespace","schema":{"type":"string"}},{"name":"name","description":"Virtual Host Name\n\nx-example: \"blogging-app-vhost\"\nVirtual Host name for current request","in":"path","required":true,"x-displayname":"Virtual Host Name","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_hostUpdateVulnerabilitiesStateReq"}}},"required":true},"externalDocs":{"description":"Examples of this operation","url":"https://docs.cloud.f5.com/docs-v2/platform/reference/api-ref/ves-io-schema-virtual_host-apiepcustomapi-updatevulnerabilitiesstate"},"x-ves-proto-rpc":"ves.io.schema.virtual_host.ApiepCustomAPI.UpdateVulnerabilitiesState"},"x-displayname":"Virtual Host","x-ves-proto-service":"ves.io.schema.virtual_host.ApiepCustomAPI","x-ves-proto-service-type":"CUSTOM_PUBLIC"}},"x-displayname":"Virtual Host","x-ves-proto-package":"ves.io.schema.virtual_host","components":{"schemas":{"apiHttpBody":{"type":"object","description":"Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody) returns\n (google.protobuf.Empty);\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.","properties":{"content_type":{"type":"string","description":"The HTTP Content-Type header value specifying the content type of the body."},"data":{"type":"string","description":"The HTTP request/response body as raw binary.","format":"byte"},"extensions":{"type":"array","description":"Application specific response metadata. Must be set in the first response\nfor streaming APIs.","items":{"$ref":"#/components/schemas/protobufAny"}}}},"app_typeAPIEPCategory":{"type":"string","description":"The category of an API endpoint.\n\nDiscovered API Endpoint.\nThe API Endpoint is imported from user swagger.\nThe API Endpoint is present at the API Inventory.\nThe API Endpoint is considered as part of Shadow API.\nDeprecated API Endpoint.\nNon-API Endpoint.","title":"APIEP Category","enum":["APIEP_CATEGORY_DISCOVERED","APIEP_CATEGORY_SWAGGER","APIEP_CATEGORY_INVENTORY","APIEP_CATEGORY_SHADOW","APIEP_CATEGORY_DEPRECATED","APIEP_CATEGORY_NON_API"],"default":"APIEP_CATEGORY_DISCOVERED","x-displayname":"Category of the API Endpoint","x-ves-proto-enum":"ves.io.schema.app_type.APIEPCategory"},"app_typeAPIEPDynExample":{"type":"object","description":"List of Examples of expanded URL components for API endpoints that are collapsed with a dynamic component that is identified automatically","title":"API endpoint dynamic example","x-displayname":"Expanded API Endpoints","x-ves-proto-message":"ves.io.schema.app_type.APIEPDynExample","properties":{"component_examples":{"type":"array","description":" List of sample URL(s) that are collapsed\n\nExample: ` \"[d0161a1e-044e-427b-a806-3bad9eac97fc, a74eb844-6d91-474c-9874-f19fa3983f4d]\"`","title":"List of expanded URLs","items":{"type":"string"},"x-displayname":"Expanded URL(s)","x-ves-example":"[d0161a1e-044e-427b-a806-3bad9eac97fc, a74eb844-6d91-474c-9874-f19fa3983f4d]"},"component_identifier":{"type":"string","description":" Dynamic component used to collapse sample URLs given in Expanded URLs\n\nExample: ` \"/api/v1/user_id/DYN\"`","title":"Dynamic component","x-displayname":"Dynamic Component","x-ves-example":"/api/v1/user_id/DYN"}}},"app_typeAPIEPInfo":{"type":"object","description":"Information about automatically identified API endpoint\nEach identified API endpoint has a CollapsedURL and Method.\nCollapsedURL is created by replacing dynamic components in the URL, if any, with the keyword DYN.\nThese dynamic components are automatically identified.\nAdditionally, any API endpoint that has a collapsedURL with automatically identified DYN components,\nwill also have DYN-Examples which show a few examples of the original values of the components that were determined to be DYN.","title":"Identified API","x-displayname":"API Endpoint Info","x-ves-proto-message":"ves.io.schema.app_type.APIEPInfo","properties":{"access_discovery_time":{"type":"string","description":" access_discovery_time is the time when the API endpoint\n was updated from the access logs by the discovery mechanism.\n It is the UTC time and represented in RFC3339 form.","title":"access_discovery_time","format":"date-time","x-displayname":"Access Discovery Time"},"api_groups":{"type":"array","description":" List of API Groups the API Endpoint is a member of.\n\nExample: ` [\"sensitive\", \"read-only\"]`","title":"API Groups membership","items":{"type":"string"},"x-displayname":"API Groups membership"},"api_type":{"$ref":"#/components/schemas/app_typeAPIType"},"attributes":{"type":"array","description":" List of api endpoint attributes.\n\nExample: ` [GraphQL, login etc.]`","title":"attributes","items":{"type":"string"},"x-displayname":"Attributes"},"authentication_state":{"$ref":"#/components/schemas/app_typeAuthenticationState"},"authentication_types":{"type":"array","description":" List of authentication types found in the API endpoint and their locations.","title":"authentication_types","items":{"$ref":"#/components/schemas/app_typeAuthenticationTypeLocPair"},"x-displayname":"Authentication Types and Locations"},"avg_latency":{"type":"number","description":" Average latency observed for the API Endpoint.\n\nExample: ` 2.34`","title":"avg_latency","format":"float","x-displayname":"Average Latency"},"base_path":{"type":"string","description":" The base path for this Endpoint.\n\nExample: ` \"/v1\"`","title":"base_path","x-displayname":"Base Path","x-ves-example":"/v1"},"category":{"type":"array","description":" The category of the API Endpoint relative to API Inventory.\n\nExample: ` APIEP_CATEGORY_DISCOVERED, APIEP_CATEGORY_INVENTORY`","title":"Category","items":{"$ref":"#/components/schemas/app_typeAPIEPCategory"},"x-displayname":"Category"},"collapsed_url":{"type":"string","description":" URL for automatically identified API\n\nExample: ` \"/api/v1/user_id/DYN/vehicle_id/DYN\"`","title":"Identified API","x-displayname":"API endpoint URL","x-ves-example":"/api/v1/user_id/DYN/vehicle_id/DYN"},"compliances":{"type":"array","description":" List of compliance frameworks of the Endpoint.\n\nExample: ` [\"GDPR\", \"HIPAA\", \"CCPA\"]`","title":"compliances","items":{"type":"string"},"x-displayname":"Compliances"},"domains":{"type":"array","description":" List of Domains of the API endpoint\n\nExample: ` \"[www.example1.com\", \"www.example2.com]\"`","title":"List of domains","items":{"type":"string"},"x-displayname":"List of Domains","x-ves-example":"[www.example1.com\", \"www.example2.com]"},"dyn_examples":{"type":"array","description":" For example -\n {\"dyn_examples\": [\n {\n \"component_identifier\": \"api/v1/user_id/DYN\",\n \"component_examples\": [\n \"cmenomo007\",\n \"marcusaurelius\"\n \"artattacksince1947\",\n \"johndoe83\",\n ]\n },\n {\n \"component_identifier\": \"api/v1/user_id/DYN/vehicle_id/DYN\",\n \"component_examples\": [\n \"JN1CV6AR3AM458367\",\n \"1GBCS10AXP2917522\",\n \"JM1DE1KY9D0155647\",\n \"JN1CA31D5YT533780\"\n ]\n }\n ]}\n List of sample URL(s) that are collapsed and dynamic components to collapse them\n\nExample: ` \"{component_identifierapi/v1/user_id/DYN,component_examples: [cmenomo007]}\"`","title":"Expanded URL(s)","items":{"$ref":"#/components/schemas/app_typeAPIEPDynExample"},"x-displayname":"Expanded URL(s)","x-ves-example":"{component_identifier: api/v1/user_id/DYN,component_examples: [cmenomo007]}"},"engines":{"type":"array","description":" List of engines that detected the endpoint.\n\nExample: ` [\"TRAFFIC_INSPECTION\", \"CODE_ANALYSIS\", \"CRAWLER\"]`","title":"engines","items":{"type":"string"},"x-displayname":"Engines"},"err_rsp_count":{"type":"string","description":" Number of request with 4xx or 5xx response for the API Endpoint\n\nExample: ` 1234`","title":"error status code count","format":"uint64","x-displayname":"Error Count"},"has_learnt_schema":{"type":"boolean","description":"Has Learnt Schema flag for request API endpoint.\n\nExample: ` true`","title":"Has Learnt Schema","format":"boolean","x-displayname":"Has Learnt Schema"},"last_tested":{"type":"string","description":" api testing last tested time is the time when the API endpoint\n was last tested","title":"last api testing","format":"date-time","x-displayname":"Last tested"},"max_latency":{"type":"number","description":" Maximum latency observed for the API Endpoint.\n\nExample: ` 9.87`","title":"max_latency","format":"float","x-displayname":"Max Latency"},"method":{"type":"string","description":" HTTP method for the API.\n\nExample: ` \"GET\"`","title":"HTTP method","x-displayname":"HTTP Method","x-ves-example":"GET"},"pdf_info":{"$ref":"#/components/schemas/app_typeAPIEPPDFInfo"},"pii_level":{"$ref":"#/components/schemas/app_typeAPIEPPIILevel"},"req_rate":{"type":"number","description":" Request rate for the API Endpoint.\n\nExample: ` 10.5`","title":"req_rate","format":"float","x-displayname":"Request Rate"},"request_percentage":{"type":"number","description":" Percentage of requests that were directed to this API Endpoint\n\nExample: ` \"78.5789\"`","title":"Request percentage","format":"float","x-displayname":"Request Percentage","x-ves-example":"78.5789"},"requests_count":{"type":"integer","description":" Number of requests seen for this API Endpoint for the specified time-range.\n\nExample: ` \"1234\"`","title":"requests_count","format":"int32","x-displayname":"Number Of Total Requests","x-ves-example":"1234"},"risk_score":{"$ref":"#/components/schemas/app_typeRiskScore"},"schema_status":{"type":"string","description":" Schema status indicates the API Endpoint's schema origin and if it's outdated.\n\nExample: ` \"Discovered Not-Updated\"`","title":"schema_status","x-displayname":"Schema Status","x-ves-example":"Discovered Not-Updated"},"sec_events_count":{"type":"integer","description":" Number of sec_events seen for this API Endpoint for the specified time-range.\n\nExample: ` \"1234\"`","title":"sec_events_count","format":"int32","x-displayname":"Number Of Total Security Events","x-ves-example":"1234"},"security_risk":{"$ref":"#/components/schemas/app_typeAPIEPSecurityRisk"},"sensitive_data":{"type":"array","description":" List of Sensitive Data found in the API endpoint\n\nExample: ` \"[SENSITIVE_DATA_TYPE_CCN, SENSITIVE_DATA_TYPE_SSN, SENSITIVE_DATA_TYPE_IP]\"`","title":"List of Sensitive Data","items":{"$ref":"#/components/schemas/app_typeSensitiveDataType"},"x-displayname":"List of Sensitive Data","x-ves-example":"[SENSITIVE_DATA_TYPE_CCN, SENSITIVE_DATA_TYPE_SSN, SENSITIVE_DATA_TYPE_IP]"},"sensitive_data_location":{"type":"array","description":" Sensitive data location for the API Endpoint.\n\nExample: ` Request`","title":"sensitive data location","items":{"type":"string"},"x-displayname":"Sensitive Data Location"},"sensitive_data_types":{"type":"array","description":" List of Sensitive Data found in the API endpoint\n\nExample: ` \"[Social-Security-Number, Credit-Card-Number]\"`","title":"List of Sensitive Data","items":{"type":"string"},"x-displayname":"List of Sensitive Data","x-ves-example":"[Social-Security-Number, Credit-Card-Number]"}}},"app_typeAPIEPPDFInfo":{"type":"object","description":"Metrics supported currently are request_size response_size latency_with_data, latency_no_data.\nPDF is calculated for each combination of (Tenant, App type, API endpoint).\nAPI endpoint is determined from automatically identified API (collapsed_url) and method.\nIn the univariate case PDFSpec for each metric is repeated num_pdf_samples times.\nnum_pdf_samples is a parameter is system wide parameter currently set to 200.","title":"Probability Density Function","x-displayname":"PDF(Value)","x-ves-displayorder":"1,2,4,3,5,6,7","x-ves-proto-message":"ves.io.schema.app_type.APIEPPDFInfo","properties":{"creation_timestamp":{"type":"string","description":" creation_timestamp represents the time when this PDF was created\n It is represented in RFC3339 form and is in UTC.","title":"creation_timestamp","format":"date-time","x-displayname":"Creation Timestamp"},"error_rate":{"type":"array","description":" List of Probability density points for PDF for error rate","title":"PDF(error rate)","items":{"$ref":"#/components/schemas/app_typePDFSpec"},"x-displayname":"PDF(Error Rate)"},"error_rate_stat":{"$ref":"#/components/schemas/app_typePDFStat"},"latency_no_data":{"type":"array","description":" List of Probability density points for PDF for latency of response begin","title":"PDF(response latency to first byte)","items":{"$ref":"#/components/schemas/app_typePDFSpec"},"x-displayname":"PDF(Latency Begin)"},"latency_no_data_stat":{"$ref":"#/components/schemas/app_typePDFStat"},"latency_with_data":{"type":"array","description":" List of Probability density points for PDF for latency of response end","title":"PDF(response latency)","items":{"$ref":"#/components/schemas/app_typePDFSpec"},"x-displayname":"PDF(Latency End)"},"latency_with_data_stat":{"$ref":"#/components/schemas/app_typePDFStat"},"request_rate":{"type":"array","description":" List of Probability density points for PDF for request rate","title":"PDF(request rate)","items":{"$ref":"#/components/schemas/app_typePDFSpec"},"x-displayname":"PDF(Request Rate)"},"request_rate_stat":{"$ref":"#/components/schemas/app_typePDFStat"},"request_size":{"type":"array","description":" List of Probability density points for PDF for request size","title":"PDF(request_size)","items":{"$ref":"#/components/schemas/app_typePDFSpec"},"x-displayname":"PDF(Request)"},"request_size_stat":{"$ref":"#/components/schemas/app_typePDFStat"},"response_size":{"type":"array","description":" List of Probability density points for PDF for response size","title":"PDF(response_size)","items":{"$ref":"#/components/schemas/app_typePDFSpec"},"x-displayname":"PDF(Response)"},"response_size_stat":{"$ref":"#/components/schemas/app_typePDFStat"},"response_throughput":{"type":"array","description":" List of Probability density points for PDF for response throughput","title":"PDF(response throughput)","items":{"$ref":"#/components/schemas/app_typePDFSpec"},"x-displayname":"PDF(Response Throughput)"},"response_throughput_stat":{"$ref":"#/components/schemas/app_typePDFStat"}}},"app_typeAPIEPPIILevel":{"type":"string","description":"API Endpoint's PII Level.\n\nNo PII data detected for the given API Endpoint.\nDetected PII data for a given API Endpoint.","title":"APIEP PII Level","enum":["APIEP_PII_NOT_DETECTED","APIEP_PII_DETECTED"],"default":"APIEP_PII_NOT_DETECTED","x-displayname":"API EP PII Level","x-ves-proto-enum":"ves.io.schema.app_type.APIEPPIILevel"},"app_typeAPIEPSecurityRisk":{"type":"string","description":"Signifies API Endpoint Security Risk Level\n\nSecurity risk is not detected (for example, when no traffic).\nAPI Endpoint has low security risk.\nAPI Endpoint has medium security risk.\nAPI Endpoint has high security risk.\nAPI Endpoint has critical security risk.","title":"APIEP Security Risk","enum":["APIEP_SEC_RISK_NONE","APIEP_SEC_RISK_LOW","APIEP_SEC_RISK_MED","APIEP_SEC_RISK_HIGH","APIEP_SEC_RISK_CRITICAL"],"default":"APIEP_SEC_RISK_NONE","x-displayname":"API Endpoint Security Risk","x-ves-proto-enum":"ves.io.schema.app_type.APIEPSecurityRisk"},"app_typeAPIType":{"type":"string","description":"List of possible types of api that can be discovered for an APIEP.\n\nThe API Type detected as unknown.\nThe API Type detected as GraphQL.\nThe API Type detected as REST.\nThe API Type detected as gRPC.","title":"APIType","enum":["API_TYPE_UNKNOWN","API_TYPE_GRAPHQL","API_TYPE_REST","API_TYPE_GRPC"],"default":"API_TYPE_UNKNOWN","x-displayname":"API Type","x-ves-proto-enum":"ves.io.schema.app_type.APIType"},"app_typeApiEndpointInfoRequest":{"type":"string","description":"This is the various forms that can be requested to be sent in the ApiEndpointInfoRequest\n\nAPI ENDPOINT INFO NONE option is used to disable any additional info request per api endpoint response\nAPI ENDPOINT INFO PDF SPARKLINES option is used to enable pdf sparkline info along with the api endpoint response","title":"ApiEndpointInfoRequest","enum":["API_ENDPOINT_INFO_NONE","API_ENDPOINT_INFO_PDF_SPARKLINES"],"default":"API_ENDPOINT_INFO_NONE","x-displayname":"API Endpoint Info Request","x-ves-proto-enum":"ves.io.schema.app_type.ApiEndpointInfoRequest"},"app_typeAuthData":{"type":"object","description":"x-displayName: \"Authentication Data\"\nAuthentication data for a given Authentication definition type.","title":"AuthData","properties":{"insights":{"type":"string","description":"x-displayName: \"Insights\"\nx-example: \"{\\\"roles\\\": [\\\"admin\\\",\\\"user\\\"]}\"\nInsights of a given authentication type.","title":"Insights"},"schema":{"$ref":"#/components/schemas/app_typeSchemaStruct"},"summary":{"type":"string","description":"x-displayName: \"Summary\"\nx-example: \"{\\\"ApiKeyAuth\\\": {\\\"type\\\": \\\"apiKey\\\",\\\"in\\\": \\\"header\\\",\\\"name\\\": \\\"X-API-Key\\\"}}\"\nGeneral Authentication Information for a given authentication definition.","title":"Summary"}}},"app_typeAuthentication":{"type":"object","description":"Authentication details for a given API endpoint.","title":"Authentication","x-displayname":"Authentication","x-ves-proto-message":"ves.io.schema.app_type.Authentication","properties":{"auth_data_per_definition":{"type":"object","description":" Authentication Data Per Definition.","title":"auth_data_per_definition","x-displayname":"Authentication Data Per Definition"}}},"app_typeAuthenticationLocation":{"type":"string","description":"API Endpoint's Authentication Location.\n\nThe API Endpoint authentication location is header.\nThe API Endpoint authentication location is query parameter.\nThe API Endpoint authentication location is request body.\nThe API Endpoint authentication location is cookie.","title":"APIEP Authentication Location","enum":["AUTH_LOCATION_HEADER","AUTH_LOCATION_QUERY","AUTH_LOCATION_BODY","AUTH_LOCATION_COOKIE"],"default":"AUTH_LOCATION_HEADER","x-displayname":"API EP Authentication Location","x-ves-proto-enum":"ves.io.schema.app_type.AuthenticationLocation"},"app_typeAuthenticationState":{"type":"string","description":"API Endpoint's Authentication State.\n\nThe API Endpoint authentication state is unknown.\nThe API Endpoint is authenticated\nThe API Endpoint is unauthenticated","title":"APIEP Authentication State","enum":["AUTH_STATE_UNKNOWN","AUTH_STATE_AUTHENTICATED","AUTH_STATE_UNAUTHENTICATED"],"default":"AUTH_STATE_UNKNOWN","x-displayname":"API EP Authentication State","x-ves-proto-enum":"ves.io.schema.app_type.AuthenticationState"},"app_typeAuthenticationType":{"type":"string","description":"API Endpoint's Authentication Type.\n\nThe API Endpoint authentication type is Basic.\nThe API Endpoint authentication type is Bearer.\nThe API Endpoint authentication type is JWT.\nThe API Endpoint authentication type is API Key.\nThe API Endpoint authentication type is OAuth 2.0.\nThe API Endpoint authentication type is OpenID Connect Discovery.\nThe API Endpoint authentication type is HTTP.\nThe API Endpoint authentication type is OAuth 1.0.\nThe API Endpoint authentication type is Digest.\nThe API Endpoint authentication type is Negotiate.","title":"APIEP Authentication Type","enum":["AUTH_TYPE_BASIC","AUTH_TYPE_BEARER","AUTH_TYPE_JWT","AUTH_TYPE_API_KEY","AUTH_TYPE_OAUTH2","AUTH_TYPE_OPENID","AUTH_TYPE_HTTP","AUTH_TYPE_OAUTH1","AUTH_TYPE_DIGEST","AUTH_TYPE_NEGOTIATE"],"default":"AUTH_TYPE_BASIC","x-displayname":"API EP Authentication Type","x-ves-proto-enum":"ves.io.schema.app_type.AuthenticationType"},"app_typeAuthenticationTypeLocPair":{"type":"object","description":"API Endpoint's Authentication Type and Location.","title":"APIEP Authentication Type and Location Pair","x-displayname":"API EP Authentication Type and Location Pair","x-ves-proto-message":"ves.io.schema.app_type.AuthenticationTypeLocPair","properties":{"auth_type":{"type":"string","description":" The detected authentication type by string format\n\nExample: ` \"Basic\"`","title":"auth_type","x-displayname":"Authentication Type","x-ves-example":"Basic"},"location":{"$ref":"#/components/schemas/app_typeAuthenticationLocation"},"type":{"$ref":"#/components/schemas/app_typeAuthenticationType"}}},"app_typeDiscoveredSchema":{"type":"object","description":"Discovery schema for request API endpoint.","title":"Discovery schema","x-displayname":"Discovery Schema","x-ves-proto-message":"ves.io.schema.app_type.DiscoveredSchema","properties":{"last_updated_time":{"type":"string","description":" Last Updated Time for request API endpoint. The time updated when the APIEP file is uploaded to Azure/AWS.\n\nExample: ` \"2021-01-22 15:46:23.767649\"`","title":"Last Updated Time","format":"date-time","x-displayname":"Last Updated Time","x-ves-example":"2021-01-22 15:46:23.767649"},"request_schema":{"$ref":"#/components/schemas/app_typeRequestSchema"},"response_schema_per_rsp_code":{"type":"object","description":" Response schema per rsp code for request API endpoint.","title":"Response schema per rsp code","x-displayname":"Response Schema Per Rsp Code"}}},"app_typePDFSpec":{"type":"object","description":"Probability Density point in (PDF(x)) of the metric.\nx is the value of the metric, probability is the corresponding PDF(x).\nIn the univariate case (current configuration), the value x of the metrics is a scaler.\nAs PDFSpec is repeated (see below), the x values are linearly spaced monotonically from minimum to maximum.","title":"Probability Density Point(x,y)","x-displayname":"Point(Value, Probability)","x-ves-proto-message":"ves.io.schema.app_type.PDFSpec","properties":{"probability":{"type":"number","description":" Probability of given Value of the metric that can be plotted on y-axis\n\nExample: ` \"0.078\"`","title":"Probability","format":"float","x-displayname":"Probability","x-ves-example":"0.078"},"x":{"type":"number","description":" Value of the metric that can be plotted on x-axis\n\nExample: ` \"121.316\"`","title":"Metric Value","format":"float","x-displayname":"Value","x-ves-example":"121.316"}}},"app_typePDFStat":{"type":"object","description":"Probability Density Function statistics of the metric.\npdf_mean is the mean PDF of the metric, pdf_95 is the 95th percentile PDF of the metric.\nIn the univariate case PDFStat for each metric consists of pdf_mean and pdf_95.","title":"Probability Density Function Statistics","x-displayname":"PDF(Statistics)","x-ves-proto-message":"ves.io.schema.app_type.PDFStat","properties":{"pdf_95":{"type":"number","description":" pdf_95 represents the 95th percentile of PDF\n\nExample: ` \"0.078\"`","title":"PDF 95th Percentile","format":"float","x-displayname":"PDF(95th Percentile)","x-ves-example":"0.078"},"pdf_mean":{"type":"number","description":" pdf_mean represents the mean of PDF","title":"PDF Mean","format":"float","x-displayname":"PDF(Mean)"}}},"app_typeRequestSchema":{"type":"object","description":"Request schema for a given API endpoint.","title":"Request Schema","x-displayname":"Request Schema","x-ves-proto-message":"ves.io.schema.app_type.RequestSchema","properties":{"body_per_content_type":{"type":"object","description":" Body schema per content type for request API endpoint.","title":"Body schema per content type","x-displayname":"Body Schema Per Content Type"},"cookies":{"$ref":"#/components/schemas/app_typeSchemaStruct"},"headers":{"$ref":"#/components/schemas/app_typeSchemaStruct"},"query_params":{"$ref":"#/components/schemas/app_typeSchemaStruct"}}},"app_typeResponseSchema":{"type":"object","description":"x-displayName: \"Response Schema\"\nResponse schema for a given API endpoint.","title":"Response Schema","properties":{"body_per_content_type":{"type":"object","description":"x-displayName: \"Body Schema Per Content Type\"\nBody schema per content type for request API endpoint.","title":"Body schema per content type"},"headers":{"$ref":"#/components/schemas/app_typeSchemaStruct"}}},"app_typeRiskScore":{"type":"object","description":"Risk score of the vulnerabilities found for this API Endpoint.","title":"RiskScore","x-displayname":"Risk score","x-ves-proto-message":"ves.io.schema.app_type.RiskScore","properties":{"score":{"type":"number","description":" Score of the vulnerabilities found for this API Endpoint.","title":"score","format":"float","x-displayname":"Score"},"severity":{"$ref":"#/components/schemas/app_typeAPIEPSecurityRisk"}}},"app_typeSchemaStruct":{"type":"object","description":"Schema structure for a given API endpoint.","title":"Schema Structure","x-displayname":"Schema Structure","x-ves-proto-message":"ves.io.schema.app_type.SchemaStruct","properties":{"examples":{"type":"array","description":" Examples for request API endpoint.","title":"Examples","items":{"type":"string"},"x-displayname":"Examples"},"schema":{"type":"string","description":" Schema for request API endpoint.","title":"Schema","x-displayname":"Schema"}}},"app_typeSensitiveData":{"type":"object","description":"Sensitive data for a given API endpoint.","title":"Sensitive Data","x-displayname":"Sensitive Data","x-ves-proto-message":"ves.io.schema.app_type.SensitiveData","properties":{"compliances":{"type":"array","description":" Compliance frameworks.","title":"Compliances","items":{"type":"string"},"x-displayname":"Compliances"},"examples":{"type":"array","description":" Examples of sensitive data.","title":"Examples","items":{"type":"string"},"x-displayname":"Examples"},"field":{"type":"string","description":" Field of sensitive data.","title":"Field","x-displayname":"Field"},"rule_type":{"$ref":"#/components/schemas/app_typeSensitiveDataDetectionRuleType"},"section":{"type":"string","description":" Section of sensitive data.\n\nExample: ` req_body`","title":"Section","x-displayname":"Section"},"sensitive_data_type":{"type":"string","description":" Type of sensitive data.\n\nExample: ` EMAIL`","title":"Sensitive Data Type","x-displayname":"Type"},"type":{"$ref":"#/components/schemas/app_typeSensitiveDataType"}}},"app_typeSensitiveDataDetectionRuleType":{"type":"string","description":"Sensitive Data Detection Rule Type\n\n - RULE_TYPE_BUILT_IN: built_in\n\nBuilt in rule type\n - RULE_TYPE_CUSTOM: custom\n\nCustom rule type","title":"sensitive_data_detection_rule_type","enum":["RULE_TYPE_BUILT_IN","RULE_TYPE_CUSTOM"],"default":"RULE_TYPE_BUILT_IN","x-displayname":"Sensitive Data Detection Rule Type","x-ves-proto-enum":"ves.io.schema.app_type.SensitiveDataDetectionRuleType"},"app_typeSensitiveDataType":{"type":"string","description":"List of possible types of sensitive data that can be discovered for an APIEP.\n\nThe Sensitive Data detected as credit card number.\nThe sensitive data detected as social security number.\nThe sensitive data detected as IP address.\nThe sensitive data detected as email address.\nThe sensitive data detected as phone number.\nThe sensitive data detected as credentials info(e.g password, username etc).\nThe sensitive data detected as information leakage.\nThe sensitive data detected as masked PII (CCN, SSN)\nThe sensitive data detected as Location.","title":"SensitiveDataType","enum":["SENSITIVE_DATA_TYPE_CCN","SENSITIVE_DATA_TYPE_SSN","SENSITIVE_DATA_TYPE_IP","SENSITIVE_DATA_TYPE_EMAIL","SENSITIVE_DATA_TYPE_PHONE","SENSITIVE_DATA_TYPE_CREDENTIALS","SENSITIVE_DATA_TYPE_APP_INFO_LEAKAGE","SENSITIVE_DATA_TYPE_MASKED_PII","SENSITIVE_DATA_TYPE_LOCATION"],"default":"SENSITIVE_DATA_TYPE_CCN","x-displayname":"Sensitive Data Type","x-ves-proto-enum":"ves.io.schema.app_type.SensitiveDataType"},"authenticationCookieParams":{"type":"object","description":"Specifies different cookie related config parameters for authentication","title":"Cookie Parameters Config","x-displayname":"Cookie Parameters","x-ves-oneof-field-secret_choice":"[\"auth_hmac\",\"kms_key_hmac\"]","x-ves-proto-message":"ves.io.schema.authentication.CookieParams","properties":{"auth_hmac":{"$ref":"#/components/schemas/authenticationHMACKeyPair"},"cookie_expiry":{"type":"integer","description":" specifies in seconds max duration of the allocated cookie. This maps to “Max-Age” attribute in the session cookie.\n This will act as an expiry duration on the client side after which client will not be setting the\n cookie as part of the request.\n Default cookie expiry is 3600 seconds\n\nExample: ` \"5000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 86400\n","title":"cookie expiry","format":"int64","x-displayname":"Cookie Expiry duration","x-ves-example":"5000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"86400"}},"cookie_refresh_interval":{"type":"integer","description":" Specifies in seconds refresh interval for session cookie.\n This is used to keep the active user active and reduce re-login.\n When an incoming cookie's session expiry is still valid, and time to expire falls behind this interval,\n re-issue a cookie with new expiry and with the same original session expiry.\n Default refresh interval is 3000 seconds\n\nExample: ` \"3600\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 86400\n","title":"cookie refresh interval","format":"int64","x-displayname":"Cookie Refresh Interval","x-ves-example":"3600","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"86400"}},"kms_key_hmac":{"$ref":"#/components/schemas/authenticationKMSKeyRefType"},"session_expiry":{"type":"integer","description":" specifies in seconds max lifetime of an authenticated session after which the user will be forced to login again.\n Default session expiry is 86400 seconds(24 hours).\n\nExample: ` \"36000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 1296000\n","title":"session expiry","format":"int64","x-displayname":"Session Expiry duration","x-ves-example":"36000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"1296000"}}}},"authenticationHMACKeyPair":{"type":"object","description":"HMAC primary and secondary keys to be used for hashing the Cookie.\nEach key also have an associated expiry timestamp, beyond which key is invalid.","title":"HMAC Key Pair","x-displayname":"HMAC Key Pair","x-ves-proto-message":"ves.io.schema.authentication.HMACKeyPair","properties":{"prim_key":{"$ref":"#/components/schemas/schemaSecretType"},"prim_key_expiry":{"type":"string","description":" Primary HMAC Key Expiry time\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"HMAC Primary Key Expiry Time","format":"date-time","x-displayname":"HMAC Primary Key Expiry","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"sec_key":{"$ref":"#/components/schemas/schemaSecretType"},"sec_key_expiry":{"type":"string","description":" Secondary HMAC Key Expiry time\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"HMAC Secondary Key Expiry Time","format":"date-time","x-displayname":"HMAC Secondary Key Expiry","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}}}},"authenticationKMSKeyRefType":{"type":"object","description":"Reference to KMS Key Object","title":"KMS Key Ref","x-displayname":"KMS Key Reference","x-ves-proto-message":"ves.io.schema.authentication.KMSKeyRefType"},"ioschemaDownstreamTlsParamsType":{"type":"object","description":"TLS configuration for downstream connections","title":"DownstreamTlsParamsType","x-displayname":"Downstream TLS Parameters","x-ves-oneof-field-client_certificate_verify_choice":"[\"client_certificate_optional\",\"client_certificate_required\",\"no_client_certificate\"]","x-ves-proto-message":"ves.io.schema.DownstreamTlsParamsType","properties":{"client_certificate_optional":{"$ref":"#/components/schemas/ioschemaEmpty"},"client_certificate_required":{"$ref":"#/components/schemas/ioschemaEmpty"},"common_params":{"$ref":"#/components/schemas/schemaTlsParamsType"},"no_client_certificate":{"$ref":"#/components/schemas/ioschemaEmpty"},"xfcc_header_elements":{"type":"array","description":" X-Forwarded-Client-Cert header elements to be set in an mTLS enabled connections.\n If none are defined, the header will not be added.\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.enum.defined_only: true\n ves.io.schema.rules.repeated.items.enum.not_in: [0]\n ves.io.schema.rules.repeated.unique: true\n","title":"XFCC Header","items":{"$ref":"#/components/schemas/schemaXfccElement"},"x-displayname":"XFCC Header","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.enum.defined_only":"true","ves.io.schema.rules.repeated.items.enum.not_in":"[0]","ves.io.schema.rules.repeated.unique":"true"}}}},"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"},"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"}}},"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"}}},"protobufNullValue":{"type":"string","description":"`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value.","enum":["NULL_VALUE"],"default":"NULL_VALUE"},"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"}}}},"schemaCertificateParamsType":{"type":"object","description":"Certificate Parameters for authentication, TLS ciphers, and trust store","title":"CertificateParamsType","x-displayname":"Certificate Parameters","x-ves-displayorder":"1,2,3,4,5","x-ves-oneof-field-client_certificate_verify_choice":"[\"client_certificate_optional\",\"client_certificate_required\",\"no_client_certificate\"]","x-ves-proto-message":"ves.io.schema.CertificateParamsType","properties":{"certificates":{"type":"array","description":" Set of certificates\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_len: 32\n ves.io.schema.rules.string.min_len: 1\n","title":"certificates","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Certificates","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"32","ves.io.schema.rules.string.min_len":"1"}},"cipher_suites":{"type":"array","description":" The following list specifies the supported cipher suite\n TLS_AES_128_GCM_SHA256\n TLS_AES_256_GCM_SHA384\n TLS_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\n TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\n TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\n TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\n TLS_RSA_WITH_AES_128_CBC_SHA\n TLS_RSA_WITH_AES_128_GCM_SHA256\n TLS_RSA_WITH_AES_256_CBC_SHA\n TLS_RSA_WITH_AES_256_GCM_SHA384\n\n If not specified, the default list:\n TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n will be used.\n\nExample: ` \"TLS_AES_128_GCM_SHA256\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.in: [\\\"TLS_AES_128_GCM_SHA256\\\",\\\"TLS_AES_256_GCM_SHA384\\\",\\\"TLS_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_256_GCM_SHA384\\\"]\n ves.io.schema.rules.repeated.unique: true\n","title":"cipher_suites","items":{"type":"string"},"x-displayname":"Cipher Suites","x-ves-example":"TLS_AES_128_GCM_SHA256","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.string.in":"[\\\"TLS_AES_128_GCM_SHA256\\\",\\\"TLS_AES_256_GCM_SHA384\\\",\\\"TLS_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_256_GCM_SHA384\\\"]","ves.io.schema.rules.repeated.unique":"true"}},"client_certificate_optional":{"$ref":"#/components/schemas/ioschemaEmpty"},"client_certificate_required":{"$ref":"#/components/schemas/ioschemaEmpty"},"maximum_protocol_version":{"$ref":"#/components/schemas/schemaTlsProtocol"},"minimum_protocol_version":{"$ref":"#/components/schemas/schemaTlsProtocol"},"no_client_certificate":{"$ref":"#/components/schemas/ioschemaEmpty"},"validation_params":{"$ref":"#/components/schemas/schemaTlsValidationParamsType"},"xfcc_header_elements":{"type":"array","description":" X-Forwarded-Client-Cert header elements to be set in an mTLS enabled connections.\n If none are defined, the header will not be added.\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.enum.defined_only: true\n ves.io.schema.rules.repeated.items.enum.not_in: [0]\n ves.io.schema.rules.repeated.unique: true\n","title":"XFCC Header","items":{"$ref":"#/components/schemas/schemaXfccElement"},"x-displayname":"XFCC Header","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.enum.defined_only":"true","ves.io.schema.rules.repeated.items.enum.not_in":"[0]","ves.io.schema.rules.repeated.unique":"true"}}}},"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\\\"]"}}}},"schemaCookieManipulationOptionType":{"type":"object","description":"x-displayName: \"Cookie Protection\"\nSet Cookie protection attributes.","title":"CookieManipulationOptionType","properties":{"add_httponly":{"$ref":"#/components/schemas/ioschemaEmpty"},"add_secure":{"$ref":"#/components/schemas/ioschemaEmpty"},"disable_tampering_protection":{"$ref":"#/components/schemas/ioschemaEmpty"},"enable_tampering_protection":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_httponly":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_max_age":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_samesite":{"$ref":"#/components/schemas/ioschemaEmpty"},"ignore_secure":{"$ref":"#/components/schemas/ioschemaEmpty"},"max_age_value":{"type":"integer","description":"x-displayName: \"Add Max Age\"\nAdd max age attribute","title":"add_max_age","format":"int32"},"name":{"type":"string","description":"x-displayName: \"Cookie Name\"\nx-example: \"value\"\nx-required\nName of the Cookie","title":"name"},"samesite_lax":{"$ref":"#/components/schemas/ioschemaEmpty"},"samesite_none":{"$ref":"#/components/schemas/ioschemaEmpty"},"samesite_strict":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"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"}}},"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"}}},"schemaHashAlgorithm":{"type":"string","description":"Specifies the Hash Algorithm to be used\n\nInvalid hash algorithm\nsha256 hash algorithm\nsha1 hash algorithm","title":"HashAlgoritm","enum":["INVALID_HASH_ALGORITHM","SHA256","SHA1"],"default":"INVALID_HASH_ALGORITHM","x-displayname":"Hash Algorithm","x-ves-proto-enum":"ves.io.schema.HashAlgorithm"},"schemaHashAlgorithms":{"type":"object","description":"Specifies the hash algorithms to be used","title":"HashAlgorithms","x-displayname":"Hash Algorithms","x-ves-proto-message":"ves.io.schema.HashAlgorithms","properties":{"hash_algorithms":{"type":"array","description":" Ordered list of hash algorithms to be used.\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 4\n ves.io.schema.rules.repeated.min_items: 1\n ves.io.schema.rules.repeated.unique: true\n","title":"Hash Algorithms","minItems":1,"maxItems":4,"items":{"$ref":"#/components/schemas/schemaHashAlgorithm"},"x-displayname":"Hash Algorithms","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"4","ves.io.schema.rules.repeated.min_items":"1","ves.io.schema.rules.repeated.unique":"true"}}}},"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"}}}},"schemaHeaderTransformationType":{"type":"object","description":"Header Transformation options for HTTP/1.1 request/response headers","title":"HeaderTransformationType","x-displayname":"Header Transformation","x-ves-displayorder":"1","x-ves-oneof-field-header_transformation_choice":"[\"default_header_transformation\",\"legacy_header_transformation\",\"preserve_case_header_transformation\",\"proper_case_header_transformation\"]","x-ves-proto-message":"ves.io.schema.HeaderTransformationType","properties":{"default_header_transformation":{"$ref":"#/components/schemas/ioschemaEmpty"},"legacy_header_transformation":{"$ref":"#/components/schemas/ioschemaEmpty"},"preserve_case_header_transformation":{"$ref":"#/components/schemas/ioschemaEmpty"},"proper_case_header_transformation":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"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"},"schemaHttpResponseCodeClass":{"type":"string","description":"Represents different http response classes(e.g 1XX, 2XX etc).\n\nResponse code is unknown.\nResponse code belongs to 1XX class.\nResponse code belongs to 2XX class.\nResponse code belongs to 3XX class.\nResponse code belongs to 4XX class.\nResponse code belongs to 5XX class.","title":"HttpResponseCodeClass","enum":["HTTP_RESPONSE_CODE_CLASS_UNKNOWN","HTTP_RESPONSE_CODE_CLASS_1XX","HTTP_RESPONSE_CODE_CLASS_2XX","HTTP_RESPONSE_CODE_CLASS_3XX","HTTP_RESPONSE_CODE_CLASS_4XX","HTTP_RESPONSE_CODE_CLASS_5XX"],"default":"HTTP_RESPONSE_CODE_CLASS_UNKNOWN","x-displayname":"HTTP Response Code Class","x-ves-proto-enum":"ves.io.schema.HttpResponseCodeClass"},"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"}}},"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"}}}},"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"}}},"schemaTLSCoalescingOptions":{"type":"object","description":"TLS connection coalescing configuration (not compatible with mTLS)","title":"TLSCoalescingOptions","x-displayname":"TLS Coalescing Options","x-ves-oneof-field-coalescing_choice":"[\"default_coalescing\",\"strict_coalescing\"]","x-ves-proto-message":"ves.io.schema.TLSCoalescingOptions","properties":{"default_coalescing":{"$ref":"#/components/schemas/ioschemaEmpty"},"strict_coalescing":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"schemaTlsCertificateType":{"type":"object","description":"Handle to fetch certificate and key","title":"TlsCertificateType","x-displayname":"TLS Certificate","x-ves-oneof-field-ocsp_stapling_choice":"[\"custom_hash_algorithms\",\"disable_ocsp_stapling\",\"use_system_defaults\"]","x-ves-proto-message":"ves.io.schema.TlsCertificateType","properties":{"certificate_url":{"type":"string","description":" TLS certificate.\n Certificate or certificate chain in PEM format including the PEM headers.\n\nExample: ` \"value\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.certificate_url: true\n ves.io.schema.rules.string.max_bytes: 131072\n ves.io.schema.rules.string.min_bytes: 1\n","title":"certificate_url","minLength":1,"maxLength":131072,"x-displayname":"Certificate","x-ves-example":"value","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.certificate_url":"true","ves.io.schema.rules.string.max_bytes":"131072","ves.io.schema.rules.string.min_bytes":"1"}},"custom_hash_algorithms":{"$ref":"#/components/schemas/schemaHashAlgorithms"},"description":{"type":"string","description":" Description for the certificate\n\nExample: ` \"Certificate used in production environment\"`","title":"description","x-displayname":"Description","x-ves-example":"Certificate used in production environment"},"disable_ocsp_stapling":{"$ref":"#/components/schemas/ioschemaEmpty"},"private_key":{"$ref":"#/components/schemas/schemaSecretType"},"use_system_defaults":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"schemaTlsParamsType":{"type":"object","description":"Information of different aspects for TLS authentication related to ciphers,\ncertificates and trust store","title":"TlsParamsType","x-displayname":"TLS Parameters","x-ves-displayorder":"4,7,1,2,3","x-ves-proto-message":"ves.io.schema.TlsParamsType","properties":{"cipher_suites":{"type":"array","description":" The following list specifies the supported cipher suite\n TLS_AES_128_GCM_SHA256\n TLS_AES_256_GCM_SHA384\n TLS_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\n TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\n TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\n TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\n TLS_RSA_WITH_AES_128_CBC_SHA\n TLS_RSA_WITH_AES_128_GCM_SHA256\n TLS_RSA_WITH_AES_256_CBC_SHA\n TLS_RSA_WITH_AES_256_GCM_SHA384\n\n If not specified, the default list:\n TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\n TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n will be used.\n\nExample: ` \"TLS_AES_128_GCM_SHA256\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.in: [\\\"TLS_AES_128_GCM_SHA256\\\",\\\"TLS_AES_256_GCM_SHA384\\\",\\\"TLS_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_256_GCM_SHA384\\\"]\n ves.io.schema.rules.repeated.unique: true\n","title":"cipher_suites","items":{"type":"string"},"x-displayname":"Cipher Suites","x-ves-example":"TLS_AES_128_GCM_SHA256","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.string.in":"[\\\"TLS_AES_128_GCM_SHA256\\\",\\\"TLS_AES_256_GCM_SHA384\\\",\\\"TLS_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\\\",\\\"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_128_GCM_SHA256\\\",\\\"TLS_RSA_WITH_AES_256_CBC_SHA\\\",\\\"TLS_RSA_WITH_AES_256_GCM_SHA384\\\"]","ves.io.schema.rules.repeated.unique":"true"}},"maximum_protocol_version":{"$ref":"#/components/schemas/schemaTlsProtocol"},"minimum_protocol_version":{"$ref":"#/components/schemas/schemaTlsProtocol"},"tls_certificates":{"type":"array","description":" Set of TLS certificates","title":"tls_certificates","items":{"$ref":"#/components/schemas/schemaTlsCertificateType"},"x-displayname":"TLS Certificates"},"validation_params":{"$ref":"#/components/schemas/schemaTlsValidationParamsType"}}},"schemaTlsProtocol":{"type":"string","description":"TlsProtocol is enumeration of supported TLS versions\n\nF5 Distributed Cloud will choose the optimal TLS version.","title":"TlsProtocol","enum":["TLS_AUTO","TLSv1_0","TLSv1_1","TLSv1_2","TLSv1_3"],"default":"TLS_AUTO","x-displayname":"TLS Protocol","x-ves-proto-enum":"ves.io.schema.TlsProtocol"},"schemaTlsValidationParamsType":{"type":"object","description":"This includes URL for a trust store, whether SAN verification is required\nand list of Subject Alt Names for verification","title":"TlsValidationParamsType","x-displayname":"TLS Certificate Validation Parameters","x-ves-oneof-field-trusted_ca_choice":"[\"trusted_ca\",\"trusted_ca_url\"]","x-ves-proto-message":"ves.io.schema.TlsValidationParamsType","properties":{"skip_hostname_verification":{"type":"boolean","description":" When True, skip verification of hostname i.e. CN/Subject Alt Name of certificate\n is not matched to the connecting hostname","title":"skip_hostname_verification","format":"boolean","x-displayname":"Skip verification of hostname"},"trusted_ca":{"$ref":"#/components/schemas/schemaTrustedCAList"},"trusted_ca_url":{"type":"string","description":"Exclusive with [trusted_ca]\n Inline Root CA Certificate\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 131072\n ves.io.schema.rules.string.truststore_url: true\n","title":"trusted_ca_url","maxLength":131072,"x-displayname":"Inline Root CA Certificate (legacy)","x-ves-validation-rules":{"ves.io.schema.rules.string.max_bytes":"131072","ves.io.schema.rules.string.truststore_url":"true"}},"verify_subject_alt_names":{"type":"array","description":" List of acceptable Subject Alt Names/CN in the peer's certificate.\n When skip_hostname_verification is false and verify_subject_alt_names is empty,\n the hostname of the peer will be used for matching against SAN/CN of peer's certificate\n\nExample: ` \"value\"`","title":"verify_subject_alt_names","items":{"type":"string"},"x-displayname":"List of SANs for matching","x-ves-example":"value"}}},"schemaTrustedCAList":{"type":"object","description":"Reference to Root CA Certificate","title":"Root CA Certificate","x-displayname":"Root CA Certificate Reference","x-ves-proto-message":"ves.io.schema.TrustedCAList","properties":{"trusted_ca_list":{"type":"array","description":" Reference to Root CA Certificate\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 1\n","title":"Root CA Certificate","maxItems":1,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Root CA Certificate Reference","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"1"}}}},"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"}}},"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"},"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"}}},"schemaXfccElement":{"type":"string","description":"X-Forwarded-Client-Cert custom cookie elements\n\nThe entire client certificate in URL encoded PEM format.\nThe entire client certificate chain (including the leaf certificate) in URL encoded PEM format.\nThe Subject field of the current client certificate. The value is always double-quoted.\nThe URI type Subject Alternative Name field of the current client certificate.\nA client certificate may contain multiple URI type Subject Alternative Names,\neach will be a separate key-value pair.\nThe DNS type Subject Alternative Name field of the current client certificate.\nA client certificate may contain multiple DNS type Subject Alternative Names,\neach will be a separate key-value pair.","title":"XfccElement","enum":["XFCC_NONE","XFCC_CERT","XFCC_CHAIN","XFCC_SUBJECT","XFCC_URI","XFCC_DNS"],"default":"XFCC_NONE","x-displayname":"XFCC Elements","x-ves-proto-enum":"ves.io.schema.XfccElement"},"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"}}}},"schemavirtual_hostAPIEndpoint":{"type":"object","description":"APIEndpoint Object.","title":"APIEndpoint","x-displayname":"API Endpoint","x-ves-proto-message":"ves.io.schema.virtual_host.APIEndpoint","properties":{"collapsed_url":{"type":"string","description":" Requested API endPoint for api url.\n\nExample: ` \"api/v1/user_id/DYN/vehicle_id/DYN\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 256\n ves.io.schema.rules.string.min_len: 1\n","title":"API URL","minLength":1,"maxLength":256,"x-displayname":"API URL","x-ves-example":"api/v1/user_id/DYN/vehicle_id/DYN","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"256","ves.io.schema.rules.string.min_len":"1"}},"method":{"type":"string","description":" Requested API endPoint for method.\n\nExample: ` \"GET\"`\n\nValidation Rules:\n ves.io.schema.rules.string.in: [\\\"GET\\\", \\\"POST\\\", \\\"HEAD\\\", \\\"PUT\\\", \\\"DELETE\\\", \\\"OPTIONS\\\", \\\"REGISTER\\\", \\\"DEBUG\\\", \\\"PROPFIND\\\", \\\"PATCH\\\", \\\"CONNECT\\\", \\\"SEARCH\\\", \\\"INDEX\\\", \\\"TRACE\\\"]\n","title":"Method of current API URL","x-displayname":"Method","x-ves-example":"GET","x-ves-validation-rules":{"ves.io.schema.rules.string.in":"[\\\"GET\\\", \\\"POST\\\", \\\"HEAD\\\", \\\"PUT\\\", \\\"DELETE\\\", \\\"OPTIONS\\\", \\\"REGISTER\\\", \\\"DEBUG\\\", \\\"PROPFIND\\\", \\\"PATCH\\\", \\\"CONNECT\\\", \\\"SEARCH\\\", \\\"INDEX\\\", \\\"TRACE\\\"]"}}}},"schemavirtual_hostCreateSpecType":{"type":"object","description":"Creates virtual host in a given namespace.","title":"Create virtual host","x-displayname":"Create Virtual Host","x-ves-displayorder":"15,2,3,5,85,18,19,38,6,17,7,8,100,101,102,103,12,13,20,28,21,22,33,23,30,35,27,25,32,34,76,79,82","x-ves-oneof-field-authentication_choice":"[\"authentication\",\"no_authentication\"]","x-ves-oneof-field-challenge_type":"[\"captcha_challenge\",\"js_challenge\",\"no_challenge\"]","x-ves-oneof-field-default_lb_choice":"[\"default_loadbalancer\",\"non_default_loadbalancer\"]","x-ves-oneof-field-path_normalize_choice":"[\"disable_path_normalize\",\"enable_path_normalize\"]","x-ves-oneof-field-server_header_choice":"[\"append_server_name\",\"default_header\",\"pass_through\",\"server_name\"]","x-ves-oneof-field-strict_sni_host_header_check_choice":"[]","x-ves-oneof-field-tls_certificates_choice":"[\"tls_cert_params\",\"tls_parameters\"]","x-ves-proto-message":"ves.io.schema.virtual_host.CreateSpecType","properties":{"add_location":{"type":"boolean","description":" x-example: true\n Appends header x-volterra-location = <re-site-name> in responses. This configuration\n is ignored on CE sites.\n\nExample: ` \"true\"`","format":"boolean","x-displayname":"Add Location","x-ves-example":"true"},"advertise_policies":{"type":"array","description":" Advertise Policy allows you to define networks or sites where you want a VIP for this virtual host to be advertised.\n Each Policy rule can have different parameters, like TLS configuration, ports, optionally ip address to be used for VIP.\n If advertise policy is not specified then no VIP is assigned for this virtual host.","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Advertise Policies"},"append_server_name":{"type":"string","description":"Exclusive with [default_header pass_through server_name]\n Specifies the value to be used for Server header if it is not already present.\n If Server Header is already present it is not overwritten. It is just passed.\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","maxLength":8096,"x-displayname":"Append Server Name if absent","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"authentication":{"$ref":"#/components/schemas/virtual_hostAuthenticationDetails"},"buffer_policy":{"$ref":"#/components/schemas/schemaBufferConfigType"},"captcha_challenge":{"$ref":"#/components/schemas/virtual_hostCaptchaChallengeType"},"coalescing_options":{"$ref":"#/components/schemas/schemaTLSCoalescingOptions"},"compression_params":{"$ref":"#/components/schemas/virtual_hostCompressionType"},"connection_idle_timeout":{"type":"integer","description":" The idle timeout for downstream connections. The idle timeout is defined as the\n period in which there are no active requests. When the idle timeout is reached the connection\n will be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.\n This is specified in milliseconds. The default value is 2 minutes.\n\nExample: ` \"60000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 600000\n","format":"int64","x-displayname":"Connection Idle Timeout","x-ves-example":"60000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"600000"}},"cors_policy":{"$ref":"#/components/schemas/schemaCorsPolicy"},"csrf_policy":{"$ref":"#/components/schemas/schemaCsrfPolicy"},"custom_errors":{"type":"object","description":"\n Map of integer error codes as keys and string values that can be used to provide custom\n http pages for each error code.\n Key of the map can be either response code class or HTTP Error code. Response code classes\n for key is configured as follows\n 3 -- for 3xx response code class\n 4 -- for 4xx response code class\n 5 -- for 5xx response code class\n Value is the uri_ref. Currently supported URL schemes is string:///.\n For string:/// scheme, message needs to be encoded in Base64 format.\n You can specify this message as base64 encoded plain text message e.g. \"Access Denied\"\n or it can be HTML paragraph or a body string encoded as base64 string\n E.g. \"<p> Access Denied </p>\". Base64 encoded string for this html is \"PHA+IEFjY2VzcyBEZW5pZWQgPC9wPg==\"\n Specific response code takes preference when both response code and response code class\n matches for a request.\n\n The configured custom errors are only applicable for loadbalancer generated errors.\n Errors returned from upstream server is propagated as is.\n\n F5XC provides default error pages for the errors generated by the loadbalancer. Content of\n these pages are not editable. User has an option to disable the use of default F5XC error pages\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.keys.uint32.gte: 3\n ves.io.schema.rules.map.keys.uint32.lte: 599\n ves.io.schema.rules.map.max_pairs: 16\n ves.io.schema.rules.map.values.string.max_len: 65536\n ves.io.schema.rules.map.values.string.uri_ref: true\n","x-displayname":"Custom Error Responses","x-ves-example":"value","x-ves-validation-rules":{"ves.io.schema.rules.map.keys.uint32.gte":"3","ves.io.schema.rules.map.keys.uint32.lte":"599","ves.io.schema.rules.map.max_pairs":"16","ves.io.schema.rules.map.values.string.max_len":"65536","ves.io.schema.rules.map.values.string.uri_ref":"true"}},"default_header":{"$ref":"#/components/schemas/ioschemaEmpty"},"default_loadbalancer":{"$ref":"#/components/schemas/ioschemaEmpty"},"disable_default_error_pages":{"type":"boolean","description":"\n An option to specify whether to disable using default F5XC error pages\n\nExample: ` \"true\"`","format":"boolean","x-displayname":"Disable default error pages","x-ves-example":"true"},"disable_dns_resolve":{"type":"boolean","description":"\n Disable DNS resolution for domains specified in the virtual host\n\n When the virtual host is configured as Dynamive Resolve Proxy (DRP), disable DNS resolution\n for domains configured. This configuration is suitable for HTTP CONNECT proxy.\n\nExample: ` \"false\"`","format":"boolean","x-displayname":"Disable DNS resolution","x-ves-example":"false"},"disable_path_normalize":{"$ref":"#/components/schemas/ioschemaEmpty"},"domains":{"type":"array","description":" A list of Domains (host/authority header) that will be matched to this Virtual Host.\n Wildcard hosts are supported in the suffix or prefix form\n\n Supported Domains and search order:\n 1. Exact Domain names: www.foo.com.\n 2. Domains starting with a Wildcard: *.foo.com.\n\n Not supported Domains:\n - Just a Wildcard: *\n - A Wildcard and TLD with no root Domain: *.com.\n - A Wildcard not matching a whole DNS label.\n e.g. *.foo.com and *.bar.foo.com are valid Wildcards however *bar.foo.com, *-bar.foo.com, and bar*.foo.com are all invalid.\n\n Additional notes:\n A Wildcard will not match empty string.\n e.g. *.foo.com will match bar.foo.com and baz-bar.foo.com but not .foo.com.\n The longest Wildcards match first.\n Only a single virtual host in the entire route configuration can match on *.\n Also a Domain must be unique across all virtual hosts within an advertise policy.\n\n Domains are also used for SNI matching if the virtual host proxy type is TCP_PROXY_WITH_SNI/HTTPS_PROXY\n Domains also indicate the list of names for which DNS resolution will be automatically resolved to IP addresses by the system.\n\nExample: ` \"www.foo.com\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 33\n ves.io.schema.rules.repeated.unique: true\n","maxItems":33,"items":{"type":"string"},"x-displayname":"Domains","x-ves-example":"www.foo.com","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.string.vh_domain":"true","ves.io.schema.rules.repeated.max_items":"33","ves.io.schema.rules.repeated.unique":"true"}},"dynamic_reverse_proxy":{"$ref":"#/components/schemas/virtual_hostDynamicReverseProxyType"},"enable_path_normalize":{"$ref":"#/components/schemas/ioschemaEmpty"},"http_protocol_options":{"$ref":"#/components/schemas/virtual_hostHttpProtocolOptions"},"idle_timeout":{"type":"integer","description":" Idle timeout is the amount of time that the loadbalancer will allow a stream to exist with\n no upstream or downstream activity.\n\n Idle timeout and Proxy Type:\n\n HTTP_PROXY, HTTPS_PROXY:\n Idle timer is started when the first byte is received on the connection.\n Each time an encode/decode event for headers or data is processed for the stream,\n the timer will be reset.\n If the timeout fires, the stream is terminated with a 504 (Gateway Timeout) error code if\n no upstream response header has been received, otherwise a stream reset occurs.\n The default idle timeout is 30 seconds\n\n TCP PROXY, TCP_PROXY_WITH_SNI, SMA_PROXY:\n The idle timeout is defined as the period in which there are no bytes sent or received on\n either the upstream or downstream connection.\n The default idle timeout is 1 hour.\n\n UDP PROXY:\n The idle timeout for sessions. Idle timeout is defined as the period in which there are no\n datagrams sent or received on the session.\n The default if not specified is 1 minute.\n\nExample: ` \"2000\"`","format":"int64","x-displayname":"Idle timeout (in milliseconds)","x-ves-example":"2000"},"js_challenge":{"$ref":"#/components/schemas/virtual_hostJavascriptChallengeType"},"max_request_header_size":{"type":"integer","description":"\n The maximum request header size in KiB for incoming connections.\n\n If un-configured, the default max request headers allowed is 60 KiB.\n\n Requests that exceed this limit will receive a 431 response.\n\n The max configurable limit is 96 KiB, based on current implementation constraints.\n\n Note:\n a. This configuration parameter is applicable only for HTTP_PROXY and HTTPS_PROXY\n b. When multiple HTTP_PROXY virtual hosts share the same advertise policy, the effective\n \"maximum request header size\" for such virtual hosts is the highest value configured\n on any of the virtual hosts\n\nExample: ` \"42\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 96\n","format":"int64","x-displayname":"Maximum Request Header Size (KiB)","x-ves-example":"42","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"96"}},"no_authentication":{"$ref":"#/components/schemas/ioschemaEmpty"},"no_challenge":{"$ref":"#/components/schemas/ioschemaEmpty"},"non_default_loadbalancer":{"$ref":"#/components/schemas/ioschemaEmpty"},"pass_through":{"$ref":"#/components/schemas/ioschemaEmpty"},"proxy":{"$ref":"#/components/schemas/virtual_hostProxyType"},"rate_limiter_allowed_prefixes":{"type":"array","description":" References to ip_prefix_set objects.\n Requests from source IP addresses that are covered by one of the allowed IP Prefixes are not subjected to rate limiting.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 4\n","maxItems":4,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Rate Limiter Allowed Prefixes","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"4"}},"request_cookies_to_add":{"type":"array","description":" Cookies are key-value pairs to be added to HTTP request being routed towards upstream.\n Cookies specified at this level are applied after cookies from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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","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 request being routed towards upstream.\n Headers specified at this level are applied after headers from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Add Request Headers","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"type":"string"},"x-displayname":"Remove Request Headers","x-ves-example":"host","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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 Cookies specified at this level are applied after cookies from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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","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 after headers from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Add Response Headers","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"type":"string"},"x-displayname":"Remove Response Headers","x-ves-example":"host","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"retry_policy":{"$ref":"#/components/schemas/schemaRetryPolicyType"},"routes":{"type":"array","description":" The list of routes that will be matched, in order, for incoming requests.\n The first route that matches will be used. Currently route object is redundant in case of TCP proxy but required.\n For TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY VirtualHosts, the route object only specifies the cluster/weighted-cluster\n as route destination without any match condition. In other words, match condition in route object is ignored for\n TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY VirtualHosts. Routes used for TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY\n VirtualHosts cannot have DirectResponse or Redirect as actions.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 256\n","maxItems":256,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Routes","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"256"}},"sensitive_data_policy":{"type":"array","description":" References to sensitive_data_policy objects.","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Sensitive Data Discovery"},"server_name":{"type":"string","description":"Exclusive with [append_server_name default_header pass_through]\n Specifies the value to be used for Server header inserted in responses.\n This will overwrite existing values if any for Server Header\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","maxLength":8096,"x-displayname":"Server Name","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"slow_ddos_mitigation":{"$ref":"#/components/schemas/virtual_hostSlowDDoSMitigation"},"tls_cert_params":{"$ref":"#/components/schemas/schemaCertificateParamsType"},"tls_parameters":{"$ref":"#/components/schemas/ioschemaDownstreamTlsParamsType"},"user_identification":{"type":"array","description":" A reference to user_identification object.\n The rules in the user_identification object are evaluated to determine the user identifier to be rate limited.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 1\n","maxItems":1,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"User Identification Policy","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"1"}},"waf_type":{"$ref":"#/components/schemas/schemaWafType"}}},"schemavirtual_hostGetSpecType":{"type":"object","description":"Get virtual host from a given namespace.","title":"Get virtual host","x-displayname":"Get Virtual Host","x-ves-displayorder":"10,15,2,3,5,85,18,19,38,6,17,7,8,100,101,102,103,12,13,20,28,21,22,33,23,30,35,27,25,32,34,76,79,82","x-ves-oneof-field-authentication_choice":"[\"authentication\",\"no_authentication\"]","x-ves-oneof-field-challenge_type":"[\"captcha_challenge\",\"js_challenge\",\"no_challenge\"]","x-ves-oneof-field-ddos_auto_mitigation_action":"[\"block\",\"ddos_js_challenge\",\"l7_ddos_action_default\",\"l7_ddos_captcha_challenge\"]","x-ves-oneof-field-default_lb_choice":"[\"default_loadbalancer\",\"non_default_loadbalancer\"]","x-ves-oneof-field-dns_zone_state_choice":"[\"not_ready\",\"ready\"]","x-ves-oneof-field-path_normalize_choice":"[\"disable_path_normalize\",\"enable_path_normalize\"]","x-ves-oneof-field-server_header_choice":"[\"append_server_name\",\"default_header\",\"pass_through\",\"server_name\"]","x-ves-oneof-field-strict_sni_host_header_check_choice":"[]","x-ves-oneof-field-tls_certificates_choice":"[\"tls_cert_params\",\"tls_parameters\"]","x-ves-proto-message":"ves.io.schema.virtual_host.GetSpecType","properties":{"add_location":{"type":"boolean","description":" x-example: true\n Appends header x-volterra-location = <re-site-name> in responses. This configuration\n is ignored on CE sites.\n\nExample: ` \"true\"`","format":"boolean","x-displayname":"Add Location","x-ves-example":"true"},"advertise_policies":{"type":"array","description":" Advertise Policy allows you to define networks or sites where you want a VIP for this virtual host to be advertised.\n Each Policy rule can have different parameters, like TLS configuration, ports, optionally ip address to be used for VIP.\n If advertise policy is not specified then no VIP is assigned for this virtual host.","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Advertise Policies"},"append_server_name":{"type":"string","description":"Exclusive with [default_header pass_through server_name]\n Specifies the value to be used for Server header if it is not already present.\n If Server Header is already present it is not overwritten. It is just passed.\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","maxLength":8096,"x-displayname":"Append Server Name if absent","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"authentication":{"$ref":"#/components/schemas/virtual_hostAuthenticationDetails"},"auto_cert_error_msg":{"type":"string","description":" Last encountered error message during certificate minting process.","x-displayname":"Auto Cert Error Message"},"auto_cert_info":{"$ref":"#/components/schemas/virtual_hostAutoCertInfoType"},"block":{"$ref":"#/components/schemas/ioschemaEmpty"},"buffer_policy":{"$ref":"#/components/schemas/schemaBufferConfigType"},"captcha_challenge":{"$ref":"#/components/schemas/virtual_hostCaptchaChallengeType"},"cdn_service":{"$ref":"#/components/schemas/virtual_hostCdnServiceType"},"coalescing_options":{"$ref":"#/components/schemas/schemaTLSCoalescingOptions"},"compression_params":{"$ref":"#/components/schemas/virtual_hostCompressionType"},"connection_idle_timeout":{"type":"integer","description":" The idle timeout for downstream connections. The idle timeout is defined as the\n period in which there are no active requests. When the idle timeout is reached the connection\n will be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.\n This is specified in milliseconds. The default value is 2 minutes.\n\nExample: ` \"60000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 600000\n","format":"int64","x-displayname":"Connection Idle Timeout","x-ves-example":"60000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"600000"}},"cors_policy":{"$ref":"#/components/schemas/schemaCorsPolicy"},"csrf_policy":{"$ref":"#/components/schemas/schemaCsrfPolicy"},"custom_errors":{"type":"object","description":"\n Map of integer error codes as keys and string values that can be used to provide custom\n http pages for each error code.\n Key of the map can be either response code class or HTTP Error code. Response code classes\n for key is configured as follows\n 3 -- for 3xx response code class\n 4 -- for 4xx response code class\n 5 -- for 5xx response code class\n Value is the uri_ref. Currently supported URL schemes is string:///.\n For string:/// scheme, message needs to be encoded in Base64 format.\n You can specify this message as base64 encoded plain text message e.g. \"Access Denied\"\n or it can be HTML paragraph or a body string encoded as base64 string\n E.g. \"<p> Access Denied </p>\". Base64 encoded string for this html is \"PHA+IEFjY2VzcyBEZW5pZWQgPC9wPg==\"\n Specific response code takes preference when both response code and response code class\n matches for a request.\n\n The configured custom errors are only applicable for loadbalancer generated errors.\n Errors returned from upstream server is propagated as is.\n\n F5XC provides default error pages for the errors generated by the loadbalancer. Content of\n these pages are not editable. User has an option to disable the use of default F5XC error pages\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.keys.uint32.gte: 3\n ves.io.schema.rules.map.keys.uint32.lte: 599\n ves.io.schema.rules.map.max_pairs: 16\n ves.io.schema.rules.map.values.string.max_len: 65536\n ves.io.schema.rules.map.values.string.uri_ref: true\n","x-displayname":"Custom Error Responses","x-ves-example":"value","x-ves-validation-rules":{"ves.io.schema.rules.map.keys.uint32.gte":"3","ves.io.schema.rules.map.keys.uint32.lte":"599","ves.io.schema.rules.map.max_pairs":"16","ves.io.schema.rules.map.values.string.max_len":"65536","ves.io.schema.rules.map.values.string.uri_ref":"true"}},"ddos_js_challenge":{"$ref":"#/components/schemas/virtual_hostJavascriptChallengeType"},"default_header":{"$ref":"#/components/schemas/ioschemaEmpty"},"default_loadbalancer":{"$ref":"#/components/schemas/ioschemaEmpty"},"disable_default_error_pages":{"type":"boolean","description":"\n An option to specify whether to disable using default F5XC error pages\n\nExample: ` \"true\"`","format":"boolean","x-displayname":"Disable default error pages","x-ves-example":"true"},"disable_dns_resolve":{"type":"boolean","description":"\n Disable DNS resolution for domains specified in the virtual host\n\n When the virtual host is configured as Dynamive Resolve Proxy (DRP), disable DNS resolution\n for domains configured. This configuration is suitable for HTTP CONNECT proxy.\n\nExample: ` \"false\"`","format":"boolean","x-displayname":"Disable DNS resolution","x-ves-example":"false"},"disable_path_normalize":{"$ref":"#/components/schemas/ioschemaEmpty"},"dns_info":{"type":"array","description":" DNS information for this virtual host","items":{"$ref":"#/components/schemas/virtual_host_dns_infoDnsInfo"},"x-displayname":"DNS Information"},"domains":{"type":"array","description":" A list of Domains (host/authority header) that will be matched to this Virtual Host.\n Wildcard hosts are supported in the suffix or prefix form\n\n Supported Domains and search order:\n 1. Exact Domain names: www.foo.com.\n 2. Domains starting with a Wildcard: *.foo.com.\n\n Not supported Domains:\n - Just a Wildcard: *\n - A Wildcard and TLD with no root Domain: *.com.\n - A Wildcard not matching a whole DNS label.\n e.g. *.foo.com and *.bar.foo.com are valid Wildcards however *bar.foo.com, *-bar.foo.com, and bar*.foo.com are all invalid.\n\n Additional notes:\n A Wildcard will not match empty string.\n e.g. *.foo.com will match bar.foo.com and baz-bar.foo.com but not .foo.com.\n The longest Wildcards match first.\n Only a single virtual host in the entire route configuration can match on *.\n Also a Domain must be unique across all virtual hosts within an advertise policy.\n\n Domains are also used for SNI matching if the virtual host proxy type is TCP_PROXY_WITH_SNI/HTTPS_PROXY\n Domains also indicate the list of names for which DNS resolution will be automatically resolved to IP addresses by the system.\n\nExample: ` \"www.foo.com\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 33\n ves.io.schema.rules.repeated.unique: true\n","maxItems":33,"items":{"type":"string"},"x-displayname":"Domains","x-ves-example":"www.foo.com","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.string.vh_domain":"true","ves.io.schema.rules.repeated.max_items":"33","ves.io.schema.rules.repeated.unique":"true"}},"dynamic_reverse_proxy":{"$ref":"#/components/schemas/virtual_hostDynamicReverseProxyType"},"enable_path_normalize":{"$ref":"#/components/schemas/ioschemaEmpty"},"host_name":{"type":"string","description":" Internally generated host name to be used for the virtual host\n\nExample: ` \"ves-io-cf8684b9-a18f-4843-a24f-1f9ee8ea2776.ac.vh.ves.io\"`","x-displayname":"Host Name","x-ves-example":"ves-io-cf8684b9-a18f-4843-a24f-1f9ee8ea2776.ac.vh.ves.io"},"http_protocol_options":{"$ref":"#/components/schemas/virtual_hostHttpProtocolOptions"},"idle_timeout":{"type":"integer","description":" Idle timeout is the amount of time that the loadbalancer will allow a stream to exist with\n no upstream or downstream activity.\n\n Idle timeout and Proxy Type:\n\n HTTP_PROXY, HTTPS_PROXY:\n Idle timer is started when the first byte is received on the connection.\n Each time an encode/decode event for headers or data is processed for the stream,\n the timer will be reset.\n If the timeout fires, the stream is terminated with a 504 (Gateway Timeout) error code if\n no upstream response header has been received, otherwise a stream reset occurs.\n The default idle timeout is 30 seconds\n\n TCP PROXY, TCP_PROXY_WITH_SNI, SMA_PROXY:\n The idle timeout is defined as the period in which there are no bytes sent or received on\n either the upstream or downstream connection.\n The default idle timeout is 1 hour.\n\n UDP PROXY:\n The idle timeout for sessions. Idle timeout is defined as the period in which there are no\n datagrams sent or received on the session.\n The default if not specified is 1 minute.\n\nExample: ` \"2000\"`","format":"int64","x-displayname":"Idle timeout (in milliseconds)","x-ves-example":"2000"},"js_challenge":{"$ref":"#/components/schemas/virtual_hostJavascriptChallengeType"},"l7_ddos_action_default":{"$ref":"#/components/schemas/ioschemaEmpty"},"l7_ddos_captcha_challenge":{"$ref":"#/components/schemas/virtual_hostCaptchaChallengeType"},"max_request_header_size":{"type":"integer","description":"\n The maximum request header size in KiB for incoming connections.\n\n If un-configured, the default max request headers allowed is 60 KiB.\n\n Requests that exceed this limit will receive a 431 response.\n\n The max configurable limit is 96 KiB, based on current implementation constraints.\n\n Note:\n a. This configuration parameter is applicable only for HTTP_PROXY and HTTPS_PROXY\n b. When multiple HTTP_PROXY virtual hosts share the same advertise policy, the effective\n \"maximum request header size\" for such virtual hosts is the highest value configured\n on any of the virtual hosts\n\nExample: ` \"42\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 96\n","format":"int64","x-displayname":"Maximum Request Header Size (KiB)","x-ves-example":"42","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"96"}},"no_authentication":{"$ref":"#/components/schemas/ioschemaEmpty"},"no_challenge":{"$ref":"#/components/schemas/ioschemaEmpty"},"non_default_loadbalancer":{"$ref":"#/components/schemas/ioschemaEmpty"},"not_ready":{"$ref":"#/components/schemas/ioschemaEmpty"},"pass_through":{"$ref":"#/components/schemas/ioschemaEmpty"},"proxy":{"$ref":"#/components/schemas/virtual_hostProxyType"},"rate_limiter_allowed_prefixes":{"type":"array","description":" References to ip_prefix_set objects.\n Requests from source IP addresses that are covered by one of the allowed IP Prefixes are not subjected to rate limiting.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 4\n","maxItems":4,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Rate Limiter Allowed Prefixes","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"4"}},"ready":{"$ref":"#/components/schemas/ioschemaEmpty"},"request_cookies_to_add":{"type":"array","description":" Cookies are key-value pairs to be added to HTTP request being routed towards upstream.\n Cookies specified at this level are applied after cookies from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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","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 request being routed towards upstream.\n Headers specified at this level are applied after headers from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Add Request Headers","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"type":"string"},"x-displayname":"Remove Request Headers","x-ves-example":"host","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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 Cookies specified at this level are applied after cookies from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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","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 after headers from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Add Response Headers","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"type":"string"},"x-displayname":"Remove Response Headers","x-ves-example":"host","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"retry_policy":{"$ref":"#/components/schemas/schemaRetryPolicyType"},"routes":{"type":"array","description":" The list of routes that will be matched, in order, for incoming requests.\n The first route that matches will be used. Currently route object is redundant in case of TCP proxy but required.\n For TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY VirtualHosts, the route object only specifies the cluster/weighted-cluster\n as route destination without any match condition. In other words, match condition in route object is ignored for\n TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY VirtualHosts. Routes used for TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY\n VirtualHosts cannot have DirectResponse or Redirect as actions.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 256\n","maxItems":256,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Routes","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"256"}},"sensitive_data_policy":{"type":"array","description":" References to sensitive_data_policy objects.","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Sensitive Data Discovery"},"server_name":{"type":"string","description":"Exclusive with [append_server_name default_header pass_through]\n Specifies the value to be used for Server header inserted in responses.\n This will overwrite existing values if any for Server Header\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","maxLength":8096,"x-displayname":"Server Name","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"slow_ddos_mitigation":{"$ref":"#/components/schemas/virtual_hostSlowDDoSMitigation"},"state":{"$ref":"#/components/schemas/virtual_hostVirtualHostState"},"tls_cert_params":{"$ref":"#/components/schemas/schemaCertificateParamsType"},"tls_parameters":{"$ref":"#/components/schemas/ioschemaDownstreamTlsParamsType"},"type":{"$ref":"#/components/schemas/virtual_hostVirtualHostType"},"user_identification":{"type":"array","description":" A reference to user_identification object.\n The rules in the user_identification object are evaluated to determine the user identifier to be rate limited.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 1\n","maxItems":1,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"User Identification Policy","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"1"}},"waf_type":{"$ref":"#/components/schemas/schemaWafType"}}},"schemavirtual_hostHttp1ProtocolOptions":{"type":"object","description":"HTTP/1.1 Protocol options for downstream connections","title":"Http1ProtocolOptions","x-displayname":"HTTP/1.1 Protocol Options","x-ves-proto-message":"ves.io.schema.virtual_host.Http1ProtocolOptions","properties":{"header_transformation":{"$ref":"#/components/schemas/schemaHeaderTransformationType"}}},"schemavirtual_hostReplaceSpecType":{"type":"object","description":"Replace a given virtual host in a given namespace.","title":"Replace virtual host","x-displayname":"Replace Virtual Host","x-ves-displayorder":"15,2,3,5,85,18,19,38,6,17,7,8,100,101,102,103,12,13,20,28,21,22,33,23,30,35,27,25,32,34,76,79,82","x-ves-oneof-field-authentication_choice":"[\"authentication\",\"no_authentication\"]","x-ves-oneof-field-challenge_type":"[\"captcha_challenge\",\"js_challenge\",\"no_challenge\"]","x-ves-oneof-field-default_lb_choice":"[\"default_loadbalancer\",\"non_default_loadbalancer\"]","x-ves-oneof-field-path_normalize_choice":"[\"disable_path_normalize\",\"enable_path_normalize\"]","x-ves-oneof-field-server_header_choice":"[\"append_server_name\",\"default_header\",\"pass_through\",\"server_name\"]","x-ves-oneof-field-strict_sni_host_header_check_choice":"[]","x-ves-oneof-field-tls_certificates_choice":"[\"tls_cert_params\",\"tls_parameters\"]","x-ves-proto-message":"ves.io.schema.virtual_host.ReplaceSpecType","properties":{"add_location":{"type":"boolean","description":" x-example: true\n Appends header x-volterra-location = <re-site-name> in responses. This configuration\n is ignored on CE sites.\n\nExample: ` \"true\"`","format":"boolean","x-displayname":"Add Location","x-ves-example":"true"},"advertise_policies":{"type":"array","description":" Advertise Policy allows you to define networks or sites where you want a VIP for this virtual host to be advertised.\n Each Policy rule can have different parameters, like TLS configuration, ports, optionally ip address to be used for VIP.\n If advertise policy is not specified then no VIP is assigned for this virtual host.","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Advertise Policies"},"append_server_name":{"type":"string","description":"Exclusive with [default_header pass_through server_name]\n Specifies the value to be used for Server header if it is not already present.\n If Server Header is already present it is not overwritten. It is just passed.\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","maxLength":8096,"x-displayname":"Append Server Name if absent","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"authentication":{"$ref":"#/components/schemas/virtual_hostAuthenticationDetails"},"buffer_policy":{"$ref":"#/components/schemas/schemaBufferConfigType"},"captcha_challenge":{"$ref":"#/components/schemas/virtual_hostCaptchaChallengeType"},"coalescing_options":{"$ref":"#/components/schemas/schemaTLSCoalescingOptions"},"compression_params":{"$ref":"#/components/schemas/virtual_hostCompressionType"},"connection_idle_timeout":{"type":"integer","description":" The idle timeout for downstream connections. The idle timeout is defined as the\n period in which there are no active requests. When the idle timeout is reached the connection\n will be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.\n This is specified in milliseconds. The default value is 2 minutes.\n\nExample: ` \"60000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 600000\n","format":"int64","x-displayname":"Connection Idle Timeout","x-ves-example":"60000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"600000"}},"cors_policy":{"$ref":"#/components/schemas/schemaCorsPolicy"},"csrf_policy":{"$ref":"#/components/schemas/schemaCsrfPolicy"},"custom_errors":{"type":"object","description":"\n Map of integer error codes as keys and string values that can be used to provide custom\n http pages for each error code.\n Key of the map can be either response code class or HTTP Error code. Response code classes\n for key is configured as follows\n 3 -- for 3xx response code class\n 4 -- for 4xx response code class\n 5 -- for 5xx response code class\n Value is the uri_ref. Currently supported URL schemes is string:///.\n For string:/// scheme, message needs to be encoded in Base64 format.\n You can specify this message as base64 encoded plain text message e.g. \"Access Denied\"\n or it can be HTML paragraph or a body string encoded as base64 string\n E.g. \"<p> Access Denied </p>\". Base64 encoded string for this html is \"PHA+IEFjY2VzcyBEZW5pZWQgPC9wPg==\"\n Specific response code takes preference when both response code and response code class\n matches for a request.\n\n The configured custom errors are only applicable for loadbalancer generated errors.\n Errors returned from upstream server is propagated as is.\n\n F5XC provides default error pages for the errors generated by the loadbalancer. Content of\n these pages are not editable. User has an option to disable the use of default F5XC error pages\n\nExample: ` \"value\"`\n\nValidation Rules:\n ves.io.schema.rules.map.keys.uint32.gte: 3\n ves.io.schema.rules.map.keys.uint32.lte: 599\n ves.io.schema.rules.map.max_pairs: 16\n ves.io.schema.rules.map.values.string.max_len: 65536\n ves.io.schema.rules.map.values.string.uri_ref: true\n","x-displayname":"Custom Error Responses","x-ves-example":"value","x-ves-validation-rules":{"ves.io.schema.rules.map.keys.uint32.gte":"3","ves.io.schema.rules.map.keys.uint32.lte":"599","ves.io.schema.rules.map.max_pairs":"16","ves.io.schema.rules.map.values.string.max_len":"65536","ves.io.schema.rules.map.values.string.uri_ref":"true"}},"default_header":{"$ref":"#/components/schemas/ioschemaEmpty"},"default_loadbalancer":{"$ref":"#/components/schemas/ioschemaEmpty"},"disable_default_error_pages":{"type":"boolean","description":"\n An option to specify whether to disable using default F5XC error pages\n\nExample: ` \"true\"`","format":"boolean","x-displayname":"Disable default error pages","x-ves-example":"true"},"disable_dns_resolve":{"type":"boolean","description":"\n Disable DNS resolution for domains specified in the virtual host\n\n When the virtual host is configured as Dynamive Resolve Proxy (DRP), disable DNS resolution\n for domains configured. This configuration is suitable for HTTP CONNECT proxy.\n\nExample: ` \"false\"`","format":"boolean","x-displayname":"Disable DNS resolution","x-ves-example":"false"},"disable_path_normalize":{"$ref":"#/components/schemas/ioschemaEmpty"},"domains":{"type":"array","description":" A list of Domains (host/authority header) that will be matched to this Virtual Host.\n Wildcard hosts are supported in the suffix or prefix form\n\n Supported Domains and search order:\n 1. Exact Domain names: www.foo.com.\n 2. Domains starting with a Wildcard: *.foo.com.\n\n Not supported Domains:\n - Just a Wildcard: *\n - A Wildcard and TLD with no root Domain: *.com.\n - A Wildcard not matching a whole DNS label.\n e.g. *.foo.com and *.bar.foo.com are valid Wildcards however *bar.foo.com, *-bar.foo.com, and bar*.foo.com are all invalid.\n\n Additional notes:\n A Wildcard will not match empty string.\n e.g. *.foo.com will match bar.foo.com and baz-bar.foo.com but not .foo.com.\n The longest Wildcards match first.\n Only a single virtual host in the entire route configuration can match on *.\n Also a Domain must be unique across all virtual hosts within an advertise policy.\n\n Domains are also used for SNI matching if the virtual host proxy type is TCP_PROXY_WITH_SNI/HTTPS_PROXY\n Domains also indicate the list of names for which DNS resolution will be automatically resolved to IP addresses by the system.\n\nExample: ` \"www.foo.com\"`\n\nValidation Rules:\n ves.io.schema.rules.repeated.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 33\n ves.io.schema.rules.repeated.unique: true\n","maxItems":33,"items":{"type":"string"},"x-displayname":"Domains","x-ves-example":"www.foo.com","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.string.vh_domain":"true","ves.io.schema.rules.repeated.max_items":"33","ves.io.schema.rules.repeated.unique":"true"}},"dynamic_reverse_proxy":{"$ref":"#/components/schemas/virtual_hostDynamicReverseProxyType"},"enable_path_normalize":{"$ref":"#/components/schemas/ioschemaEmpty"},"http_protocol_options":{"$ref":"#/components/schemas/virtual_hostHttpProtocolOptions"},"idle_timeout":{"type":"integer","description":" Idle timeout is the amount of time that the loadbalancer will allow a stream to exist with\n no upstream or downstream activity.\n\n Idle timeout and Proxy Type:\n\n HTTP_PROXY, HTTPS_PROXY:\n Idle timer is started when the first byte is received on the connection.\n Each time an encode/decode event for headers or data is processed for the stream,\n the timer will be reset.\n If the timeout fires, the stream is terminated with a 504 (Gateway Timeout) error code if\n no upstream response header has been received, otherwise a stream reset occurs.\n The default idle timeout is 30 seconds\n\n TCP PROXY, TCP_PROXY_WITH_SNI, SMA_PROXY:\n The idle timeout is defined as the period in which there are no bytes sent or received on\n either the upstream or downstream connection.\n The default idle timeout is 1 hour.\n\n UDP PROXY:\n The idle timeout for sessions. Idle timeout is defined as the period in which there are no\n datagrams sent or received on the session.\n The default if not specified is 1 minute.\n\nExample: ` \"2000\"`","format":"int64","x-displayname":"Idle timeout (in milliseconds)","x-ves-example":"2000"},"js_challenge":{"$ref":"#/components/schemas/virtual_hostJavascriptChallengeType"},"max_request_header_size":{"type":"integer","description":"\n The maximum request header size in KiB for incoming connections.\n\n If un-configured, the default max request headers allowed is 60 KiB.\n\n Requests that exceed this limit will receive a 431 response.\n\n The max configurable limit is 96 KiB, based on current implementation constraints.\n\n Note:\n a. This configuration parameter is applicable only for HTTP_PROXY and HTTPS_PROXY\n b. When multiple HTTP_PROXY virtual hosts share the same advertise policy, the effective\n \"maximum request header size\" for such virtual hosts is the highest value configured\n on any of the virtual hosts\n\nExample: ` \"42\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 96\n","format":"int64","x-displayname":"Maximum Request Header Size (KiB)","x-ves-example":"42","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"96"}},"no_authentication":{"$ref":"#/components/schemas/ioschemaEmpty"},"no_challenge":{"$ref":"#/components/schemas/ioschemaEmpty"},"non_default_loadbalancer":{"$ref":"#/components/schemas/ioschemaEmpty"},"pass_through":{"$ref":"#/components/schemas/ioschemaEmpty"},"proxy":{"$ref":"#/components/schemas/virtual_hostProxyType"},"rate_limiter_allowed_prefixes":{"type":"array","description":" References to ip_prefix_set objects.\n Requests from source IP addresses that are covered by one of the allowed IP Prefixes are not subjected to rate limiting.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 4\n","maxItems":4,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Rate Limiter Allowed Prefixes","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"4"}},"request_cookies_to_add":{"type":"array","description":" Cookies are key-value pairs to be added to HTTP request being routed towards upstream.\n Cookies specified at this level are applied after cookies from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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","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 request being routed towards upstream.\n Headers specified at this level are applied after headers from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Add Request Headers","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"type":"string"},"x-displayname":"Remove Request Headers","x-ves-example":"host","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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 Cookies specified at this level are applied after cookies from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","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","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 after headers from matched Route are applied\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"},"x-displayname":"Add Response Headers","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"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.max_items: 32\n ves.io.schema.rules.repeated.unique: true\n","maxItems":32,"items":{"type":"string"},"x-displayname":"Remove Response Headers","x-ves-example":"host","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"32","ves.io.schema.rules.repeated.unique":"true"}},"retry_policy":{"$ref":"#/components/schemas/schemaRetryPolicyType"},"routes":{"type":"array","description":" The list of routes that will be matched, in order, for incoming requests.\n The first route that matches will be used. Currently route object is redundant in case of TCP proxy but required.\n For TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY VirtualHosts, the route object only specifies the cluster/weighted-cluster\n as route destination without any match condition. In other words, match condition in route object is ignored for\n TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY VirtualHosts. Routes used for TCP_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY\n VirtualHosts cannot have DirectResponse or Redirect as actions.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 256\n","maxItems":256,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Routes","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"256"}},"sensitive_data_policy":{"type":"array","description":" References to sensitive_data_policy objects.","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Sensitive Data Discovery"},"server_name":{"type":"string","description":"Exclusive with [append_server_name default_header pass_through]\n Specifies the value to be used for Server header inserted in responses.\n This will overwrite existing values if any for Server Header\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","maxLength":8096,"x-displayname":"Server Name","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"slow_ddos_mitigation":{"$ref":"#/components/schemas/virtual_hostSlowDDoSMitigation"},"tls_cert_params":{"$ref":"#/components/schemas/schemaCertificateParamsType"},"tls_parameters":{"$ref":"#/components/schemas/ioschemaDownstreamTlsParamsType"},"user_identification":{"type":"array","description":" A reference to user_identification object.\n The rules in the user_identification object are evaluated to determine the user identifier to be rate limited.\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 1\n","maxItems":1,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"User Identification Policy","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"1"}},"waf_type":{"$ref":"#/components/schemas/schemaWafType"}}},"schemavirtual_host_dns_infoGlobalSpecType":{"type":"object","description":"Shape of the virtual host DNS info global specification","title":"Global Specification for Virtual Host DNS info","x-displayname":"Global Spec","x-ves-proto-message":"ves.io.schema.virtual_host_dns_info.GlobalSpecType","properties":{"dns_info":{"type":"array","description":" DNS information for this virtual host","title":"DNS information","items":{"$ref":"#/components/schemas/virtual_host_dns_infoDnsInfo"},"x-displayname":"DNS Information"},"host_name":{"type":"string","description":" Host name to be used for the virtual host\n\nExample: ` \"value\"`","title":"host name","x-displayname":"Host Name","x-ves-example":"value"},"virtual_host":{"type":"array","description":" Reference to virtual host object to which this information applies","title":"virtual host","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Virtual Host"}}},"ticket_managementJiraIssue":{"type":"object","description":"Top level object representing a Jira issue (ticket) - modeled after the JIRA REST API response format","title":"JiraIssue","x-displayname":"Jira Issue","x-ves-proto-message":"ves.io.schema.ticket_management.JiraIssue","properties":{"fields":{"$ref":"#/components/schemas/ticket_managementJiraIssueFields"},"id":{"type":"string","description":" External ID of the Jira issue\n\nExample: ` \"10000\"`","title":"id","x-displayname":"ID","x-ves-example":"10000"},"key":{"type":"string","description":"\n\nExample: ` \"TES-123\"`","title":"key","x-displayname":"Key","x-ves-example":"TES-123"}}},"ticket_managementJiraIssueFields":{"type":"object","description":"Contains fields and information that are specific to Jira issues (ticket) - modeled after the JIRA REST API response format","title":"JiraIssueFields","x-displayname":"Jira Issue Fields","x-ves-proto-message":"ves.io.schema.ticket_management.JiraIssueFields","properties":{"description":{"type":"object","description":" The description of the ticket in Atlassian Document Format JSON\n\nExample: ` {\"type\"\"doc\", \"version\": 1, \"content\": [{\"type\": \"paragraph\", \"content\": [{\"type\": \"text\": \"text\": \"Sample description\"}]}]}`","title":"description","x-displayname":"Description"},"issuetype":{"$ref":"#/components/schemas/ticket_managementJiraIssueType"},"project":{"$ref":"#/components/schemas/ticket_managementJiraProject"},"status":{"$ref":"#/components/schemas/ticket_managementJiraIssueStatus"},"summary":{"type":"string","description":" The summary (title) of the JIRA issue","title":"summary","x-displayname":"Summary"}}},"ticket_managementJiraIssueStatus":{"type":"object","description":"Issue status type information that's specific to Jira - modeled after the JIRA REST API response format","title":"JiraIssueStatus","x-displayname":"Jira Issue Status","x-ves-proto-message":"ves.io.schema.ticket_management.JiraIssueStatus","properties":{"icon_url":{"type":"string","description":" Externally accessible URL for the avatar of the status\n\nExample: ` \"https://example.atlassian.net/images/icons/statuses/inprogress.png\"`","title":"icon_url","x-displayname":"Icon URL","x-ves-example":"https://example.atlassian.net/images/icons/statuses/inprogress.png"},"id":{"type":"string","description":" External ID of the status\n\nExample: ` \"3\"`","title":"id","x-displayname":"ID","x-ves-example":"3"},"name":{"type":"string","description":" Human readable status as it would appear in the external ticket tracking system's UI\n\nExample: ` \"In Progress\"`","title":"name","x-displayname":"Name","x-ves-example":"In Progress"},"status_category":{"$ref":"#/components/schemas/ticket_managementJiraIssueStatusCategory"}}},"ticket_managementJiraIssueStatusCategory":{"type":"object","description":"Status category information like color name and ID - modeled after the JIRA REST API response format","title":"JiraIssueStatusCategory","x-displayname":"Jira Issue Status Category","x-ves-proto-message":"ves.io.schema.ticket_management.JiraIssueStatusCategory","properties":{"color_name":{"type":"string","description":" Color of the status category\n\nExample: ` \"blue-gray\"`","title":"color_name","x-displayname":"Color Name","x-ves-example":"blue-gray"},"id":{"type":"string","description":" External ID of the status color\n\nExample: ` 3`","title":"id","format":"uint64","x-displayname":"ID"}}},"ticket_managementJiraIssueType":{"type":"object","description":"Issue (ticket) type information that's specific to Jira - modeled after the JIRA REST API response format","title":"JiraIssueType","x-displayname":"Jira Issue Type","x-ves-proto-message":"ves.io.schema.ticket_management.JiraIssueType","properties":{"avatar_id":{"type":"string","description":" External ID of the avatar\n\nExample: ` \"10303\"`","title":"avatar_id","x-displayname":"Avatar ID","x-ves-example":"10303"},"icon_url":{"type":"string","description":" Externally accessible URL for the avatar of the issue type\n\nExample: ` \"https://example.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium\"`","title":"icon_url","x-displayname":"Icon URL","x-ves-example":"https://example.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium"},"id":{"type":"string","description":" External ID of the Jira issue type\n\nExample: ` \"10000\"`","title":"id","x-displayname":"ID","x-ves-example":"10000"},"name":{"type":"string","description":" Name (human readable) of the Jira issue type\n\nExample: ` \"Bug\"`","title":"name","x-displayname":"Name","x-ves-example":"Bug"}}},"ticket_managementJiraProject":{"type":"object","description":"Contains fields and information that are specific to Jira projects - modeled after the JIRA REST API response format","title":"JiraProject","x-displayname":"Jira Project","x-ves-proto-message":"ves.io.schema.ticket_management.JiraProject","properties":{"id":{"type":"string","description":" External ID of the project\n\nExample: ` \"10000\"`","title":"id","x-displayname":"ID","x-ves-example":"10000"},"issue_types":{"type":"array","description":" Returns available issue types for the project","title":"issue_types","items":{"$ref":"#/components/schemas/ticket_managementJiraIssueType"},"x-displayname":"Issue Types"},"key":{"type":"string","description":" Key of the status\n\nExample: ` \"TES\"`","title":"key","x-displayname":"Key","x-ves-example":"TES"},"name":{"type":"string","description":" Human readable name as it would appear in the external ticket tracking system's UI\n\nExample: ` \"Test project\"`","title":"name","x-displayname":"Name","x-ves-example":"Test project"}}},"ticket_managementTicketTrackingSystemType":{"type":"string","description":"The type of ticket tracking system - JIRA, ServiceNow, etc.\n\nDefault enum value for type\nJira ticket type","title":"TicketTrackingSystemType","enum":["TYPE_UNKNOWN","TYPE_JIRA"],"default":"TYPE_UNKNOWN","x-displayname":"Ticket Tracking System Type","x-ves-proto-enum":"ves.io.schema.ticket_management.TicketTrackingSystemType"},"viewsApiEndpointWithSchema":{"type":"object","description":"API endpoint and its schema","title":"API Endpoint With Schema","x-displayname":"API Endpoint With Schema","x-ves-proto-message":"ves.io.schema.views.ApiEndpointWithSchema","properties":{"api_operation":{"$ref":"#/components/schemas/viewsApiOperation"},"schema_json":{"type":"string","description":" The schema of the API endpoint\n\nExample: ` \"{}\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_bytes: 20000\n","title":"Schema JSON","maxLength":20000,"x-displayname":"Schema JSON","x-ves-example":"{}","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_bytes":"20000"}}}},"viewsApiOperation":{"type":"object","description":"API operation according to OpenAPI specification.","title":"ApiOperation","x-displayname":"API Operation","x-ves-proto-message":"ves.io.schema.views.ApiOperation","properties":{"method":{"$ref":"#/components/schemas/schemaHttpMethod"},"path":{"type":"string","description":" An endpoint path, as specified in OpenAPI, including parameters.\n The path should comply with RFC 3986 and may have parameters according to OpenAPI specification\n\nExample: ` \"/api/users/{userid}\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_bytes: 1024\n ves.io.schema.rules.string.min_bytes: 1\n ves.io.schema.rules.string.templated_http_path: true\n","title":"path","minLength":1,"maxLength":1024,"x-displayname":"Path","x-ves-example":"/api/users/{userid}","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_bytes":"1024","ves.io.schema.rules.string.min_bytes":"1","ves.io.schema.rules.string.templated_http_path":"true"}}}},"virtual_hostAPIEPActivityMetricType":{"type":"string","description":"Activity metric calculation type per API Endpoint\n\nIf specified, API returns top attacked APIEPs summary by sec_event percentage for given virtual host.\nThe percentage is calculated as sec_events_percentage(apiep) = #sec-events(apiep)/#requests(apiep) * 100\nIf specified, API returns top active APIEPs summary by request ratio for given virtual host.\nThe percentage is calculated as request_percentage(apiep) = #requests(apiep)/#requests(all apiep) * 100","title":"APIEPActivityMetricType","enum":["ACTIVITY_METRIC_TYPE_SEC_EVENTS_PERCENTAGE","ACTIVITY_METRIC_TYPE_REQ_PERCENTAGE"],"default":"ACTIVITY_METRIC_TYPE_SEC_EVENTS_PERCENTAGE","x-displayname":"API Activity Metric Type","x-ves-proto-enum":"ves.io.schema.virtual_host.APIEPActivityMetricType"},"virtual_hostAPIEPActivityMetrics":{"type":"object","description":"This represents the API endpoint's activity metrics.","title":"APIEPActivityMetrics","x-displayname":"API Endpoint Activity Metrics","x-ves-proto-message":"ves.io.schema.virtual_host.APIEPActivityMetrics","properties":{"apiep_url":{"type":"string","description":" URL for API endpoint.\n\nExample: ` \"/api/v1/user/{user_id}/vehicle/{vehicle_id}\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_bytes: 1024\n ves.io.schema.rules.string.min_bytes: 1\n ves.io.schema.rules.string.templated_http_path: true\n","title":"apiep_url","minLength":1,"maxLength":1024,"x-displayname":"API endpoint URL","x-ves-example":"/api/v1/user/{user_id}/vehicle/{vehicle_id}","x-ves-validation-rules":{"ves.io.schema.rules.string.max_bytes":"1024","ves.io.schema.rules.string.min_bytes":"1","ves.io.schema.rules.string.templated_http_path":"true"}},"method":{"$ref":"#/components/schemas/schemaHttpMethod"},"top_by_metric_value":{"type":"integer","description":" The field `top_by_metric_value` returns one of the following values based on the metric type passed in the request field `top_by_metric`","title":"top_by_metric_value","format":"int32","x-displayname":"Top By Metric Value"}}},"virtual_hostAPIEPDiscoverySource":{"type":"string","description":"API Endpoint Discovery Source\n\nMerging all source types to one spec\nDiscovery spec from traffic data\nDiscovery spec from crawler engine\nDiscovery spec from code scan","title":"APIEPDiscoverySource","enum":["MERGED","TRAFFIC","CRAWLER","CODE_SCAN"],"default":"MERGED","x-displayname":"API Endpoint Discovery Source","x-ves-proto-enum":"ves.io.schema.virtual_host.APIEPDiscoverySource"},"virtual_hostAPIEPSourceOpenApiSchemaRsp":{"type":"object","description":"shape of response to get API endpoint Open API Schema request for specific sources","title":"APIEPSourceOpenApiSchemaRsp GET response","x-displayname":"API endpoint Open API Schema per sources response","x-ves-proto-message":"ves.io.schema.virtual_host.APIEPSourceOpenApiSchemaRsp","properties":{"api_specs":{"type":"object","description":" Discovered API Specifications based on discovery Source.","title":"API Specifications","x-displayname":"API Specifications"}}},"virtual_hostAPIEPSummaryFilter":{"type":"object","description":"Filter object for summary block.","title":"APIEPSummaryFilter","x-displayname":"APIEP Summary Filter","x-ves-proto-message":"ves.io.schema.virtual_host.APIEPSummaryFilter","properties":{"apiep_category":{"type":"array","description":" Category of api endpoints. Can be DISCOVERED, INVENTORY or SHADOW API.\n Optional filter by api_category. If absent, endpoints of all categories are considered.\n\nExample: ` \"DISCOVERED\"`","title":"APIEP Category","items":{"$ref":"#/components/schemas/app_typeAPIEPCategory"},"x-displayname":"APIEP Category","x-ves-example":"DISCOVERED"},"domains":{"type":"array","description":" List of domains for which top api endpoints summary should be returned.\n Optional filter by domains. If absent, endpoints for all domains are considered.\n\nExample: ` \"www.example.com\"`\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.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 5\n ves.io.schema.rules.repeated.unique: true\n","title":"List of Domain","maxItems":5,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"List of Domains","x-ves-example":"www.example.com","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.items.string.vh_domain":"true","ves.io.schema.rules.repeated.max_items":"5","ves.io.schema.rules.repeated.unique":"true"}},"end_time":{"type":"string","description":" format: unix_timestamp|rfc 3339\n Filters the APIEPs with access time < end_time.\n Optional: If not specified, then the end_time will be evaluated to start_time+2h\n If start_time is not specified, then the end_time will be evaluated to <current time>\n\nExample: ` \"2019-09-24T12:30:11.733Z\"`","title":"end time","x-displayname":"End Time","x-ves-example":"2019-09-24T12:30:11.733Z"},"start_time":{"type":"string","description":" format: unix_timestamp|rfc 3339\n Filters the APIEPs with access time >= start_time.\n Optional: If not specified, then the start_time will be evaluated to end_time-2h\n If end_time is not specified, then the start_time will be evaluated to <current time>-10m\n\nExample: ` \"2019-09-23T12:30:11.733Z\"`","title":"start time","x-displayname":"Start Time","x-ves-example":"2019-09-23T12:30:11.733Z"}}},"virtual_hostAPIEndpointLearntSchemaRsp":{"type":"object","description":"shape of response to get req body schema for a given API endpoint.","title":"API endpoint Req Body Schema response","x-displayname":"Req Body Schema Response","x-ves-proto-message":"ves.io.schema.virtual_host.APIEndpointLearntSchemaRsp","properties":{"api_specs":{"type":"object","description":" Discovered API Specifications based on API type for eg, OpenAPI or GraphQL schema for API endpoint.","title":"API Specifications","x-displayname":"API Specifications"},"authentication":{"$ref":"#/components/schemas/app_typeAuthentication"},"discovered_schema":{"$ref":"#/components/schemas/app_typeDiscoveredSchema"},"inventory_openapi_spec":{"type":"string","description":" Inventory OpenAPI spec for request API endpoint.\n\nExample: ` \"{\\\"info\\\":{\\\"description\\\":\\\"\\\",\\\"title\\\":\\\"\\\",\\\"version\\\":\\\"\\\"},\\\"paths\\\":{\\\"\\/api\\/Addresss\\\":{\\\"get\\\":{\\\"consumes\\\":[\\\"application\\/json\\\"],\\\"description\\\":\\\"Swagger auto-generated from learnt schema\\\",\\\"parameters\\\":[{\\\"description\\\":\\\"\\\",\\\"in\\\":\\\"query\\\",\\\"name\\\":\\\"test\\\",\\\"type\\\":\\\"string\\\"},{\\\"description\\\":\\\"\\\",\\\"in\\\":\\\"query\\\",\\\"name\\\":\\\"test1\\\",\\\"type\\\":\\\"string\\\"}],\\\"responses\\\":{\\\"200\\\":{\\\"description\\\":\\\"\\\"}}}}},\\\"schemes\\\":[\\\"https\\\",\\\"http\\\"],\\\"swagger\\\":\\\"2.0\\\"}\"`","title":"Inventory OpenAPI Spec","x-displayname":"Inventory OpenAPI Spec","x-ves-example":"{\\\"info\\\":{\\\"description\\\":\\\"\\\",\\\"title\\\":\\\"\\\",\\\"version\\\":\\\"\\\"},\\\"paths\\\":{\\\"\\/api\\/Addresss\\\":{\\\"get\\\":{\\\"consumes\\\":[\\\"application\\/json\\\"],\\\"description\\\":\\\"Swagger auto-generated from learnt schema\\\",\\\"parameters\\\":[{\\\"description\\\":\\\"\\\",\\\"in\\\":\\\"query\\\",\\\"name\\\":\\\"test\\\",\\\"type\\\":\\\"string\\\"},{\\\"description\\\":\\\"\\\",\\\"in\\\":\\\"query\\\",\\\"name\\\":\\\"test1\\\",\\\"type\\\":\\\"string\\\"}],\\\"responses\\\":{\\\"200\\\":{\\\"description\\\":\\\"\\\"}}}}},\\\"schemes\\\":[\\\"https\\\",\\\"http\\\"],\\\"swagger\\\":\\\"2.0\\\"}"},"pdf_info":{"$ref":"#/components/schemas/app_typeAPIEPPDFInfo"},"sensitive_data":{"type":"array","description":" List of sensitive data for request API endpoint.","title":"List of sensitive data","items":{"$ref":"#/components/schemas/app_typeSensitiveData"},"x-displayname":"List of Sensitive Data"}}},"virtual_hostAPIEndpointPDFRsp":{"type":"object","description":"shape of response to get PDF for a given API endpoint.","title":"API endpoint PDF response","x-displayname":"PDF Response","x-ves-proto-message":"ves.io.schema.virtual_host.APIEndpointPDFRsp","properties":{"pdf_info":{"$ref":"#/components/schemas/app_typeAPIEPPDFInfo"}}},"virtual_hostAPIEndpointReq":{"type":"object","description":"Request shape for GET API endpoint API","title":"API endpoint GET request Per Virtual Host","x-displayname":"API Endpoint Request per Virtual Host","x-ves-proto-message":"ves.io.schema.virtual_host.APIEndpointReq","properties":{"api_endpoint_info_request":{"type":"array","description":" List of additional things that needs to be sent as part of the request\n\nValidation Rules:\n ves.io.schema.rules.repeated.unique: true\n","title":"Api Endpoint Info Request","items":{"$ref":"#/components/schemas/app_typeApiEndpointInfoRequest"},"x-displayname":"Api Endpoint Info Request","x-ves-validation-rules":{"ves.io.schema.rules.repeated.unique":"true"}},"collapsed_url":{"type":"string","description":" Requested API endPoint for api url.\n\nExample: ` \"api/v1/user_id/DYN/vehicle_id/DYN\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"API URL","x-displayname":"API URL","x-ves-example":"api/v1/user_id/DYN/vehicle_id/DYN","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"domains":{"type":"array","description":" List of domains that needs to be sent as part of the request\n Optional filter by domains. If absent, all domains are considered.\n\nExample: ` \"www.example.com\"`\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.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 5\n ves.io.schema.rules.repeated.unique: true\n","title":"List of Domain","maxItems":5,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"List of Domain","x-ves-example":"www.example.com","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.items.string.vh_domain":"true","ves.io.schema.rules.repeated.max_items":"5","ves.io.schema.rules.repeated.unique":"true"}},"method":{"type":"string","description":" Requested API endPoint for method.\n\nExample: ` \"GET\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"Method of current API URL","x-displayname":"Method","x-ves-example":"GET","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`","title":"Virtual Host Name","x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost"},"namespace":{"type":"string","description":" Namespace of the virtual host for current request\n\nExample: ` \"blogging-app\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"blogging-app"}}},"virtual_hostAPIEndpointRsp":{"type":"object","description":"Response shape for GET API endpoint API.","title":"API endpoint GET response","x-displayname":"API Endpoint Response","x-ves-proto-message":"ves.io.schema.virtual_host.APIEndpointRsp","properties":{"apiep":{"$ref":"#/components/schemas/app_typeAPIEPInfo"}}},"virtual_hostAPIEndpointsRsp":{"type":"object","description":"Response shape for GET API endpoints API. It is list of API endpoints discovered","title":"API endpoints GET response","x-displayname":"API Endpoints Response","x-ves-proto-message":"ves.io.schema.virtual_host.APIEndpointsRsp","properties":{"apiep_list":{"type":"array","description":" list of API endpoints discovered","title":"API endpoints list","items":{"$ref":"#/components/schemas/app_typeAPIEPInfo"},"x-displayname":"API Endpoints"},"last_update":{"type":"string","description":" The API endpoints Last Update timestamp indicates most recent update of API endpoints happened\n The API Discovery periodically updates the API endpoints list based on application's traffic","title":"last_update","format":"date-time","x-displayname":"Last Update"}}},"virtual_hostApiEndpointsStatsRsp":{"type":"object","description":"Response shape for GET API endpoints Stats.","title":"Api Endpoints stats Response","x-displayname":"Api Endpoints Stats Response","x-ves-proto-message":"ves.io.schema.virtual_host.ApiEndpointsStatsRsp","properties":{"discovered":{"type":"integer","description":" number of endpoints that categorized as discover","title":"number of discovered endpoints","format":"int32","x-displayname":"Discovered"},"inventory":{"type":"integer","description":" number of endpoints that categorized as inventory","title":"number of inventory endpoints","format":"int32","x-displayname":"Inventory"},"pii_detected":{"type":"integer","description":"number of endpoints that detected with pii","title":"number of pii endpoints","format":"int32","x-displayname":"PII Detected"},"shadow":{"type":"integer","description":" number of endpoints that categorized as shadow","title":"number of shadow endpoints","format":"int32","x-displayname":"Shadow"},"total_endpoints":{"type":"integer","description":" total endpoints","title":"number of endpoints","format":"int32","x-displayname":"Total Endpoints"}}},"virtual_hostApiInventorySchemaQueryType":{"type":"string","description":"API Inventory Schema Query Type\n\n - API_INVENTORY_SCHEMA_FULL_RESPONSE: Full Response\n\n - API_INVENTORY_SCHEMA_CURRENT: Current Schema\n\n - API_INVENTORY_SCHEMA_UPDATED: Updated Schema\n","title":"API Inventory Schema Query Type","enum":["API_INVENTORY_SCHEMA_FULL_RESPONSE","API_INVENTORY_SCHEMA_CURRENT","API_INVENTORY_SCHEMA_UPDATED"],"default":"API_INVENTORY_SCHEMA_FULL_RESPONSE","x-displayname":"API Inventory Schema Query Type","x-ves-proto-enum":"ves.io.schema.virtual_host.ApiInventorySchemaQueryType"},"virtual_hostApiSpec":{"type":"object","description":"x-displayName: \"OpenAPI Specification\"\nOpenAPI specification settings","title":"OpenAPI Specification","properties":{"api_definition":{"$ref":"#/components/schemas/schemaviewsObjectRefType"},"disable_open_api_validation":{"$ref":"#/components/schemas/ioschemaEmpty"},"enable_open_api_validation":{"$ref":"#/components/schemas/virtual_hostOpenApiValidationSettings"}}},"virtual_hostAssignAPIDefinitionReq":{"type":"object","description":"Request form for Assign API Definition","title":"Assign API Definition Request","x-displayname":"Assign API Definition Request","x-ves-proto-message":"ves.io.schema.virtual_host.AssignAPIDefinitionReq","properties":{"api_definition":{"$ref":"#/components/schemas/schemaviewsObjectRefType"},"create_new":{"type":"boolean","description":" Create an empty API Definition object, if not exists","title":"Create if not exists","format":"boolean","x-displayname":"Create New"},"name":{"type":"string","description":" Name of the Virtual Hosts\n\nExample: ` \"blogging-app\"`","title":"Name","x-displayname":"Name","x-ves-example":"blogging-app"},"namespace":{"type":"string","description":" Namespace of the Virtual Hosts\n\nExample: ` \"shared\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"shared"}}},"virtual_hostAssignAPIDefinitionResp":{"type":"object","description":"Response form for Assign API Definition","title":"Assign API Definition Response","x-displayname":"Assign API Definition Response","x-ves-proto-message":"ves.io.schema.virtual_host.AssignAPIDefinitionResp"},"virtual_hostAuthenticationDetails":{"type":"object","description":"Authentication related information. This allows to configure the URL to redirect after the authentication\nAuthentication Object Reference, configuration of cookie params etc","title":"AuthenticationDetails","x-displayname":"Authentication Details","x-ves-oneof-field-cookie_params_choice":"[\"cookie_params\",\"use_auth_object_config\"]","x-ves-oneof-field-redirect_url_choice":"[\"redirect_dynamic\",\"redirect_url\"]","x-ves-proto-message":"ves.io.schema.virtual_host.AuthenticationDetails","properties":{"auth_config":{"type":"array","description":" Reference to Authentication Config Object\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":"Authentication Object","maxItems":1,"items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Reference to Authentication Object","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"1"}},"cookie_params":{"$ref":"#/components/schemas/authenticationCookieParams"},"redirect_dynamic":{"$ref":"#/components/schemas/ioschemaEmpty"},"redirect_url":{"type":"string","description":"Exclusive with [redirect_dynamic]\n\n user can provide a url for e.g https://abc.xyz.com where user gets redirected. This URL configured here\n must match with the redirect URL configured with the OIDC provider\n\nExample: ` https://abc.xyz.com`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 128\n ves.io.schema.rules.string.min_len: 1\n ves.io.schema.rules.string.uri_ref: true\n","title":"Redirect URL","minLength":1,"maxLength":128,"x-displayname":"Configure Redirect URL","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"128","ves.io.schema.rules.string.min_len":"1","ves.io.schema.rules.string.uri_ref":"true"}},"use_auth_object_config":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"virtual_hostAutoCertInfoType":{"type":"object","description":"Information related to auto certificate","title":"AutoCertInfoType","x-displayname":"Auto Cert Information","x-ves-proto-message":"ves.io.schema.virtual_host.AutoCertInfoType","properties":{"auto_cert_expiry":{"type":"string","description":" Auto certificate expiry timestamp","title":"Auto Cert Expiry Timestamp","format":"date-time","x-displayname":"Auto Cert Expiry Timestamp"},"auto_cert_issuer":{"type":"string","description":" Issuer of the auto certificate","title":"Auto Cert Issuer","x-displayname":"Auto Cert Issuer"},"auto_cert_state":{"$ref":"#/components/schemas/virtual_hostCertificationState"},"auto_cert_subject":{"type":"string","description":" Subject of the auto certificate","title":"Auto Cert Subject","x-displayname":"Auto Cert Subject"},"dns_records":{"type":"array","description":" DNS Records that are to be added by user in their DNS domain.\n Currently, this will be populated when auto certificates are\n desired but DNS delegation is not enabled.","title":"DNS Records","items":{"$ref":"#/components/schemas/virtual_hostDNSRecord"},"x-displayname":"DNS Records"}}},"virtual_hostCDNOriginServerPublicIP":{"type":"object","description":"x-displayName: \"Public IP\"\nSpecify origin server with public IP address","title":"OriginServerPublicIP","properties":{"ip":{"type":"string","description":"x-displayName: \"Public IPV4\"\nx-example: \"8.8.8.8\"\nPublic IPV4 address","title":"IP"},"ipv6":{"type":"string","description":"x-displayName: \"Public IPV6\"\nx-example: \"2001::1\"\nPublic IPV6 address","title":"IPV6"}}},"virtual_hostCDNOriginServerPublicName":{"type":"object","description":"x-displayName: \"Public DNS Name\"\nSpecify origin server with public DNS name","title":"CDNOriginServerPublicName","properties":{"dns_name":{"type":"string","description":"x-displayName: \"DNS Name\"\nx-example: \"value\"\nDNS Name","title":"DNS name"}}},"virtual_hostCDNOriginServerType":{"type":"object","description":"x-displayName: \"Origin Server\"\nVarious options to specify origin server","title":"CDNOriginServerType","properties":{"port":{"type":"integer","description":"x-displayName: \"Origin Server Port\"\nx-example: \"80\"\nPort the workload can be reached on","title":"Port","format":"int64"},"public_ip":{"$ref":"#/components/schemas/virtual_hostCDNOriginServerPublicIP"},"public_name":{"$ref":"#/components/schemas/virtual_hostCDNOriginServerPublicName"}}},"virtual_hostCDNUpstreamTlsParameters":{"type":"object","description":"x-displayName: \"TLS Parameters for Origin Servers\"\nUpstream TLS Parameters","title":"CDNUpstreamTlsParameters"},"virtual_hostCaptchaChallengeType":{"type":"object","description":"\nEnables loadbalancer to perform captcha challenge\n\nCaptcha challenge will be based on Google Recaptcha.\n\nWith this feature enabled, only clients that pass the captcha challenge will be allowed to\ncomplete the HTTP request.\n\nWhen loadbalancer is configured to do Captcha Challenge, it will redirect the browser to an\nHTML page on every new HTTP request. This HTML page will have captcha challenge embedded in it.\nClient will be allowed to make the request only if the captcha challenge is successful.\nLoadbalancer will tag response header with a cookie to avoid Captcha challenge for subsequent requests.\n\nCAPTCHA is mainly used as a security check to ensure only human users can pass through.\nGenerally, computers or bots are not capable of solving a captcha.\n\nYou can enable either Javascript challenge or Captcha challenge on a virtual host","title":"CaptchaChallengeType","x-displayname":"Captcha Challenge Parameters","x-ves-proto-message":"ves.io.schema.virtual_host.CaptchaChallengeType","properties":{"cookie_expiry":{"type":"integer","description":" Cookie expiration period, in seconds.\n An expired cookie causes the loadbalancer to issue a new challenge.\n\nExample: ` \"1000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 1\n ves.io.schema.rules.uint32.lte: 86400\n","title":"cookie_expiry","format":"int64","x-displayname":"Cookie Expiration Period","x-ves-example":"1000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"1","ves.io.schema.rules.uint32.lte":"86400"}},"custom_page":{"type":"string","description":" Custom message is of type uri_ref. Currently supported URL schemes is string:///.\n For string:/// scheme, message needs to be encoded in Base64 format.\n You can specify this message as base64 encoded plain text message e.g. \"Please Wait..\"\n or it can be HTML paragraph or a body string encoded as base64 string\n E.g. \"<p> Please Wait </p>\". Base64 encoded string for this html is \"PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"\n\nExample: ` \"string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 65536\n ves.io.schema.rules.string.uri_ref: true\n","title":"custom_page","maxLength":65536,"x-displayname":"Custom message for Captcha Challenge","x-ves-example":"string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"65536","ves.io.schema.rules.string.uri_ref":"true"}}}},"virtual_hostCdnOriginPoolType":{"type":"object","description":"x-displayName: \"CDN Origin Pool\"\nOrigin Pool for the CDN distribution","title":"CdnOriginPoolType","properties":{"follow_origin_redirect":{"type":"boolean","description":"x-displayName: \"Follow Origin Redirect\"\nx-example: \"true\"\nx-example: true\nInstructs the CDN to follow redirects from the origin server(s)","title":"Follow Origin Redirect","format":"boolean"},"more_origin_options":{"$ref":"#/components/schemas/virtual_hostOriginAdvancedConfiguration"},"no_tls":{"$ref":"#/components/schemas/ioschemaEmpty"},"origin_request_timeout":{"type":"string","description":"x-displayName: \"Origin Request Timeout Duration\"\nx-example: \"100s\"\nConfigures the time after which a request to the origin will time out waiting for a response","title":"Origin Request Timeout"},"origin_servers":{"type":"array","description":"x-displayName: \"List Of Origin Servers\"\nx-required\nList of original servers","title":"List of Origin Servers","items":{"$ref":"#/components/schemas/virtual_hostCDNOriginServerType"}},"public_name":{"$ref":"#/components/schemas/virtual_hostCDNOriginServerPublicName"},"use_tls":{"$ref":"#/components/schemas/virtual_hostCDNUpstreamTlsParameters"}}},"virtual_hostCdnServiceType":{"type":"object","x-ves-oneof-field-content_choice":"[\"download_delivery\",\"live_streaming\"]","x-ves-proto-message":"ves.io.schema.virtual_host.CdnServiceType","properties":{"download_delivery":{"$ref":"#/components/schemas/ioschemaEmpty"},"live_streaming":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"virtual_hostCertificationState":{"type":"string","description":"State of auto certification generation for the virtual host\n\n - AutoCertDisabled: Auto Cert Disabled\n\nAuto Certification is disabled.\n - DnsDomainVerification: Dns Domain Verification\n\nAuto Certification is waiting for domain verification.\n - AutoCertStarted: Auto Cert Started\n\nAuto Certificate generation action has started.\n - PreDomainChallengePending: Pre Domain Challenge Pending\n\nThe domains in the virtual host configuration are not still verified. This requires\nthe _acme-challenge TXT record in the domain to have the correct TXT.\n - DomainChallengeStarted: Domain Challenge Started\n\nDomain challenge process started.\n - DomainChallengePending: Domain Challenge Pending\n\nThe domains in the virtual host configuration are being verified. This requires\nthe _acme-challenge TXT record in the domain to have the correct TXT.\n - DomainChallengeVerified: Domain Challenge Verified\n\nAll the domains in the virtual host have been verified.\n - AutoCertFinalize: Auto Cert Finalize\n\nCertificate generation order is Ready and Finalized.\n - CertificateInvalid: Certificate Invalid\n\nCertificate is invalid\n - CertificateValid: Certificate Valid\n\nValid certificate generated and tls_parameters are updated\n - AutoCertNotApplicable: Auto Cert Not Applicable\n\nAuto certificate not applicable because virtual host does not use TLS\n - AutoCertRateLimited: Auto Cert Rate Limited\n\nAuto certificate not available because CA has rate limited the request\n - AutoCertGenerationRetry: Auto Cert Generation Retry\n\nAuto certificate generate failed in the previous attempt, will be retried automatically\n - AutoCertError: Auto Cert Error\n\nError in Certificate generation\nDefault State for Vhost State with Auto Certificate\n - AutoCertAccountRateLimited: Auto Cert Account Rate Limited\n\nAuto certificate not available because CA has rate limited the request\n - AutoCertDomainRateLimited: Auto Cert Domain Rate Limited\n\nAuto certificate not available because CA has rate limited the request\n - CertificateExpired: Certificate Expired\n\nCertificate has expired","title":"Certification State","enum":["AutoCertDisabled","DnsDomainVerification","AutoCertStarted","DomainChallengePending","DomainChallengeVerified","AutoCertFinalize","CertificateInvalid","CertificateValid","AutoCertNotApplicable","AutoCertRateLimited","AutoCertGenerationRetry","AutoCertError","PreDomainChallengePending","DomainChallengeStarted","AutoCertInitialize","AutoCertAccountRateLimited","AutoCertDomainRateLimited","CertificateExpired"],"default":"AutoCertDisabled","x-displayname":"Certification State","x-ves-proto-enum":"ves.io.schema.virtual_host.CertificationState"},"virtual_hostCompressionType":{"type":"object","description":"Enables loadbalancer to compress dispatched data from an upstream service upon client request.\nThe content is compressed and then sent to the client with the appropriate headers if either response and request allow.\nOnly GZIP compression is supported.\n\nBy default compression will be skipped when:\n\n A request does NOT contain accept-encoding header.\n A request includes accept-encoding header, but it does not contain “gzip” or “*”.\n A request includes accept-encoding with “gzip” or “*” with the weight “q=0”. Note that the “gzip” will have a higher weight then “*”. For example, if accept-encoding is “gzip;q=0,*;q=1”, the filter will not compress. But if the header is set to “*;q=0,gzip;q=1”, the filter will compress.\n A request whose accept-encoding header includes “identity”.\n A response contains a content-encoding header.\n A response contains a cache-control header whose value includes “no-transform”.\n A response contains a transfer-encoding header whose value includes “gzip”.\n A response does not contain a content-type value that matches one of the selected mime-types, which default to application/javascript, application/json, application/xhtml+xml, image/svg+xml, text/css, text/html, text/plain, text/xml.\n Neither content-length nor transfer-encoding headers are present in the response.\n Response size is smaller than 30 bytes (only applicable when transfer-encoding is not chunked).\n\nWhen compression is applied:\n\n The content-length is removed from response headers.\n Response headers contain “transfer-encoding: chunked” and do not contain “content-encoding” header.\n The “vary: accept-encoding” header is inserted on every response.\n\nGZIP Compression Level:\n\nA value which is optimal balance between speed of compression and amount of compression is chosen.","title":"CompressionType","x-displayname":"Compression Parameters","x-ves-proto-message":"ves.io.schema.virtual_host.CompressionType","properties":{"content_length":{"type":"integer","description":" Minimum response length, in bytes, which will trigger compression. The default value is 30.\n\nExample: ` \"100\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 30\n","title":"content_length","format":"int64","x-displayname":"Content Length","x-ves-example":"100","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"30"}},"content_type":{"type":"array","description":" Set of strings that allows specifying which mime-types yield compression\n When this field is not defined, compression will be applied\n to the following mime-types:\n \"application/javascript\"\n \"application/json\",\n \"application/xhtml+xml\"\n \"image/svg+xml\"\n \"text/css\"\n \"text/html\"\n \"text/plain\"\n \"text/xml\"\n\nExample: ` \"application/json\"`\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: 50\n ves.io.schema.rules.repeated.unique: true\n","title":"content_type","maxItems":50,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"Content Type","x-ves-example":"application/json","x-ves-validation-rules":{"ves.io.schema.rules.repeated.items.string.max_bytes":"256","ves.io.schema.rules.repeated.items.string.min_bytes":"1","ves.io.schema.rules.repeated.max_items":"50","ves.io.schema.rules.repeated.unique":"true"}},"disable_on_etag_header":{"type":"boolean","description":" If true, disables compression when the response contains an etag header. When it is false,\n weak etags will be preserved and the ones that require strong validation will be removed.\n\nExample: ` \"true\"`","title":"disable_on_etag_header","format":"boolean","x-displayname":"Disable On Etag Header","x-ves-example":"true"},"remove_accept_encoding_header":{"type":"boolean","description":" If true, removes accept-encoding from the request headers before dispatching it to the upstream\n so that responses do not get compressed before reaching the filter.\n\nExample: ` \"true\"`","title":"remove_accept_encoding_header","format":"boolean","x-displayname":"Remove Accept-Encoding Header","x-ves-example":"true"}}},"virtual_hostCreateJiraIssueRequest":{"type":"object","title":"CreateJiraIssueRequest","x-displayname":"Create Jira Issue Request","x-ves-proto-message":"ves.io.schema.virtual_host.CreateJiraIssueRequest","properties":{"description":{"type":"string","description":" Optional description\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","title":"description","maxLength":8096,"x-displayname":"Description","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"issue_type":{"type":"string","description":" Name of the issue type\n\nExample: ` \"Bug\"`\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":"issue_type","maxLength":256,"x-displayname":"Issue Type","x-ves-example":"Bug","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"256"}},"project":{"type":"string","description":" external ID of the project \n\nExample: ` \"10001\"`\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":"project","maxLength":256,"x-displayname":"Project","x-ves-example":"10001","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"256"}},"summary":{"type":"string","description":"\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.string.max_len: 8096\n","title":"summary","maxLength":8096,"x-displayname":"Summary","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"8096"}}}},"virtual_hostCreateRequest":{"type":"object","description":"This is the input message of the 'Create' RPC","title":"CreateRequest is used to create an instance of virtual_host","x-displayname":"Create Request","x-ves-proto-message":"ves.io.schema.virtual_host.CreateRequest","properties":{"metadata":{"$ref":"#/components/schemas/schemaObjectCreateMetaType"},"spec":{"$ref":"#/components/schemas/schemavirtual_hostCreateSpecType"}}},"virtual_hostCreateResponse":{"type":"object","x-ves-proto-message":"ves.io.schema.virtual_host.CreateResponse","properties":{"metadata":{"$ref":"#/components/schemas/schemaObjectGetMetaType"},"spec":{"$ref":"#/components/schemas/schemavirtual_hostGetSpecType"},"system_metadata":{"$ref":"#/components/schemas/schemaSystemObjectGetMetaType"}}},"virtual_hostCreateTicketRequest":{"type":"object","title":"CreateTicketRequest","x-displayname":"Create Ticket Request","x-ves-proto-message":"ves.io.schema.virtual_host.CreateTicketRequest","properties":{"jira_issue":{"$ref":"#/components/schemas/virtual_hostCreateJiraIssueRequest"},"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\nValidation Rules:\n ves.io.schema.rules.map.max_pairs: 16\n","title":"labels","x-displayname":"Labels","x-ves-validation-rules":{"ves.io.schema.rules.map.max_pairs":"16"}},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`\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":"Virtual Host Name","maxLength":256,"x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"256"}},"namespace":{"type":"string","description":" Namespace for the ticket\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":"namespace","maxLength":256,"x-displayname":"Namespace","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"256"}},"ticket_tracking_system":{"type":"string","description":" The primary identifier (name) of the ticket tracking system system\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":"ticket_tracking_system","minLength":1,"maxLength":256,"x-displayname":"Ticket Tracking System","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"}}}},"virtual_hostCreateTicketResponse":{"type":"object","title":"CreateTicketResponse","x-displayname":"Create Ticket Response","x-ves-proto-message":"ves.io.schema.virtual_host.CreateTicketResponse","properties":{"errors":{"type":"array","description":" Errors related to ticket creation","title":"errors","items":{"$ref":"#/components/schemas/schemaErrorType"},"x-displayname":"Errors"}}},"virtual_hostDNSCacheProfile":{"type":"object","description":"x-displayName: \"DNS Cache\"\nDNS Cache specifies cache configuration","title":"DNS Cache","properties":{"cache_size":{"type":"integer","description":"x-displayName: \"cache size\"\nx-example: \"1000\"\ncache size","title":"Cache size","format":"int64"},"disable_cache_profile":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"virtual_hostDNSDDoSProfile":{"type":"object","description":"x-displayName: \"DDoS Protection\"\nDDoS Protection Rule for DNS","title":"DDoS Protection","properties":{"disable_ddos_mitigation":{"$ref":"#/components/schemas/ioschemaEmpty"},"enable_ddos_mitigation":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"virtual_hostDNSProxyConfiguration":{"type":"object","description":"x-displayName: \"DNS Proxy Configuration\"\nAdvanced DNS Proxy Configurations like DDoS, Cache are mapped to DNSProxyConfiguration for internal use","title":"DNS Proxy Configuration","properties":{"cache_profile":{"$ref":"#/components/schemas/virtual_hostDNSCacheProfile"},"ddos_profile":{"$ref":"#/components/schemas/virtual_hostDNSDDoSProfile"},"irules":{"type":"array","description":"x-displayName: \"iRules Ref\"\nOptions for attaching iRules to dns proxy","title":"iRules","items":{"$ref":"#/components/schemas/schemaviewsObjectRefType"}},"protocol_inspection":{"$ref":"#/components/schemas/schemaviewsObjectRefType"}}},"virtual_hostDNSRecord":{"type":"object","description":"Defines a DNS record","title":"DNSRecord","x-displayname":"DNS Record","x-ves-proto-message":"ves.io.schema.virtual_host.DNSRecord","properties":{"name":{"type":"string","description":" Name of the DNS record","title":"Name","x-displayname":"Name"},"type":{"type":"string","description":" Type of the DNS record\n\nExample: ` \"CNAME\"`","title":"Type","x-displayname":"Type","x-ves-example":"CNAME"},"value":{"type":"string","description":" DNS record Value","title":"Value","x-displayname":"Value"}}},"virtual_hostDefaultCacheAction":{"type":"object","description":"x-displayName: \"Default Cache Action\"\nThis defines a Default Cache Action","title":"Default Cache Action","properties":{"cache_disabled":{"$ref":"#/components/schemas/ioschemaEmpty"},"cache_ttl_default":{"type":"string","description":"x-displayName: \"Default Cache TTL\"\nCache TTL value to use when the origin does not provide one","title":"Default Cache TTL"},"cache_ttl_override":{"type":"string","description":"x-displayName: \"Override Cache TTL\"\nOverride the Cache TTL directive in the response from the origin","title":"Override Cache TTL"}}},"virtual_hostDeleteRequest":{"type":"object","description":"This is the input message of the 'Delete' RPC.","title":"DeleteRequest is used to delete a virtual_host","x-displayname":"Delete Request","x-ves-proto-message":"ves.io.schema.virtual_host.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"}}},"virtual_hostDomainCertificates":{"type":"object","description":"x-displayName: \"Domain Certificates\"\nThe certificates for a given domain per public key algorithm. A certificate is required for at least one of the algorithm types.","title":"Domain-Certificates map","properties":{"ecdsa_certificates":{"type":"array","description":"x-displayName: \"ECDSA Certificate\"\nthe ECDSA certificate for the domain, if any","title":"ECDSA Certificate","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"}},"rsa_certificates":{"type":"array","description":"x-displayName: \"RSA Certificate\"\nthe RSA certificate for the domain, if any","title":"RSA Certificate","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"}}}},"virtual_hostDynamicReverseProxyType":{"type":"object","description":"In this mode of proxy, virtual host will resolve the destination endpoint dynamically.\n\nThe dynamic resolution is done using a predefined field in the request. This predefined\nfield depends on the ProxyType configured on the Virtual Host.\n\nFor HTTP traffic, i.e. with ProxyType as HTTP_PROXY or HTTPS_PROXY, virtual host will use the\n\"HOST\" http header from the request and perform DNS resolution to select destination endpoint.\n\nFor TCP traffic with SNI, (If the ProxyType is TCP_PROXY_WITH_SNI), virtual host will perform DNS\nresolution using the SNI.\n\nThe DNS resolution is performed in the virtual network specified in outside_network_type or\noutside_network\n\nIn both modes of operation(either using Host header or SNI), the DNS resolution could return\nmultiple addresses. First IPv4 address from such returned list is used as endpoint for the\nrequest. The DNS response is cached for 60s by default.","title":"DynamicReverseProxyType","x-displayname":"Dynamic Reverse Proxy Type","x-ves-proto-message":"ves.io.schema.virtual_host.DynamicReverseProxyType","properties":{"connection_timeout":{"type":"integer","description":" The timeout for new network connections to upstream server.\n This is specified in milliseconds. The default value is 2000 (2 seconds)\n\nExample: ` \"4000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.lte: 600000\n","title":"connection_timeout","format":"int64","x-displayname":"Connection Timeout","x-ves-example":"4000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.lte":"600000"}},"resolution_network":{"type":"array","description":" Reference to virtual network where the endpoint is resolved.\n Reference is valid only when the network type is VIRTUAL_NETWORK_PER_SITE or\n VIRTUAL_NETWORK_GLOBAL. It is ignored for all other network types","title":"resolution_network","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"},"x-displayname":"Resolution Network"},"resolution_network_type":{"$ref":"#/components/schemas/schemaVirtualNetworkType"},"resolve_endpoint_dynamically":{"type":"boolean","description":" x-example : true\n In this mode of proxy, virtual host will resolve the destination endpoint dynamically.\n\n The dynamic resolution is done using a predefined field in the request. This predefined\n field depends on the ProxyType configured on the Virtual Host.\n\n For HTTP traffic, i.e. with ProxyType as HTTP_PROXY or HTTPS_PROXY, virtual host will use the\n \"HOST\" http header from the request and perform DNS resolution to select destination endpoint.\n\n For TCP traffic with SNI, (If the ProxyType is TCP_PROXY_WITH_SNI), virtual host will perform DNS\n resolution using the SNI.\n\n The DNS resolution is performed in the virtual network specified in outside_network_type or\n outside_network\n\n In both modes of operation(either using Host header or SNI), the DNS resolution could return\n multiple addresses. First IPv4 address from such returned list is used as endpoint for the\n request. The DNS response is cached for 60s by default.","title":"Enable the dynamic resolution of the endpoint","format":"boolean","x-displayname":"Dynamic Endpoint Resolution"}}},"virtual_hostGetAPICallSummaryReq":{"type":"object","description":"Request model for GetAPICallSummary API","title":"GetAPICallSummaryReq","x-displayname":"Get API Call Summary Request","x-ves-proto-message":"ves.io.schema.virtual_host.GetAPICallSummaryReq","properties":{"apiep_summary_filter":{"$ref":"#/components/schemas/virtual_hostAPIEPSummaryFilter"},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`","title":"Virtual Host Name","x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost"},"namespace":{"type":"string","description":" Namespace of the virtual host for current request\n\nExample: ` \"blogging-app\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"blogging-app"}}},"virtual_hostGetAPICallSummaryRsp":{"type":"object","description":"Response model for GetSensitiveDataSummaryRsp API.","title":"GetAPICallSummaryRsp","x-displayname":"GetAPICallSummary API Response","x-ves-proto-message":"ves.io.schema.virtual_host.GetAPICallSummaryRsp","properties":{"request_count_per_rsp_code":{"type":"array","description":" Number of API calls for each category of response.","title":"request_count_per_rsp_code","items":{"$ref":"#/components/schemas/virtual_hostRequestCountPerResponseClass"},"x-displayname":"API Calls Per Response Type"},"total_calls":{"type":"string","description":" Total API calls.","title":"total_calls","format":"uint64","x-displayname":"Total API Calls"}}},"virtual_hostGetAPIEndpointsSchemaUpdatesReq":{"type":"object","description":"Request shape for Get API Endpoints Schema Updates","title":"Get API Endpoints Schema Updates Request","x-displayname":"Get API Endpoints Schema Updates Request","x-ves-proto-message":"ves.io.schema.virtual_host.GetAPIEndpointsSchemaUpdatesReq","properties":{"api_endpoints_filter":{"type":"array","description":" The list of discovered API endpoint to get schema for.\n NOTE: if empty, then the all API endpoints with schema changes would be returned\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 100\n","title":"API Endpoints Filter","maxItems":100,"items":{"$ref":"#/components/schemas/viewsApiOperation"},"x-displayname":"API Endpoints Filter","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"100"}},"name":{"type":"string","description":" The name of the Virtual Host for the current request\n\nExample: ` \"name\"`","title":"Name","x-displayname":"Name","x-ves-example":"name"},"namespace":{"type":"string","description":" The namespace of the Virtual Host for the current request\n\nExample: ` \"shared\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"shared"},"query_type":{"$ref":"#/components/schemas/virtual_hostApiInventorySchemaQueryType"}}},"virtual_hostGetAPIEndpointsSchemaUpdatesResp":{"type":"object","description":"Response shape for Get API Endpoints Schema Updates","title":"Get API Endpoints Schema Updates Response","x-displayname":"Get API Endpoints Schema Updates Response","x-ves-proto-message":"ves.io.schema.virtual_host.GetAPIEndpointsSchemaUpdatesResp","properties":{"api_endpoints_current_schemas":{"type":"array","description":" The list of discovered API endpoints with current schemas","title":"API Endpoints Current Schemas","items":{"$ref":"#/components/schemas/viewsApiEndpointWithSchema"},"x-displayname":"API Endpoints Current Schemas"},"api_endpoints_updated_schemas":{"type":"array","description":" The list of API Inventory API endpoints with updated schemas","title":"API Endpoints Updated Schemas","items":{"$ref":"#/components/schemas/viewsApiEndpointWithSchema"},"x-displayname":"API Endpoints Updated Schemas"}}},"virtual_hostGetDnsInfoResponse":{"type":"object","description":"Response for get-dns-info API","title":"GetDnsInfoResponse","x-displayname":"Get DNS Info Response","x-ves-proto-message":"ves.io.schema.virtual_host.GetDnsInfoResponse","properties":{"dns_info":{"$ref":"#/components/schemas/schemavirtual_host_dns_infoGlobalSpecType"}}},"virtual_hostGetResponse":{"type":"object","description":"This is the output message of the 'Get' RPC","title":"GetResponse is the shape of a read virtual_host","x-displayname":"Get Response","x-ves-proto-message":"ves.io.schema.virtual_host.GetResponse","properties":{"create_form":{"$ref":"#/components/schemas/virtual_hostCreateRequest"},"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/virtual_hostReplaceRequest"},"spec":{"$ref":"#/components/schemas/schemavirtual_hostGetSpecType"},"status":{"type":"array","description":"The status reported by different services for this configuration object","title":"status","items":{"$ref":"#/components/schemas/virtual_hostStatusObject"},"x-displayname":"Status"},"system_metadata":{"$ref":"#/components/schemas/schemaSystemObjectGetMetaType"}}},"virtual_hostGetResponseFormatCode":{"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"},"virtual_hostGetTopAPIEndpointsReq":{"type":"object","description":"Request model for GetTopAPIEndpointsReq API","title":"Top attacked/active API endpoints request per virtual host","x-displayname":"Top Attacked/Active API Endpoints per Virtual Host","x-ves-proto-message":"ves.io.schema.virtual_host.GetTopAPIEndpointsReq","properties":{"apiep_summary_filter":{"$ref":"#/components/schemas/virtual_hostAPIEPSummaryFilter"},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`","title":"Virtual Host Name","x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost"},"namespace":{"type":"string","description":" Namespace of the virtual host for current request\n\nExample: ` \"blogging-app\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"blogging-app"},"top_by_metric":{"$ref":"#/components/schemas/virtual_hostAPIEPActivityMetricType"},"topk":{"type":"integer","description":" Number of top API endpoints to return in the response.\n\nExample: ` \"5\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 0\n ves.io.schema.rules.uint32.lte: 10\n","title":"topk","format":"int64","x-displayname":"Number of Top API Endpoints","x-ves-example":"5","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"0","ves.io.schema.rules.uint32.lte":"10"}}}},"virtual_hostGetTopAPIEndpointsRsp":{"type":"object","description":"Response model for GetTopAttackedAPIEndpoints API.","title":"API endpoint GET response","x-displayname":"API Endpoint Response","x-ves-proto-message":"ves.io.schema.virtual_host.GetTopAPIEndpointsRsp","properties":{"top_apieps":{"type":"array","description":" Top Attacked API endpoints\n\nValidation Rules:\n ves.io.schema.rules.repeated.max_items: 10\n ves.io.schema.rules.repeated.unique: true\n","title":"top_apieps","maxItems":10,"items":{"$ref":"#/components/schemas/virtual_hostAPIEPActivityMetrics"},"x-displayname":"Top Attacked Endpoints","x-ves-validation-rules":{"ves.io.schema.rules.repeated.max_items":"10","ves.io.schema.rules.repeated.unique":"true"}}}},"virtual_hostGetTopSensitiveDataReq":{"type":"object","description":"Request model for GetTopSensitiveDataReq API","title":"GetTopSensitiveDataReq","x-displayname":"Get Top Sensitive Data Request Object","x-ves-proto-message":"ves.io.schema.virtual_host.GetTopSensitiveDataReq","properties":{"apiep_category":{"type":"array","description":" Category of api endpoints. Can be DISCOVERED, INVENTORY or SHADOW API.\n\nExample: ` \"DISCOVERED\"`","title":"APIEP Category","items":{"$ref":"#/components/schemas/app_typeAPIEPCategory"},"x-displayname":"APIEP Category","x-ves-example":"DISCOVERED"},"domains":{"type":"array","description":" List of domains for which top api endpoints summary should be returned.\n Optional filter by domains. If absent, endpoints for all domains are considered.\n\nExample: ` \"www.example.com\"`\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.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 5\n ves.io.schema.rules.repeated.unique: true\n","title":"List of Domain","maxItems":5,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"List of Domain","x-ves-example":"www.example.com","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.items.string.vh_domain":"true","ves.io.schema.rules.repeated.max_items":"5","ves.io.schema.rules.repeated.unique":"true"}},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`","title":"Virtual Host Name","x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost"},"namespace":{"type":"string","description":" Namespace of the virtual host for current request\n\nExample: ` \"blogging-app\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"blogging-app"},"topk":{"type":"integer","description":" Number of top API endpoints to return in the response.\n\nExample: ` \"5\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 0\n ves.io.schema.rules.uint32.lte: 10\n","title":"topk","format":"int64","x-displayname":"Number of Top API Endpoints","x-ves-example":"5","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"0","ves.io.schema.rules.uint32.lte":"10"}}}},"virtual_hostGetTopSensitiveDataRsp":{"type":"object","description":"Response model for GetTopSensitiveDataRsp API.","title":"GetTopSensitiveDataRsp","x-displayname":"SensitiveDataSummary API Response","x-ves-proto-message":"ves.io.schema.virtual_host.GetTopSensitiveDataRsp","properties":{"top_sensitive_data":{"type":"array","description":" Top k (max 10) sensitive data types with highest APIs count.","title":"top_sensitive_data","items":{"$ref":"#/components/schemas/virtual_hostSensitiveDataCount"},"x-displayname":"Top Sensitive Data"}}},"virtual_hostGetVulnerabilitiesReq":{"type":"object","description":"Request model for GetVulnerabilitiesReq API","title":"GetVulnerabilitiesReq","x-displayname":"Get Vulnerabilities Request","x-ves-oneof-field-context":"[\"api_endpoint\"]","x-ves-proto-message":"ves.io.schema.virtual_host.GetVulnerabilitiesReq","properties":{"api_endpoint":{"$ref":"#/components/schemas/schemavirtual_hostAPIEndpoint"},"domains":{"type":"array","description":" List of domains for which vulnerabilities should be returned.\n Optional filter by domains. If absent, vulnerabilities for all domains are considered.\n\nExample: ` \"www.example.com\"`\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.items.string.vh_domain: true\n ves.io.schema.rules.repeated.max_items: 5\n ves.io.schema.rules.repeated.unique: true\n","title":"List of Domain","maxItems":5,"items":{"type":"string","minLength":1,"maxLength":256},"x-displayname":"List of Domain","x-ves-example":"www.example.com","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.items.string.vh_domain":"true","ves.io.schema.rules.repeated.max_items":"5","ves.io.schema.rules.repeated.unique":"true"}},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`","title":"Virtual Host Name","x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost"},"namespace":{"type":"string","description":" Namespace of the virtual host for current request\n\nExample: ` \"blogging-app\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"blogging-app"}}},"virtual_hostGetVulnerabilitiesRsp":{"type":"object","description":"Response model for GetVulnerabilitiesRsp API.","title":"GetVulnerabilitiesRsp","x-displayname":"GetVulnerabilitiesRsp API Response","x-ves-proto-message":"ves.io.schema.virtual_host.GetVulnerabilitiesRsp","properties":{"vulnerabilities":{"type":"array","description":" List of vulnerabilities found in context.","title":"vulnerabilities","items":{"$ref":"#/components/schemas/virtual_hostVulnerability"},"x-displayname":"List of vulnerabilities"}}},"virtual_hostHeaderControlType":{"type":"object","description":"x-displayName: \"Header Control\"\nThis defines various options related to request/response headers","title":"Header Control","properties":{"request_headers_to_add":{"type":"array","description":"x-displayName: \"Add Origin Request Headers\"\nHeaders are key-value pairs to be added to HTTP request being routed towards upstream.\nHeaders specified at this level are applied after headers from matched Route are applied","title":"Headers to add in request","items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"}},"request_headers_to_remove":{"type":"array","description":"x-displayName: \"Remove Origin Request Headers\"\nx-example: \"host\"\nList of keys of Headers to be removed from the HTTP request being sent towards upstream.","title":"Header to be removed from request","items":{"type":"string"}},"response_headers_to_add":{"type":"array","description":"x-displayName: \"Add Response Headers\"\nHeaders are key-value pairs to be added to HTTP response being sent towards downstream.\nHeaders specified at this level are applied after headers from matched Route are applied","title":"Headers to add in response","items":{"$ref":"#/components/schemas/schemaHeaderManipulationOptionType"}},"response_headers_to_remove":{"type":"array","description":"x-displayName: \"Remove Response Headers\"\nx-example: \"host\"\nList of keys of Headers to be removed from the HTTP response being sent towards downstream.","title":"Header to be removed from response","items":{"type":"string"}}}},"virtual_hostHttpProtocolOptions":{"type":"object","description":"HTTP protocol configuration options for downstream connections","title":"HttpProtocolOptions","x-displayname":"HTTP Protocol Configuration Options","x-ves-displayorder":"1","x-ves-oneof-field-http_protocol_choice":"[\"http_protocol_enable_v1_only\",\"http_protocol_enable_v1_v2\",\"http_protocol_enable_v2_only\"]","x-ves-proto-message":"ves.io.schema.virtual_host.HttpProtocolOptions","properties":{"http_protocol_enable_v1_only":{"$ref":"#/components/schemas/schemavirtual_hostHttp1ProtocolOptions"},"http_protocol_enable_v1_v2":{"$ref":"#/components/schemas/ioschemaEmpty"},"http_protocol_enable_v2_only":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"virtual_hostJavascriptChallengeType":{"type":"object","description":"\nEnables loadbalancer to perform client browser compatibility test by redirecting to a page\nwith Javascript.\n\nWith this feature enabled, only clients that are capable of executing Javascript(mostly browsers)\nwill be allowed to complete the HTTP request.\n\nWhen loadbalancer is configured to do Javascript Challenge, it will redirect the browser to an\nHTML page on every new HTTP request. This HTML page will have Javascript embedded in it.\nLoadbalancer chooses a set of random numbers for every new client and sends these numbers along with an\nencrypted answer with the request such that it embed these numbers as input in the Javascript.\nJavascript will run on the requestor browser and perform a complex Math operation.\nScript will submit the answer to loadbalancer. Loadbalancer will validate the answer by comparing the calculated\nanswer with the decrypted answer (which was encrypted when it was sent back as reply) and allow\nthe request to the upstream server only if the answer is correct.\nLoadbalancer will tag response header with a cookie to avoid Javascript challenge for subsequent requests.\n\nJavascript challenge serves following purposes\n * Validate that the request is coming via a browser that is capable for running Javascript\n * Force the browser to run a complex operation, f(X), that requires it to spend a large number\n of CPU cycles. This is to slow down a potential DoS attacker by making it difficult to launch\n a large request flood without having to spend even larger CPU cost at their end.\n\nYou can enable either Javascript challenge or Captcha challenge on a virtual host","title":"JavascriptChallengeType","x-displayname":"Javascript Challenge Parameters","x-ves-proto-message":"ves.io.schema.virtual_host.JavascriptChallengeType","properties":{"cookie_expiry":{"type":"integer","description":" Cookie expiration period, in seconds.\n An expired cookie causes the loadbalancer to issue a new challenge.\n\nExample: ` \"1000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 1\n ves.io.schema.rules.uint32.lte: 86400\n","title":"cookie_expiry","format":"int64","x-displayname":"Cookie Expiration Period","x-ves-example":"1000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"1","ves.io.schema.rules.uint32.lte":"86400"}},"custom_page":{"type":"string","description":" Custom message is of type uri_ref. Currently supported URL schemes is string:///.\n For string:/// scheme, message needs to be encoded in Base64 format.\n You can specify this message as base64 encoded plain text message e.g. \"Please Wait..\"\n or it can be HTML paragraph or a body string encoded as base64 string\n E.g. \"<p> Please Wait </p>\". Base64 encoded string for this html is \"PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"\n\nExample: ` \"string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 65536\n ves.io.schema.rules.string.uri_ref: true\n","title":"custom_page","maxLength":65536,"x-displayname":"Custom Message for Javascript Challenge","x-ves-example":"string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"65536","ves.io.schema.rules.string.uri_ref":"true"}},"js_script_delay":{"type":"integer","description":" Delay introduced by Javascript, in milliseconds.\n\nExample: ` \"1000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 1000\n ves.io.schema.rules.uint32.lte: 60000\n","title":"js_script_delay","format":"int64","x-displayname":"Javascript Delay","x-ves-example":"1000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"1000","ves.io.schema.rules.uint32.lte":"60000"}}}},"virtual_hostListResponse":{"type":"object","description":"This is the output message of 'List' RPC.","title":"ListResponse is the collection of virtual_host","x-displayname":"List Response","x-ves-proto-message":"ves.io.schema.virtual_host.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/virtual_hostListResponseItem"},"x-displayname":"Items"}}},"virtual_hostListResponseItem":{"type":"object","description":"By default a summary of virtual_host 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 virtual_host","x-displayname":"List Item","x-ves-proto-message":"ves.io.schema.virtual_host.ListResponseItem","properties":{"annotations":{"type":"object","description":" The set of annotations present on this virtual_host","title":"annotations","x-displayname":"Annotations"},"description":{"type":"string","description":" The description set for this virtual_host","title":"description","x-displayname":"Description"},"disabled":{"type":"boolean","description":" A value of true indicates virtual_host is administratively disabled","title":"disabled","format":"boolean","x-displayname":"Disabled"},"get_spec":{"$ref":"#/components/schemas/schemavirtual_hostGetSpecType"},"labels":{"type":"object","description":" The set of labels present on this virtual_host","title":"labels","x-displayname":"Labels"},"metadata":{"$ref":"#/components/schemas/schemaObjectGetMetaType"},"name":{"type":"string","description":" The name of this virtual_host\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/virtual_hostStatusObject"},"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 virtual_host\n\nExample: ` \"d27938ba-967e-40a7-9709-57b8627f9f75\"`","title":"uid","x-displayname":"UID","x-ves-example":"d27938ba-967e-40a7-9709-57b8627f9f75"}}},"virtual_hostLogHeaderOptions":{"type":"object","description":"x-displayName: \"Headers to Log\"\nList of headers to Log","title":"LogHeaderOptions","properties":{"header_list":{"type":"array","description":"x-displayName: \"Headers\"\nx-example: \"x-custom-length\"\nList of headers","title":"List of Headers","items":{"type":"string"}}}},"virtual_hostLoggingOptionsType":{"type":"object","description":"x-displayName: \"Logging Options\"\nThis defines various options related to logging","title":"Logging options","properties":{"client_log_options":{"$ref":"#/components/schemas/virtual_hostLogHeaderOptions"},"origin_log_options":{"$ref":"#/components/schemas/virtual_hostLogHeaderOptions"}}},"virtual_hostMaskingConfiguration":{"type":"object","description":"x-displayName: \"Masking Configuration\"\nMasking configuration settings","title":"Masking Configuration","properties":{"disable_masking":{"$ref":"#/components/schemas/ioschemaEmpty"},"enable_masking":{"$ref":"#/components/schemas/ioschemaEmpty"}}},"virtual_hostOpenApiValidationSettings":{"type":"object","description":"x-displayName: \"OpenAPI Validation Settings\"\nx-required\nSettings in VH of enabled OpenAPI validation","title":"OpenAPI Validation Settings","properties":{"allow_only_specified_headers":{"type":"boolean","description":"x-displayName: \"Fail Validation On Unspecified Header\"\nSet to fail validation on request/response with header that is not specified in the OpenAPI specification","title":"allow only specified header","format":"boolean"},"allow_only_specified_query_params":{"type":"boolean","description":"x-displayName: \"Fail Validation On Unspecified Query Parameter\"\nSet to fail validation on request with query parameter that is not specified in the OpenAPI specification","title":"allow only specified query parameter","format":"boolean"},"fail_close":{"type":"boolean","description":"x-displayName: \"internal failure configuration\"\nSet to fail validation on internal errors","title":"fail configuration","format":"boolean"},"fail_oversized_body_validation":{"type":"boolean","description":"x-displayName: \"Fail Oversized Body Validation\"\nSet to fail validation on request/response with too long body","title":"fail oversized body validation","format":"boolean"}}},"virtual_hostOriginAdvancedConfiguration":{"type":"object","description":"x-displayName: \"Origin Byte Range Request Config\"","title":"Origin Byte Range Request Config","properties":{"disable_byte_range_request":{"type":"boolean","description":"x-displayName: \"Disable Origin Byte Range Requests\"\nx-example: \"true/false\"\nChoice to enable/disable origin byte range requests towards origin","title":"Disable Origin Byte Range Requests","format":"boolean"},"enable_byte_range_request":{"type":"boolean","description":"x-displayName: \"Enable Origin Byte Range Requests\"\nx-example: \"true/false\"\nChoice to enable/disable byte range requests towards origin","title":"Enable Origin Byte Range Requests","format":"boolean"},"websocket_proxy":{"type":"boolean","description":"x-displayName: \"Enable websocket proxy to the origin\"\nOption to enable proxying of websocket connections to the origin server","title":"Enable websocket proxy to the origin","format":"boolean"}}},"virtual_hostOtherSettings":{"type":"object","description":"x-displayName: \"Other Settings\"\nOther Settings","title":"Other Settings","properties":{"add_location":{"type":"boolean","description":"x-displayName: \"Add Location\"\nx-example: \"true\"\nx-example: true\nAppends header x-volterra-location = <re-site-name> in responses.","title":"Add Site information","format":"boolean"},"header_options":{"$ref":"#/components/schemas/virtual_hostHeaderControlType"},"logging_options":{"$ref":"#/components/schemas/virtual_hostLoggingOptionsType"}}},"virtual_hostProxyType":{"type":"string","description":"ProxyType tells the type of proxy to install for the virtual host.\n\nOnly the following combination of VirtualHosts within same AdvertisePolicy is permitted\n(None of them should have \"*\" in domains when used with other VirtualHosts in same AdvertisePolicy)\n1. Multiple TCP_PROXY_WITH_SNI and multiple HTTPS_PROXY\n2. Multiple HTTP_PROXY\n3. Multiple HTTPS_PROXY\n4. Multiple TCP_PROXY_WITH_SNI\n\nHTTPS_PROXY without TLS parameters is not permitted\nHTTP_PROXY/HTTPS_PROXY/TCP_PROXY_WITH_SNI/SMA_PROXY with empty domains is not permitted\nTCP_PROXY_WITH_SNI/SMA_PROXY should not have \"*\" in domains\n\n - HTTP_PROXY: HTTP_PROXY\n\nInstall HTTP proxy. HTTP Proxy is the default proxy installed.\n - TCP_PROXY: TCP_PROXY\n\nInstall TCP proxy\n - TCP_PROXY_WITH_SNI: TCP_PROXY_WITH_SNI\n\nInstall TCP proxy with SNI Routing\n - TLS_TCP_PROXY: TCP_PROXY\n\nInstall TCP proxy\n - TLS_TCP_PROXY_WITH_SNI: TCP_PROXY_WITH_SNI\n\nInstall TCP proxy with SNI Routing\n - HTTPS_PROXY: HTTPS_PROXY\n\nInstall HTTPS proxy\n - UDP_PROXY: UDP_PROXY\n\nInstall UDP proxy\n - SMA_PROXY: SMA_PROXY\n\nInstall Secret Management Access proxy\n - DNS_PROXY: DNS_PROXY\n\nInstall DNS proxy\n - ZTNA_PROXY: ZTNA_PROXY\n\nInstall ZTNA proxy.This is going to be deprecated with UZTNA_PROXY.\n - UZTNA_PROXY: UZTNA_PROXY\n\nInstall UZTNA proxy","enum":["UDP_PROXY","SMA_PROXY","DNS_PROXY","ZTNA_PROXY","UZTNA_PROXY"],"default":"HTTP_PROXY","x-displayname":"Type of Proxy","x-ves-proto-enum":"ves.io.schema.virtual_host.ProxyType"},"virtual_hostReplaceRequest":{"type":"object","description":"This is the input message of the 'Replace' RPC","title":"ReplaceRequest is used to replace contents of a virtual_host","x-displayname":"Replace Request","x-ves-proto-message":"ves.io.schema.virtual_host.ReplaceRequest","properties":{"metadata":{"$ref":"#/components/schemas/schemaObjectReplaceMetaType"},"spec":{"$ref":"#/components/schemas/schemavirtual_hostReplaceSpecType"}}},"virtual_hostReplaceResponse":{"type":"object","x-ves-proto-message":"ves.io.schema.virtual_host.ReplaceResponse"},"virtual_hostRequestCountPerResponseClass":{"type":"object","description":"Request count per response class.","title":"RequestCountPerResponseClass","x-displayname":"Request Count Per Response Class","x-ves-proto-message":"ves.io.schema.virtual_host.RequestCountPerResponseClass","properties":{"count":{"type":"integer","description":" Request count for this response code class/category.","title":"count","format":"int32","x-displayname":"Request Count For Response Class."},"rsp_code_class":{"$ref":"#/components/schemas/schemaHttpResponseCodeClass"}}},"virtual_hostSensitiveDataCount":{"type":"object","description":"Response model for GetTopSensitiveDataRsp API.","title":"SensitiveDataCount","x-displayname":"Sensitive Data Count","x-ves-proto-message":"ves.io.schema.virtual_host.SensitiveDataCount","properties":{"count":{"type":"integer","description":" Number of APIEP detected this sensitive data type.","title":"count","format":"int32","x-displayname":"API Count With This Sensitive Data Type"},"sensitive_data_type":{"$ref":"#/components/schemas/app_typeSensitiveDataType"},"type":{"type":"string","description":" The type of sensitive data detected in APIs.","title":"sensitive_data_type","x-displayname":"Type Of Sensitive Data"}}},"virtual_hostServiceDomain":{"type":"object","properties":{"domain":{"type":"string","description":"x-displayName: \"Domain Name\"\nx-example: \"cdn.acmecorp.com\"\nDomain Name","title":"Domain Name"},"internal_service_domain":{"type":"string","description":"x-displayName: \"Internal Service Domain\"\nx-example: \"cdn.f898e588-1995-4a41-838f-ec4025a0c87e.crt-f5.lilaccdn.net\"\nInternal Service Domain determined by Lilac","title":"Internal Service Domain"},"service_domain":{"type":"string","description":"x-displayName: \"Service Domain\"\nx-example: \"ves-io-cdn-cdn-acmecorp-com.demo1.ac.vh.volterra.us\"\nService Domain","title":"Service Domain"}}},"virtual_hostServicePolicyOption":{"type":"string","description":"x-displayName: \"Service Policy Option\"\nDefinitions for Service Policy Option\n\n - NO_SERVICE_POLICIES: NO SERVICE POLICIES\n\nx-displayName: \"NO_SERVICE_POLICIES\"\nThis option indicates that no service policy has been selected for the view object.\n - SERVICE_POLICIES_FROM_NAMESPACE: SERVICE POLICIES FROM NAMESPACE\n\nx-displayName: \"SERVICE_POLICIES_FROM_NAMESPACE\"\nThis indicates that all service policies within the namespace, having names prefixed with \"active,\" have been selected.\n - ACTIVE_SERVICE_POLICIES: ACTIVE SERVICE POLICIES\n\nx-displayName: \"ACTIVE_SERVICE_POLICIES\"\nThis indicates that a custom service policy has been selected for the view object.","title":"ServicePolicyOption","enum":["NO_SERVICE_POLICIES","SERVICE_POLICIES_FROM_NAMESPACE","ACTIVE_SERVICE_POLICIES"],"default":"NO_SERVICE_POLICIES"},"virtual_hostSlowDDoSMitigation":{"type":"object","description":"\"Slow and low\" attacks tie up server resources, leaving none available for servicing\nrequests from actual users.","title":"Slow DDoS Mitigation","x-displayname":"Slow DDoS Mitigation","x-ves-oneof-field-request_timeout_choice":"[\"disable_request_timeout\",\"request_timeout\"]","x-ves-proto-message":"ves.io.schema.virtual_host.SlowDDoSMitigation","properties":{"disable_request_timeout":{"$ref":"#/components/schemas/ioschemaEmpty"},"request_headers_timeout":{"type":"integer","description":" The amount of time the client has to send only the headers on the request stream before\n the stream is cancelled. The default value is 10000 milliseconds. This setting\n provides protection against Slowloris attacks.\n\nExample: ` \"60000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 2000\n ves.io.schema.rules.uint32.lte: 30000\n","title":"Request Headers Timeout","format":"int64","x-displayname":"Request Headers Timeout","x-ves-example":"60000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"2000","ves.io.schema.rules.uint32.lte":"30000"}},"request_timeout":{"type":"integer","description":"Exclusive with [disable_request_timeout]\n\n\nExample: ` \"60000\"`\n\nValidation Rules:\n ves.io.schema.rules.uint32.gte: 2000\n ves.io.schema.rules.uint32.lte: 300000\n","title":"Custom Timeout","format":"int64","x-displayname":"Custom Timeout","x-ves-example":"60000","x-ves-validation-rules":{"ves.io.schema.rules.uint32.gte":"2000","ves.io.schema.rules.uint32.lte":"300000"}}}},"virtual_hostStatusObject":{"type":"object","description":"Most recently observed status of object","title":"Status of Virtual host","x-ves-proto-message":"ves.io.schema.virtual_host.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"},"status":{"type":"array","description":" VerStatusType shows list of other vhosts with which TLS coalescing is done","title":"ver_status","items":{"$ref":"#/components/schemas/virtual_hostVerStatusType"},"x-displayname":"VER Status"}}},"virtual_hostTemporaryUserBlockingType":{"type":"object","description":"x-displayName: \"Temporary User Blocking\"\n\nSpecifies configuration for temporary user blocking resulting from user behavior analysis.\n\nWhen Malicious User Mitigation is enabled from service policy rules, users' accessing the application will be analyzed for\nmalicious activity and the configured mitigation actions will be taken on identified malicious users.\nThese mitigation actions include setting up temporary blocking on that user.\nThis configuration specifies settings on how that blocking should be done by the loadbalancer.","title":"TemporaryUserBlockingType","properties":{"custom_page":{"type":"string","description":"x-displayName: \"Custom Message for Temporary Blocking\"\nx-example: \"string:///PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"\nCustom message is of type `uri_ref`. Currently supported URL schemes is `string:///`.\nFor `string:///` scheme, message needs to be encoded in Base64 format.\nYou can specify this message as base64 encoded plain text message e.g. \"Blocked..\"\nor it can be HTML paragraph or a body string encoded as base64 string\nE.g. \"<p> Blocked </p>\". Base64 encoded string for this html is \"PHA+IFBsZWFzZSBXYWl0IDwvcD4=\"","title":"custom_page"}}},"virtual_hostTicketDetails":{"type":"object","description":"Ticket details from the ticket tracking system - JIRA, ServiceNow, etc.","title":"Ticket Details","x-displayname":"Ticket Details","x-ves-proto-message":"ves.io.schema.virtual_host.TicketDetails","properties":{"external_link":{"type":"string","description":" Fully resolvable hyperlink w/ FQDN to the ticket.\n This will be the ticket tracking system organization subdomain + external ID","title":"external_link","x-displayname":"External Link"},"jira_issue":{"$ref":"#/components/schemas/ticket_managementJiraIssue"},"ticket_tracking_system_type":{"$ref":"#/components/schemas/ticket_managementTicketTrackingSystemType"}}},"virtual_hostUnlinkTicketsRequest":{"type":"object","title":"UnlinkTicketsRequest","x-displayname":"Unlink Tickets Request","x-ves-oneof-field-unlink_choice":"[\"label_filter\",\"ticket_uid\"]","x-ves-proto-message":"ves.io.schema.virtual_host.UnlinkTicketsRequest","properties":{"label_filter":{"type":"string","description":"Exclusive with [ticket_uid]\n A LabelSelectorType expression for targetting which tickets to unlink\n\nExample: ` \"env in (staging, testing), tier in (web, db)\"`\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 8096\n","title":"label_filter","maxLength":8096,"x-displayname":"Label Filter","x-ves-example":"env in (staging, testing), tier in (web, db)","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"8096"}},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`\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":"Virtual Host Name","maxLength":256,"x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"256"}},"namespace":{"type":"string","description":" Namespace for the ticket\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":"namespace","maxLength":256,"x-displayname":"Namespace","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.string.max_len":"256"}},"ticket_uid":{"type":"string","description":"Exclusive with [label_filter]\n The UID of the tickets to be unlinked\n\nValidation Rules:\n ves.io.schema.rules.string.max_len: 128\n","title":"Ticket UID","maxLength":128,"x-displayname":"Ticket UID","x-ves-validation-rules":{"ves.io.schema.rules.string.max_len":"128"}}}},"virtual_hostUnlinkTicketsResponse":{"type":"object","title":"UnlinkTicketsResponse","x-displayname":"Unlink Tickets Response","x-ves-proto-message":"ves.io.schema.virtual_host.UnlinkTicketsResponse","properties":{"errors":{"type":"array","description":" Errors related to ticket unlink","title":"errors","items":{"$ref":"#/components/schemas/schemaErrorType"},"x-displayname":"Errors"}}},"virtual_hostUnmergeAPIEPSourceOpenApiSchemaReq":{"type":"object","description":"Unmerge Source from endpoint","title":"Unmerge certain endpoint source","x-displayname":"Unmerge Source from endpoint","x-ves-proto-message":"ves.io.schema.virtual_host.UnmergeAPIEPSourceOpenApiSchemaReq","properties":{"discovery_source_type":{"$ref":"#/components/schemas/virtual_hostAPIEPDiscoverySource"},"id":{"type":"string","description":" Endpoint ID.","title":"id","x-displayname":"Endpoint ID"},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`","title":"Virtual Host Name","x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost"},"namespace":{"type":"string","description":" Namespace of the virtual host for current request\n\nExample: ` \"blogging-app\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"blogging-app"}}},"virtual_hostUpdateAPIEndpointsSchemasReq":{"type":"object","description":"Request shape for Update API Endpoints Schemas","title":"Update API Endpoints Schemas Request","x-displayname":"Update API Endpoints Schemas Request","x-ves-proto-message":"ves.io.schema.virtual_host.UpdateAPIEndpointsSchemasReq","properties":{"api_endpoints_schema_updates":{"type":"array","description":" The list of API Inventory API endpoints schema updates.\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n ves.io.schema.rules.repeated.max_items: 100\n ves.io.schema.rules.repeated.min_items: 1\n","title":"API Endpoints Schema Updates","minItems":1,"maxItems":100,"items":{"$ref":"#/components/schemas/viewsApiEndpointWithSchema"},"x-displayname":"API Endpoints Schema Updates","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true","ves.io.schema.rules.repeated.max_items":"100","ves.io.schema.rules.repeated.min_items":"1"}},"name":{"type":"string","description":" The name of the Virtual Host for the current request\n\nExample: ` \"name\"`","title":"Name","x-displayname":"Name","x-ves-example":"name"},"namespace":{"type":"string","description":" The namespace of the Virtual Host for the current request\n\nExample: ` \"shared\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"shared"}}},"virtual_hostUpdateAPIEndpointsSchemasResp":{"type":"object","description":"Response shape for Update API Endpoints With Newly Discovered Schema","title":"Update API Endpoints Schema Response","x-displayname":"Update API Endpoints Schema Response","x-ves-proto-message":"ves.io.schema.virtual_host.UpdateAPIEndpointsSchemasResp","properties":{"updated_api_endpoints":{"type":"array","description":" The list of API endpoints which were successfully proceeded by the API Inventory request.","title":"Updated API Endpoints","items":{"$ref":"#/components/schemas/viewsApiOperation"},"x-displayname":"Updated API Endpoints"}}},"virtual_hostUpdateVulnerabilitiesStateReq":{"type":"object","description":"Request model for UpdateVulnerabilitiesStateReq API","title":"UpdateVulnerabilitiesStateReq","x-displayname":"Update Vulnerability State","x-ves-oneof-field-context":"[\"api_endpoint\"]","x-ves-proto-message":"ves.io.schema.virtual_host.UpdateVulnerabilitiesStateReq","properties":{"api_endpoint":{"$ref":"#/components/schemas/schemavirtual_hostAPIEndpoint"},"domain":{"type":"string","description":" domain for which vulnerability state should be updated.\n\nExample: ` \"www.example.com\"`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"Domain","x-displayname":"Domain","x-ves-example":"www.example.com","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"name":{"type":"string","description":" Virtual Host name for current request\n\nExample: ` \"blogging-app-vhost\"`","title":"Virtual Host Name","x-displayname":"Virtual Host Name","x-ves-example":"blogging-app-vhost"},"namespace":{"type":"string","description":" Namespace of the virtual host for current request\n\nExample: ` \"blogging-app\"`","title":"Namespace","x-displayname":"Namespace","x-ves-example":"blogging-app"},"vuln_id":{"type":"string","description":" Vulnerability ID\n\nExample: ` HTTP_SUPPORTED_AND_HSTS_NOT_SET`\n\nRequired: YES\n\nValidation Rules:\n ves.io.schema.rules.message.required: true\n","title":"vulnerability_id","x-displayname":"Vulnerability ID","x-ves-required":"true","x-ves-validation-rules":{"ves.io.schema.rules.message.required":"true"}},"vuln_state":{"$ref":"#/components/schemas/virtual_hostVulnStatus"}}},"virtual_hostUpdateVulnerabilitiesStateRsp":{"type":"object","description":"Response model for UpdateVulnerabilitiesStateRsp API.","title":"UpdateVulnerabilitiesStateRsp","x-displayname":"UpdateVulnerabilitiesStateRsp API Response","x-ves-proto-message":"ves.io.schema.virtual_host.UpdateVulnerabilitiesStateRsp"},"virtual_hostVerStatusType":{"type":"object","description":"This VER status is per site on which virtual host configuration is getting applied","title":"VER status for Virtual Host","x-displayname":"VER Status","x-ves-proto-message":"ves.io.schema.virtual_host.VerStatusType","properties":{"advertise_policy":{"$ref":"#/components/schemas/schemaviewsObjectRefType"},"coalesced_vhosts":{"type":"array","description":" List of virtual hosts with which TLS coalescing is done\n\nValidation Rules:\n ves.io.schema.rules.repeated.unique: true\n","title":"TLS coalesced virtual hosts","items":{"$ref":"#/components/schemas/schemaviewsObjectRefType"},"x-displayname":"TLS Coalesced VirtualHosts","x-ves-validation-rules":{"ves.io.schema.rules.repeated.unique":"true"}},"non_coalesced_vhosts":{"type":"array","description":" List of virtual hosts having same server certificates and supposed to be\n coalesced but not coalesced due to mismatch is some configuration.\n\nValidation Rules:\n ves.io.schema.rules.repeated.unique: true\n","title":"TLS coalescing skipped virtual hosts","items":{"$ref":"#/components/schemas/schemaviewsObjectRefType"},"x-displayname":"TLS Coalescing skipped VirtualHosts","x-ves-validation-rules":{"ves.io.schema.rules.repeated.unique":"true"}}}},"virtual_hostVirtualHostID":{"type":"object","description":"x-displayName: \"Virtual Host Identifier\"\nVirtualHost Identification via its namespace and name","title":"Virtual Host Identifier","properties":{"name":{"type":"string","description":"x-displayName: \"Name\"\nx-example: \"frontend\"\nName of the VirtualHost","title":"Name"},"namespace":{"type":"string","description":"x-displayName: \"Namespace\"\nx-example: \"ns1\"\nNamespace in which the VirtualHost is configured","title":"Namespace"}}},"virtual_hostVirtualHostState":{"type":"string","description":"State of the virtual host\n\n - VIRTUAL_HOST_READY: VIRTUAL_HOST_READY\n\nVirtual host is ready to install\n - VIRTUAL_HOST_PENDING_VERIFICATION: VIRTUAL_HOST_PENDING_VERIFICATION\n\nVirtual host is verfication pending for some or all of its domains\n - VIRTUAL_HOST_VERIFICATION_FAILED: VIRTUAL_HOST_VERIFICATION_FAILED\n\nVirtual host has one or more domains for which verification failed\n - VIRTUAL_HOST_PENDING_DNS_DELEGATION: VIRTUAL_HOST_PENDING_DNS_DELEGATION\n\nVirtual host is pending DNS delegation\n - VIRTUAL_HOST_PENDING_A_RECORD: VIRTUAL_HOST_PENDING_A_RECORD\n\nVirtual host is waiting for one or more A records to be created\n - VIRTUAL_HOST_DNS_A_RECORD_ADDED: VIRTUAL_HOST_DNS_A_RECORD_ADDED\n\nDNS A record has been added for this Virtual host\n - VIRTUAL_HOST_INTERNET_NLB_PENDING_CREATION: VIRTUAL_HOST_INTERNET_NLB_PENDING_CREATION\n\nInternet facing NLB, is being created on the site/sites belonging to the virtual site\n - VIRTUAL_HOST_INTERNET_NLB_CREATION_FAILED: VIRTUAL_HOST_INTERNET_NLB_CREATION_FAILED\n\nInternet NLB creation failed on the site/sites. InternetNLBVIPStatus will have more information.","title":"VirtualHostState","enum":["VIRTUAL_HOST_READY","VIRTUAL_HOST_PENDING_VERIFICATION","VIRTUAL_HOST_VERIFICATION_FAILED","VIRTUAL_HOST_PENDING_DNS_DELEGATION","VIRTUAL_HOST_PENDING_A_RECORD","VIRTUAL_HOST_DNS_A_RECORD_ADDED","VIRTUAL_HOST_INTERNET_NLB_PENDING_CREATION","VIRTUAL_HOST_INTERNET_NLB_CREATION_FAILED"],"default":"VIRTUAL_HOST_READY","x-displayname":"Virtual Host State","x-ves-proto-enum":"ves.io.schema.virtual_host.VirtualHostState"},"virtual_hostVirtualHostType":{"type":"string","description":"VirtualHostType tells the type of virtual_host. Functionally, all types are same,\nthis is mainly used for categorizing metrics.\n\n - VIRTUAL_SERVICE: VirtualService\n\nVirtual Host used Virtual Service\n - HTTP_LOAD_BALANCER: HTTP LoadBalancer\n\nVirtual Host used as Load Balancer\n - API_GATEWAY: APIGateway\n\nVirtual Host used API Gateway\n - TCP_LOAD_BALANCER: TCP LoadBalancer\n\nVirtual Host used as Load Balancer\n - PROXY: Proxy\n\nVirtual Host used as Proxy\n - LOCAL_K8S_API_GATEWAY: LOCAL_K8S_API_GATEWAY\n\nInternal use only, used for k8s cluster api gateway on the site.\n - CDN_LOAD_BALANCER: CDN LoadBalancer\n\n Virtual Host used as Load Balancer\n - NGINX_SERVER: NGINX Server\n\nVirtual Host representing an NGINX Server block\n - BIGIP_VIRTUAL_SERVER: BIG-IP Virtual Server\n\nVirtual Host representing a BIG-IP Virtual Server\n - UDP_LOAD_BALANCER: UDP LoadBalancer\n\nVirtual Host used as Load Balancer\n - THIRD_PARTY_APPLICATION: THIRD PARTY Virtual Server\n\nVirtual Host representing a Third Party Application","title":"VirtualHostType","enum":["VIRTUAL_SERVICE","HTTP_LOAD_BALANCER","API_GATEWAY","TCP_LOAD_BALANCER","PROXY","CDN_LOAD_BALANCER","NGINX_SERVER","UDP_LOAD_BALANCER"],"default":"VIRTUAL_SERVICE","x-displayname":"Virtual Host Type","x-ves-proto-enum":"ves.io.schema.virtual_host.VirtualHostType"},"virtual_hostVulnContext":{"type":"string","description":"Context of where vulnerability found\n\nVulnerability has been identified at API Endpoint level.\nVulnerability has been identified at API BasePath level.\nVulnerability has been identified at Domain level.","title":"Context","enum":["CONTEXT_API_ENDPOINT","CONTEXT_API_BASEPATH","CONTEXT_API_DOMAIN"],"default":"CONTEXT_API_ENDPOINT","x-displayname":"Context","x-ves-proto-enum":"ves.io.schema.virtual_host.VulnContext"},"virtual_hostVulnEvidence":{"type":"object","description":"Evidence of the vulnerability found.","title":"Evidence","x-displayname":"Evidence","x-ves-proto-message":"ves.io.schema.virtual_host.VulnEvidence","properties":{"end_time":{"type":"string","description":" end_time is the time when vulnerability evidence\n appeared last.\n It is the UTC time and represented in RFC3339 form.","title":"end_time","format":"date-time","x-displayname":"End Time"},"evidence_type":{"$ref":"#/components/schemas/virtual_hostVulnEvidenceType"},"samples":{"type":"array","description":" Samples due to which vulnerability was found.","title":"samples","items":{"$ref":"#/components/schemas/virtual_hostVulnEvidenceSample"},"x-displayname":"Samples"},"start_time":{"type":"string","description":" start_time is the time when vulnerability evidence\n appeared first.\n It is the UTC time and represented in RFC3339 form.","title":"start_time","format":"date-time","x-displayname":"Start Time"}}},"virtual_hostVulnEvidenceSample":{"type":"object","description":"Vulnerability evidence sample due to which vulnerability was found","title":"VulnEvidenceSample","x-displayname":"Vulnerability evidence sample","x-ves-proto-message":"ves.io.schema.virtual_host.VulnEvidenceSample","properties":{"details":{"type":"array","description":" List of details due to which vulnerability was found.","title":"details","items":{"type":"string"},"x-displayname":"List of details"},"req_id":{"type":"string","description":" Request id where vulnerability was found.","title":"req_id","x-displayname":"Request id"}}},"virtual_hostVulnEvidenceType":{"type":"string","description":"Evidence Type where vulnerability found\n\nVulnerability has been identified in requests.\nVulnerability has been identified in sec-events.\nVulnerability has been identified in sec-incidents.","title":"EvidenceType","enum":["EVIDENCE_TYPE_REQUESTS","EVIDENCE_TYPE_SEC_EVENTS","EVIDENCE_TYPE_SEC_INCIDENTS"],"default":"EVIDENCE_TYPE_REQUESTS","x-displayname":"Evidence Type","x-ves-proto-enum":"ves.io.schema.virtual_host.VulnEvidenceType"},"virtual_hostVulnRisk":{"type":"object","description":"Risk of the vulnerability found.","title":"Risk","x-displayname":"Risk","x-ves-proto-message":"ves.io.schema.virtual_host.VulnRisk","properties":{"level":{"$ref":"#/components/schemas/virtual_hostVulnRiskLevel"},"score":{"type":"number","description":" Risk score of the vulnerability found.","title":"score","format":"float","x-displayname":"Score"}}},"virtual_hostVulnRiskLevel":{"type":"string","description":"Risk level of the vulnerability found\n\nRisk level is not detected (for example, when no traffic).\nVulnerability has low security risk.\nVulnerability has medium security risk.\nVulnerability has high security risk.\nVulnerability has critical security risk.","title":"Risk Level","enum":["RISK_LEVEL_NONE","RISK_LEVEL_LOW","RISK_LEVEL_MED","RISK_LEVEL_HIGH","RISK_LEVEL_CRITICAL"],"default":"RISK_LEVEL_NONE","x-displayname":"Risk Level","x-ves-proto-enum":"ves.io.schema.virtual_host.VulnRiskLevel"},"virtual_hostVulnStatus":{"type":"string","description":"Status of vulnerability found\n\nVulnerability has no status\nVulnerability has open status and it will be under Active tab\nVulnerability has ignore status\nThe vulnerability Ignored manually and it will be under Archived tab\nThe next Discovery process should ignore the vulnerability.\nVulnerability has resolution status\nThe vulnerability resolved manually and it will be under Archived tab\nThe next Discovery process should validate the resolution and reopen (Move to Active and mark as Open) if not resolved.\nVulnerability has under review status and it will be under Active tab\nThe vulnerability under security or development team responsibility","title":"Status","enum":["STATUS_NONE","STATUS_OPEN","STATUS_IGNORE","STATUS_RESOLUTION_CONFIRMED","STATUS_UNDER_REVIEW"],"default":"STATUS_NONE","x-displayname":"Status","x-ves-proto-enum":"ves.io.schema.virtual_host.VulnStatus"},"virtual_hostVulnerability":{"type":"object","description":"Vulnerability object.","title":"Vulnerability","x-displayname":"Vulnerability","x-ves-proto-message":"ves.io.schema.virtual_host.Vulnerability","properties":{"category":{"type":"string","description":" Category of the vulnerability found.","title":"category","x-displayname":"Category"},"context":{"$ref":"#/components/schemas/virtual_hostVulnContext"},"creation_time":{"type":"string","description":" creation_time is the time when the vulnerability\n was created by the discovery mechanism.\n It is the UTC time and represented in RFC3339 form.","title":"creation_time","format":"date-time","x-displayname":"Creation Time"},"description":{"type":"string","description":" Description of the vulnerability found.","title":"description","x-displayname":"Description"},"domain":{"type":"string","description":" Domain of the vulnerability found.\n\nExample: ` \"www.example.com\"`","title":"domain","x-displayname":"Domain","x-ves-example":"www.example.com"},"evidence":{"$ref":"#/components/schemas/virtual_hostVulnEvidence"},"last_observed_time":{"type":"string","description":" last_observed_time is the time when the vulnerability\n was last observed by the discovery mechanism.\n It is the UTC time and represented in RFC3339 form.","title":"last_observed_time","format":"date-time","x-displayname":"Last Observed Time"},"remediation":{"type":"array","description":" Remediation of the vulnerability found.","title":"remediation","items":{"type":"string"},"x-displayname":"Remediation"},"risk":{"$ref":"#/components/schemas/virtual_hostVulnRisk"},"source":{"$ref":"#/components/schemas/virtual_hostVulnerabilitySource"},"status":{"$ref":"#/components/schemas/virtual_hostVulnStatus"},"status_change_time":{"type":"string","description":" status_change_time is the time when the vulnerability\n status was updated by the discovery mechanism.\n It is the UTC time and represented in RFC3339 form.","title":"status_change_time","format":"date-time","x-displayname":"Status Change Time"},"ticket":{"$ref":"#/components/schemas/virtual_hostTicketDetails"},"title":{"type":"string","description":" Title of the vulnerability found.","title":"title","x-displayname":"Title"},"vuln_id":{"type":"string","description":" Vulnerability ID\n\nExample: ` HTTP_SUPPORTED_AND_HSTS_NOT_SET`","title":"vulnerability_id","x-displayname":"vulnerability_id"}}},"virtual_hostVulnerabilitySource":{"type":"string","description":"The Source of Vulnerability\n\n - VULNERABILITY_SOURCE_UNSPECIFIED: Source unspecified\n - VULNERABILITY_SOURCE_TRAFFIC_ANALYSIS: Source Traffic Analysis\n - VULNERABILITY_SOURCE_API_TESTING: Source Api Testing","title":"Vulnerability Source","enum":["VULNERABILITY_SOURCE_UNSPECIFIED","VULNERABILITY_SOURCE_TRAFFIC_ANALYSIS","VULNERABILITY_SOURCE_API_TESTING"],"default":"VULNERABILITY_SOURCE_UNSPECIFIED","x-displayname":"Vulnerability Source","x-ves-proto-enum":"ves.io.schema.virtual_host.VulnerabilitySource"},"virtual_hostZtnaProxyConfiguration":{"type":"object","description":"x-displayName: \"Ztna Proxy Configuration\"\nZtna Proxy Configuration contains Policy and Application Configuration","title":"Ztna Proxy Configuration","properties":{"ztna_application_config":{"type":"array","description":"x-displayName: \"Ztna Application Configuration\"\nAdvance configuration of Ztna Application Configuration(Connectivity/Session/Message)","title":"Ztna Application Configuration","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"}},"ztna_policy_config":{"type":"array","description":"x-displayName: \"Ztna Policy Configuration\"\nAdvance configuration of Ztna Policy Configuration(Connectivity/Session/Message)","title":"Ztna Policy Configuration","items":{"$ref":"#/components/schemas/ioschemaObjectRefType"}}}},"virtual_host_dns_infoDnsInfo":{"type":"object","description":"A message that contains DNS information for a given IP address","title":"DNS information","x-displayname":"DNS Information","x-ves-proto-message":"ves.io.schema.virtual_host_dns_info.DnsInfo","properties":{"ip_address":{"type":"string","description":" IP address associated with virtual host\n\nValidation Rules:\n ves.io.schema.rules.string.ip: true\n","title":"IP address","x-displayname":"IP Address","x-ves-validation-rules":{"ves.io.schema.rules.string.ip":"true"}}}}}}}
|