curl --request POST \
--url https://api.cpln.io/org/{org}/gvc \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"tags": {},
"spec": {
"staticPlacement": {
"locationLinks": [
"<string>"
],
"locationQuery": {
"kind": "<string>",
"spec": {
"match": "all",
"terms": [
{
"op": "=",
"property": "<string>",
"rel": "<string>",
"tag": "<string>",
"value": "<string>"
}
],
"sort": {
"by": "<string>",
"order": "asc"
}
}
}
},
"pullSecretLinks": [
"<string>"
],
"domain": "<string>",
"endpointNamingFormat": "default",
"tracing": {
"sampling": 123,
"lightstep": {
"endpoint": "<string>",
"credentials": "<string>"
},
"customTags": {},
"provider": {
"otel": {
"endpoint": "<string>"
},
"lightstep": {
"endpoint": "<string>",
"credentials": "<string>"
},
"controlplane": {}
}
},
"sidecar": {
"envoy": {
"accessLog": [
{
"priority": 123,
"name": "envoy.http_grpc_access_log",
"excludedWorkloads": [
"<string>"
],
"typed_config": {
"@type": {},
"common_config": {
"log_name": "<string>",
"grpc_service": {
"envoy_grpc": {
"cluster_name": "<string>",
"authority": {
"adjust": null,
"in": false,
"iterables": null,
"map": null,
"separator": ".",
"type": "value",
"ancestor": 1,
"path": [
"cluster_name"
],
"depth": 1,
"key": "cluster_name",
"root": "cluster_name",
"display": "ref:cluster_name"
},
"retry_policy": {
"retry_back_off": {
"base_interval": "<string>",
"max_interval": "<string>"
},
"num_retries": 123
}
},
"google_grpc": {
"target_uri": "<string>",
"channel_credentials": {
"ssl_credentials": {
"root_certs": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"private_key": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"cert_chain": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
}
},
"google_default": {}
},
"call_credentials": [
{
"access_token": "<string>",
"google_compute_engine": {},
"google_refresh_token": "<string>",
"service_account_jwt_access": {
"json_key": "<string>",
"token_lifetime_seconds": 123
},
"google_iam": {
"authorization_token": "<string>",
"authority_selector": "<string>"
},
"from_plugin": {
"name": "<string>",
"typed_config": {}
},
"sts_service": {
"token_exchange_service_uri": "<string>",
"resource": "<string>",
"audience": "<string>",
"scope": "<string>",
"requested_token_type": "<string>",
"subject_token_path": "<string>",
"subject_token_type": "<string>",
"actor_token_path": "<string>",
"actor_token_type": "<string>"
}
}
],
"stat_prefix": "<string>",
"credentials_factory_name": "<string>",
"config": {}
},
"timeout": "<string>",
"initial_metadata": [
{
"key": "<string>",
"value": "<string>",
"raw_value": "<unknown>"
}
]
},
"transport_api_version": "AUTO",
"buffer_flush_interval": "<string>",
"buffer_size_bytes": 123,
"filter_state_objects_to_log": [
"<string>"
],
"grpc_stream_retry_policy": {
"retry_back_off": {
"base_interval": "<string>",
"max_interval": "<string>"
},
"num_retries": 123
}
},
"additional_request_headers_to_log": [
"<string>"
],
"additional_response_headers_to_log": [
"<string>"
],
"additional_response_trailers_to_log": [
"<string>"
]
}
}
],
"clusters": [
{
"name": "<string>",
"excludedWorkloads": [
"<string>"
],
"transport_socket_matches": {},
"alt_stat_name": {},
"type": "STATIC",
"cluster_type": {},
"eds_cluster_config": {},
"connect_timeout": {},
"per_connection_buffer_limit_bytes": {},
"lb_policy": {},
"load_assignment": {
"cluster_name": "<string>",
"endpoints": {},
"policy": {}
},
"health_checks": {},
"max_requests_per_connection": {},
"circuit_breakers": {},
"upstream_http_protocol_options": {},
"common_http_protocol_options": {},
"http_protocol_options": {},
"http2_protocol_options": {},
"typed_extension_protocol_options": {},
"dns_refresh_rate": {},
"dns_failure_refresh_rate": {},
"respect_dns_ttl": {},
"dns_lookup_family": {},
"dns_resolvers": {},
"use_tcp_for_dns_lookups": {},
"dns_resolution_config": {},
"typed_dns_resolver_config": {},
"wait_for_warm_on_init": {},
"outlier_detection": {},
"cleanup_interval": {},
"upstream_bind_config": {},
"lb_subset_config": {},
"ring_hash_lb_config": {},
"maglev_lb_config": {},
"least_request_lb_config": {},
"common_lb_config": {},
"transport_socket": {},
"metadata": {},
"protocol_selection": {},
"upstream_connection_options": {},
"close_connections_on_host_health_failure": {},
"ignore_health_on_host_removal": {},
"filters": {},
"load_balancing_policy": {},
"track_timeout_budgets": {},
"upstream_config": {},
"track_cluster_stats": {},
"preconnect_policy": {},
"connection_pool_per_downstream_connection": {}
}
],
"excludedExternalAuth": [
{
"match": {
"prefix": "<string>",
"path": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"path_separated_prefix": "<string>",
"path_match_policy": {
"name": "<string>",
"typed_config": {}
},
"case_sensitive": true,
"runtime_fraction": {
"default_value": {
"numerator": 123,
"denominator": 123
},
"runtime_key": "<string>"
},
"headers": [
{
"name": "<string>",
"safe_regex_match": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"range_match": {
"start": 123,
"end": 123
},
"present_match": true,
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"invert_match": true,
"treat_missing_header_as_empty": true
}
],
"query_parameters": [
{
"name": "<string>",
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"present_match": true
}
],
"grpc": {
"presented": true,
"validated": true
},
"tls_context": {
"presented": true,
"validated": true
},
"dynamic_metadata": [
{
"filter": "<string>",
"path": [
{
"key": "<string>"
}
],
"value": {
"null_match": {},
"double_match": {
"range": {
"start": 123,
"end": 123
},
"exact": 123
},
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"bool_match": true,
"present_match": true
},
"invert": true
}
]
},
"port": 123,
"svcPort": 123
}
],
"excludedRateLimit": [
{
"match": {
"prefix": "<string>",
"path": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"path_separated_prefix": "<string>",
"path_match_policy": {
"name": "<string>",
"typed_config": {}
},
"case_sensitive": true,
"runtime_fraction": {
"default_value": {
"numerator": 123,
"denominator": 123
},
"runtime_key": "<string>"
},
"headers": [
{
"name": "<string>",
"safe_regex_match": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"range_match": {
"start": 123,
"end": 123
},
"present_match": true,
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"invert_match": true,
"treat_missing_header_as_empty": true
}
],
"query_parameters": [
{
"name": "<string>",
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"present_match": true
}
],
"grpc": {
"presented": true,
"validated": true
},
"tls_context": {
"presented": true,
"validated": true
},
"dynamic_metadata": [
{
"filter": "<string>",
"path": [
{
"key": "<string>"
}
],
"value": {
"null_match": {},
"double_match": {
"range": {
"start": 123,
"end": 123
},
"exact": 123
},
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"bool_match": true,
"present_match": true
},
"invert": true
}
]
},
"port": 123,
"svcPort": 123
}
],
"http": [
{
"priority": 123,
"excludedWorkloads": [
"<string>"
],
"name": "envoy.filters.http.ext_authz",
"typed_config": {
"grpc_service": {
"envoy_grpc": {
"cluster_name": "<string>",
"authority": {
"adjust": null,
"in": false,
"iterables": null,
"map": null,
"separator": ".",
"type": "value",
"ancestor": 1,
"path": [
"cluster_name"
],
"depth": 1,
"key": "cluster_name",
"root": "cluster_name",
"display": "ref:cluster_name"
},
"retry_policy": {
"retry_back_off": {
"base_interval": "<string>",
"max_interval": "<string>"
},
"num_retries": 123
}
},
"google_grpc": {
"target_uri": "<string>",
"channel_credentials": {
"ssl_credentials": {
"root_certs": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"private_key": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"cert_chain": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
}
},
"google_default": {}
},
"call_credentials": [
{
"access_token": "<string>",
"google_compute_engine": {},
"google_refresh_token": "<string>",
"service_account_jwt_access": {
"json_key": "<string>",
"token_lifetime_seconds": 123
},
"google_iam": {
"authorization_token": "<string>",
"authority_selector": "<string>"
},
"from_plugin": {
"name": "<string>",
"typed_config": {}
},
"sts_service": {
"token_exchange_service_uri": "<string>",
"resource": "<string>",
"audience": "<string>",
"scope": "<string>",
"requested_token_type": "<string>",
"subject_token_path": "<string>",
"subject_token_type": "<string>",
"actor_token_path": "<string>",
"actor_token_type": "<string>"
}
}
],
"stat_prefix": "<string>",
"credentials_factory_name": "<string>",
"config": {}
},
"timeout": "<string>",
"initial_metadata": [
{
"key": "<string>",
"value": "<string>",
"raw_value": "<unknown>"
}
]
},
"http_service": {
"server_uri": {
"uri": "<string>",
"cluster": "<string>",
"timeout": "<string>"
},
"path_prefix": "<string>",
"authorization_request": {
"allowed_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"headers_to_add": [
{
"key": "<string>",
"value": "<string>",
"raw_value": "<unknown>"
}
]
},
"authorization_response": {
"allowed_upstream_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"allowed_upstream_headers_to_append": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"allowed_client_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"allowed_client_headers_on_success": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"dynamic_metadata_from_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
}
}
},
"failure_mode_allow": true,
"failure_mode_allow_header_add": true,
"with_request_body": {
"max_request_bytes": 123,
"allow_partial_message": true,
"pack_as_bytes": true
},
"clear_route_cache": true,
"status_on_error": {
"code": "Empty"
},
"metadata_context_namespaces": [
"<string>"
],
"typed_metadata_context_namespaces": [
"<string>"
],
"route_metadata_context_namespaces": [
"<string>"
],
"route_typed_metadata_context_namespaces": [
"<string>"
],
"filter_enabled": {
"numerator": 123,
"denominator": 123
},
"deny_at_disable": {
"default_value": true,
"runtime_key": "<string>"
},
"include_peer_certificate": true,
"stat_prefix": "<string>",
"bootstrap_metadata_labels_key": "<string>",
"allowed_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"include_tls_session": true,
"charge_cluster_response_stats": true,
"transport_api_version": "AUTO",
"@type": "type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz"
}
}
],
"network": [
{}
],
"volumes": [
{
"uri": "<string>",
"recoveryPolicy": "retain",
"path": "<string>"
}
]
}
},
"env": [
{
"name": "<string>",
"value": "<string>"
}
],
"loadBalancer": {
"dedicated": true,
"multiZone": {
"enabled": true
},
"trustedProxies": 123,
"redirect": {
"class": {
"status5xx": "<string>",
"status401": "<string>"
}
},
"ipSet": "<string>"
},
"keda": {
"enabled": true,
"identityLink": "<string>",
"secrets": [
"<string>"
]
}
}
}
'{
"status": 123,
"message": "<string>",
"code": "<string>",
"details": {},
"id": "<string>"
}curl --request POST \
--url https://api.cpln.io/org/{org}/gvc \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"tags": {},
"spec": {
"staticPlacement": {
"locationLinks": [
"<string>"
],
"locationQuery": {
"kind": "<string>",
"spec": {
"match": "all",
"terms": [
{
"op": "=",
"property": "<string>",
"rel": "<string>",
"tag": "<string>",
"value": "<string>"
}
],
"sort": {
"by": "<string>",
"order": "asc"
}
}
}
},
"pullSecretLinks": [
"<string>"
],
"domain": "<string>",
"endpointNamingFormat": "default",
"tracing": {
"sampling": 123,
"lightstep": {
"endpoint": "<string>",
"credentials": "<string>"
},
"customTags": {},
"provider": {
"otel": {
"endpoint": "<string>"
},
"lightstep": {
"endpoint": "<string>",
"credentials": "<string>"
},
"controlplane": {}
}
},
"sidecar": {
"envoy": {
"accessLog": [
{
"priority": 123,
"name": "envoy.http_grpc_access_log",
"excludedWorkloads": [
"<string>"
],
"typed_config": {
"@type": {},
"common_config": {
"log_name": "<string>",
"grpc_service": {
"envoy_grpc": {
"cluster_name": "<string>",
"authority": {
"adjust": null,
"in": false,
"iterables": null,
"map": null,
"separator": ".",
"type": "value",
"ancestor": 1,
"path": [
"cluster_name"
],
"depth": 1,
"key": "cluster_name",
"root": "cluster_name",
"display": "ref:cluster_name"
},
"retry_policy": {
"retry_back_off": {
"base_interval": "<string>",
"max_interval": "<string>"
},
"num_retries": 123
}
},
"google_grpc": {
"target_uri": "<string>",
"channel_credentials": {
"ssl_credentials": {
"root_certs": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"private_key": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"cert_chain": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
}
},
"google_default": {}
},
"call_credentials": [
{
"access_token": "<string>",
"google_compute_engine": {},
"google_refresh_token": "<string>",
"service_account_jwt_access": {
"json_key": "<string>",
"token_lifetime_seconds": 123
},
"google_iam": {
"authorization_token": "<string>",
"authority_selector": "<string>"
},
"from_plugin": {
"name": "<string>",
"typed_config": {}
},
"sts_service": {
"token_exchange_service_uri": "<string>",
"resource": "<string>",
"audience": "<string>",
"scope": "<string>",
"requested_token_type": "<string>",
"subject_token_path": "<string>",
"subject_token_type": "<string>",
"actor_token_path": "<string>",
"actor_token_type": "<string>"
}
}
],
"stat_prefix": "<string>",
"credentials_factory_name": "<string>",
"config": {}
},
"timeout": "<string>",
"initial_metadata": [
{
"key": "<string>",
"value": "<string>",
"raw_value": "<unknown>"
}
]
},
"transport_api_version": "AUTO",
"buffer_flush_interval": "<string>",
"buffer_size_bytes": 123,
"filter_state_objects_to_log": [
"<string>"
],
"grpc_stream_retry_policy": {
"retry_back_off": {
"base_interval": "<string>",
"max_interval": "<string>"
},
"num_retries": 123
}
},
"additional_request_headers_to_log": [
"<string>"
],
"additional_response_headers_to_log": [
"<string>"
],
"additional_response_trailers_to_log": [
"<string>"
]
}
}
],
"clusters": [
{
"name": "<string>",
"excludedWorkloads": [
"<string>"
],
"transport_socket_matches": {},
"alt_stat_name": {},
"type": "STATIC",
"cluster_type": {},
"eds_cluster_config": {},
"connect_timeout": {},
"per_connection_buffer_limit_bytes": {},
"lb_policy": {},
"load_assignment": {
"cluster_name": "<string>",
"endpoints": {},
"policy": {}
},
"health_checks": {},
"max_requests_per_connection": {},
"circuit_breakers": {},
"upstream_http_protocol_options": {},
"common_http_protocol_options": {},
"http_protocol_options": {},
"http2_protocol_options": {},
"typed_extension_protocol_options": {},
"dns_refresh_rate": {},
"dns_failure_refresh_rate": {},
"respect_dns_ttl": {},
"dns_lookup_family": {},
"dns_resolvers": {},
"use_tcp_for_dns_lookups": {},
"dns_resolution_config": {},
"typed_dns_resolver_config": {},
"wait_for_warm_on_init": {},
"outlier_detection": {},
"cleanup_interval": {},
"upstream_bind_config": {},
"lb_subset_config": {},
"ring_hash_lb_config": {},
"maglev_lb_config": {},
"least_request_lb_config": {},
"common_lb_config": {},
"transport_socket": {},
"metadata": {},
"protocol_selection": {},
"upstream_connection_options": {},
"close_connections_on_host_health_failure": {},
"ignore_health_on_host_removal": {},
"filters": {},
"load_balancing_policy": {},
"track_timeout_budgets": {},
"upstream_config": {},
"track_cluster_stats": {},
"preconnect_policy": {},
"connection_pool_per_downstream_connection": {}
}
],
"excludedExternalAuth": [
{
"match": {
"prefix": "<string>",
"path": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"path_separated_prefix": "<string>",
"path_match_policy": {
"name": "<string>",
"typed_config": {}
},
"case_sensitive": true,
"runtime_fraction": {
"default_value": {
"numerator": 123,
"denominator": 123
},
"runtime_key": "<string>"
},
"headers": [
{
"name": "<string>",
"safe_regex_match": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"range_match": {
"start": 123,
"end": 123
},
"present_match": true,
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"invert_match": true,
"treat_missing_header_as_empty": true
}
],
"query_parameters": [
{
"name": "<string>",
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"present_match": true
}
],
"grpc": {
"presented": true,
"validated": true
},
"tls_context": {
"presented": true,
"validated": true
},
"dynamic_metadata": [
{
"filter": "<string>",
"path": [
{
"key": "<string>"
}
],
"value": {
"null_match": {},
"double_match": {
"range": {
"start": 123,
"end": 123
},
"exact": 123
},
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"bool_match": true,
"present_match": true
},
"invert": true
}
]
},
"port": 123,
"svcPort": 123
}
],
"excludedRateLimit": [
{
"match": {
"prefix": "<string>",
"path": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"path_separated_prefix": "<string>",
"path_match_policy": {
"name": "<string>",
"typed_config": {}
},
"case_sensitive": true,
"runtime_fraction": {
"default_value": {
"numerator": 123,
"denominator": 123
},
"runtime_key": "<string>"
},
"headers": [
{
"name": "<string>",
"safe_regex_match": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"range_match": {
"start": 123,
"end": 123
},
"present_match": true,
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"invert_match": true,
"treat_missing_header_as_empty": true
}
],
"query_parameters": [
{
"name": "<string>",
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"present_match": true
}
],
"grpc": {
"presented": true,
"validated": true
},
"tls_context": {
"presented": true,
"validated": true
},
"dynamic_metadata": [
{
"filter": "<string>",
"path": [
{
"key": "<string>"
}
],
"value": {
"null_match": {},
"double_match": {
"range": {
"start": 123,
"end": 123
},
"exact": 123
},
"string_match": {
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
},
"bool_match": true,
"present_match": true
},
"invert": true
}
]
},
"port": 123,
"svcPort": 123
}
],
"http": [
{
"priority": 123,
"excludedWorkloads": [
"<string>"
],
"name": "envoy.filters.http.ext_authz",
"typed_config": {
"grpc_service": {
"envoy_grpc": {
"cluster_name": "<string>",
"authority": {
"adjust": null,
"in": false,
"iterables": null,
"map": null,
"separator": ".",
"type": "value",
"ancestor": 1,
"path": [
"cluster_name"
],
"depth": 1,
"key": "cluster_name",
"root": "cluster_name",
"display": "ref:cluster_name"
},
"retry_policy": {
"retry_back_off": {
"base_interval": "<string>",
"max_interval": "<string>"
},
"num_retries": 123
}
},
"google_grpc": {
"target_uri": "<string>",
"channel_credentials": {
"ssl_credentials": {
"root_certs": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"private_key": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
},
"cert_chain": {
"filename": "<string>",
"inline_bytes": "<unknown>",
"inline_string": "<string>",
"environment_variable": "<string>"
}
},
"google_default": {}
},
"call_credentials": [
{
"access_token": "<string>",
"google_compute_engine": {},
"google_refresh_token": "<string>",
"service_account_jwt_access": {
"json_key": "<string>",
"token_lifetime_seconds": 123
},
"google_iam": {
"authorization_token": "<string>",
"authority_selector": "<string>"
},
"from_plugin": {
"name": "<string>",
"typed_config": {}
},
"sts_service": {
"token_exchange_service_uri": "<string>",
"resource": "<string>",
"audience": "<string>",
"scope": "<string>",
"requested_token_type": "<string>",
"subject_token_path": "<string>",
"subject_token_type": "<string>",
"actor_token_path": "<string>",
"actor_token_type": "<string>"
}
}
],
"stat_prefix": "<string>",
"credentials_factory_name": "<string>",
"config": {}
},
"timeout": "<string>",
"initial_metadata": [
{
"key": "<string>",
"value": "<string>",
"raw_value": "<unknown>"
}
]
},
"http_service": {
"server_uri": {
"uri": "<string>",
"cluster": "<string>",
"timeout": "<string>"
},
"path_prefix": "<string>",
"authorization_request": {
"allowed_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"headers_to_add": [
{
"key": "<string>",
"value": "<string>",
"raw_value": "<unknown>"
}
]
},
"authorization_response": {
"allowed_upstream_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"allowed_upstream_headers_to_append": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"allowed_client_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"allowed_client_headers_on_success": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"dynamic_metadata_from_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
}
}
},
"failure_mode_allow": true,
"failure_mode_allow_header_add": true,
"with_request_body": {
"max_request_bytes": 123,
"allow_partial_message": true,
"pack_as_bytes": true
},
"clear_route_cache": true,
"status_on_error": {
"code": "Empty"
},
"metadata_context_namespaces": [
"<string>"
],
"typed_metadata_context_namespaces": [
"<string>"
],
"route_metadata_context_namespaces": [
"<string>"
],
"route_typed_metadata_context_namespaces": [
"<string>"
],
"filter_enabled": {
"numerator": 123,
"denominator": 123
},
"deny_at_disable": {
"default_value": true,
"runtime_key": "<string>"
},
"include_peer_certificate": true,
"stat_prefix": "<string>",
"bootstrap_metadata_labels_key": "<string>",
"allowed_headers": {
"patterns": [
{
"exact": "<string>",
"prefix": "<string>",
"suffix": "<string>",
"safe_regex": {
"google_re2": {
"max_program_size": 123
},
"regex": "<string>"
},
"contains": "<string>",
"ignore_case": true
}
]
},
"include_tls_session": true,
"charge_cluster_response_stats": true,
"transport_api_version": "AUTO",
"@type": "type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz"
}
}
],
"network": [
{}
],
"volumes": [
{
"uri": "<string>",
"recoveryPolicy": "retain",
"path": "<string>"
}
]
}
},
"env": [
{
"name": "<string>",
"value": "<string>"
}
],
"loadBalancer": {
"dedicated": true,
"multiZone": {
"enabled": true
},
"trustedProxies": 123,
"redirect": {
"class": {
"status5xx": "<string>",
"status401": "<string>"
}
},
"ipSet": "<string>"
},
"keda": {
"enabled": true,
"identityLink": "<string>",
"secrets": [
"<string>"
]
}
}
}
'{
"status": 123,
"message": "<string>",
"code": "<string>",
"details": {},
"id": "<string>"
}Service account key can be used as API keys
250Show child attributes
Show child attributes
Show child attributes
Show child attributes
all, any, none Show child attributes
=, >, >=, <, <=, !=, ~, exists, !exists Customizes the subdomain format for the canonical workload endpoint.
default leaves it as ${workloadName}-${gvcName}.cpln.app
org follows the scheme ${workloadName}-${gvcName}.${org}.cpln.app
default, legacy, org Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
envoy.http_grpc_access_log Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
AUTO, V2, V3 Show child attributes
Show child attributes
STATIC, STRICT_DNS, LOGICAL_DNS, EDS, ORIGINAL_DST Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
envoy.filters.http.ext_authz Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Empty, Continue, OK, Created, Accepted, NonAuthoritativeInformation, NoContent, ResetContent, PartialContent, MultiStatus, AlradyReported, IMUsed, MultipleChoices, MovedPermanently, Found, SeeOther, NotModified, UseProxy, TemporaryRedirect, PermanentRedirect, BadRequest, Unauthroized, PaymentRequired, Forbidden, NotFound, MethodNotAllowed, NotAcceptable, ProxyAuthenticationRequired, RequestTimeout, Conflict, Gone, LengthRequired, PreconditionFailed, PayloadTooLarge, URITooLong, UnsupportedMediaType, RangeNotSatisfiable, ExpectationFailed, MisdirectedRequest, UnprocessableEntity, Locked, FailedDependency, UpgradeRequired, PreconditionRequired, TooManyRequests, RequestHeaderFieldsTooLarge, InternalServerError, NotImplemented, BadGateway, ServiceUnavailable, GatewayTimeout, HTTPVersionNotSupported, VariantAlsoNegotiates, InsufficientStorage, LoopDetected, NotExtended, NetworkAuthenticationRequired Show child attributes
Show child attributes
Show child attributes
AUTO, V2, V3 type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz Show child attributes
Only applicable to persistent volumes, this determines what Control Plane will do when creating a new workload replica if a corresponding volume exists.
retain, recycle Show child attributes
Creates a dedicated load balancer in each location and enables additional Domain features: custom ports, protocols and wildcard hostnames. Charges apply for each location.
Controls the address used for request logging and for setting the X-Envoy-External-Address header. If set to 1, then the last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If set to 2, then the second to last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If the XFF header does not have at least two addresses or does not exist then the source client IP address will be used instead.
Specify the url to be redirected to for different http status codes.
Show child attributes
Specify the redirect url for all status codes in a class
Show child attributes
Specify the redirect url for any 500 level status code
An optional url redirect for 401 responses. Supports envoy format strings to include request information. E.g. https://your-oauth-server/oauth2/authorize?return_to=%REQ(:path)%&client_id=your-client-id
A link to an IPSet resource that will be used for this load balancer
Show child attributes
Enable KEDA for this GVC. KEDA is a Kubernetes-based event-driven autoscaler that allows you to scale workloads based on external events. When enabled,a keda operator will be deployed in the GVC and workloads in the GVC can use KEDA to scale based on external metrics.
A link to an Identity resource that will be used for KEDA. This will allow the keda operator to access cloud and network resources.
A list of secrets to be used as TriggerAuthentication objects. The TriggerAuthentication object will be named after the secret and can be used by triggers on workloads in this GVC.
GVC was created successfully