syntax = "proto3"; package envoy.config.common.tap.v2alpha; option java_package = "io.envoyproxy.envoy.config.common.tap.v2alpha"; option java_outer_classname = "CommonProto"; option java_multiple_files = true; import "envoy/api/v2/core/config_source.proto"; import "envoy/service/tap/v2alpha/common.proto"; import "validate/validate.proto"; // [#protodoc-title: Common tap extension configuration] // Common configuration for all tap extensions. message CommonExtensionConfig { // [#not-implemented-hide:] message TapDSConfig { // Configuration for the source of TapDS updates for this Cluster. api.v2.core.ConfigSource config_source = 1 [(validate.rules).message = {required: true}]; // Tap config to request from XDS server. string name = 2 [(validate.rules).string = {min_bytes: 1}]; } oneof config_type { option (validate.required) = true; // If specified, the tap filter will be configured via an admin handler. AdminConfig admin_config = 1; // If specified, the tap filter will be configured via a static configuration that cannot be // changed. service.tap.v2alpha.TapConfig static_config = 2; // [#not-implemented-hide:] Configuration to use for TapDS updates for the filter. TapDSConfig tapds_config = 3; } } // Configuration for the admin handler. See :ref:`here ` for // more information. message AdminConfig { // Opaque configuration ID. When requests are made to the admin handler, the passed opaque ID is // matched to the configured filter opaque ID to determine which filter to configure. string config_id = 1 [(validate.rules).string = {min_bytes: 1}]; }