diff --git a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html index 65acfb5a37..3afec5755f 100644 --- a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html +++ b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html @@ -118,7 +118,7 @@
Example: https://www.googleapis.com/oauth2/v1/certs
+Example: https://www.googleapis.com/oauth2/v1/certs
apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
- name: productpage_mTLS_disable
+ name: productpage-mTLS-disable
namespace: frod
spec:
targets:
@@ -366,7 +366,7 @@ Policy
apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
- name: productpage_mTLS_with_JWT
+ name: productpage-mTLS-with-JWT
namespace: frod
spec:
target:
diff --git a/authentication/v1alpha1/policy.pb.go b/authentication/v1alpha1/policy.pb.go
index 0954be05da..d9d92c3f20 100644
--- a/authentication/v1alpha1/policy.pb.go
+++ b/authentication/v1alpha1/policy.pb.go
@@ -431,7 +431,7 @@ type Jwt struct {
// the issuer or (b) inferred from the email domain of the issuer (e.g. a
// Google service account).
//
- // Example: https://www.googleapis.com/oauth2/v1/certs
+ // Example: `https://www.googleapis.com/oauth2/v1/certs`
JwksUri string `protobuf:"bytes,3,opt,name=jwks_uri,json=jwksUri,proto3" json:"jwks_uri,omitempty"`
// JWT is sent in a request header. `header` represents the
// header name.
@@ -838,7 +838,7 @@ func (m *OriginAuthenticationMethod) GetJwt() *Jwt {
// apiVersion: authentication.istio.io/v1alpha1
// kind: Policy
// metadata:
-// name: productpage_mTLS_disable
+// name: productpage-mTLS-disable
// namespace: frod
// spec:
// targets:
@@ -851,7 +851,7 @@ func (m *OriginAuthenticationMethod) GetJwt() *Jwt {
// apiVersion: authentication.istio.io/v1alpha1
// kind: Policy
// metadata:
-// name: productpage_mTLS_with_JWT
+// name: productpage-mTLS-with-JWT
// namespace: frod
// spec:
// target:
diff --git a/authentication/v1alpha1/policy.proto b/authentication/v1alpha1/policy.proto
index 916270f965..42638a542d 100644
--- a/authentication/v1alpha1/policy.proto
+++ b/authentication/v1alpha1/policy.proto
@@ -155,7 +155,7 @@ message Jwt {
// the issuer or (b) inferred from the email domain of the issuer (e.g. a
// Google service account).
//
- // Example: https://www.googleapis.com/oauth2/v1/certs
+ // Example: `https://www.googleapis.com/oauth2/v1/certs`
string jwks_uri = 3;
// Two fields below define where to extract the JWT from an HTTP request.
@@ -274,7 +274,7 @@ enum PrincipalBinding {
// apiVersion: authentication.istio.io/v1alpha1
// kind: Policy
// metadata:
-// name: productpage_mTLS_disable
+// name: productpage-mTLS-disable
// namespace: frod
// spec:
// targets:
@@ -287,7 +287,7 @@ enum PrincipalBinding {
// apiVersion: authentication.istio.io/v1alpha1
// kind: Policy
// metadata:
-// name: productpage_mTLS_with_JWT
+// name: productpage-mTLS-with-JWT
// namespace: frod
// spec:
// target:
diff --git a/dictionaries/custom.txt b/dictionaries/custom.txt
index 14c8b03d73..f056b95fd0 100644
--- a/dictionaries/custom.txt
+++ b/dictionaries/custom.txt
@@ -13,6 +13,7 @@ jitter
JSON
JWT
Kubernetes
+LightStep
MCP
multicluster
NACK
@@ -27,6 +28,7 @@ scalability
SDS
SNI
SPIFFE
+subnet
TCP
TLS
UDP
@@ -35,3 +37,5 @@ unmanaged
unterminated
URI
URL
+VM
+Zipkin
diff --git a/envoy/config/filter/http/jwt_auth/v2alpha1/config.pb.go b/envoy/config/filter/http/jwt_auth/v2alpha1/config.pb.go
index 87ce22a8f3..d05358fc7e 100644
--- a/envoy/config/filter/http/jwt_auth/v2alpha1/config.pb.go
+++ b/envoy/config/filter/http/jwt_auth/v2alpha1/config.pb.go
@@ -348,15 +348,14 @@ func _DataSource_OneofSizer(msg proto.Message) (n int) {
return n
}
-// This message specifies how a JSON Web Token (JWT) can be verified. JWT format is defined
-// `here `_. Please see `OAuth2.0
-// `_ and `OIDC1.0 `_ for
+// This message specifies how a JSON Web Token (JWT) can be verified. See the [JWT format definition](https://tools.ietf.org/html/rfc7519)
+// for details. Please see [OAuth2.0](https://tools.ietf.org/html/rfc6749) and
+// [OIDC1.0](http://openid.net/connect) for
// the authentication flow.
//
// Example:
//
-// .. code-block:: yaml
-//
+// ```yaml
// issuer: https://example.com
// audiences:
// - bookstore_android.apps.googleusercontent.com
@@ -367,8 +366,7 @@ func _DataSource_OneofSizer(msg proto.Message) (n int) {
// cluster: example_jwks_cluster
// cache_duration:
// - seconds: 300
-//
-// [#not-implemented-hide:]
+// ```
type JwtRule struct {
// Identifies the principal that issued the JWT. See `here
// `_. Usually a URL or an email address.
diff --git a/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto b/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto
index 477be41f75..ec4cb9200b 100644
--- a/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto
+++ b/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto
@@ -69,15 +69,14 @@ message DataSource {
}
}
-// This message specifies how a JSON Web Token (JWT) can be verified. JWT format is defined
-// `here `_. Please see `OAuth2.0
-// `_ and `OIDC1.0 `_ for
+// This message specifies how a JSON Web Token (JWT) can be verified. See the [JWT format definition](https://tools.ietf.org/html/rfc7519)
+// for details. Please see [OAuth2.0](https://tools.ietf.org/html/rfc6749) and
+// [OIDC1.0](http://openid.net/connect) for
// the authentication flow.
//
// Example:
//
-// .. code-block:: yaml
-//
+// ```yaml
// issuer: https://example.com
// audiences:
// - bookstore_android.apps.googleusercontent.com
@@ -88,8 +87,7 @@ message DataSource {
// cluster: example_jwks_cluster
// cache_duration:
// - seconds: 300
-//
-// [#not-implemented-hide:]
+// ```
message JwtRule {
// Identifies the principal that issued the JWT. See `here
// `_. Usually a URL or an email address.
diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go
index 2adfe66184..9fdc0a9033 100644
--- a/mesh/v1alpha1/config.pb.go
+++ b/mesh/v1alpha1/config.pb.go
@@ -239,7 +239,7 @@ type MeshConfig struct {
ConfigSources []*ConfigSource `protobuf:"bytes,22,rep,name=config_sources,json=configSources,proto3" json:"config_sources,omitempty"`
// $hide_from_docs
// This flag is used by secret discovery service(SDS).
- // If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount
+ // If set to true ([prerequisite](https://kubernetes.io/docs/concepts/storage/volumes/#projected)), Istio will inject volumes mount
// for Kubernetes service account trustworthy JWT(which is available with Kubernetes 1.12 or higher), so that the Kubernetes API server
// mounts Kubernetes service account trustworthy JWT to the Envoy container, which will be used to request key/cert eventually.
// This isn't supported for non-Kubernetes cases.
@@ -298,7 +298,7 @@ type MeshConfig struct {
DefaultDestinationRuleExportTo []string `protobuf:"bytes,33,rep,name=default_destination_rule_export_to,json=defaultDestinationRuleExportTo,proto3" json:"default_destination_rule_export_to,omitempty"`
// $hide_from_docs
// The namespace to treat as the administrative root namespace for
- // istio configuration. When processing a leaf namespace Istio will search for
+ // Istio configuration. When processing a leaf namespace Istio will search for
// declarations in that namespace first and if none are found it will
// search in the root namespace. Any matching declaration found in the root
// namespace is processed as if it were declared in the leaf namespace.
@@ -307,8 +307,8 @@ type MeshConfig struct {
// type.
//
// There is no default value for this flag in 1.1 but in later releases it
- // is expected to default to a new namespace, "istio-config", which is
- // maintained separately from the "istio-system" namespace where an instance
+ // is expected to default to a new namespace, `istio-config`, which is
+ // maintained separately from the `istio-system` namespace where an instance
// of the control plane runtime is deployed. This separates the concerns of
// configuring the control-plane runtime from configuration of the mesh.
RootNamespace string `protobuf:"bytes,34,opt,name=root_namespace,json=rootNamespace,proto3" json:"root_namespace,omitempty"`
@@ -653,7 +653,7 @@ type ConfigSource struct {
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// Use the tls_settings to specify the tls mode to use. If the MCP server
// uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS
- // mode as ISTIO_MUTUAL.
+ // mode as `ISTIO_MUTUAL`.
TlsSettings *v1alpha3.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings,proto3" json:"tls_settings,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -757,7 +757,7 @@ func (m *ConfigSource) GetTlsSettings() *v1alpha3.TLSSettings {
type LocalityLoadBalancerSetting struct {
// Optional: only one of distribute or failover can be set.
// Explicitly specify loadbalancing weight across different zones and geographical locations.
- // Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing.html?highlight=load_balancing_weight#locality-weighted-load-balancing)
+ // Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/locality_weight)
// If empty, the locality weight is set according to the endpoints number within it.
Distribute []*LocalityLoadBalancerSetting_Distribute `protobuf:"bytes,1,rep,name=distribute,proto3" json:"distribute,omitempty"`
// Optional: only failover or distribute can be set.
diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto
index 062e1e60e8..c35e2b2434 100644
--- a/mesh/v1alpha1/config.proto
+++ b/mesh/v1alpha1/config.proto
@@ -196,7 +196,7 @@ message MeshConfig {
// $hide_from_docs
// This flag is used by secret discovery service(SDS).
- // If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount
+ // If set to true ([prerequisite](https://kubernetes.io/docs/concepts/storage/volumes/#projected)), Istio will inject volumes mount
// for Kubernetes service account trustworthy JWT(which is available with Kubernetes 1.12 or higher), so that the Kubernetes API server
// mounts Kubernetes service account trustworthy JWT to the Envoy container, which will be used to request key/cert eventually.
// This isn't supported for non-Kubernetes cases.
@@ -261,7 +261,7 @@ message MeshConfig {
// $hide_from_docs
// The namespace to treat as the administrative root namespace for
- // istio configuration. When processing a leaf namespace Istio will search for
+ // Istio configuration. When processing a leaf namespace Istio will search for
// declarations in that namespace first and if none are found it will
// search in the root namespace. Any matching declaration found in the root
// namespace is processed as if it were declared in the leaf namespace.
@@ -270,8 +270,8 @@ message MeshConfig {
// type.
//
// There is no default value for this flag in 1.1 but in later releases it
- // is expected to default to a new namespace, "istio-config", which is
- // maintained separately from the "istio-system" namespace where an instance
+ // is expected to default to a new namespace, `istio-config`, which is
+ // maintained separately from the `istio-system` namespace where an instance
// of the control plane runtime is deployed. This separates the concerns of
// configuring the control-plane runtime from configuration of the mesh.
string root_namespace = 34;
@@ -297,7 +297,7 @@ message ConfigSource {
// Use the tls_settings to specify the tls mode to use. If the MCP server
// uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS
- // mode as ISTIO_MUTUAL.
+ // mode as `ISTIO_MUTUAL`.
istio.networking.v1alpha3.TLSSettings tls_settings = 2;
}
@@ -385,7 +385,7 @@ message LocalityLoadBalancerSetting{
// Optional: only one of distribute or failover can be set.
// Explicitly specify loadbalancing weight across different zones and geographical locations.
- // Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing.html?highlight=load_balancing_weight#locality-weighted-load-balancing)
+ // Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/locality_weight)
// If empty, the locality weight is set according to the endpoints number within it.
repeated Distribute distribute = 1;
diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index d4d0be852a..150a426ec9 100644
--- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -77,9 +77,9 @@ ConfigSource
tlsSettings
istio.networking.v1alpha3.TLSSettings
-Use the tlssettings to specify the tls mode to use. If the MCP server
+Use the tls_settings to specify the tls mode to use. If the MCP server
uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS
-mode as ISTIO
MUTUAL.
+mode as ISTIO_MUTUAL.
@@ -150,7 +150,7 @@ LocalityLoadBalancerSetting
Optional: only one of distribute or failover can be set.
Explicitly specify loadbalancing weight across different zones and geographical locations.
-Refer to Locality weighted load balancing
+Refer to Locality weighted load balancing
If empty, the locality weight is set according to the endpoints number within it.
@@ -620,12 +620,15 @@ MeshNetworks
MeshNetworks(file/config map):
networks:
-- network1:
+ network1:
- endpoints:
- - fromRegistry: registry1 #must match secret name inKubernetes
+ - fromRegistry: registry1 #must match secret name in Kubernetes
- fromCidr: 192.168.100.0/22 #a VM network for example
gateways:
- registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local
+ port: 15443
+ locality: us-east-1a
+ - address: 192.168.100.1
port: 15443
locality: us-east-1a
@@ -755,13 +758,13 @@ Network.NetworkEndpoints
Implicitly: If the registry explicitly provides information about
the network to which the endpoint belongs to. In some cases, its
possible to indicate the network associated with the endpoint by
-adding ISTIOMETANETWORK environment variable to the sidecar.
+adding the ISTIO_META_NETWORK environment variable to the sidecar.
Explicitly:
-a. By matching the registry name with one of the “fromregistries”
- in the mesh config. A “fromregistry” can only be assigned to a
+
a. By matching the registry name with one of the “fromRegistry”
+ in the mesh config. A “from_registry” can only be assigned to a
single network.
b. By matching the IP against one of the CIDR ranges in a mesh
@@ -794,7 +797,7 @@
Network.NetworkEndpoints
Add all endpoints from the specified registry into this network.
The names of the registries should correspond to the secret name
-that was used to configure the registry (kubernetes multicluster) or
+that was used to configure the registry (Kubernetes multicluster) or
supplied by MCP server.
@@ -909,7 +912,7 @@ ProxyConfig
string
Address of the Envoy Metrics Service implementation (e.g. metrics-service:15000).
-See https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto
+See Metric Service
for details about Envoy’s Metrics Service API.
diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go
index 078d6a2610..165fc80fa1 100644
--- a/mesh/v1alpha1/network.pb.go
+++ b/mesh/v1alpha1/network.pb.go
@@ -92,11 +92,11 @@ func (m *Network) GetGateways() []*Network_IstioNetworkGateway {
// 1. Implicitly: If the registry explicitly provides information about
// the network to which the endpoint belongs to. In some cases, its
// possible to indicate the network associated with the endpoint by
-// adding ISTIO_META_NETWORK environment variable to the sidecar.
+// adding the `ISTIO_META_NETWORK` environment variable to the sidecar.
//
// 2. Explicitly:
//
-// a. By matching the registry name with one of the "from_registries"
+// a. By matching the registry name with one of the "fromRegistry"
// in the mesh config. A "from_registry" can only be assigned to a
// single network.
//
@@ -423,14 +423,17 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) {
//
// MeshNetworks(file/config map):
// networks:
-// - network1:
+// network1:
// - endpoints:
-// - fromRegistry: registry1 #must match secret name inKubernetes
+// - fromRegistry: registry1 #must match secret name in Kubernetes
// - fromCidr: 192.168.100.0/22 #a VM network for example
// gateways:
// - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local
// port: 15443
// locality: us-east-1a
+// - address: 192.168.100.1
+// port: 15443
+// locality: us-east-1a
type MeshNetworks struct {
// REQUIRED: The set of networks inside this mesh. Each network should
// have a unique name and information about how to infer the endpoints in
diff --git a/mesh/v1alpha1/network.proto b/mesh/v1alpha1/network.proto
index a55c416cfe..126d1212e6 100644
--- a/mesh/v1alpha1/network.proto
+++ b/mesh/v1alpha1/network.proto
@@ -31,11 +31,11 @@ message Network {
// 1. Implicitly: If the registry explicitly provides information about
// the network to which the endpoint belongs to. In some cases, its
// possible to indicate the network associated with the endpoint by
- // adding ISTIO_META_NETWORK environment variable to the sidecar.
+ // adding the `ISTIO_META_NETWORK` environment variable to the sidecar.
//
// 2. Explicitly:
//
- // a. By matching the registry name with one of the "from_registries"
+ // a. By matching the registry name with one of the "fromRegistry"
// in the mesh config. A "from_registry" can only be assigned to a
// single network.
//
@@ -52,7 +52,7 @@ message Network {
// Add all endpoints from the specified registry into this network.
// The names of the registries should correspond to the secret name
- // that was used to configure the registry (kubernetes multicluster) or
+ // that was used to configure the registry (Kubernetes multicluster) or
// supplied by MCP server.
string from_registry = 2;
}
@@ -97,17 +97,20 @@ message Network {
//
// MeshNetworks(file/config map):
// networks:
-// - network1:
+// network1:
// - endpoints:
-// - fromRegistry: registry1 #must match secret name inKubernetes
+// - fromRegistry: registry1 #must match secret name in Kubernetes
// - fromCidr: 192.168.100.0/22 #a VM network for example
// gateways:
// - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local
// port: 15443
// locality: us-east-1a
+// - address: 192.168.100.1
+// port: 15443
+// locality: us-east-1a
message MeshNetworks {
// REQUIRED: The set of networks inside this mesh. Each network should
// have a unique name and information about how to infer the endpoints in
// the network as well as the gateways associated with the network.
map networks = 1;
-}
\ No newline at end of file
+}
diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go
index 0056c3caf6..10950ac4c8 100644
--- a/mesh/v1alpha1/proxy.pb.go
+++ b/mesh/v1alpha1/proxy.pb.go
@@ -414,7 +414,7 @@ type ProxyConfig struct {
// IP Address and Port of a statsd UDP listener (e.g. _10.75.241.127:9125_).
StatsdUdpAddress string `protobuf:"bytes,10,opt,name=statsd_udp_address,json=statsdUdpAddress,proto3" json:"statsd_udp_address,omitempty"`
// Address of the Envoy Metrics Service implementation (e.g. metrics-service:15000).
- // See https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto
+ // See [Metric Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto)
// for details about Envoy's Metrics Service API.
EnvoyMetricsServiceAddress string `protobuf:"bytes,20,opt,name=envoy_metrics_service_address,json=envoyMetricsServiceAddress,proto3" json:"envoy_metrics_service_address,omitempty"`
// Port on which Envoy should listen for administrative commands.
diff --git a/mesh/v1alpha1/proxy.proto b/mesh/v1alpha1/proxy.proto
index 576289c8ad..a08d122c59 100644
--- a/mesh/v1alpha1/proxy.proto
+++ b/mesh/v1alpha1/proxy.proto
@@ -120,13 +120,13 @@ message ProxyConfig {
string statsd_udp_address = 10;
// Address of the Envoy Metrics Service implementation (e.g. metrics-service:15000).
- // See https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto
+ // See [Metric Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto)
// for details about Envoy's Metrics Service API.
string envoy_metrics_service_address = 20;
// Port on which Envoy should listen for administrative commands.
int32 proxy_admin_port = 11;
-
+
// $hide_from_docs
string availability_zone = 12 [deprecated=true];
diff --git a/mixer/v1/attributes.pb.go b/mixer/v1/attributes.pb.go
index af3a17af5b..4b772b82d7 100644
--- a/mixer/v1/attributes.pb.go
+++ b/mixer/v1/attributes.pb.go
@@ -53,7 +53,7 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
// specialized Mixer adapters and services can also generate attributes.
//
// The common baseline set of attributes available in most Istio deployments is defined
-// [here](https://istio.io/docs/reference/config/mixer/attribute-vocabulary.html).
+// [here](https://istio.io/docs/reference/config/policy-and-telemetry/attribute-vocabulary/).
//
// Attributes are strongly typed. The supported attribute types are defined by
// [ValueType](https://github.com/istio/api/blob/master/policy/v1beta1/value_type.proto).
@@ -79,16 +79,12 @@ func (m *Attributes) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *Attributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Attributes.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *Attributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_Attributes.Merge(m, src)
@@ -127,16 +123,12 @@ func (m *Attributes_AttributeValue) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *Attributes_AttributeValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Attributes_AttributeValue.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *Attributes_AttributeValue) XXX_Merge(src proto.Message) {
xxx_messageInfo_Attributes_AttributeValue.Merge(m, src)
@@ -437,16 +429,12 @@ func (m *Attributes_StringMap) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *Attributes_StringMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Attributes_StringMap.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *Attributes_StringMap) XXX_Merge(src proto.Message) {
xxx_messageInfo_Attributes_StringMap.Merge(m, src)
@@ -497,16 +485,12 @@ func (m *CompressedAttributes) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *CompressedAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_CompressedAttributes.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *CompressedAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_CompressedAttributes.Merge(m, src)
@@ -536,16 +520,12 @@ func (m *StringMap) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *StringMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_StringMap.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *StringMap) XXX_Merge(src proto.Message) {
xxx_messageInfo_StringMap.Merge(m, src)
@@ -581,58 +561,58 @@ func init() {
func init() { proto.RegisterFile("mixer/v1/attributes.proto", fileDescriptor_6504964367320bd3) }
var fileDescriptor_6504964367320bd3 = []byte{
- // 815 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xcd, 0x6f, 0xd3, 0x48,
- 0x18, 0xc6, 0x67, 0x9a, 0xe6, 0xc3, 0x6f, 0xb2, 0x49, 0x6b, 0x65, 0x25, 0x37, 0x87, 0x49, 0xb6,
- 0xbb, 0x5a, 0x65, 0xf7, 0x60, 0xf7, 0x4b, 0xa8, 0xf4, 0x02, 0x84, 0x46, 0x0a, 0x20, 0x24, 0x64,
- 0x10, 0x5f, 0x95, 0x40, 0x89, 0x62, 0x82, 0x45, 0x12, 0x47, 0x1e, 0xa7, 0x90, 0x1b, 0x12, 0x27,
- 0x6e, 0x3d, 0x70, 0xe0, 0x3f, 0x80, 0x3f, 0xa5, 0xc7, 0x1e, 0x7b, 0x02, 0x92, 0x5e, 0xb8, 0x20,
- 0xf5, 0xc8, 0x11, 0x79, 0x66, 0xec, 0x4c, 0x42, 0xda, 0x38, 0x37, 0x7b, 0xe6, 0x7d, 0x7e, 0x7e,
- 0x66, 0xe6, 0x99, 0x37, 0x81, 0xb5, 0x8e, 0xfd, 0xc6, 0x72, 0x8d, 0xc3, 0x4d, 0xa3, 0xee, 0x79,
- 0xae, 0xdd, 0xe8, 0x7b, 0x16, 0xd5, 0x7b, 0xae, 0xe3, 0x39, 0x6a, 0xd6, 0xa6, 0x9e, 0xed, 0xe8,
- 0xac, 0x40, 0x3f, 0xdc, 0x2c, 0xe4, 0x5b, 0x4e, 0xcb, 0x61, 0x53, 0x86, 0xff, 0xc4, 0xab, 0x0a,
- 0xa4, 0xe5, 0x38, 0xad, 0xb6, 0x65, 0xb0, 0xb7, 0x46, 0xff, 0x85, 0xd1, 0xec, 0xbb, 0x75, 0xcf,
- 0x76, 0xba, 0x62, 0xbe, 0x38, 0x3d, 0xef, 0xd9, 0x1d, 0x8b, 0x7a, 0xf5, 0x4e, 0x8f, 0x17, 0xac,
- 0xbf, 0x4b, 0x00, 0xdc, 0x08, 0xbf, 0xad, 0xde, 0x06, 0x18, 0x3b, 0xd1, 0x70, 0x29, 0x56, 0x4e,
- 0x6f, 0xfd, 0xaf, 0x4f, 0x5a, 0xd1, 0xc7, 0xf5, 0xd2, 0x63, 0xb5, 0xeb, 0xb9, 0x03, 0x53, 0x52,
- 0x17, 0x5e, 0x42, 0x6e, 0x6a, 0x5a, 0x5d, 0x81, 0xd8, 0x2b, 0x6b, 0xa0, 0xe1, 0x12, 0x2e, 0x2b,
- 0xa6, 0xff, 0xa8, 0x5e, 0x83, 0xf8, 0x61, 0xbd, 0xdd, 0xb7, 0xb4, 0xa5, 0x12, 0x2e, 0xa7, 0xb7,
- 0xfe, 0x8b, 0xf2, 0xad, 0x87, 0xbe, 0xc0, 0xe4, 0xba, 0xbd, 0xa5, 0x5d, 0x5c, 0xf8, 0x14, 0x83,
- 0xec, 0xe4, 0xac, 0xfa, 0x37, 0x64, 0xa8, 0xe7, 0xda, 0xdd, 0xd6, 0xf3, 0x31, 0x5e, 0xa9, 0x21,
- 0x33, 0xcd, 0x47, 0x79, 0xd1, 0x5f, 0x90, 0xb6, 0xbb, 0xde, 0x95, 0x1d, 0x51, 0x13, 0x2b, 0xe1,
- 0x72, 0xac, 0x86, 0x4c, 0x60, 0x83, 0x21, 0xa7, 0xe9, 0xf4, 0x1b, 0x6d, 0x4b, 0xd4, 0x2c, 0x97,
- 0x70, 0x19, 0xfb, 0x1c, 0x3e, 0xca, 0x8b, 0x8a, 0x00, 0x0d, 0xc7, 0x69, 0x8b, 0x92, 0x78, 0x09,
- 0x97, 0x53, 0x35, 0x64, 0x2a, 0xfe, 0x58, 0xf8, 0xa1, 0xc6, 0xc0, 0xb3, 0xa8, 0xa8, 0x48, 0x94,
- 0x70, 0x39, 0xe3, 0x7f, 0x88, 0x0d, 0xf2, 0x92, 0x2a, 0xe4, 0xc2, 0xb3, 0x11, 0x65, 0x49, 0xb6,
- 0x25, 0x05, 0x9d, 0x9f, 0xa1, 0x1e, 0x9c, 0xa1, 0xfe, 0x20, 0xa8, 0xab, 0x21, 0x33, 0x1b, 0x8a,
- 0x38, 0xa6, 0x02, 0xd9, 0x20, 0x02, 0x82, 0x92, 0x62, 0x94, 0xb5, 0xdf, 0x28, 0xfb, 0xa2, 0xac,
- 0x86, 0xcc, 0x3f, 0x02, 0x09, 0x67, 0xdc, 0x83, 0x15, 0xb1, 0x77, 0x9d, 0x7a, 0xe0, 0x45, 0x61,
- 0x94, 0x7f, 0x2e, 0x39, 0x9e, 0xfb, 0x4c, 0x72, 0xb7, 0xce, 0x5c, 0xd1, 0xe0, 0x85, 0x11, 0x2b,
- 0x49, 0x71, 0xca, 0x85, 0x0f, 0x18, 0x94, 0xb0, 0x50, 0xbd, 0x03, 0x49, 0xab, 0xeb, 0xb9, 0x76,
- 0x18, 0xb5, 0xcd, 0x28, 0x7c, 0xbd, 0xca, 0x35, 0x3c, 0x71, 0x01, 0xa1, 0xb0, 0x07, 0x19, 0x79,
- 0x62, 0x46, 0xd6, 0xf2, 0x72, 0xd6, 0x14, 0x29, 0x40, 0xeb, 0x3f, 0x14, 0xc8, 0xdf, 0x74, 0x3a,
- 0x3d, 0xd7, 0xa2, 0xd4, 0x6a, 0x4a, 0xf7, 0x21, 0x0f, 0xf1, 0xd7, 0x8e, 0xdb, 0xe4, 0xfe, 0x14,
- 0x93, 0xbf, 0xf8, 0xbe, 0xf9, 0x02, 0xa9, 0xb6, 0x34, 0xdb, 0xf7, 0x2c, 0x98, 0x58, 0x41, 0xe0,
- 0x5b, 0x10, 0xd4, 0x1a, 0x24, 0x58, 0xde, 0xa8, 0x16, 0x63, 0xac, 0x8d, 0x48, 0xac, 0x5b, 0x4c,
- 0xc2, 0x51, 0x42, 0xef, 0xdb, 0xe2, 0xa9, 0xa4, 0xda, 0xf2, 0x02, 0xb6, 0xf6, 0xb9, 0x46, 0xd8,
- 0x12, 0x04, 0xb5, 0x0a, 0x71, 0x3f, 0xbf, 0x54, 0x8b, 0x33, 0x94, 0x11, 0x09, 0x55, 0xf1, 0x15,
- 0x1c, 0xc4, 0xd5, 0xea, 0x33, 0x80, 0x30, 0xa1, 0x54, 0x4b, 0x30, 0xd6, 0x4e, 0x24, 0x56, 0x98,
- 0x72, 0x0e, 0xac, 0xa4, 0x8e, 0xbf, 0x14, 0xd1, 0xd1, 0xd7, 0x22, 0x36, 0x25, 0xa2, 0x7a, 0x00,
- 0x4a, 0x10, 0x5e, 0xaa, 0x25, 0x19, 0x7e, 0x3b, 0xda, 0xaa, 0x03, 0x95, 0x44, 0xff, 0xe8, 0xd3,
- 0xc7, 0x3c, 0xb6, 0x07, 0xfe, 0x0d, 0xd5, 0x52, 0x8b, 0xec, 0xc1, 0x20, 0xec, 0x86, 0x5c, 0xad,
- 0x1e, 0x40, 0x7a, 0x7c, 0x9f, 0xa8, 0xa6, 0x2c, 0xb0, 0x09, 0x61, 0xe8, 0x85, 0xcd, 0x65, 0xdf,
- 0xa6, 0x09, 0xe1, 0xf5, 0x62, 0xb1, 0x97, 0x73, 0x25, 0xc7, 0x7e, 0x75, 0x46, 0xec, 0x57, 0xe5,
- 0xbe, 0x79, 0x15, 0xd2, 0x52, 0x8e, 0xe6, 0x49, 0x63, 0xb2, 0x74, 0x0f, 0x32, 0x72, 0x6e, 0xe6,
- 0x69, 0xb1, 0xac, 0xdd, 0x05, 0x18, 0x07, 0x65, 0x9e, 0x32, 0x25, 0x2b, 0x9f, 0x40, 0x6e, 0x2a,
- 0x16, 0x33, 0xe4, 0x1b, 0x93, 0x3f, 0x29, 0x97, 0xf4, 0x4f, 0x19, 0xfd, 0x08, 0xb2, 0x93, 0x91,
- 0x98, 0x41, 0x36, 0x26, 0xc9, 0x17, 0xf7, 0xd4, 0xe9, 0xd5, 0x0e, 0xbc, 0x88, 0xfb, 0x94, 0x91,
- 0x95, 0x8f, 0x21, 0x37, 0x75, 0xfe, 0x51, 0x3c, 0x4d, 0xc5, 0x2a, 0x24, 0xc8, 0xfd, 0xee, 0xfd,
- 0x44, 0x1b, 0xbe, 0x3e, 0xdd, 0x86, 0xff, 0xbd, 0x10, 0xb2, 0x78, 0xef, 0x9d, 0x17, 0xc2, 0x8a,
- 0x79, 0x3c, 0x24, 0xe8, 0x64, 0x48, 0xd0, 0xe9, 0x90, 0xa0, 0xf3, 0x21, 0x41, 0x6f, 0x47, 0x04,
- 0x7f, 0x1e, 0x11, 0x74, 0x3c, 0x22, 0xf8, 0x64, 0x44, 0xf0, 0xb7, 0x11, 0xc1, 0xdf, 0x47, 0x04,
- 0x9d, 0x8f, 0x08, 0x3e, 0x3a, 0x23, 0xe8, 0xe4, 0x8c, 0xa0, 0xd3, 0x33, 0x82, 0x9e, 0xfe, 0xc9,
- 0x5d, 0xda, 0x8e, 0x51, 0xef, 0xd9, 0x46, 0xf0, 0x57, 0xea, 0x27, 0xc6, 0x8d, 0x04, 0x3b, 0x91,
- 0xed, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb3, 0xaa, 0x85, 0xf6, 0x60, 0x09, 0x00, 0x00,
+ // 816 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xbd, 0x6f, 0xd3, 0x4e,
+ 0x18, 0xc7, 0x7d, 0x4d, 0xf3, 0xe2, 0x27, 0xf9, 0x25, 0xad, 0x95, 0x9f, 0xe4, 0x66, 0xb8, 0x84,
+ 0x82, 0x50, 0x60, 0xb0, 0xfb, 0x26, 0x54, 0xba, 0x00, 0xa1, 0x91, 0x02, 0x08, 0x09, 0x19, 0x54,
+ 0x5e, 0x2a, 0x81, 0x12, 0xc5, 0x04, 0x8b, 0x24, 0x8e, 0x7c, 0x4e, 0x21, 0x1b, 0x12, 0x13, 0x5b,
+ 0x07, 0x06, 0xfe, 0x03, 0xf8, 0x53, 0x3a, 0x76, 0xec, 0x04, 0xc4, 0x5d, 0x58, 0x90, 0x3a, 0x32,
+ 0x22, 0xdf, 0x9d, 0x9d, 0x4b, 0x48, 0x1b, 0x67, 0xb3, 0xef, 0x9e, 0xef, 0xc7, 0xdf, 0xbb, 0xfb,
+ 0xde, 0x93, 0xc0, 0x4a, 0xc7, 0x7a, 0x6f, 0x3a, 0xfa, 0xc1, 0xba, 0x5e, 0x77, 0x5d, 0xc7, 0x6a,
+ 0xf4, 0x5d, 0x93, 0x68, 0x3d, 0xc7, 0x76, 0x6d, 0x25, 0x6b, 0x11, 0xd7, 0xb2, 0x35, 0x5a, 0xa0,
+ 0x1d, 0xac, 0x17, 0xf2, 0x2d, 0xbb, 0x65, 0xd3, 0x29, 0xdd, 0x7f, 0x62, 0x55, 0x05, 0xdc, 0xb2,
+ 0xed, 0x56, 0xdb, 0xd4, 0xe9, 0x5b, 0xa3, 0xff, 0x5a, 0x6f, 0xf6, 0x9d, 0xba, 0x6b, 0xd9, 0x5d,
+ 0x3e, 0x5f, 0x9c, 0x9c, 0x77, 0xad, 0x8e, 0x49, 0xdc, 0x7a, 0xa7, 0xc7, 0x0a, 0x56, 0x3f, 0x26,
+ 0x00, 0xee, 0x84, 0xdf, 0x56, 0xee, 0x03, 0x8c, 0x9c, 0xa8, 0xa8, 0x14, 0x2b, 0xa7, 0x37, 0xae,
+ 0x6b, 0xe3, 0x56, 0xb4, 0x51, 0xbd, 0xf0, 0x58, 0xed, 0xba, 0xce, 0xc0, 0x10, 0xd4, 0x85, 0x37,
+ 0x90, 0x9b, 0x98, 0x56, 0x96, 0x20, 0xf6, 0xd6, 0x1c, 0xa8, 0xa8, 0x84, 0xca, 0xb2, 0xe1, 0x3f,
+ 0x2a, 0xb7, 0x20, 0x7e, 0x50, 0x6f, 0xf7, 0x4d, 0x75, 0xa1, 0x84, 0xca, 0xe9, 0x8d, 0x6b, 0x51,
+ 0xbe, 0xb5, 0xe7, 0x0b, 0x0c, 0xa6, 0xdb, 0x59, 0xd8, 0x46, 0x85, 0xaf, 0x31, 0xc8, 0x8e, 0xcf,
+ 0x2a, 0x97, 0x21, 0x43, 0x5c, 0xc7, 0xea, 0xb6, 0x5e, 0x8d, 0xf0, 0x72, 0x4d, 0x32, 0xd2, 0x6c,
+ 0x94, 0x15, 0x5d, 0x82, 0xb4, 0xd5, 0x75, 0x6f, 0x6c, 0xf1, 0x9a, 0x58, 0x09, 0x95, 0x63, 0x35,
+ 0xc9, 0x00, 0x3a, 0x18, 0x72, 0x9a, 0x76, 0xbf, 0xd1, 0x36, 0x79, 0xcd, 0x62, 0x09, 0x95, 0x91,
+ 0xcf, 0x61, 0xa3, 0xac, 0xa8, 0x08, 0xd0, 0xb0, 0xed, 0x36, 0x2f, 0x89, 0x97, 0x50, 0x39, 0x55,
+ 0x93, 0x0c, 0xd9, 0x1f, 0x0b, 0x3f, 0xd4, 0x18, 0xb8, 0x26, 0xe1, 0x15, 0x89, 0x12, 0x2a, 0x67,
+ 0xfc, 0x0f, 0xd1, 0x41, 0x56, 0x52, 0x85, 0x5c, 0x78, 0x36, 0xbc, 0x2c, 0x49, 0xb7, 0xa4, 0xa0,
+ 0xb1, 0x33, 0xd4, 0x82, 0x33, 0xd4, 0x9e, 0x04, 0x75, 0x35, 0xc9, 0xc8, 0x86, 0x22, 0x86, 0xa9,
+ 0x40, 0x36, 0x88, 0x00, 0xa7, 0xa4, 0x28, 0x65, 0xe5, 0x1f, 0xca, 0x2e, 0x2f, 0xab, 0x49, 0xc6,
+ 0x7f, 0x81, 0x84, 0x31, 0x1e, 0xc1, 0x12, 0xdf, 0xbb, 0x4e, 0x3d, 0xf0, 0x22, 0x53, 0xca, 0x95,
+ 0x0b, 0x8e, 0xe7, 0x31, 0x95, 0x3c, 0xac, 0x53, 0x57, 0x24, 0x78, 0xa1, 0xc4, 0x4a, 0x92, 0x9f,
+ 0x72, 0xe1, 0x33, 0x02, 0x39, 0x2c, 0x54, 0x1e, 0x40, 0xd2, 0xec, 0xba, 0x8e, 0x15, 0x46, 0x6d,
+ 0x3d, 0x0a, 0x5f, 0xab, 0x32, 0x0d, 0x4b, 0x5c, 0x40, 0x28, 0xec, 0x40, 0x46, 0x9c, 0x98, 0x92,
+ 0xb5, 0xbc, 0x98, 0x35, 0x59, 0x08, 0xd0, 0xea, 0x6f, 0x19, 0xf2, 0x77, 0xed, 0x4e, 0xcf, 0x31,
+ 0x09, 0x31, 0x9b, 0xc2, 0x7d, 0xc8, 0x43, 0xfc, 0x9d, 0xed, 0x34, 0x99, 0x3f, 0xd9, 0x60, 0x2f,
+ 0xbe, 0x6f, 0xb6, 0x40, 0xa2, 0x2e, 0x4c, 0xf7, 0x3d, 0x0d, 0xc6, 0x57, 0x10, 0xf8, 0xe6, 0x04,
+ 0xa5, 0x06, 0x09, 0x9a, 0x37, 0xa2, 0xc6, 0x28, 0x6b, 0x2d, 0x12, 0xeb, 0x1e, 0x95, 0x30, 0x14,
+ 0xd7, 0xfb, 0xb6, 0x58, 0x2a, 0x89, 0xba, 0x38, 0x87, 0xad, 0x5d, 0xa6, 0xe1, 0xb6, 0x38, 0x41,
+ 0xa9, 0x42, 0xdc, 0xcf, 0x2f, 0x51, 0xe3, 0x14, 0xa5, 0x47, 0x42, 0x55, 0x7c, 0x05, 0x03, 0x31,
+ 0xb5, 0xf2, 0x12, 0x20, 0x4c, 0x28, 0x51, 0x13, 0x94, 0xb5, 0x15, 0x89, 0x15, 0xa6, 0x9c, 0x01,
+ 0x2b, 0xa9, 0xa3, 0xef, 0x45, 0xe9, 0xf0, 0x47, 0x11, 0x19, 0x02, 0x51, 0xd9, 0x07, 0x39, 0x08,
+ 0x2f, 0x51, 0x93, 0x14, 0xbf, 0x19, 0x6d, 0xd5, 0x81, 0x4a, 0xa0, 0x7f, 0xf1, 0xe9, 0x23, 0x1e,
+ 0xdd, 0x03, 0xff, 0x86, 0xaa, 0xa9, 0x79, 0xf6, 0x60, 0x10, 0x76, 0x43, 0xa6, 0x56, 0xf6, 0x21,
+ 0x3d, 0xba, 0x4f, 0x44, 0x95, 0xe7, 0xd8, 0x84, 0x30, 0xf4, 0xdc, 0xe6, 0xa2, 0x6f, 0xd3, 0x80,
+ 0xf0, 0x7a, 0xd1, 0xd8, 0x8b, 0xb9, 0x12, 0x63, 0xbf, 0x3c, 0x25, 0xf6, 0xcb, 0x62, 0xdf, 0xbc,
+ 0x09, 0x69, 0x21, 0x47, 0xb3, 0xa4, 0x31, 0x51, 0xba, 0x03, 0x19, 0x31, 0x37, 0xb3, 0xb4, 0x48,
+ 0xd4, 0x6e, 0x03, 0x8c, 0x82, 0x32, 0x4b, 0x99, 0x12, 0x95, 0xcf, 0x21, 0x37, 0x11, 0x8b, 0x29,
+ 0xf2, 0xb5, 0xf1, 0x9f, 0x94, 0x0b, 0xfa, 0xa7, 0x88, 0x7e, 0x0a, 0xd9, 0xf1, 0x48, 0x4c, 0x21,
+ 0xeb, 0xe3, 0xe4, 0xf3, 0x7b, 0xea, 0xe4, 0x6a, 0x07, 0x6e, 0xc4, 0x7d, 0xca, 0x88, 0xca, 0x67,
+ 0x90, 0x9b, 0x38, 0xff, 0x28, 0x9e, 0x26, 0x62, 0x15, 0x12, 0xc4, 0x7e, 0xf7, 0x69, 0xac, 0x0d,
+ 0xdf, 0x9e, 0x6c, 0xc3, 0x57, 0xcf, 0x85, 0xcc, 0xdf, 0x7b, 0x67, 0x85, 0xb0, 0xb2, 0x77, 0x34,
+ 0xc4, 0xd2, 0xf1, 0x10, 0x4b, 0x27, 0x43, 0x2c, 0x9d, 0x0d, 0xb1, 0xf4, 0xc1, 0xc3, 0xe8, 0x9b,
+ 0x87, 0xa5, 0x23, 0x0f, 0xa3, 0x63, 0x0f, 0xa3, 0x13, 0x0f, 0xa3, 0x9f, 0x1e, 0x46, 0xbf, 0x3c,
+ 0x2c, 0x9d, 0x79, 0x18, 0x1d, 0x9e, 0x62, 0xe9, 0xf8, 0x14, 0x4b, 0x27, 0xa7, 0x58, 0x7a, 0xf1,
+ 0x3f, 0x73, 0x6a, 0xd9, 0x7a, 0xbd, 0x67, 0xe9, 0xc1, 0xdf, 0xa9, 0x3f, 0x08, 0x35, 0x12, 0xf4,
+ 0x54, 0x36, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xfb, 0xc0, 0x1f, 0x1b, 0x64, 0x09, 0x00, 0x00,
}
func (m *Attributes) Marshal() (dAtA []byte, err error) {
@@ -651,10 +631,15 @@ func (m *Attributes) MarshalTo(dAtA []byte) (int, error) {
var l int
_ = l
if len(m.Attributes) > 0 {
+ keysForAttributes := make([]string, 0, len(m.Attributes))
for k, _ := range m.Attributes {
+ keysForAttributes = append(keysForAttributes, string(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForAttributes)
+ for _, k := range keysForAttributes {
dAtA[i] = 0xa
i++
- v := m.Attributes[k]
+ v := m.Attributes[string(k)]
msgSize := 0
if v != nil {
msgSize = v.Size()
@@ -809,10 +794,15 @@ func (m *Attributes_StringMap) MarshalTo(dAtA []byte) (int, error) {
var l int
_ = l
if len(m.Entries) > 0 {
+ keysForEntries := make([]string, 0, len(m.Entries))
for k, _ := range m.Entries {
+ keysForEntries = append(keysForEntries, string(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForEntries)
+ for _, k := range keysForEntries {
dAtA[i] = 0xa
i++
- v := m.Entries[k]
+ v := m.Entries[string(k)]
mapSize := 1 + len(k) + sovAttributes(uint64(len(k))) + 1 + len(v) + sovAttributes(uint64(len(v)))
i = encodeVarintAttributes(dAtA, i, uint64(mapSize))
dAtA[i] = 0xa
@@ -859,10 +849,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.Strings) > 0 {
+ keysForStrings := make([]int32, 0, len(m.Strings))
for k, _ := range m.Strings {
+ keysForStrings = append(keysForStrings, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForStrings)
+ for _, k := range keysForStrings {
dAtA[i] = 0x12
i++
- v := m.Strings[k]
+ v := m.Strings[int32(k)]
mapSize := 1 + sozAttributes(uint64(k)) + 1 + sozAttributes(uint64(v))
i = encodeVarintAttributes(dAtA, i, uint64(mapSize))
dAtA[i] = 0x8
@@ -874,10 +869,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.Int64S) > 0 {
+ keysForInt64S := make([]int32, 0, len(m.Int64S))
for k, _ := range m.Int64S {
+ keysForInt64S = append(keysForInt64S, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForInt64S)
+ for _, k := range keysForInt64S {
dAtA[i] = 0x1a
i++
- v := m.Int64S[k]
+ v := m.Int64S[int32(k)]
mapSize := 1 + sozAttributes(uint64(k)) + 1 + sovAttributes(uint64(v))
i = encodeVarintAttributes(dAtA, i, uint64(mapSize))
dAtA[i] = 0x8
@@ -889,10 +889,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.Doubles) > 0 {
+ keysForDoubles := make([]int32, 0, len(m.Doubles))
for k, _ := range m.Doubles {
+ keysForDoubles = append(keysForDoubles, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForDoubles)
+ for _, k := range keysForDoubles {
dAtA[i] = 0x22
i++
- v := m.Doubles[k]
+ v := m.Doubles[int32(k)]
mapSize := 1 + sozAttributes(uint64(k)) + 1 + 8
i = encodeVarintAttributes(dAtA, i, uint64(mapSize))
dAtA[i] = 0x8
@@ -905,10 +910,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.Bools) > 0 {
+ keysForBools := make([]int32, 0, len(m.Bools))
for k, _ := range m.Bools {
+ keysForBools = append(keysForBools, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForBools)
+ for _, k := range keysForBools {
dAtA[i] = 0x2a
i++
- v := m.Bools[k]
+ v := m.Bools[int32(k)]
mapSize := 1 + sozAttributes(uint64(k)) + 1 + 1
i = encodeVarintAttributes(dAtA, i, uint64(mapSize))
dAtA[i] = 0x8
@@ -925,10 +935,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.Timestamps) > 0 {
+ keysForTimestamps := make([]int32, 0, len(m.Timestamps))
for k, _ := range m.Timestamps {
+ keysForTimestamps = append(keysForTimestamps, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForTimestamps)
+ for _, k := range keysForTimestamps {
dAtA[i] = 0x32
i++
- v := m.Timestamps[k]
+ v := m.Timestamps[int32(k)]
msgSize := 0
if (&v) != nil {
msgSize = github_com_gogo_protobuf_types.SizeOfStdTime(*(&v))
@@ -950,10 +965,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.Durations) > 0 {
+ keysForDurations := make([]int32, 0, len(m.Durations))
for k, _ := range m.Durations {
+ keysForDurations = append(keysForDurations, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForDurations)
+ for _, k := range keysForDurations {
dAtA[i] = 0x3a
i++
- v := m.Durations[k]
+ v := m.Durations[int32(k)]
msgSize := 0
if (&v) != nil {
msgSize = github_com_gogo_protobuf_types.SizeOfStdDuration(*(&v))
@@ -975,10 +995,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.Bytes) > 0 {
+ keysForBytes := make([]int32, 0, len(m.Bytes))
for k, _ := range m.Bytes {
+ keysForBytes = append(keysForBytes, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForBytes)
+ for _, k := range keysForBytes {
dAtA[i] = 0x42
i++
- v := m.Bytes[k]
+ v := m.Bytes[int32(k)]
byteSize := 0
if len(v) > 0 {
byteSize = 1 + len(v) + sovAttributes(uint64(len(v)))
@@ -997,10 +1022,15 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) {
}
}
if len(m.StringMaps) > 0 {
+ keysForStringMaps := make([]int32, 0, len(m.StringMaps))
for k, _ := range m.StringMaps {
+ keysForStringMaps = append(keysForStringMaps, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForStringMaps)
+ for _, k := range keysForStringMaps {
dAtA[i] = 0x4a
i++
- v := m.StringMaps[k]
+ v := m.StringMaps[int32(k)]
msgSize := 0
if (&v) != nil {
msgSize = (&v).Size()
@@ -1040,10 +1070,15 @@ func (m *StringMap) MarshalTo(dAtA []byte) (int, error) {
var l int
_ = l
if len(m.Entries) > 0 {
+ keysForEntries := make([]int32, 0, len(m.Entries))
for k, _ := range m.Entries {
+ keysForEntries = append(keysForEntries, int32(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Int32s(keysForEntries)
+ for _, k := range keysForEntries {
dAtA[i] = 0xa
i++
- v := m.Entries[k]
+ v := m.Entries[int32(k)]
mapSize := 1 + sozAttributes(uint64(k)) + 1 + sozAttributes(uint64(v))
i = encodeVarintAttributes(dAtA, i, uint64(mapSize))
dAtA[i] = 0x8
diff --git a/mixer/v1/attributes.proto b/mixer/v1/attributes.proto
index f04a583089..32fa4fc8a5 100644
--- a/mixer/v1/attributes.proto
+++ b/mixer/v1/attributes.proto
@@ -25,6 +25,7 @@ import "google/protobuf/timestamp.proto";
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = false;
option (gogoproto.gostring_all) = false;
+option (gogoproto.stable_marshaler_all) = true;
option cc_enable_arenas = true;
// Attributes represents a set of typed name/value pairs. Many of Mixer's
@@ -50,7 +51,7 @@ option cc_enable_arenas = true;
// specialized Mixer adapters and services can also generate attributes.
//
// The common baseline set of attributes available in most Istio deployments is defined
-// [here](https://istio.io/docs/reference/config/mixer/attribute-vocabulary.html).
+// [here](https://istio.io/docs/reference/config/policy-and-telemetry/attribute-vocabulary/).
//
// Attributes are strongly typed. The supported attribute types are defined by
// [ValueType](https://github.com/istio/api/blob/master/policy/v1beta1/value_type.proto).
diff --git a/mixer/v1/config/client/api_spec.pb.go b/mixer/v1/config/client/api_spec.pb.go
index ad6be4e759..479e8e3c52 100644
--- a/mixer/v1/config/client/api_spec.pb.go
+++ b/mixer/v1/config/client/api_spec.pb.go
@@ -108,16 +108,12 @@ func (m *HTTPAPISpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *HTTPAPISpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPAPISpec.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *HTTPAPISpec) XXX_Merge(src proto.Message) {
xxx_messageInfo_HTTPAPISpec.Merge(m, src)
@@ -168,16 +164,12 @@ func (m *HTTPAPISpecPattern) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *HTTPAPISpecPattern) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPAPISpecPattern.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *HTTPAPISpecPattern) XXX_Merge(src proto.Message) {
xxx_messageInfo_HTTPAPISpecPattern.Merge(m, src)
@@ -316,16 +308,12 @@ func (m *APIKey) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *APIKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_APIKey.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *APIKey) XXX_Merge(src proto.Message) {
xxx_messageInfo_APIKey.Merge(m, src)
@@ -495,16 +483,12 @@ func (m *HTTPAPISpecReference) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *HTTPAPISpecReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPAPISpecReference.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *HTTPAPISpecReference) XXX_Merge(src proto.Message) {
xxx_messageInfo_HTTPAPISpecReference.Merge(m, src)
@@ -554,16 +538,12 @@ func (m *HTTPAPISpecBinding) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *HTTPAPISpecBinding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HTTPAPISpecBinding.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *HTTPAPISpecBinding) XXX_Merge(src proto.Message) {
xxx_messageInfo_HTTPAPISpecBinding.Merge(m, src)
@@ -590,40 +570,40 @@ func init() {
}
var fileDescriptor_fb6b15fd2f44b459 = []byte{
- // 524 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xcf, 0x6e, 0xda, 0x4e,
- 0x10, 0x5e, 0x87, 0x84, 0xc0, 0xf0, 0x3b, 0xad, 0xa2, 0x9f, 0x5c, 0x14, 0x6d, 0x11, 0x49, 0x25,
- 0xd4, 0x83, 0xdd, 0xd0, 0x5b, 0x2f, 0x15, 0x1c, 0x2a, 0x50, 0x5a, 0x15, 0x39, 0x9c, 0x5a, 0x55,
- 0xc8, 0x31, 0x13, 0x58, 0x11, 0xbc, 0xee, 0x7a, 0x41, 0xe1, 0xd6, 0x47, 0xe8, 0x63, 0xf4, 0xd2,
- 0x07, 0xe8, 0x1b, 0xe4, 0xc8, 0x91, 0x63, 0x31, 0x97, 0x1e, 0xf3, 0x08, 0xd5, 0x7a, 0x1d, 0xa0,
- 0xff, 0x50, 0xa5, 0x9e, 0xec, 0x99, 0xf9, 0x66, 0xbe, 0xf9, 0x66, 0x67, 0xe0, 0xd1, 0x98, 0xdf,
- 0xa0, 0x74, 0xa7, 0x67, 0x6e, 0x20, 0xc2, 0x2b, 0x3e, 0x70, 0x83, 0x6b, 0x8e, 0xa1, 0x72, 0xfd,
- 0x88, 0xf7, 0xe2, 0x08, 0x03, 0x27, 0x92, 0x42, 0x09, 0x7a, 0xcc, 0x63, 0xc5, 0x85, 0x93, 0x82,
- 0x9d, 0xe9, 0x99, 0x63, 0xc0, 0x8e, 0x01, 0x97, 0x8f, 0x06, 0x62, 0x20, 0x52, 0xa0, 0xab, 0xff,
- 0x4c, 0x4e, 0xf9, 0xc1, 0xba, 0xb4, 0xaf, 0x94, 0xe4, 0x97, 0x13, 0x85, 0x71, 0x16, 0x3a, 0xfd,
- 0x03, 0x6b, 0x8c, 0x72, 0xca, 0x03, 0x34, 0xa8, 0xea, 0xc2, 0x82, 0x52, 0xab, 0xdb, 0xed, 0x34,
- 0x3a, 0xed, 0x8b, 0x08, 0x03, 0xfa, 0x0c, 0x60, 0x53, 0xc9, 0xb6, 0x2a, 0x56, 0xad, 0x54, 0x2f,
- 0x3b, 0x3f, 0x75, 0xd6, 0x58, 0x23, 0xbc, 0x2d, 0x34, 0x7d, 0x09, 0x85, 0xc8, 0x57, 0x0a, 0x65,
- 0x18, 0xdb, 0x7b, 0x95, 0x5c, 0xad, 0x54, 0x7f, 0xe2, 0xec, 0xd2, 0xe4, 0x6c, 0x11, 0x77, 0x4c,
- 0xa2, 0xb7, 0xae, 0x40, 0x9f, 0x43, 0x41, 0x0f, 0x68, 0x84, 0xb3, 0xd8, 0xce, 0xa5, 0xd5, 0x4e,
- 0x77, 0x57, 0x6b, 0x74, 0xda, 0xe7, 0x38, 0xf3, 0x0e, 0xfd, 0x88, 0x9f, 0xe3, 0x2c, 0xae, 0x7e,
- 0xb1, 0x80, 0xfe, 0xca, 0xf0, 0x4f, 0x0a, 0x1f, 0x42, 0x69, 0xa8, 0x54, 0xd4, 0x1b, 0xa3, 0x1a,
- 0x8a, 0xbe, 0xbd, 0x57, 0xb1, 0x6a, 0x45, 0x0f, 0xb4, 0xeb, 0x55, 0xea, 0xa1, 0x27, 0xf0, 0xdf,
- 0x44, 0xf2, 0x9e, 0xc2, 0x71, 0x74, 0xed, 0x2b, 0xb4, 0x73, 0x1a, 0xd1, 0x22, 0x5e, 0x69, 0x22,
- 0x79, 0x37, 0x73, 0xd2, 0xff, 0xe1, 0x40, 0xe2, 0x00, 0x6f, 0xec, 0xfd, 0x2c, 0x6a, 0xcc, 0x66,
- 0x11, 0x0e, 0x33, 0xf5, 0xd5, 0xb7, 0x90, 0x37, 0x72, 0x34, 0xf8, 0xfd, 0x04, 0xe5, 0x2c, 0xed,
- 0x34, 0x05, 0xa7, 0x26, 0xb5, 0x21, 0x3f, 0x44, 0xbf, 0x8f, 0xd2, 0x74, 0xd1, 0x22, 0x5e, 0x66,
- 0xeb, 0x48, 0x20, 0xc4, 0x88, 0x6f, 0xd8, 0x33, 0xbb, 0x79, 0x00, 0xb9, 0x11, 0xce, 0xaa, 0x2d,
- 0x38, 0xda, 0x9a, 0x8b, 0x87, 0x57, 0x28, 0x31, 0x0c, 0x90, 0x52, 0xd8, 0x0f, 0xfd, 0x31, 0x1a,
- 0x26, 0x2f, 0xfd, 0xa7, 0xc7, 0x50, 0xd4, 0xdf, 0x38, 0xf2, 0x03, 0xcc, 0xf4, 0x6e, 0x1c, 0xd5,
- 0xcf, 0x3f, 0x8e, 0xb8, 0xc9, 0xc3, 0x3e, 0x0f, 0x07, 0xf4, 0x05, 0x14, 0xb2, 0x2d, 0xd3, 0x03,
- 0xd6, 0x4f, 0xf7, 0x78, 0xf7, 0xd3, 0xb5, 0x75, 0xf0, 0xc2, 0xa4, 0x78, 0xeb, 0x5c, 0xfa, 0x1a,
- 0x8a, 0xf7, 0x37, 0x72, 0xbf, 0x51, 0xf5, 0xbf, 0xde, 0xa8, 0xb5, 0x2e, 0x4f, 0xef, 0x91, 0xf6,
- 0xc4, 0xcd, 0x77, 0xb7, 0x4b, 0x46, 0xe6, 0x4b, 0x46, 0x16, 0x4b, 0x46, 0xee, 0x96, 0x8c, 0x7c,
- 0x48, 0x98, 0xf5, 0x29, 0x61, 0xe4, 0x36, 0x61, 0xd6, 0x3c, 0x61, 0xd6, 0xd7, 0x84, 0x59, 0xdf,
- 0x12, 0x46, 0xee, 0x12, 0x66, 0x7d, 0x5c, 0x31, 0x32, 0x5f, 0x31, 0xb2, 0x58, 0x31, 0xf2, 0xe6,
- 0xc4, 0xd0, 0x72, 0xa1, 0xaf, 0xd6, 0xfd, 0xfd, 0x69, 0x5d, 0xe6, 0xd3, 0x9b, 0x7a, 0xfa, 0x3d,
- 0x00, 0x00, 0xff, 0xff, 0x74, 0x4a, 0xd4, 0x0b, 0xf1, 0x03, 0x00, 0x00,
+ // 525 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xbd, 0x6e, 0x1a, 0x41,
+ 0x10, 0xde, 0x35, 0x36, 0x86, 0x21, 0xd5, 0xca, 0x8a, 0x2e, 0xc8, 0xda, 0x20, 0xec, 0x48, 0x28,
+ 0xc5, 0x5d, 0x4c, 0xba, 0x34, 0x11, 0x14, 0x11, 0xc8, 0x89, 0x82, 0xce, 0x54, 0x49, 0x81, 0xce,
+ 0xc7, 0x18, 0x56, 0x98, 0xbb, 0xcb, 0xde, 0x82, 0x4c, 0x97, 0x47, 0xc8, 0x63, 0xa4, 0xc9, 0x03,
+ 0xe4, 0x0d, 0x5c, 0x52, 0x52, 0x86, 0xa3, 0x49, 0xe9, 0x47, 0x88, 0xf6, 0xf6, 0x0c, 0xe4, 0x0f,
+ 0x45, 0x4a, 0x75, 0x37, 0x33, 0xdf, 0xcc, 0x37, 0xdf, 0xec, 0x0c, 0x3c, 0x19, 0x8b, 0x1b, 0x94,
+ 0xce, 0xf4, 0xcc, 0xf1, 0xc3, 0xe0, 0x4a, 0x0c, 0x1c, 0xff, 0x5a, 0x60, 0xa0, 0x1c, 0x2f, 0x12,
+ 0xbd, 0x38, 0x42, 0xdf, 0x8e, 0x64, 0xa8, 0x42, 0x76, 0x2c, 0x62, 0x25, 0x42, 0x3b, 0x05, 0xdb,
+ 0xd3, 0x33, 0xdb, 0x80, 0x6d, 0x03, 0x2e, 0x1f, 0x0d, 0xc2, 0x41, 0x98, 0x02, 0x1d, 0xfd, 0x67,
+ 0x72, 0xca, 0x8f, 0xd6, 0xa5, 0x3d, 0xa5, 0xa4, 0xb8, 0x9c, 0x28, 0x8c, 0xb3, 0xd0, 0xe9, 0x5f,
+ 0x58, 0x63, 0x94, 0x53, 0xe1, 0xa3, 0x41, 0x55, 0x17, 0x14, 0x4a, 0xad, 0x6e, 0xb7, 0xd3, 0xe8,
+ 0xb4, 0x2f, 0x22, 0xf4, 0xd9, 0x0b, 0x80, 0x4d, 0x25, 0x8b, 0x56, 0x68, 0xad, 0x54, 0x2f, 0xdb,
+ 0xbf, 0x74, 0xd6, 0x58, 0x23, 0xdc, 0x2d, 0x34, 0x7b, 0x0d, 0x85, 0xc8, 0x53, 0x0a, 0x65, 0x10,
+ 0x5b, 0x7b, 0x95, 0x5c, 0xad, 0x54, 0x7f, 0x66, 0xef, 0xd2, 0x64, 0x6f, 0x11, 0x77, 0x4c, 0xa2,
+ 0xbb, 0xae, 0xc0, 0x5e, 0x42, 0x41, 0x0f, 0x68, 0x84, 0xb3, 0xd8, 0xca, 0xa5, 0xd5, 0x4e, 0x77,
+ 0x57, 0x6b, 0x74, 0xda, 0xe7, 0x38, 0x73, 0x0f, 0xbd, 0x48, 0x9c, 0xe3, 0x2c, 0xae, 0x7e, 0xa5,
+ 0xc0, 0x7e, 0x67, 0xf8, 0x2f, 0x85, 0x8f, 0xa1, 0x34, 0x54, 0x2a, 0xea, 0x8d, 0x51, 0x0d, 0xc3,
+ 0xbe, 0xb5, 0x57, 0xa1, 0xb5, 0xa2, 0x0b, 0xda, 0xf5, 0x26, 0xf5, 0xb0, 0x13, 0x78, 0x30, 0x91,
+ 0xa2, 0xa7, 0x70, 0x1c, 0x5d, 0x7b, 0x0a, 0xad, 0x9c, 0x46, 0xb4, 0x88, 0x5b, 0x9a, 0x48, 0xd1,
+ 0xcd, 0x9c, 0xec, 0x21, 0x1c, 0x48, 0x1c, 0xe0, 0x8d, 0xb5, 0x9f, 0x45, 0x8d, 0xd9, 0x2c, 0xc2,
+ 0x61, 0xa6, 0xbe, 0xfa, 0x1e, 0xf2, 0x46, 0x8e, 0x06, 0x7f, 0x98, 0xa0, 0x9c, 0xa5, 0x9d, 0xa6,
+ 0xe0, 0xd4, 0x64, 0x16, 0xe4, 0x87, 0xe8, 0xf5, 0x51, 0x9a, 0x2e, 0x5a, 0xc4, 0xcd, 0x6c, 0x1d,
+ 0xf1, 0xc3, 0x70, 0x24, 0x36, 0xec, 0x99, 0xdd, 0x3c, 0x80, 0xdc, 0x08, 0x67, 0xd5, 0x16, 0x1c,
+ 0x6d, 0xcd, 0xc5, 0xc5, 0x2b, 0x94, 0x18, 0xf8, 0xc8, 0x18, 0xec, 0x07, 0xde, 0x18, 0x0d, 0x93,
+ 0x9b, 0xfe, 0xb3, 0x63, 0x28, 0xea, 0x6f, 0x1c, 0x79, 0x3e, 0x66, 0x7a, 0x37, 0x8e, 0xea, 0x97,
+ 0x9f, 0x47, 0xdc, 0x14, 0x41, 0x5f, 0x04, 0x03, 0xf6, 0x0a, 0x0a, 0xd9, 0x96, 0xe9, 0x01, 0xeb,
+ 0xa7, 0x7b, 0xba, 0xfb, 0xe9, 0xda, 0x3a, 0x78, 0x61, 0x52, 0xdc, 0x75, 0x2e, 0x7b, 0x0b, 0xc5,
+ 0xfb, 0x1b, 0xb9, 0xdf, 0xa8, 0xfa, 0x3f, 0x6f, 0xd4, 0x5a, 0x97, 0xab, 0xf7, 0x48, 0x7b, 0xe2,
+ 0xa6, 0x77, 0xbb, 0xe4, 0x64, 0xbe, 0xe4, 0x64, 0xb1, 0xe4, 0xe4, 0x6e, 0xc9, 0xc9, 0xc7, 0x84,
+ 0xd3, 0xcf, 0x09, 0x27, 0xb7, 0x09, 0xa7, 0xf3, 0x84, 0xd3, 0x45, 0xc2, 0xe9, 0xb7, 0x84, 0xd3,
+ 0xef, 0x09, 0x27, 0x77, 0x09, 0xa7, 0x9f, 0x56, 0x9c, 0xcc, 0x57, 0x9c, 0x2c, 0x56, 0x9c, 0xbc,
+ 0x3b, 0x31, 0xd4, 0x22, 0xd4, 0x97, 0xeb, 0xfc, 0xf9, 0xbc, 0x2e, 0xf3, 0xe9, 0x5d, 0x3d, 0xff,
+ 0x11, 0x00, 0x00, 0xff, 0xff, 0x9e, 0x0d, 0x86, 0xcc, 0xf5, 0x03, 0x00, 0x00,
}
func (m *HTTPAPISpec) Marshal() (dAtA []byte, err error) {
diff --git a/mixer/v1/config/client/api_spec.proto b/mixer/v1/config/client/api_spec.proto
index 27fafee827..92dfefc067 100644
--- a/mixer/v1/config/client/api_spec.proto
+++ b/mixer/v1/config/client/api_spec.proto
@@ -26,6 +26,7 @@ import "mixer/v1/config/client/service.proto";
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = false;
option (gogoproto.gostring_all) = false;
+option (gogoproto.stable_marshaler_all) = true;
// HTTPAPISpec defines the canonical configuration for generating
// API-related attributes from HTTP requests based on the method and
diff --git a/mixer/v1/config/client/client_config.pb.go b/mixer/v1/config/client/client_config.pb.go
index 85f5b24cd4..7984e9a4fd 100644
--- a/mixer/v1/config/client/client_config.pb.go
+++ b/mixer/v1/config/client/client_config.pb.go
@@ -75,16 +75,12 @@ func (m *NetworkFailPolicy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *NetworkFailPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_NetworkFailPolicy.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *NetworkFailPolicy) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkFailPolicy.Merge(m, src)
@@ -142,16 +138,12 @@ func (m *ServiceConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *ServiceConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_ServiceConfig.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *ServiceConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_ServiceConfig.Merge(m, src)
@@ -212,16 +204,12 @@ func (m *TransportConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *TransportConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TransportConfig.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *TransportConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransportConfig.Merge(m, src)
@@ -264,16 +252,12 @@ func (m *HttpClientConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *HttpClientConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_HttpClientConfig.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *HttpClientConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_HttpClientConfig.Merge(m, src)
@@ -317,16 +301,12 @@ func (m *TcpClientConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *TcpClientConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_TcpClientConfig.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *TcpClientConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_TcpClientConfig.Merge(m, src)
@@ -355,67 +335,67 @@ func init() {
}
var fileDescriptor_27bf0dec365e2f6f = []byte{
- // 954 bytes of a gzipped FileDescriptorProto
+ // 956 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x6f, 0x1a, 0x47,
- 0x18, 0xde, 0x05, 0xec, 0x98, 0x71, 0xf8, 0xf0, 0x90, 0xa8, 0x98, 0x54, 0x2b, 0x44, 0x14, 0x95,
- 0x36, 0xea, 0xd2, 0xd0, 0x4b, 0x95, 0x43, 0x2b, 0x4c, 0x6c, 0xc5, 0x6a, 0x9c, 0xd0, 0xb5, 0xab,
- 0x48, 0xad, 0xaa, 0xd1, 0xb0, 0x0c, 0x30, 0xf2, 0x7a, 0x67, 0x33, 0x3b, 0x60, 0xfb, 0xd6, 0x5f,
- 0x50, 0xf5, 0x67, 0xe4, 0x0f, 0xf4, 0x3f, 0xe4, 0xe8, 0x63, 0x8e, 0x35, 0xbe, 0xf4, 0x98, 0x63,
- 0xa5, 0x5e, 0xaa, 0x9d, 0x19, 0x58, 0x63, 0xf3, 0x51, 0xaa, 0xf6, 0xc4, 0xec, 0xfb, 0x3e, 0xcf,
- 0xcb, 0xec, 0xf3, 0x3e, 0xf3, 0xce, 0x82, 0xcf, 0x4e, 0xe8, 0x19, 0xe1, 0xb5, 0xe1, 0x93, 0x9a,
- 0xcb, 0xfc, 0x2e, 0xed, 0xd5, 0x5c, 0x8f, 0x12, 0x5f, 0xe8, 0x1f, 0xa4, 0x82, 0x76, 0xc0, 0x99,
- 0x60, 0xf0, 0x63, 0x1a, 0x0a, 0xca, 0x6c, 0xc9, 0xb0, 0x87, 0x4f, 0x6c, 0x9d, 0x54, 0xd0, 0xd2,
- 0xbd, 0x1e, 0xeb, 0x31, 0x09, 0xac, 0x45, 0x2b, 0xc5, 0x29, 0x59, 0x3d, 0xc6, 0x7a, 0x1e, 0xa9,
- 0xc9, 0xa7, 0xf6, 0xa0, 0x5b, 0xeb, 0x0c, 0x38, 0x16, 0x94, 0xf9, 0x3a, 0xbf, 0x3d, 0xf9, 0x7f,
- 0x2c, 0x04, 0xa7, 0xed, 0x81, 0x20, 0xa1, 0x4e, 0x3d, 0x9a, 0xb3, 0x35, 0x1c, 0x50, 0x14, 0x06,
- 0xc4, 0xd5, 0xb0, 0xca, 0x1c, 0xd8, 0x9b, 0x01, 0x13, 0x58, 0x61, 0x2a, 0xbf, 0x25, 0xc0, 0xd6,
- 0x4b, 0x22, 0x4e, 0x19, 0x3f, 0xde, 0xc3, 0xd4, 0x6b, 0x31, 0x8f, 0xba, 0xe7, 0xd0, 0x01, 0xeb,
- 0x81, 0x5c, 0x15, 0xcd, 0xb2, 0x59, 0xcd, 0xd6, 0x9f, 0xda, 0x8b, 0x5e, 0xd0, 0xbe, 0x55, 0xc0,
- 0x8e, 0x97, 0x8e, 0xae, 0x04, 0x1f, 0x80, 0xf4, 0x09, 0x3e, 0x43, 0x9c, 0x08, 0x7e, 0x5e, 0x4c,
- 0x94, 0xcd, 0x6a, 0xc6, 0xd9, 0x38, 0xc1, 0x67, 0x4e, 0xf4, 0x0c, 0x1b, 0x20, 0xd7, 0xc6, 0x21,
- 0x51, 0x59, 0x74, 0x8a, 0xa9, 0x28, 0x26, 0xcb, 0x66, 0x75, 0xb3, 0xbe, 0x6d, 0x2b, 0x99, 0xec,
- 0xb1, 0x4c, 0xf6, 0x33, 0x2d, 0x93, 0x93, 0x89, 0x18, 0x92, 0xfe, 0x1a, 0x53, 0x01, 0xbf, 0x01,
- 0xd9, 0x49, 0x7d, 0x55, 0x21, 0xb5, 0xac, 0xc2, 0xdd, 0xf1, 0xff, 0x47, 0x05, 0x2a, 0x8f, 0x01,
- 0xb8, 0x26, 0x41, 0x06, 0xa4, 0xf7, 0x1a, 0xfb, 0x2f, 0xd0, 0xab, 0xd6, 0xee, 0xcb, 0xbc, 0x01,
- 0xb3, 0x00, 0xc8, 0xc7, 0xe6, 0x8b, 0x57, 0x87, 0xbb, 0x79, 0xb3, 0xf2, 0x57, 0x12, 0x64, 0x0e,
- 0x09, 0x1f, 0x52, 0x97, 0x34, 0xa5, 0x16, 0xd0, 0x06, 0x85, 0x0e, 0x0d, 0x71, 0xdb, 0x23, 0xc8,
- 0xed, 0x13, 0xf7, 0x18, 0xb9, 0xd8, 0xf3, 0x42, 0x29, 0xe0, 0x86, 0xb3, 0xa5, 0x53, 0xcd, 0x28,
- 0xd3, 0x8c, 0x12, 0xf0, 0x0b, 0x70, 0x6f, 0x8c, 0xe7, 0x24, 0x60, 0x5c, 0x68, 0x42, 0x42, 0x12,
- 0xa0, 0xce, 0x39, 0x32, 0xa5, 0x18, 0xbb, 0x20, 0x2f, 0x1b, 0x80, 0x62, 0x43, 0x68, 0x95, 0x4a,
- 0x37, 0xfb, 0xd3, 0x98, 0x20, 0x9c, 0x9c, 0x0c, 0xc6, 0x01, 0x78, 0x00, 0x32, 0x7d, 0x21, 0x02,
- 0x34, 0x76, 0x4b, 0x31, 0x55, 0x4e, 0x56, 0x37, 0xeb, 0x9f, 0x2e, 0xee, 0xf1, 0xf3, 0xa3, 0xa3,
- 0x56, 0xa3, 0xb5, 0x7f, 0x18, 0x10, 0xd7, 0xd9, 0x8c, 0xf8, 0x8d, 0x80, 0x46, 0x0f, 0x70, 0x0f,
- 0x00, 0x69, 0x28, 0x55, 0x6b, 0x4d, 0xd6, 0xfa, 0x64, 0x71, 0xad, 0xef, 0x22, 0xbc, 0xac, 0x94,
- 0x7e, 0x33, 0x5e, 0x42, 0x04, 0x0a, 0xbe, 0xf2, 0x11, 0xea, 0x62, 0xea, 0x21, 0x6d, 0xc0, 0x3b,
- 0xf2, 0x05, 0x6b, 0x2b, 0x1a, 0xd0, 0xd9, 0xf2, 0x6f, 0x99, 0x7a, 0x1f, 0xc0, 0x2e, 0xe3, 0xa7,
- 0x98, 0x77, 0xae, 0x0b, 0xb8, 0xb1, 0x54, 0xc0, 0x2d, 0xcd, 0x8a, 0x43, 0x95, 0x3f, 0x93, 0x20,
- 0x77, 0xc4, 0xb1, 0x1f, 0xca, 0xe6, 0xcc, 0xed, 0xbf, 0xdb, 0x27, 0xb3, 0xfb, 0xef, 0xf6, 0xc9,
- 0x75, 0xbc, 0xd2, 0x4f, 0xe1, 0x13, 0x53, 0x78, 0xa9, 0x94, 0xc2, 0xdf, 0xf6, 0x4b, 0x1b, 0x0b,
- 0xb7, 0x2f, 0x1d, 0x70, 0xd3, 0x2f, 0x3b, 0x51, 0x66, 0x9e, 0xa2, 0xa9, 0xff, 0x4c, 0xd1, 0x03,
- 0x70, 0x3f, 0x14, 0x58, 0x84, 0x68, 0x10, 0x74, 0xb0, 0x20, 0x88, 0xfa, 0x82, 0xf0, 0x21, 0xf6,
- 0x8a, 0x6b, 0xcb, 0x4e, 0x5e, 0x41, 0xf2, 0xbe, 0x97, 0xb4, 0x7d, 0xcd, 0x82, 0x0f, 0x41, 0x46,
- 0x2b, 0xe7, 0x0d, 0x42, 0x41, 0x78, 0x71, 0xbd, 0x6c, 0x56, 0xd3, 0xce, 0x5d, 0x19, 0x6c, 0xaa,
- 0x18, 0x7c, 0x04, 0xb2, 0xe3, 0xe3, 0xa2, 0x51, 0x77, 0x24, 0x2a, 0xa3, 0xa2, 0x63, 0xd8, 0x6b,
- 0x50, 0x8a, 0x9b, 0x8c, 0xba, 0x8c, 0x23, 0x75, 0x74, 0x02, 0xce, 0xce, 0xce, 0xff, 0x41, 0xd3,
- 0x3f, 0x8a, 0xd9, 0x7b, 0x8c, 0x1f, 0x44, 0x88, 0x56, 0x44, 0xad, 0xfc, 0x92, 0x02, 0xf9, 0xe7,
- 0x42, 0x04, 0x4d, 0xa9, 0x93, 0xee, 0xfd, 0xb7, 0x20, 0x2d, 0xc6, 0x76, 0x90, 0x1d, 0xdf, 0xac,
- 0x7f, 0xbe, 0x58, 0xdf, 0x1b, 0xee, 0x71, 0x62, 0x3e, 0x3c, 0x06, 0xb9, 0x50, 0x4d, 0x16, 0x7d,
- 0xc9, 0x44, 0x33, 0x21, 0x3a, 0x55, 0x3b, 0x4b, 0x4e, 0xe8, 0x8d, 0x5d, 0xd9, 0x53, 0xf3, 0x29,
- 0xdc, 0xf5, 0x05, 0x3f, 0x77, 0xb2, 0xe1, 0x54, 0x10, 0x7e, 0x0d, 0x1e, 0x74, 0x48, 0x17, 0x0f,
- 0x3c, 0x81, 0x3a, 0x24, 0x14, 0xd4, 0x97, 0xfd, 0x41, 0x1a, 0x25, 0xcd, 0x95, 0x76, 0xb6, 0x35,
- 0xe4, 0x59, 0x8c, 0xd0, 0xb5, 0x67, 0xce, 0xa4, 0xd4, 0xea, 0x33, 0x69, 0xf6, 0xd9, 0x5c, 0xfb,
- 0x17, 0x67, 0xb3, 0xe4, 0x83, 0xc2, 0x8c, 0x17, 0x87, 0x79, 0x90, 0x3c, 0x26, 0xea, 0x3e, 0x4b,
- 0x3b, 0xd1, 0x12, 0x36, 0xc0, 0xda, 0x10, 0x7b, 0x03, 0x75, 0xe4, 0x36, 0xeb, 0x8f, 0x17, 0xab,
- 0x3b, 0x55, 0xd3, 0x51, 0xcc, 0xa7, 0x89, 0xaf, 0xcc, 0xca, 0xdb, 0x68, 0x16, 0xb8, 0xff, 0xa3,
- 0x1f, 0x66, 0x49, 0x9c, 0x58, 0x5d, 0xe2, 0x39, 0xf7, 0x53, 0x72, 0xd5, 0xfb, 0x29, 0x35, 0xf7,
- 0x7e, 0xfa, 0x11, 0xdc, 0x77, 0x99, 0xef, 0x13, 0x57, 0x5a, 0x68, 0xea, 0x52, 0x30, 0x57, 0xb9,
- 0x14, 0x0a, 0x71, 0x95, 0x49, 0x10, 0xee, 0x80, 0x9c, 0xde, 0xc6, 0x64, 0xca, 0xac, 0x2f, 0x9b,
- 0x32, 0x7a, 0x52, 0x8c, 0x07, 0xcc, 0xce, 0x4f, 0xef, 0x2e, 0x2d, 0xe3, 0xe2, 0xd2, 0x32, 0xde,
- 0x5f, 0x5a, 0xc6, 0x87, 0x4b, 0xcb, 0xf8, 0x79, 0x64, 0x99, 0x6f, 0x47, 0x96, 0xf1, 0x6e, 0x64,
- 0x99, 0x17, 0x23, 0xcb, 0xfc, 0x7d, 0x64, 0x99, 0x7f, 0x8c, 0x2c, 0xe3, 0xc3, 0xc8, 0x32, 0x7f,
- 0xbd, 0xb2, 0x8c, 0x8b, 0x2b, 0xcb, 0x78, 0x7f, 0x65, 0x19, 0x3f, 0x3c, 0x54, 0x5b, 0xa7, 0x2c,
- 0xfa, 0xc6, 0xaa, 0xcd, 0xfe, 0xae, 0x6a, 0xaf, 0xcb, 0x1d, 0x7c, 0xf9, 0x77, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x1b, 0xe3, 0x81, 0xd2, 0x3a, 0x0a, 0x00, 0x00,
+ 0x18, 0xde, 0x05, 0xec, 0x98, 0x21, 0x7c, 0x78, 0x48, 0x54, 0x4c, 0xaa, 0x15, 0x22, 0x8a, 0x4a,
+ 0x1b, 0x75, 0x69, 0xe8, 0xa5, 0xca, 0xa1, 0x15, 0x26, 0xb6, 0x62, 0x35, 0x4e, 0xe8, 0xda, 0x55,
+ 0xa4, 0xf6, 0x30, 0x1a, 0x96, 0x01, 0x46, 0x5e, 0xef, 0x6c, 0x66, 0x07, 0x6c, 0xdf, 0xfa, 0x0b,
+ 0xaa, 0xfe, 0x8c, 0xfc, 0x81, 0xfe, 0x87, 0x1c, 0x7d, 0xf4, 0xb1, 0xc6, 0x97, 0x1e, 0x7d, 0xac,
+ 0xd4, 0x4b, 0xb5, 0x33, 0x03, 0x18, 0x9b, 0x8f, 0x52, 0x35, 0x27, 0x66, 0xdf, 0xf7, 0x79, 0x5e,
+ 0x66, 0x9f, 0xf7, 0x99, 0x77, 0x16, 0x7c, 0x71, 0x4c, 0x4f, 0x09, 0xaf, 0x0e, 0x9e, 0x55, 0x5d,
+ 0xe6, 0x77, 0x68, 0xb7, 0xea, 0x7a, 0x94, 0xf8, 0x42, 0xff, 0x20, 0x15, 0xb4, 0x03, 0xce, 0x04,
+ 0x83, 0x9f, 0xd2, 0x50, 0x50, 0x66, 0x4b, 0x86, 0x3d, 0x78, 0x66, 0xeb, 0xa4, 0x82, 0x16, 0x1f,
+ 0x74, 0x59, 0x97, 0x49, 0x60, 0x35, 0x5a, 0x29, 0x4e, 0xd1, 0xea, 0x32, 0xd6, 0xf5, 0x48, 0x55,
+ 0x3e, 0xb5, 0xfa, 0x9d, 0x6a, 0xbb, 0xcf, 0xb1, 0xa0, 0xcc, 0xd7, 0xf9, 0xad, 0xf1, 0xff, 0x63,
+ 0x21, 0x38, 0x6d, 0xf5, 0x05, 0x09, 0x75, 0xea, 0xc9, 0x9c, 0xad, 0xe1, 0x80, 0xa2, 0x30, 0x20,
+ 0xae, 0x86, 0x95, 0xe7, 0xc0, 0xde, 0xf5, 0x99, 0xc0, 0x0a, 0x53, 0xfe, 0x3d, 0x06, 0x36, 0x5f,
+ 0x13, 0x71, 0xc2, 0xf8, 0xd1, 0x2e, 0xa6, 0x5e, 0x93, 0x79, 0xd4, 0x3d, 0x83, 0x0e, 0x58, 0x0f,
+ 0xe4, 0xaa, 0x60, 0x96, 0xcc, 0x4a, 0xa6, 0xf6, 0xdc, 0x5e, 0xf4, 0x82, 0xf6, 0x9d, 0x02, 0xf6,
+ 0x64, 0xe9, 0xe8, 0x4a, 0xf0, 0x11, 0x48, 0x1e, 0xe3, 0x53, 0xc4, 0x89, 0xe0, 0x67, 0x85, 0x58,
+ 0xc9, 0xac, 0xa4, 0x9d, 0x8d, 0x63, 0x7c, 0xea, 0x44, 0xcf, 0xb0, 0x0e, 0xb2, 0x2d, 0x1c, 0x12,
+ 0x95, 0x45, 0x27, 0x98, 0x8a, 0x42, 0xbc, 0x64, 0x56, 0x52, 0xb5, 0x2d, 0x5b, 0xc9, 0x64, 0x8f,
+ 0x64, 0xb2, 0x5f, 0x68, 0x99, 0x9c, 0x74, 0xc4, 0x90, 0xf4, 0xb7, 0x98, 0x0a, 0xf8, 0x1d, 0xc8,
+ 0x8c, 0xeb, 0xab, 0x0a, 0x89, 0x65, 0x15, 0xee, 0x8f, 0xfe, 0x3f, 0x2a, 0x50, 0x7e, 0x0a, 0xc0,
+ 0x0d, 0x09, 0xd2, 0x20, 0xb9, 0x5b, 0xdf, 0x7b, 0x85, 0xde, 0x34, 0x77, 0x5e, 0xe7, 0x0c, 0x98,
+ 0x01, 0x40, 0x3e, 0x36, 0x5e, 0xbd, 0x39, 0xd8, 0xc9, 0x99, 0xe5, 0xbf, 0xe3, 0x20, 0x7d, 0x40,
+ 0xf8, 0x80, 0xba, 0xa4, 0x21, 0xb5, 0x80, 0x36, 0xc8, 0xb7, 0x69, 0x88, 0x5b, 0x1e, 0x41, 0x6e,
+ 0x8f, 0xb8, 0x47, 0xc8, 0xc5, 0x9e, 0x17, 0x4a, 0x01, 0x37, 0x9c, 0x4d, 0x9d, 0x6a, 0x44, 0x99,
+ 0x46, 0x94, 0x80, 0x5f, 0x81, 0x07, 0x23, 0x3c, 0x27, 0x01, 0xe3, 0x42, 0x13, 0x62, 0x92, 0x00,
+ 0x75, 0xce, 0x91, 0x29, 0xc5, 0xd8, 0x01, 0x39, 0xd9, 0x00, 0x34, 0x31, 0x84, 0x56, 0xa9, 0x78,
+ 0xbb, 0x3f, 0xf5, 0x31, 0xc2, 0xc9, 0xca, 0xe0, 0x24, 0x00, 0xf7, 0x41, 0xba, 0x27, 0x44, 0x80,
+ 0x46, 0x6e, 0x29, 0x24, 0x4a, 0xf1, 0x4a, 0xaa, 0xf6, 0xf9, 0xe2, 0x1e, 0xbf, 0x3c, 0x3c, 0x6c,
+ 0xd6, 0x9b, 0x7b, 0x07, 0x01, 0x71, 0x9d, 0x54, 0xc4, 0xaf, 0x07, 0x34, 0x7a, 0x80, 0xbb, 0x00,
+ 0x48, 0x43, 0xa9, 0x5a, 0x6b, 0xb2, 0xd6, 0x67, 0x8b, 0x6b, 0xfd, 0x10, 0xe1, 0x65, 0xa5, 0xe4,
+ 0xbb, 0xd1, 0x12, 0x22, 0x90, 0xf7, 0x95, 0x8f, 0x50, 0x07, 0x53, 0x0f, 0x69, 0x03, 0xde, 0x93,
+ 0x2f, 0x58, 0x5d, 0xd1, 0x80, 0xce, 0xa6, 0x7f, 0xc7, 0xd4, 0x7b, 0x00, 0x76, 0x18, 0x3f, 0xc1,
+ 0xbc, 0x7d, 0x53, 0xc0, 0x8d, 0xa5, 0x02, 0x6e, 0x6a, 0xd6, 0x24, 0x54, 0xfe, 0x2b, 0x0e, 0xb2,
+ 0x87, 0x1c, 0xfb, 0xa1, 0x6c, 0xce, 0xdc, 0xfe, 0xbb, 0x3d, 0x32, 0xbb, 0xff, 0x6e, 0x8f, 0xdc,
+ 0xc4, 0x2b, 0xfd, 0x14, 0x3e, 0x36, 0x85, 0x97, 0x4a, 0x29, 0xfc, 0x5d, 0xbf, 0xb4, 0xb0, 0x70,
+ 0x7b, 0xd2, 0x01, 0xb7, 0xfd, 0xb2, 0x1d, 0x65, 0xe6, 0x29, 0x9a, 0xf8, 0xdf, 0x14, 0xdd, 0x07,
+ 0x0f, 0x43, 0x81, 0x45, 0x88, 0xfa, 0x41, 0x1b, 0x0b, 0x82, 0xa8, 0x2f, 0x08, 0x1f, 0x60, 0xaf,
+ 0xb0, 0xb6, 0xec, 0xe4, 0xe5, 0x25, 0xef, 0x47, 0x49, 0xdb, 0xd3, 0x2c, 0xf8, 0x18, 0xa4, 0xb5,
+ 0x72, 0x5e, 0x3f, 0x14, 0x84, 0x17, 0xd6, 0x4b, 0x66, 0x25, 0xe9, 0xdc, 0x97, 0xc1, 0x86, 0x8a,
+ 0xc1, 0x27, 0x20, 0x33, 0x3a, 0x2e, 0x1a, 0x75, 0x4f, 0xa2, 0xd2, 0x2a, 0x3a, 0x82, 0xbd, 0x05,
+ 0xc5, 0x49, 0x93, 0x51, 0x87, 0x71, 0xa4, 0x8e, 0x4e, 0xc0, 0xd9, 0xe9, 0xd9, 0xbf, 0x68, 0xfa,
+ 0x27, 0x13, 0xf6, 0x2e, 0xe3, 0xfb, 0x11, 0xa2, 0x19, 0x51, 0xcb, 0xbf, 0x26, 0x40, 0xee, 0xa5,
+ 0x10, 0x41, 0x43, 0xea, 0xa4, 0x7b, 0xff, 0x3d, 0x48, 0x8a, 0x91, 0x1d, 0x64, 0xc7, 0x53, 0xb5,
+ 0x2f, 0x17, 0xeb, 0x7b, 0xcb, 0x3d, 0xce, 0x84, 0x0f, 0x8f, 0x40, 0x36, 0x54, 0x93, 0x45, 0x5f,
+ 0x32, 0xd1, 0x4c, 0x88, 0x4e, 0xd5, 0xf6, 0x92, 0x13, 0x7a, 0x6b, 0x57, 0xf6, 0xd4, 0x7c, 0x0a,
+ 0x77, 0x7c, 0xc1, 0xcf, 0x9c, 0x4c, 0x38, 0x15, 0x84, 0xdf, 0x82, 0x47, 0x6d, 0xd2, 0xc1, 0x7d,
+ 0x4f, 0xa0, 0x36, 0x09, 0x05, 0xf5, 0x65, 0x7f, 0x90, 0x46, 0x49, 0x73, 0x25, 0x9d, 0x2d, 0x0d,
+ 0x79, 0x31, 0x41, 0xe8, 0xda, 0x33, 0x67, 0x52, 0x62, 0xf5, 0x99, 0x34, 0xfb, 0x6c, 0xae, 0xfd,
+ 0x87, 0xb3, 0x59, 0xf4, 0x41, 0x7e, 0xc6, 0x8b, 0xc3, 0x1c, 0x88, 0x1f, 0x11, 0x75, 0x9f, 0x25,
+ 0x9d, 0x68, 0x09, 0xeb, 0x60, 0x6d, 0x80, 0xbd, 0xbe, 0x3a, 0x72, 0xa9, 0xda, 0xd3, 0xc5, 0xea,
+ 0x4e, 0xd5, 0x74, 0x14, 0xf3, 0x79, 0xec, 0x1b, 0xb3, 0xfc, 0x3e, 0x9a, 0x05, 0xee, 0x47, 0xf4,
+ 0xc3, 0x2c, 0x89, 0x63, 0xab, 0x4b, 0x3c, 0xe7, 0x7e, 0x8a, 0xaf, 0x7a, 0x3f, 0x25, 0xe6, 0xde,
+ 0x4f, 0x3f, 0x83, 0x87, 0x2e, 0xf3, 0x7d, 0xe2, 0x4a, 0x0b, 0x4d, 0x5d, 0x0a, 0xe6, 0x2a, 0x97,
+ 0x42, 0x7e, 0x52, 0x65, 0x1c, 0x84, 0xdb, 0x20, 0xab, 0xb7, 0x31, 0x9e, 0x32, 0xeb, 0xcb, 0xa6,
+ 0x8c, 0x9e, 0x14, 0xa3, 0x01, 0xb3, 0x8d, 0x3f, 0x5c, 0x5a, 0xc6, 0xf9, 0xa5, 0x65, 0x5c, 0x5c,
+ 0x5a, 0xc6, 0xf5, 0xa5, 0x65, 0xfc, 0x32, 0xb4, 0xcc, 0xf7, 0x43, 0xcb, 0xf8, 0x30, 0xb4, 0xcc,
+ 0xf3, 0xa1, 0x65, 0x5e, 0x0c, 0x2d, 0xf3, 0x8f, 0xa1, 0x65, 0xfe, 0x39, 0xb4, 0x8c, 0xeb, 0xa1,
+ 0x65, 0xfe, 0x76, 0x65, 0x19, 0xe7, 0x57, 0x96, 0x71, 0x71, 0x65, 0x19, 0x3f, 0x3d, 0x56, 0xdb,
+ 0xa7, 0x2c, 0xfa, 0xce, 0xaa, 0xce, 0xfe, 0xb6, 0x6a, 0xad, 0xcb, 0x5d, 0x7c, 0xfd, 0x4f, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x45, 0x4f, 0xa9, 0x41, 0x3e, 0x0a, 0x00, 0x00,
}
func (x NetworkFailPolicy_FailPolicy) String() string {
@@ -681,10 +661,15 @@ func (m *HttpClientConfig) MarshalTo(dAtA []byte) (int, error) {
i += n9
}
if len(m.ServiceConfigs) > 0 {
+ keysForServiceConfigs := make([]string, 0, len(m.ServiceConfigs))
for k, _ := range m.ServiceConfigs {
+ keysForServiceConfigs = append(keysForServiceConfigs, string(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForServiceConfigs)
+ for _, k := range keysForServiceConfigs {
dAtA[i] = 0x12
i++
- v := m.ServiceConfigs[k]
+ v := m.ServiceConfigs[string(k)]
msgSize := 0
if v != nil {
msgSize = v.Size()
diff --git a/mixer/v1/config/client/client_config.proto b/mixer/v1/config/client/client_config.proto
index 27568888f2..8dd8853341 100644
--- a/mixer/v1/config/client/client_config.proto
+++ b/mixer/v1/config/client/client_config.proto
@@ -31,6 +31,7 @@ option go_package = "istio.io/api/mixer/v1/config/client";
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = false;
option (gogoproto.gostring_all) = false;
+option (gogoproto.stable_marshaler_all) = true;
// Specifies the behavior when the client is unable to connect to Mixer.
message NetworkFailPolicy {
diff --git a/mixer/v1/config/client/istio.mixer.v1.config.client.pb.html b/mixer/v1/config/client/istio.mixer.v1.config.client.pb.html
index 90fdffac76..bd25751a32 100644
--- a/mixer/v1/config/client/istio.mixer.v1.config.client.pb.html
+++ b/mixer/v1/config/client/istio.mixer.v1.config.client.pb.html
@@ -1058,7 +1058,7 @@ istio.mixer.v1.Attributes
specialized Mixer adapters and services can also generate attributes.
The common baseline set of attributes available in most Istio deployments is defined
-here.
+here.
Attributes are strongly typed. The supported attribute types are defined by
ValueType.
diff --git a/mixer/v1/config/client/quota.pb.go b/mixer/v1/config/client/quota.pb.go
index 02e71e22b1..39fe9ff311 100644
--- a/mixer/v1/config/client/quota.pb.go
+++ b/mixer/v1/config/client/quota.pb.go
@@ -40,16 +40,12 @@ func (m *QuotaSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *QuotaSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_QuotaSpec.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *QuotaSpec) XXX_Merge(src proto.Message) {
xxx_messageInfo_QuotaSpec.Merge(m, src)
@@ -82,16 +78,12 @@ func (m *QuotaRule) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *QuotaRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_QuotaRule.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *QuotaRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_QuotaRule.Merge(m, src)
@@ -124,16 +116,12 @@ func (m *StringMatch) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *StringMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_StringMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *StringMatch) XXX_Merge(src proto.Message) {
xxx_messageInfo_StringMatch.Merge(m, src)
@@ -300,16 +288,12 @@ func (m *AttributeMatch) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *AttributeMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_AttributeMatch.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *AttributeMatch) XXX_Merge(src proto.Message) {
xxx_messageInfo_AttributeMatch.Merge(m, src)
@@ -340,16 +324,12 @@ func (m *Quota) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *Quota) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_Quota.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *Quota) XXX_Merge(src proto.Message) {
xxx_messageInfo_Quota.Merge(m, src)
@@ -383,16 +363,12 @@ func (m *QuotaSpecBinding) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *QuotaSpecBinding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_QuotaSpecBinding.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *QuotaSpecBinding) XXX_Merge(src proto.Message) {
xxx_messageInfo_QuotaSpecBinding.Merge(m, src)
@@ -426,16 +402,12 @@ func (m *QuotaSpecBinding_QuotaSpecReference) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *QuotaSpecBinding_QuotaSpecReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_QuotaSpecBinding_QuotaSpecReference.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *QuotaSpecBinding_QuotaSpecReference) XXX_Merge(src proto.Message) {
xxx_messageInfo_QuotaSpecBinding_QuotaSpecReference.Merge(m, src)
@@ -464,40 +436,40 @@ func init() { proto.RegisterFile("mixer/v1/config/client/quota.proto", fileDescr
var fileDescriptor_81777b5d047af315 = []byte{
// 540 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x6a, 0x13, 0x5f,
- 0x14, 0xc7, 0x67, 0x92, 0xdf, 0x84, 0x5f, 0x4e, 0x44, 0xca, 0xa5, 0x94, 0x21, 0x94, 0x4b, 0x99,
- 0x0a, 0x56, 0x91, 0x19, 0x5a, 0x11, 0x8a, 0x22, 0xd2, 0x88, 0x45, 0x05, 0x41, 0x6f, 0x76, 0x82,
- 0x94, 0xc9, 0xf4, 0x64, 0x7a, 0x31, 0x99, 0x99, 0xde, 0xb9, 0x13, 0x92, 0x9d, 0x2b, 0x57, 0x2e,
- 0x7c, 0x0c, 0x1f, 0x25, 0xcb, 0x2c, 0xbb, 0x34, 0x93, 0x8d, 0xcb, 0x3e, 0x82, 0xcc, 0xbd, 0x37,
- 0x6d, 0x44, 0x0d, 0x75, 0x35, 0xe7, 0x9c, 0x39, 0x9f, 0xef, 0xf9, 0xc3, 0xb9, 0xe0, 0x0d, 0xf9,
- 0x18, 0x45, 0x30, 0xda, 0x0f, 0xa2, 0x34, 0xe9, 0xf3, 0x38, 0x88, 0x06, 0x1c, 0x13, 0x19, 0x9c,
- 0x17, 0xa9, 0x0c, 0xfd, 0x4c, 0xa4, 0x32, 0x25, 0xdb, 0x3c, 0x97, 0x3c, 0xf5, 0x55, 0xa6, 0x3f,
- 0xda, 0xf7, 0x75, 0xa6, 0xaf, 0x33, 0xdb, 0x9b, 0x71, 0x1a, 0xa7, 0x2a, 0x31, 0xa8, 0x2c, 0xcd,
- 0xb4, 0xef, 0xfc, 0x45, 0x37, 0x47, 0x31, 0xe2, 0x11, 0xea, 0x2c, 0xef, 0x35, 0x34, 0xdf, 0x55,
- 0x85, 0xba, 0x19, 0x46, 0xe4, 0x29, 0x38, 0xa2, 0x18, 0x60, 0xee, 0xda, 0x3b, 0xf5, 0xbd, 0xd6,
- 0xc1, 0x5d, 0x7f, 0x5d, 0x59, 0x5f, 0x71, 0xac, 0x18, 0x20, 0xd3, 0x94, 0xf7, 0xc5, 0x36, 0x62,
- 0x55, 0x90, 0x74, 0xc0, 0x19, 0x86, 0x32, 0x3a, 0x33, 0x62, 0x0f, 0xd6, 0x8b, 0x1d, 0x49, 0x29,
- 0x78, 0xaf, 0x90, 0xf8, 0xa6, 0x62, 0x98, 0x46, 0xc9, 0x13, 0x68, 0xa8, 0x35, 0xe4, 0x6e, 0x4d,
- 0x89, 0xec, 0xde, 0xa4, 0x23, 0x83, 0x78, 0x08, 0xad, 0xae, 0x14, 0x3c, 0x89, 0x95, 0x24, 0xd9,
- 0x02, 0x07, 0xc7, 0x61, 0x24, 0x5d, 0x7b, 0xc7, 0xde, 0x6b, 0xbe, 0xb4, 0x98, 0x76, 0x89, 0x0b,
- 0x8d, 0x4c, 0x60, 0x9f, 0x8f, 0xdd, 0x9a, 0xf9, 0x61, 0xfc, 0x8a, 0x10, 0x18, 0xe3, 0xd8, 0xad,
- 0x2f, 0x09, 0xe5, 0x76, 0x6e, 0x01, 0xa8, 0xf6, 0x4e, 0xe4, 0x24, 0x43, 0x6f, 0x6a, 0xc3, 0xed,
- 0x5f, 0xbb, 0x27, 0x6f, 0xa1, 0x11, 0x0d, 0xc2, 0x22, 0x47, 0x33, 0xfb, 0xe1, 0xbf, 0xcc, 0xee,
- 0x3f, 0x57, 0xe8, 0x8b, 0x44, 0x8a, 0x09, 0x33, 0x3a, 0xed, 0x53, 0x68, 0xad, 0x84, 0xc9, 0x06,
- 0xd4, 0x3f, 0xe2, 0x44, 0x4f, 0xc2, 0x2a, 0x93, 0x3c, 0x03, 0x67, 0x14, 0x0e, 0x0a, 0x54, 0x43,
- 0xb4, 0x0e, 0xee, 0xad, 0xaf, 0xb8, 0xb2, 0x17, 0xa6, 0xb9, 0xc7, 0xb5, 0x43, 0xdb, 0x7b, 0x04,
- 0x8e, 0x5a, 0x21, 0xd9, 0x04, 0x47, 0x2d, 0xd1, 0x54, 0xd0, 0x0e, 0xd9, 0x82, 0x46, 0x74, 0x16,
- 0x8a, 0x58, 0x17, 0xa9, 0x33, 0xe3, 0x79, 0x9f, 0x6b, 0xb0, 0x71, 0x75, 0x44, 0x1d, 0x9e, 0x9c,
- 0xf2, 0x24, 0x26, 0xc7, 0xf0, 0xbf, 0xb9, 0xb4, 0xe5, 0x39, 0xdd, 0x5f, 0xdf, 0xd3, 0xab, 0xea,
- 0x67, 0x57, 0x23, 0xec, 0x8a, 0x25, 0x3d, 0x68, 0xa9, 0xea, 0x27, 0x79, 0x86, 0xd1, 0xf2, 0x0e,
- 0x8e, 0x6e, 0x70, 0x07, 0x2b, 0xcd, 0x5c, 0x07, 0x18, 0xf6, 0x51, 0x60, 0x12, 0x21, 0x83, 0xf3,
- 0x65, 0x2c, 0x6f, 0x1f, 0x03, 0xf9, 0x3d, 0x83, 0x10, 0xf8, 0x2f, 0x09, 0x87, 0x68, 0x76, 0xa0,
- 0x6c, 0xb2, 0x0d, 0xcd, 0xea, 0x9b, 0x67, 0x61, 0xa4, 0xb7, 0xd0, 0x64, 0xd7, 0x81, 0xce, 0x87,
- 0xe9, 0x9c, 0x5a, 0xb3, 0x39, 0xb5, 0x2e, 0xe6, 0xd4, 0xba, 0x9c, 0x53, 0xeb, 0x53, 0x49, 0xed,
- 0x6f, 0x25, 0xb5, 0xa6, 0x25, 0xb5, 0x67, 0x25, 0xb5, 0xbf, 0x97, 0xd4, 0xfe, 0x51, 0x52, 0xeb,
- 0xb2, 0xa4, 0xf6, 0xd7, 0x05, 0xb5, 0x66, 0x0b, 0x6a, 0x5d, 0x2c, 0xa8, 0xf5, 0x7e, 0x57, 0xcf,
- 0xc3, 0xd3, 0x20, 0xcc, 0x78, 0xf0, 0xe7, 0x97, 0xdb, 0x6b, 0xa8, 0x27, 0xfb, 0xf0, 0x67, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0x07, 0x28, 0x43, 0xd1, 0x32, 0x04, 0x00, 0x00,
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x6b, 0x13, 0x41,
+ 0x14, 0xc7, 0x77, 0x12, 0x37, 0x98, 0x17, 0x91, 0x32, 0x94, 0xb2, 0x84, 0x32, 0x94, 0xad, 0x60,
+ 0x15, 0xd9, 0xa5, 0x15, 0xa1, 0x28, 0x22, 0x8d, 0x58, 0x54, 0x10, 0x74, 0x7a, 0xf3, 0x52, 0x36,
+ 0xdb, 0x97, 0xed, 0x60, 0xb2, 0xbb, 0xdd, 0x9d, 0x0d, 0xc9, 0xcd, 0x93, 0x27, 0x0f, 0xfe, 0x19,
+ 0xfe, 0x29, 0x39, 0xe6, 0x98, 0xa3, 0xd9, 0x5c, 0x3c, 0xf6, 0x4f, 0x90, 0x9d, 0x99, 0xb4, 0x11,
+ 0x35, 0xd4, 0xd3, 0xbe, 0xf7, 0xf6, 0x7d, 0xbe, 0xef, 0x07, 0x6f, 0xc0, 0x1d, 0x88, 0x11, 0x66,
+ 0xfe, 0x70, 0xdf, 0x0f, 0x93, 0xb8, 0x27, 0x22, 0x3f, 0xec, 0x0b, 0x8c, 0xa5, 0x7f, 0x51, 0x24,
+ 0x32, 0xf0, 0xd2, 0x2c, 0x91, 0x09, 0xdd, 0x16, 0xb9, 0x14, 0x89, 0xa7, 0x32, 0xbd, 0xe1, 0xbe,
+ 0xa7, 0x33, 0x3d, 0x9d, 0xd9, 0xde, 0x8c, 0x92, 0x28, 0x51, 0x89, 0x7e, 0x65, 0x69, 0xa6, 0x7d,
+ 0xef, 0x1f, 0xba, 0x39, 0x66, 0x43, 0x11, 0xa2, 0xce, 0x72, 0xdf, 0x42, 0xf3, 0x43, 0x55, 0xe8,
+ 0x24, 0xc5, 0x90, 0x3e, 0x07, 0x3b, 0x2b, 0xfa, 0x98, 0x3b, 0x64, 0xa7, 0xbe, 0xd7, 0x3a, 0xb8,
+ 0xef, 0xad, 0x2b, 0xeb, 0x29, 0x8e, 0x17, 0x7d, 0xe4, 0x9a, 0x72, 0xbf, 0x12, 0x23, 0x56, 0x05,
+ 0x69, 0x07, 0xec, 0x41, 0x20, 0xc3, 0x73, 0x23, 0xf6, 0x68, 0xbd, 0xd8, 0x91, 0x94, 0x99, 0xe8,
+ 0x16, 0x12, 0xdf, 0x55, 0x0c, 0xd7, 0x28, 0x7d, 0x06, 0x0d, 0xb5, 0x86, 0xdc, 0xa9, 0x29, 0x91,
+ 0xdd, 0x9b, 0x74, 0x64, 0x10, 0x17, 0xa1, 0x75, 0x22, 0x33, 0x11, 0x47, 0x4a, 0x92, 0x6e, 0x81,
+ 0x8d, 0xa3, 0x20, 0x94, 0x0e, 0xd9, 0x21, 0x7b, 0xcd, 0xd7, 0x16, 0xd7, 0x2e, 0x75, 0xa0, 0x91,
+ 0x66, 0xd8, 0x13, 0x23, 0xa7, 0x66, 0x7e, 0x18, 0xbf, 0x22, 0x32, 0x8c, 0x70, 0xe4, 0xd4, 0x97,
+ 0x84, 0x72, 0x3b, 0x77, 0x00, 0x54, 0x7b, 0xa7, 0x72, 0x9c, 0xa2, 0x3b, 0x21, 0x70, 0xf7, 0xf7,
+ 0xee, 0xe9, 0x7b, 0x68, 0x84, 0xfd, 0xa0, 0xc8, 0xd1, 0xcc, 0x7e, 0xf8, 0x3f, 0xb3, 0x7b, 0x2f,
+ 0x15, 0xfa, 0x2a, 0x96, 0xd9, 0x98, 0x1b, 0x9d, 0xf6, 0x19, 0xb4, 0x56, 0xc2, 0x74, 0x03, 0xea,
+ 0x9f, 0x70, 0xac, 0x27, 0xe1, 0x95, 0x49, 0x5f, 0x80, 0x3d, 0x0c, 0xfa, 0x05, 0xaa, 0x21, 0x5a,
+ 0x07, 0x0f, 0xd6, 0x57, 0x5c, 0xd9, 0x0b, 0xd7, 0xdc, 0xd3, 0xda, 0x21, 0x71, 0x9f, 0x80, 0xad,
+ 0x56, 0x48, 0x37, 0xc1, 0x56, 0x4b, 0x34, 0x15, 0xb4, 0x43, 0xb7, 0xa0, 0x11, 0x9e, 0x07, 0x59,
+ 0xa4, 0x8b, 0xd4, 0xb9, 0xf1, 0xdc, 0x2f, 0x35, 0xd8, 0xb8, 0x3a, 0xa2, 0x8e, 0x88, 0xcf, 0x44,
+ 0x1c, 0xd1, 0x63, 0xb8, 0x6d, 0x2e, 0x6d, 0x79, 0x4e, 0x0f, 0xd7, 0xf7, 0xf4, 0xa6, 0xfa, 0x79,
+ 0xa2, 0x11, 0x7e, 0xc5, 0xd2, 0x2e, 0xb4, 0x54, 0xf5, 0xd3, 0x3c, 0xc5, 0x70, 0x79, 0x07, 0x47,
+ 0x37, 0xb8, 0x83, 0x95, 0x66, 0xae, 0x03, 0x1c, 0x7b, 0x98, 0x61, 0x1c, 0x22, 0x87, 0x8b, 0x65,
+ 0x2c, 0x6f, 0x1f, 0x03, 0xfd, 0x33, 0x83, 0x52, 0xb8, 0x15, 0x07, 0x03, 0x34, 0x3b, 0x50, 0x36,
+ 0xdd, 0x86, 0x66, 0xf5, 0xcd, 0xd3, 0x20, 0xd4, 0x5b, 0x68, 0xf2, 0xeb, 0x40, 0x27, 0x98, 0xcc,
+ 0x99, 0x35, 0x9d, 0x33, 0x6b, 0x36, 0x67, 0xd6, 0xe5, 0x9c, 0x59, 0x9f, 0x4b, 0x46, 0xbe, 0x97,
+ 0xcc, 0x9a, 0x94, 0x8c, 0x4c, 0x4b, 0x46, 0x66, 0x25, 0x23, 0x3f, 0x4a, 0x46, 0x7e, 0x96, 0xcc,
+ 0xba, 0x2c, 0x19, 0xf9, 0xb6, 0x60, 0xd6, 0x74, 0xc1, 0xac, 0xd9, 0x82, 0x59, 0x1f, 0x77, 0xf5,
+ 0x4c, 0x22, 0xf1, 0x83, 0x54, 0xf8, 0x7f, 0x7f, 0xbd, 0xdd, 0x86, 0x7a, 0xb6, 0x8f, 0x7f, 0x05,
+ 0x00, 0x00, 0xff, 0xff, 0xb5, 0x3a, 0x59, 0xa6, 0x36, 0x04, 0x00, 0x00,
}
func (m *QuotaSpec) Marshal() (dAtA []byte, err error) {
@@ -637,10 +609,15 @@ func (m *AttributeMatch) MarshalTo(dAtA []byte) (int, error) {
var l int
_ = l
if len(m.Clause) > 0 {
+ keysForClause := make([]string, 0, len(m.Clause))
for k, _ := range m.Clause {
+ keysForClause = append(keysForClause, string(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForClause)
+ for _, k := range keysForClause {
dAtA[i] = 0xa
i++
- v := m.Clause[k]
+ v := m.Clause[string(k)]
msgSize := 0
if v != nil {
msgSize = v.Size()
diff --git a/mixer/v1/config/client/quota.proto b/mixer/v1/config/client/quota.proto
index 3894fcd18d..5ea594c838 100644
--- a/mixer/v1/config/client/quota.proto
+++ b/mixer/v1/config/client/quota.proto
@@ -24,6 +24,7 @@ import "mixer/v1/config/client/service.proto";
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = false;
option (gogoproto.gostring_all) = false;
+option (gogoproto.stable_marshaler_all) = true;
// Specifies runtime quota rules.
// * Uses Istio attributes to match individual requests
diff --git a/mixer/v1/config/client/service.pb.go b/mixer/v1/config/client/service.pb.go
index 11e541be68..34e237910f 100644
--- a/mixer/v1/config/client/service.pb.go
+++ b/mixer/v1/config/client/service.pb.go
@@ -53,16 +53,12 @@ func (m *IstioService) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *IstioService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_IstioService.Marshal(b, m, deterministic)
- } else {
- b = b[:cap(b)]
- n, err := m.MarshalTo(b)
- if err != nil {
- return nil, err
- }
- return b[:n], nil
+ b = b[:cap(b)]
+ n, err := m.MarshalTo(b)
+ if err != nil {
+ return nil, err
}
+ return b[:n], nil
}
func (m *IstioService) XXX_Merge(src proto.Message) {
xxx_messageInfo_IstioService.Merge(m, src)
@@ -86,27 +82,27 @@ func init() {
}
var fileDescriptor_3358a28a51c817d5 = []byte{
- // 315 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x51, 0x3f, 0x4b, 0x03, 0x31,
- 0x1c, 0x4d, 0xfa, 0x4f, 0x9a, 0x3a, 0x48, 0x28, 0x12, 0x4a, 0xf9, 0x51, 0xd4, 0xa1, 0x53, 0x42,
- 0x15, 0x44, 0x1d, 0x05, 0x07, 0x41, 0x1c, 0xea, 0x26, 0x38, 0xa4, 0x67, 0x2c, 0xc1, 0xeb, 0xa5,
- 0xdc, 0x9d, 0x87, 0xdd, 0xfc, 0x08, 0x7e, 0x0c, 0x3f, 0x4a, 0xc7, 0x8e, 0x1d, 0xbd, 0x74, 0x71,
- 0xec, 0x17, 0x10, 0xe4, 0x92, 0x2b, 0x76, 0x10, 0xa7, 0xbc, 0xf7, 0x7b, 0xef, 0xfd, 0x78, 0x49,
- 0xc8, 0xd1, 0x44, 0xbf, 0xaa, 0x58, 0x64, 0x03, 0x11, 0x98, 0xe8, 0x49, 0x8f, 0x45, 0x10, 0x6a,
- 0x15, 0xa5, 0x22, 0x51, 0x71, 0xa6, 0x03, 0xc5, 0xa7, 0xb1, 0x49, 0x0d, 0xed, 0xea, 0x24, 0xd5,
- 0x86, 0x3b, 0x2f, 0xcf, 0x06, 0xdc, 0x7b, 0xb9, 0xf7, 0x76, 0xda, 0x63, 0x33, 0x36, 0xce, 0x28,
- 0x0a, 0xe4, 0x33, 0x07, 0xdf, 0x98, 0xec, 0x5e, 0x17, 0xb1, 0x3b, 0xbf, 0x8a, 0x52, 0x52, 0x8b,
- 0xe4, 0x44, 0x31, 0xdc, 0xc3, 0xfd, 0xe6, 0xd0, 0x61, 0xda, 0x25, 0xcd, 0xe2, 0x4c, 0xa6, 0x32,
- 0x50, 0xac, 0xe2, 0x84, 0xdf, 0x01, 0xdd, 0x27, 0x8d, 0x47, 0x33, 0x91, 0x3a, 0x62, 0x55, 0x27,
- 0x95, 0x8c, 0x32, 0xb2, 0x53, 0xf6, 0x63, 0x35, 0x27, 0x6c, 0x28, 0xbd, 0x25, 0x8d, 0x50, 0x8e,
- 0x54, 0x98, 0xb0, 0x7a, 0xaf, 0xda, 0x6f, 0x1d, 0x9f, 0xf2, 0xff, 0x9a, 0xf3, 0xed, 0x7e, 0xfc,
- 0xc6, 0x05, 0xaf, 0xa2, 0x34, 0x9e, 0x0d, 0xcb, 0x2d, 0x9d, 0x73, 0xd2, 0xda, 0x1a, 0xd3, 0x3d,
- 0x52, 0x7d, 0x56, 0xb3, 0xf2, 0x06, 0x05, 0xa4, 0x6d, 0x52, 0xcf, 0x64, 0xf8, 0xb2, 0x29, 0xef,
- 0xc9, 0x45, 0xe5, 0x0c, 0x5f, 0x3e, 0xcc, 0x73, 0x40, 0x8b, 0x1c, 0xd0, 0x32, 0x07, 0xb4, 0xce,
- 0x01, 0xbd, 0x59, 0xc0, 0x1f, 0x16, 0xd0, 0xdc, 0x02, 0x5e, 0x58, 0xc0, 0x9f, 0x16, 0xf0, 0x97,
- 0x05, 0xb4, 0xb6, 0x80, 0xdf, 0x57, 0x80, 0x16, 0x2b, 0x40, 0xcb, 0x15, 0xa0, 0xfb, 0x43, 0xdf,
- 0x59, 0x1b, 0x21, 0xa7, 0x5a, 0xfc, 0xfd, 0x41, 0xa3, 0x86, 0x7b, 0xe5, 0x93, 0x9f, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xc4, 0x69, 0x6e, 0x30, 0xc1, 0x01, 0x00, 0x00,
+ // 318 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x51, 0x3f, 0x4b, 0x3b, 0x31,
+ 0x18, 0x4e, 0xfa, 0xef, 0x47, 0xd3, 0xdf, 0x20, 0xa1, 0x48, 0x28, 0xe5, 0xa5, 0xa8, 0x43, 0xa7,
+ 0x84, 0x2a, 0x88, 0x3a, 0x0a, 0x0e, 0x82, 0x38, 0xd4, 0xcd, 0x2d, 0x3d, 0x63, 0x09, 0x5e, 0x2f,
+ 0xe5, 0xee, 0x3c, 0xec, 0xe6, 0x47, 0xf0, 0x63, 0xf8, 0x51, 0x3a, 0x76, 0xec, 0xe8, 0xe5, 0x16,
+ 0xc7, 0x7e, 0x01, 0x41, 0x2e, 0xb9, 0x62, 0x07, 0x71, 0xca, 0xf3, 0xbc, 0xcf, 0xf3, 0xbc, 0x3c,
+ 0x49, 0xc8, 0xd1, 0x4c, 0xbf, 0xa8, 0x58, 0x64, 0x23, 0x11, 0x98, 0xe8, 0x51, 0x4f, 0x45, 0x10,
+ 0x6a, 0x15, 0xa5, 0x22, 0x51, 0x71, 0xa6, 0x03, 0xc5, 0xe7, 0xb1, 0x49, 0x0d, 0xed, 0xeb, 0x24,
+ 0xd5, 0x86, 0x3b, 0x2f, 0xcf, 0x46, 0xdc, 0x7b, 0xb9, 0xf7, 0xf6, 0xba, 0x53, 0x33, 0x35, 0xce,
+ 0x28, 0x4a, 0xe4, 0x33, 0x07, 0x5f, 0x98, 0xfc, 0xbf, 0x2e, 0x63, 0x77, 0x7e, 0x15, 0xa5, 0xa4,
+ 0x11, 0xc9, 0x99, 0x62, 0x78, 0x80, 0x87, 0xed, 0xb1, 0xc3, 0xb4, 0x4f, 0xda, 0xe5, 0x99, 0xcc,
+ 0x65, 0xa0, 0x58, 0xcd, 0x09, 0x3f, 0x03, 0xba, 0x4f, 0x5a, 0x0f, 0x66, 0x26, 0x75, 0xc4, 0xea,
+ 0x4e, 0xaa, 0x18, 0x65, 0xe4, 0x5f, 0xd5, 0x8f, 0x35, 0x9c, 0xb0, 0xa5, 0xf4, 0x96, 0xb4, 0x42,
+ 0x39, 0x51, 0x61, 0xc2, 0x9a, 0x83, 0xfa, 0xb0, 0x73, 0x7c, 0xca, 0xff, 0x6a, 0xce, 0x77, 0xfb,
+ 0xf1, 0x1b, 0x17, 0xbc, 0x8a, 0xd2, 0x78, 0x31, 0xae, 0xb6, 0xf4, 0xce, 0x49, 0x67, 0x67, 0x4c,
+ 0xf7, 0x48, 0xfd, 0x49, 0x2d, 0xaa, 0x1b, 0x94, 0x90, 0x76, 0x49, 0x33, 0x93, 0xe1, 0xf3, 0xb6,
+ 0xbc, 0x27, 0x17, 0xb5, 0x33, 0x7c, 0x29, 0x97, 0x39, 0xa0, 0x55, 0x0e, 0x68, 0x9d, 0x03, 0xda,
+ 0xe4, 0x80, 0x5e, 0x2d, 0xe0, 0x77, 0x0b, 0x68, 0x69, 0x01, 0xaf, 0x2c, 0xe0, 0xb5, 0x05, 0xfc,
+ 0x61, 0x01, 0x7f, 0x5a, 0x40, 0x1b, 0x0b, 0xf8, 0xad, 0x00, 0xb4, 0x2a, 0x00, 0xad, 0x0b, 0x40,
+ 0xf7, 0x87, 0xbe, 0xb7, 0x36, 0x42, 0xce, 0xb5, 0xf8, 0xfd, 0x93, 0x26, 0x2d, 0xf7, 0xd2, 0x27,
+ 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xab, 0x14, 0xde, 0x44, 0xc5, 0x01, 0x00, 0x00,
}
func (m *IstioService) Marshal() (dAtA []byte, err error) {
@@ -149,10 +145,15 @@ func (m *IstioService) MarshalTo(dAtA []byte) (int, error) {
i += copy(dAtA[i:], m.Service)
}
if len(m.Labels) > 0 {
+ keysForLabels := make([]string, 0, len(m.Labels))
for k, _ := range m.Labels {
+ keysForLabels = append(keysForLabels, string(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForLabels)
+ for _, k := range keysForLabels {
dAtA[i] = 0x2a
i++
- v := m.Labels[k]
+ v := m.Labels[string(k)]
mapSize := 1 + len(k) + sovService(uint64(len(k))) + 1 + len(v) + sovService(uint64(len(v)))
i = encodeVarintService(dAtA, i, uint64(mapSize))
dAtA[i] = 0xa
diff --git a/mixer/v1/config/client/service.proto b/mixer/v1/config/client/service.proto
index 958a4cb2c9..01de2e9737 100644
--- a/mixer/v1/config/client/service.proto
+++ b/mixer/v1/config/client/service.proto
@@ -23,13 +23,14 @@ import "gogoproto/gogo.proto";
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = false;
option (gogoproto.gostring_all) = false;
+option (gogoproto.stable_marshaler_all) = true;
// NOTE: this is a duplicate of proxy.v1.config.IstioService from
// proxy/v1alpha1/config/route_rules.proto.
//
// Mixer protobufs have gogoproto specific options which are not
// compatiable with the proxy's vanilla protobufs. Ideally, these
-// protobuf options be reconciled so fundamental istio concepts and
+// protobuf options be reconciled so fundamental Istio concepts and
// types can be shared by components. Until then, make a copy of
// IstioService for mixerclient to use.
diff --git a/mixer/v1/istio.mixer.v1.pb.html b/mixer/v1/istio.mixer.v1.pb.html
index e2d446ab96..1caee7a896 100644
--- a/mixer/v1/istio.mixer.v1.pb.html
+++ b/mixer/v1/istio.mixer.v1.pb.html
@@ -66,7 +66,7 @@
Attributes
specialized Mixer adapters and services can also generate attributes.
The common baseline set of attributes available in most Istio deployments is defined
-here.
+here.
Attributes are strongly typed. The supported attribute types are defined by
ValueType.
diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go
index bbe92a378f..5f7a23157f 100644
--- a/networking/v1alpha3/envoy_filter.pb.go
+++ b/networking/v1alpha3/envoy_filter.pb.go
@@ -16,8 +16,11 @@
// The behavior is undefined if multiple EnvoyFilter configurations conflict
// with each other.
//
+// NOTE 3: For filters of `filterType: HTTP` you must include a `listenerMatch` section
+// with a `listenerProtocol: HTTP` or the filter have no effect.
+//
// The following example for Kubernetes enables Envoy's Lua filter for all
-// inbound calls arriving at service port 8080 of the reviews service pod with
+// inbound HTTP calls arriving at service port 8080 of the reviews service pod with
// labels "app: reviews".
//
// ```yaml
@@ -32,6 +35,7 @@
// - listenerMatch:
// portNumber: 8080
// listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080
+// listenerProtocol: HTTP
// filterName: envoy.lua
// filterType: HTTP
// filterConfig:
@@ -194,15 +198,12 @@ func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int) {
}
type EnvoyFilter struct {
- // One or more labels that indicate a specific set of pods/VMs whose
+ // Zero or more labels that indicate a specific set of pods/VMs whose
// proxies should be configured to use these additional filters. The
// scope of label search is platform dependent. On Kubernetes, for
// example, the scope includes pods running in all reachable
// namespaces. Omitting the selector applies the filter to all proxies in
// the mesh.
- // NOTE: There can be only one EnvoyFilter bound to a specific workload.
- // The behavior is undefined if multiple EnvoyFilter configurations are
- // specified for the same workload.
WorkloadLabels map[string]string `protobuf:"bytes,1,rep,name=workload_labels,json=workloadLabels,proto3" json:"workload_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// REQUIRED: Envoy network filters/http filters to be added to matching
// listeners. When adding network filters to http connections, care
@@ -278,11 +279,11 @@ type EnvoyFilter_ListenerMatch struct {
// Inbound vs outbound sidecar listener or gateway listener. If not specified,
// matches all listeners.
ListenerType EnvoyFilter_ListenerMatch_ListenerType `protobuf:"varint,3,opt,name=listener_type,json=listenerType,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerType" json:"listener_type,omitempty"`
- // Selects a class of listeners for the same protocol. If not
- // specified, applies to listeners on all protocols. Use the protocol
+ // Selects a class of listeners for the same protocol. Use the protocol
// selection to select all HTTP listeners (includes HTTP2/gRPC/HTTPS
// where Envoy terminates TLS) or all TCP listeners (includes HTTPS
- // passthrough using SNI).
+ // passthrough using SNI). When adding a HTTP filter, the listenerProtocol
+ // should be set to HTTP.
ListenerProtocol EnvoyFilter_ListenerMatch_ListenerProtocol `protobuf:"varint,4,opt,name=listener_protocol,json=listenerProtocol,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerProtocol" json:"listener_protocol,omitempty"`
// One or more IP addresses to which the listener is bound. If
// specified, should match at least one address in the list.
@@ -421,8 +422,11 @@ func (m *EnvoyFilter_InsertPosition) GetRelativeTo() string {
// Envoy filters to be added to a network or http filter chain.
type EnvoyFilter_Filter struct {
- // Filter will be added to the listener only if the match conditions are true.
- // If not specified, the filters will be applied to all listeners.
+ // Filter will be added to the listener only if the match
+ // conditions are true. If not specified, the filters will be
+ // applied to all listeners where possible, potentially resulting
+ // in invalid configurations. It is recommended to specify the
+ // listener match criteria for all filter insertions.
ListenerMatch *EnvoyFilter_ListenerMatch `protobuf:"bytes,1,opt,name=listener_match,json=listenerMatch,proto3" json:"listener_match,omitempty"`
// Insert position in the filter chain. Defaults to FIRST
InsertPosition *EnvoyFilter_InsertPosition `protobuf:"bytes,2,opt,name=insert_position,json=insertPosition,proto3" json:"insert_position,omitempty"`
diff --git a/networking/v1alpha3/envoy_filter.pb.html b/networking/v1alpha3/envoy_filter.pb.html
index 3144a0d15d..d2be82dc02 100644
--- a/networking/v1alpha3/envoy_filter.pb.html
+++ b/networking/v1alpha3/envoy_filter.pb.html
@@ -21,8 +21,11 @@
The behavior is undefined if multiple EnvoyFilter configurations conflict
with each other.
+NOTE 3: For filters of filterType: HTTP you must include a listenerMatch section
+with a listenerProtocol: HTTP or the filter have no effect.
+
The following example for Kubernetes enables Envoy’s Lua filter for all
-inbound calls arriving at service port 8080 of the reviews service pod with
+inbound HTTP calls arriving at service port 8080 of the reviews service pod with
labels “app: reviews”.
apiVersion: networking.istio.io/v1alpha3
@@ -36,6 +39,7 @@
- listenerMatch:
portNumber: 8080
listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080
+ listenerProtocol: HTTP
filterName: envoy.lua
filterType: HTTP
filterConfig:
@@ -58,15 +62,12 @@ EnvoyFilter
workloadLabels
map<string, string>
-One or more labels that indicate a specific set of pods/VMs whose
+
Zero or more labels that indicate a specific set of pods/VMs whose
proxies should be configured to use these additional filters. The
scope of label search is platform dependent. On Kubernetes, for
example, the scope includes pods running in all reachable
namespaces. Omitting the selector applies the filter to all proxies in
-the mesh.
-NOTE: There can be only one EnvoyFilter bound to a specific workload.
-The behavior is undefined if multiple EnvoyFilter configurations are
-specified for the same workload.
+the mesh.
@@ -101,8 +102,11 @@ EnvoyFilter.Filter
listenerMatch
EnvoyFilter.ListenerMatch
-Filter will be added to the listener only if the match conditions are true.
-If not specified, the filters will be applied to all listeners.
+Filter will be added to the listener only if the match
+conditions are true. If not specified, the filters will be
+applied to all listeners where possible, potentially resulting
+in invalid configurations. It is recommended to specify the
+listener match criteria for all filter insertions.
@@ -303,11 +307,11 @@ EnvoyFilter.ListenerMatch
listenerProtocol
EnvoyFilter.ListenerMatch.ListenerProtocol
-Selects a class of listeners for the same protocol. If not
-specified, applies to listeners on all protocols. Use the protocol
+
Selects a class of listeners for the same protocol. Use the protocol
selection to select all HTTP listeners (includes HTTP2/gRPC/HTTPS
where Envoy terminates TLS) or all TCP listeners (includes HTTPS
-passthrough using SNI).
+passthrough using SNI). When adding a HTTP filter, the listenerProtocol
+should be set to HTTP.
diff --git a/networking/v1alpha3/envoy_filter.proto b/networking/v1alpha3/envoy_filter.proto
index 6f271d1f0a..a0aab1b727 100644
--- a/networking/v1alpha3/envoy_filter.proto
+++ b/networking/v1alpha3/envoy_filter.proto
@@ -35,8 +35,11 @@ import "google/protobuf/struct.proto";
// The behavior is undefined if multiple EnvoyFilter configurations conflict
// with each other.
//
+// NOTE 3: For filters of `filterType: HTTP` you must include a `listenerMatch` section
+// with a `listenerProtocol: HTTP` or the filter have no effect.
+//
// The following example for Kubernetes enables Envoy's Lua filter for all
-// inbound calls arriving at service port 8080 of the reviews service pod with
+// inbound HTTP calls arriving at service port 8080 of the reviews service pod with
// labels "app: reviews".
//
// ```yaml
@@ -51,6 +54,7 @@ import "google/protobuf/struct.proto";
// - listenerMatch:
// portNumber: 8080
// listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080
+// listenerProtocol: HTTP
// filterName: envoy.lua
// filterType: HTTP
// filterConfig:
@@ -62,15 +66,12 @@ package istio.networking.v1alpha3;
option go_package = "istio.io/api/networking/v1alpha3";
message EnvoyFilter {
- // One or more labels that indicate a specific set of pods/VMs whose
+ // Zero or more labels that indicate a specific set of pods/VMs whose
// proxies should be configured to use these additional filters. The
// scope of label search is platform dependent. On Kubernetes, for
// example, the scope includes pods running in all reachable
// namespaces. Omitting the selector applies the filter to all proxies in
// the mesh.
- // NOTE: There can be only one EnvoyFilter bound to a specific workload.
- // The behavior is undefined if multiple EnvoyFilter configurations are
- // specified for the same workload.
map workload_labels = 1;
// Select a listener to add the filter to based on the match conditions.
@@ -116,11 +117,11 @@ message EnvoyFilter {
TCP = 2;
};
- // Selects a class of listeners for the same protocol. If not
- // specified, applies to listeners on all protocols. Use the protocol
+ // Selects a class of listeners for the same protocol. Use the protocol
// selection to select all HTTP listeners (includes HTTP2/gRPC/HTTPS
// where Envoy terminates TLS) or all TCP listeners (includes HTTPS
- // passthrough using SNI).
+ // passthrough using SNI). When adding a HTTP filter, the listenerProtocol
+ // should be set to HTTP.
ListenerProtocol listener_protocol = 4;
// One or more IP addresses to which the listener is bound. If
@@ -155,8 +156,11 @@ message EnvoyFilter {
// Envoy filters to be added to a network or http filter chain.
message Filter {
- // Filter will be added to the listener only if the match conditions are true.
- // If not specified, the filters will be applied to all listeners.
+ // Filter will be added to the listener only if the match
+ // conditions are true. If not specified, the filters will be
+ // applied to all listeners where possible, potentially resulting
+ // in invalid configurations. It is recommended to specify the
+ // listener match criteria for all filter insertions.
ListenerMatch listener_match = 1;
// Insert position in the filter chain. Defaults to FIRST
diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go
index 53ff90247b..16a2c07e4b 100644
--- a/networking/v1alpha3/gateway.pb.go
+++ b/networking/v1alpha3/gateway.pb.go
@@ -35,7 +35,7 @@
// httpsRedirect: true # sends 301 redirect for http requests
// - port:
// number: 443
-// name: https
+// name: https-443
// protocol: HTTPS
// hosts:
// - uk.bookinfo.com
@@ -46,13 +46,13 @@
// privateKey: /etc/certs/privatekey.pem
// - port:
// number: 9443
-// name: https
+// name: https-9443
// protocol: HTTPS
// hosts:
// - "bookinfo-namespace/*.bookinfo.com"
// tls:
// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from kubernetes secret
+// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
// - port:
// number: 9080
// name: http-wildcard
@@ -72,15 +72,15 @@
// the forwarding of traffic arriving at a particular host or gateway port.
//
// For example, the following VirtualService splits traffic for
-// "https://uk.bookinfo.com/reviews", "https://eu.bookinfo.com/reviews",
-// "http://uk.bookinfo.com:9080/reviews",
-// "http://eu.bookinfo.com:9080/reviews" into two versions (prod and qa) of
+// `https://uk.bookinfo.com/reviews`, `https://eu.bookinfo.com/reviews`,
+// `http://uk.bookinfo.com:9080/reviews`,
+// `http://eu.bookinfo.com:9080/reviews` into two versions (prod and qa) of
// an internal reviews service on port 9080. In addition, requests
// containing the cookie "user: dev-123" will be sent to special port 7777
// in the qa version. The same rule is also applicable inside the mesh for
// requests to the "reviews.prod.svc.cluster.local" service. This rule is
-// applicable across ports 443, 9080. Note that "http://uk.bookinfo.com"
-// gets redirected to "https://uk.bookinfo.com" (i.e. 80 redirects to 443).
+// applicable across ports 443, 9080. Note that `http://uk.bookinfo.com`
+// gets redirected to `https://uk.bookinfo.com` (i.e. 80 redirects to 443).
//
// ```yaml
// apiVersion: networking.istio.io/v1alpha3
@@ -100,19 +100,19 @@
// - match:
// - headers:
// cookie:
-// user: dev-123
+// exact: "user=dev-123"
// route:
// - destination:
// port:
// number: 7777
// host: reviews.qa.svc.cluster.local
// - match:
-// uri:
+// - uri:
// prefix: /reviews/
// route:
// - destination:
// port:
-// number: 9080 # can be omitted if its the only port for reviews
+// number: 9080 # can be omitted if it's the only port for reviews
// host: reviews.prod.svc.cluster.local
// weight: 80
// - destination:
@@ -410,14 +410,14 @@ type Server struct {
// $hide_from_docs
// The ip or the Unix domain socket to which the listener should be bound
// to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar`
- // (Linux abstract namespace). When using unix domain sockets, the port
+ // (Linux abstract namespace). When using Unix domain sockets, the port
// number should be 0.
Bind string `protobuf:"bytes,4,opt,name=bind,proto3" json:"bind,omitempty"`
// REQUIRED. One or more hosts exposed by this gateway.
// While typically applicable to
// HTTP services, it can also be used for TCP services using TLS with SNI.
// A host is specified as a `dnsName` with an optional `namespace/` prefix.
- // The `dnsName` should be specified using FQDN format, opionally including
+ // The `dnsName` should be specified using FQDN format, optionally including
// a wildcard character in the left-most component (e.g., `prod/*.example.com`).
// Set the `dnsName` to `*` to select all `VirtualService` hosts from the
// specified namespace (e.g.,`prod/*`). If no `namespace/` is specified,
@@ -542,7 +542,7 @@ type Server_TLSOptions struct {
// credentialName appended with suffix "-cacert" is used to identify
// the CaCertificates associated with this server. Gateway workloads
// capable of fetching credentials from a remote credential store such
- // as kubernetes secrets, will be configured to retrieve the
+ // as Kubernetes secrets, will be configured to retrieve the
// serverCertificate and the privateKey using credentialName, instead
// of using the file system paths specified above. If using mutual TLS,
// gateway workloads will retrieve the CaCertificates using
diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html
index 2e8bd131e7..d47131deaf 100644
--- a/networking/v1alpha3/gateway.pb.html
+++ b/networking/v1alpha3/gateway.pb.html
@@ -39,7 +39,7 @@
httpsRedirect: true # sends 301 redirect for http requests
- port:
number: 443
- name: https
+ name: https-443
protocol: HTTPS
hosts:
- uk.bookinfo.com
@@ -50,13 +50,13 @@
privateKey: /etc/certs/privatekey.pem
- port:
number: 9443
- name: https
+ name: https-9443
protocol: HTTPS
hosts:
- "bookinfo-namespace/*.bookinfo.com"
tls:
mode: SIMPLE # enables HTTPS on this port
- credentialName: bookinfo-secret # fetches certs from kubernetes secret
+ credentialName: bookinfo-secret # fetches certs from Kubernetes secret
- port:
number: 9080
name: http-wildcard
@@ -76,15 +76,15 @@
the forwarding of traffic arriving at a particular host or gateway port.
For example, the following VirtualService splits traffic for
-“https://uk.bookinfo.com/reviews”, “https://eu.bookinfo.com/reviews”,
-“http://uk.bookinfo.com:9080/reviews”,
-“http://eu.bookinfo.com:9080/reviews” into two versions (prod and qa) of
+https://uk.bookinfo.com/reviews, https://eu.bookinfo.com/reviews,
+http://uk.bookinfo.com:9080/reviews,
+http://eu.bookinfo.com:9080/reviews into two versions (prod and qa) of
an internal reviews service on port 9080. In addition, requests
containing the cookie “user: dev-123” will be sent to special port 7777
in the qa version. The same rule is also applicable inside the mesh for
requests to the “reviews.prod.svc.cluster.local” service. This rule is
-applicable across ports 443, 9080. Note that “http://uk.bookinfo.com”
-gets redirected to “https://uk.bookinfo.com” (i.e. 80 redirects to 443).
+applicable across ports 443, 9080. Note that http://uk.bookinfo.com
+gets redirected to https://uk.bookinfo.com (i.e. 80 redirects to 443).
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
@@ -103,19 +103,19 @@
- match:
- headers:
cookie:
- user: dev-123
+ exact: "user=dev-123"
route:
- destination:
port:
number: 7777
host: reviews.qa.svc.cluster.local
- match:
- uri:
+ - uri:
prefix: /reviews/
route:
- destination:
port:
- number: 9080 # can be omitted if its the only port for reviews
+ number: 9080 # can be omitted if it's the only port for reviews
host: reviews.prod.svc.cluster.local
weight: 80
- destination:
@@ -337,7 +337,7 @@ Server
While typically applicable to
HTTP services, it can also be used for TCP services using TLS with SNI.
A host is specified as a dnsName with an optional namespace/ prefix.
-The dnsName should be specified using FQDN format, opionally including
+The dnsName should be specified using FQDN format, optionally including
a wildcard character in the left-most component (e.g., prod/*.example.com).
Set the dnsName to * to select all VirtualService hosts from the
specified namespace (e.g.,prod/*). If no namespace/ is specified,
@@ -450,7 +450,7 @@ Server.TLSOptions
credentialName appended with suffix “-cacert” is used to identify
the CaCertificates associated with this server. Gateway workloads
capable of fetching credentials from a remote credential store such
-as kubernetes secrets, will be configured to retrieve the
+as Kubernetes secrets, will be configured to retrieve the
serverCertificate and the privateKey using credentialName, instead
of using the file system paths specified above. If using mutual TLS,
gateway workloads will retrieve the CaCertificates using
diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto
index ea314aa192..838863d60d 100644
--- a/networking/v1alpha3/gateway.proto
+++ b/networking/v1alpha3/gateway.proto
@@ -52,7 +52,7 @@ syntax = "proto3";
// httpsRedirect: true # sends 301 redirect for http requests
// - port:
// number: 443
-// name: https
+// name: https-443
// protocol: HTTPS
// hosts:
// - uk.bookinfo.com
@@ -63,13 +63,13 @@ syntax = "proto3";
// privateKey: /etc/certs/privatekey.pem
// - port:
// number: 9443
-// name: https
+// name: https-9443
// protocol: HTTPS
// hosts:
// - "bookinfo-namespace/*.bookinfo.com"
// tls:
// mode: SIMPLE # enables HTTPS on this port
-// credentialName: bookinfo-secret # fetches certs from kubernetes secret
+// credentialName: bookinfo-secret # fetches certs from Kubernetes secret
// - port:
// number: 9080
// name: http-wildcard
@@ -89,15 +89,15 @@ syntax = "proto3";
// the forwarding of traffic arriving at a particular host or gateway port.
//
// For example, the following VirtualService splits traffic for
-// "https://uk.bookinfo.com/reviews", "https://eu.bookinfo.com/reviews",
-// "http://uk.bookinfo.com:9080/reviews",
-// "http://eu.bookinfo.com:9080/reviews" into two versions (prod and qa) of
+// `https://uk.bookinfo.com/reviews`, `https://eu.bookinfo.com/reviews`,
+// `http://uk.bookinfo.com:9080/reviews`,
+// `http://eu.bookinfo.com:9080/reviews` into two versions (prod and qa) of
// an internal reviews service on port 9080. In addition, requests
// containing the cookie "user: dev-123" will be sent to special port 7777
// in the qa version. The same rule is also applicable inside the mesh for
// requests to the "reviews.prod.svc.cluster.local" service. This rule is
-// applicable across ports 443, 9080. Note that "http://uk.bookinfo.com"
-// gets redirected to "https://uk.bookinfo.com" (i.e. 80 redirects to 443).
+// applicable across ports 443, 9080. Note that `http://uk.bookinfo.com`
+// gets redirected to `https://uk.bookinfo.com` (i.e. 80 redirects to 443).
//
// ```yaml
// apiVersion: networking.istio.io/v1alpha3
@@ -117,19 +117,19 @@ syntax = "proto3";
// - match:
// - headers:
// cookie:
-// user: dev-123
+// exact: "user=dev-123"
// route:
// - destination:
// port:
// number: 7777
// host: reviews.qa.svc.cluster.local
// - match:
-// uri:
+// - uri:
// prefix: /reviews/
// route:
// - destination:
// port:
-// number: 9080 # can be omitted if its the only port for reviews
+// number: 9080 # can be omitted if it's the only port for reviews
// host: reviews.prod.svc.cluster.local
// weight: 80
// - destination:
@@ -274,7 +274,7 @@ message Server {
// $hide_from_docs
// The ip or the Unix domain socket to which the listener should be bound
// to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar`
- // (Linux abstract namespace). When using unix domain sockets, the port
+ // (Linux abstract namespace). When using Unix domain sockets, the port
// number should be 0.
string bind = 4;
@@ -282,7 +282,7 @@ message Server {
// While typically applicable to
// HTTP services, it can also be used for TCP services using TLS with SNI.
// A host is specified as a `dnsName` with an optional `namespace/` prefix.
- // The `dnsName` should be specified using FQDN format, opionally including
+ // The `dnsName` should be specified using FQDN format, optionally including
// a wildcard character in the left-most component (e.g., `prod/*.example.com`).
// Set the `dnsName` to `*` to select all `VirtualService` hosts from the
// specified namespace (e.g.,`prod/*`). If no `namespace/` is specified,
@@ -359,7 +359,7 @@ message Server {
// credentialName appended with suffix "-cacert" is used to identify
// the CaCertificates associated with this server. Gateway workloads
// capable of fetching credentials from a remote credential store such
- // as kubernetes secrets, will be configured to retrieve the
+ // as Kubernetes secrets, will be configured to retrieve the
// serverCertificate and the privateKey using credentialName, instead
// of using the file system paths specified above. If using mutual TLS,
// gateway workloads will retrieve the CaCertificates using
diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go
index 97d37b99a7..4e6de8be9d 100644
--- a/networking/v1alpha3/service_entry.pb.go
+++ b/networking/v1alpha3/service_entry.pb.go
@@ -167,8 +167,8 @@
// - "*"
// ```
//
-// And the associated VirtualService to route from the sidecar to the
-// gateway service (istio-egressgateway.istio-system.svc.cluster.local), as
+// And the associated `VirtualService` to route from the sidecar to the
+// gateway service (`istio-egressgateway.istio-system.svc.cluster.local`), as
// well as route from the gateway to the external service. Note that the
// virtual service is exported to all namespaces enabling them to route traffic
// through the gateway to the external service. Forcing traffic to go through
@@ -228,7 +228,7 @@
//
// The following example demonstrates a service that is available via a
// Unix Domain Socket on the host of the client. The resolution must be
-// set to STATIC to use unix address endpoints.
+// set to STATIC to use Unix address endpoints.
//
// ```yaml
// apiVersion: networking.istio.io/v1alpha3
@@ -248,10 +248,10 @@
// - address: unix:///var/run/example/socket
// ```
//
-// For HTTP-based services, it is possible to create a VirtualService
+// For HTTP-based services, it is possible to create a `VirtualService`
// backed by multiple DNS addressable endpoints. In such a scenario, the
-// application can use the HTTP_PROXY environment variable to transparently
-// reroute API calls for the VirtualService to a chosen backend. For
+// application can use the `HTTP_PROXY` environment variable to transparently
+// reroute API calls for the `VirtualService` to a chosen backend. For
// example, the following configuration creates a non-existent external
// service called foo.bar.com backed by three domains: us.foo.bar.com:8080,
// uk.foo.bar.com:9080, and in.foo.bar.com:7080
@@ -287,10 +287,9 @@
// specified above. In other words, a call to `http://foo.bar.com/baz` would
// be translated to `http://uk.foo.bar.com/baz`.
//
-// The following example illustrates the usage of a ServiceEntry
+// The following example illustrates the usage of a `ServiceEntry`
// containing a subject alternate name
-// whose format conforms to the SPIFEE standard
-// :
+// whose format conforms to the [SPIFEE standard](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md):
//
// ```yaml
// apiVersion: networking.istio.io/v1alpha3
@@ -399,7 +398,7 @@ const (
// will resolve the DNS address specified in the hosts field, if
// wildcards are not used. If endpoints are specified, the DNS
// addresses specified in the endpoints will be resolved to determine
- // the destination IP address. DNS resolution cannot be used with unix
+ // the destination IP address. DNS resolution cannot be used with Unix
// domain socket endpoints.
ServiceEntry_DNS ServiceEntry_Resolution = 2
)
@@ -426,17 +425,19 @@ func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) {
type ServiceEntry struct {
// REQUIRED. The hosts associated with the ServiceEntry. Could be a DNS
- // name with wildcard prefix (external services only). DNS names in hosts
- // will be ignored if the application accesses the service over non-HTTP
- // protocols such as mongo/opaque TCP/HTTPS. In such scenarios, the
- // IP addresses specified in the Addresses field or the port will be used
- // to uniquely identify the destination.
+ // name with wildcard prefix (external services only). For HTTP traffic
+ // the HTTP Host/Authority header will be matched against the hosts field.
+ // For HTTPs or TLS traffic containing Server Name Indication (SNI), the SNI value
+ // will be matched against the hosts field. For all other protocols
+ // the hosts will be ignored, and the port and addresses fields
+ // will be used if present. Note that when resolution is set to type DNS
+ // and no endpoints are specified, the host field will be used as the DNS name
+ // of the endpoint to route traffic to.
Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
// The virtual IP addresses associated with the service. Could be CIDR
- // prefix. For HTTP services, the addresses field will be ignored and
+ // prefix. For HTTP traffic the addresses field will be ignored and
// the destination will be identified based on the HTTP Host/Authority
- // header. For non-HTTP protocols such as mongo/opaque TCP/HTTPS,
- // the hosts will be ignored. If one or more IP addresses are specified,
+ // header. If one or more IP addresses are specified,
// the incoming traffic will be identified as belonging to this service
// if the destination IP matches the IP/CIDRs specified in the addresses
// field. If the Addresses field is empty, traffic will be identified
@@ -591,7 +592,7 @@ type ServiceEntry_Endpoint struct {
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// Set of ports associated with the endpoint. The ports must be
// associated with a port name that was declared as part of the
- // service. Do not use for unix:// addresses.
+ // service. Do not use for `unix://` addresses.
Ports map[string]uint32 `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
// One or more labels associated with the endpoint.
Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html
index 8aaf60b847..a0b6499949 100644
--- a/networking/v1alpha3/service_entry.pb.html
+++ b/networking/v1alpha3/service_entry.pb.html
@@ -165,8 +165,8 @@
- "*"
-And the associated VirtualService to route from the sidecar to the
-gateway service (istio-egressgateway.istio-system.svc.cluster.local), as
+
And the associated VirtualService to route from the sidecar to the
+gateway service (istio-egressgateway.istio-system.svc.cluster.local), as
well as route from the gateway to the external service. Note that the
virtual service is exported to all namespaces enabling them to route traffic
through the gateway to the external service. Forcing traffic to go through
@@ -224,7 +224,7 @@
The following example demonstrates a service that is available via a
Unix Domain Socket on the host of the client. The resolution must be
-set to STATIC to use unix address endpoints.
+set to STATIC to use Unix address endpoints.
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
@@ -243,10 +243,10 @@
- address: unix:///var/run/example/socket
-For HTTP-based services, it is possible to create a VirtualService
+
For HTTP-based services, it is possible to create a VirtualService
backed by multiple DNS addressable endpoints. In such a scenario, the
-application can use the HTTP_PROXY environment variable to transparently
-reroute API calls for the VirtualService to a chosen backend. For
+application can use the HTTP_PROXY environment variable to transparently
+reroute API calls for the VirtualService to a chosen backend. For
example, the following configuration creates a non-existent external
service called foo.bar.com backed by three domains: us.foo.bar.com:8080,
uk.foo.bar.com:9080, and in.foo.bar.com:7080
@@ -281,10 +281,9 @@
specified above. In other words, a call to http://foo.bar.com/baz would
be translated to http://uk.foo.bar.com/baz.
-The following example illustrates the usage of a ServiceEntry
+
The following example illustrates the usage of a ServiceEntry
containing a subject alternate name
-whose format conforms to the SPIFEE standard
-https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md:
+whose format conforms to the SPIFEE standard:
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
@@ -323,11 +322,14 @@ ServiceEntry
string[]
REQUIRED. The hosts associated with the ServiceEntry. Could be a DNS
-name with wildcard prefix (external services only). DNS names in hosts
-will be ignored if the application accesses the service over non-HTTP
-protocols such as mongo/opaque TCP/HTTPS. In such scenarios, the
-IP addresses specified in the Addresses field or the port will be used
-to uniquely identify the destination.
+name with wildcard prefix (external services only). For HTTP traffic
+the HTTP Host/Authority header will be matched against the hosts field.
+For HTTPs or TLS traffic containing Server Name Indication (SNI), the SNI value
+will be matched against the hosts field. For all other protocols
+the hosts will be ignored, and the port and addresses fields
+will be used if present. Note that when resolution is set to type DNS
+and no endpoints are specified, the host field will be used as the DNS name
+of the endpoint to route traffic to.
@@ -336,10 +338,9 @@ ServiceEntry
string[]
The virtual IP addresses associated with the service. Could be CIDR
-prefix. For HTTP services, the addresses field will be ignored and
+prefix. For HTTP traffic the addresses field will be ignored and
the destination will be identified based on the HTTP Host/Authority
-header. For non-HTTP protocols such as mongo/opaque TCP/HTTPS,
-the hosts will be ignored. If one or more IP addresses are specified,
+header. If one or more IP addresses are specified,
the incoming traffic will be identified as belonging to this service
if the destination IP matches the IP/CIDRs specified in the addresses
field. If the Addresses field is empty, traffic will be identified
@@ -462,7 +463,7 @@
ServiceEntry.Endpoint
Set of ports associated with the endpoint. The ports must be
associated with a port name that was declared as part of the
-service. Do not use for unix:// addresses.
+service. Do not use for unix:// addresses.
@@ -611,7 +612,7 @@ ServiceEntry.Resolution
will resolve the DNS address specified in the hosts field, if
wildcards are not used. If endpoints are specified, the DNS
addresses specified in the endpoints will be resolved to determine
-the destination IP address. DNS resolution cannot be used with unix
+the destination IP address. DNS resolution cannot be used with Unix
domain socket endpoints.
diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto
index 8db08dff8f..9fa0578625 100644
--- a/networking/v1alpha3/service_entry.proto
+++ b/networking/v1alpha3/service_entry.proto
@@ -186,8 +186,8 @@ import "networking/v1alpha3/gateway.proto";
// - "*"
// ```
//
-// And the associated VirtualService to route from the sidecar to the
-// gateway service (istio-egressgateway.istio-system.svc.cluster.local), as
+// And the associated `VirtualService` to route from the sidecar to the
+// gateway service (`istio-egressgateway.istio-system.svc.cluster.local`), as
// well as route from the gateway to the external service. Note that the
// virtual service is exported to all namespaces enabling them to route traffic
// through the gateway to the external service. Forcing traffic to go through
@@ -247,7 +247,7 @@ import "networking/v1alpha3/gateway.proto";
//
// The following example demonstrates a service that is available via a
// Unix Domain Socket on the host of the client. The resolution must be
-// set to STATIC to use unix address endpoints.
+// set to STATIC to use Unix address endpoints.
//
// ```yaml
// apiVersion: networking.istio.io/v1alpha3
@@ -267,10 +267,10 @@ import "networking/v1alpha3/gateway.proto";
// - address: unix:///var/run/example/socket
// ```
//
-// For HTTP-based services, it is possible to create a VirtualService
+// For HTTP-based services, it is possible to create a `VirtualService`
// backed by multiple DNS addressable endpoints. In such a scenario, the
-// application can use the HTTP_PROXY environment variable to transparently
-// reroute API calls for the VirtualService to a chosen backend. For
+// application can use the `HTTP_PROXY` environment variable to transparently
+// reroute API calls for the `VirtualService` to a chosen backend. For
// example, the following configuration creates a non-existent external
// service called foo.bar.com backed by three domains: us.foo.bar.com:8080,
// uk.foo.bar.com:9080, and in.foo.bar.com:7080
@@ -306,10 +306,9 @@ import "networking/v1alpha3/gateway.proto";
// specified above. In other words, a call to `http://foo.bar.com/baz` would
// be translated to `http://uk.foo.bar.com/baz`.
//
-// The following example illustrates the usage of a ServiceEntry
+// The following example illustrates the usage of a `ServiceEntry`
// containing a subject alternate name
-// whose format conforms to the SPIFEE standard
-// :
+// whose format conforms to the [SPIFEE standard](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md):
//
// ```yaml
// apiVersion: networking.istio.io/v1alpha3
@@ -339,18 +338,20 @@ option go_package = "istio.io/api/networking/v1alpha3";
message ServiceEntry {
// REQUIRED. The hosts associated with the ServiceEntry. Could be a DNS
- // name with wildcard prefix (external services only). DNS names in hosts
- // will be ignored if the application accesses the service over non-HTTP
- // protocols such as mongo/opaque TCP/HTTPS. In such scenarios, the
- // IP addresses specified in the Addresses field or the port will be used
- // to uniquely identify the destination.
+ // name with wildcard prefix (external services only). For HTTP traffic
+ // the HTTP Host/Authority header will be matched against the hosts field.
+ // For HTTPs or TLS traffic containing Server Name Indication (SNI), the SNI value
+ // will be matched against the hosts field. For all other protocols
+ // the hosts will be ignored, and the port and addresses fields
+ // will be used if present. Note that when resolution is set to type DNS
+ // and no endpoints are specified, the host field will be used as the DNS name
+ // of the endpoint to route traffic to.
repeated string hosts = 1;
// The virtual IP addresses associated with the service. Could be CIDR
- // prefix. For HTTP services, the addresses field will be ignored and
+ // prefix. For HTTP traffic the addresses field will be ignored and
// the destination will be identified based on the HTTP Host/Authority
- // header. For non-HTTP protocols such as mongo/opaque TCP/HTTPS,
- // the hosts will be ignored. If one or more IP addresses are specified,
+ // header. If one or more IP addresses are specified,
// the incoming traffic will be identified as belonging to this service
// if the destination IP matches the IP/CIDRs specified in the addresses
// field. If the Addresses field is empty, traffic will be identified
@@ -416,7 +417,7 @@ message ServiceEntry {
// will resolve the DNS address specified in the hosts field, if
// wildcards are not used. If endpoints are specified, the DNS
// addresses specified in the endpoints will be resolved to determine
- // the destination IP address. DNS resolution cannot be used with unix
+ // the destination IP address. DNS resolution cannot be used with Unix
// domain socket endpoints.
DNS = 2;
};
@@ -438,7 +439,7 @@ message ServiceEntry {
// Set of ports associated with the endpoint. The ports must be
// associated with a port name that was declared as part of the
- // service. Do not use for unix:// addresses.
+ // service. Do not use for `unix://` addresses.
map ports = 2;
// One or more labels associated with the endpoint.
diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go
index 9224c76070..8253f56fe1 100644
--- a/networking/v1alpha3/sidecar.pb.go
+++ b/networking/v1alpha3/sidecar.pb.go
@@ -84,7 +84,7 @@
// resource in the prod-us1 namespace for all pods with labels "app:
// productpage" belonging to the productpage.prod-us1 service. Assuming
// that these pods are deployed without IPtable rules (i.e. the Istio init
-// container) and the proxy metadata ISTIO_META_INTERCEPTION_MODE is set to
+// container) and the proxy metadata `ISTIO_META_INTERCEPTION_MODE` is set to
// NONE, the specification below allows such pods to receive HTTP traffic
// on port 9080 and forward it to the application listening on
// 127.0.0.1:8080. It also allows the application to communicate with a
@@ -146,7 +146,7 @@
// traffic. The following Sidecar configuration allows the VM to expose a
// listener on 172.16.1.32:80 (the VM's IP) for traffic arriving from the
// 172.16.0.0/16 subnet. Note that in this scenario, the
-// ISTIO_META_INTERCEPTION_MODE metadata on the proxy in the VM should
+// `ISTIO_META_INTERCEPTION_MODE` metadata on the proxy in the VM should
// contain "REDIRECT" or "TPROXY" as its value, implying that IP tables
// based traffic capture is active.
//
@@ -239,8 +239,7 @@ func (CaptureMode) EnumDescriptor() ([]byte, []int) {
type Sidecar struct {
// Criteria used to select the specific set of pods/VMs on which this
// sidecar configuration should be applied. If omitted, the sidecar
- // configuration will be applied to all workloads in the same config
- // namespace.
+ // configuration will be applied to all workloads in the same namespace.
WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector,proto3" json:"workload_selector,omitempty"`
// Ingress specifies the configuration of the sidecar for processing
// inbound traffic to the attached workload. If omitted, Istio will
@@ -334,7 +333,7 @@ type IstioIngressListener struct {
// traffic should be forwarded to. This configuration can be used to
// redirect traffic arriving at the bind point on the sidecar to a port
// or Unix domain socket where the application workload is listening for
- // connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket
+ // connections. Format should be 127.0.0.1:PORT or `unix:///path/to/socket`
DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -435,7 +434,7 @@ type IstioEgressListener struct {
// using a `ServiceEntry` or `VirtualService` configuration. Any
// associated `DestinationRule` in the same namespace will also be used.
//
- // The `dnsName` should be specified using FQDN format, opionally including
+ // The `dnsName` should be specified using FQDN format, optionally including
// a wildcard character in the left-most component (e.g., `prod/*.example.com`).
// Set the `dnsName` to `*` to select all services from the specified namespace
// (e.g.,`prod/*`). The `namespace` can also be set to `*` to select a particular
diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html
index c7cbb3970f..229a3860c6 100644
--- a/networking/v1alpha3/sidecar.pb.html
+++ b/networking/v1alpha3/sidecar.pb.html
@@ -87,7 +87,7 @@
resource in the prod-us1 namespace for all pods with labels “app:
productpage” belonging to the productpage.prod-us1 service. Assuming
that these pods are deployed without IPtable rules (i.e. the Istio init
-container) and the proxy metadata ISTIOMETAINTERCEPTION_MODE is set to
+container) and the proxy metadata ISTIO_META_INTERCEPTION_MODE is set to
NONE, the specification below allows such pods to receive HTTP traffic
on port 9080 and forward it to the application listening on
127.0.0.1:8080. It also allows the application to communicate with a
@@ -147,7 +147,7 @@
traffic. The following Sidecar configuration allows the VM to expose a
listener on 172.16.1.32:80 (the VM’s IP) for traffic arriving from the
172.16.0.0/16 subnet. Note that in this scenario, the
-ISTIOMETAINTERCEPTION_MODE metadata on the proxy in the VM should
+ISTIO_META_INTERCEPTION_MODE metadata on the proxy in the VM should
contain “REDIRECT” or “TPROXY” as its value, implying that IP tables
based traffic capture is active.
@@ -285,7 +285,7 @@ IstioEgressListener
using a ServiceEntry or VirtualService configuration. Any
associated DestinationRule in the same namespace will also be used.
-The dnsName should be specified using FQDN format, opionally including
+
The dnsName should be specified using FQDN format, optionally including
a wildcard character in the left-most component (e.g., prod/*.example.com).
Set the dnsName to * to select all services from the specified namespace
(e.g.,prod/*). The namespace can also be set to * to select a particular
@@ -356,7 +356,7 @@
IstioIngressListener
traffic should be forwarded to. This configuration can be used to
redirect traffic arriving at the bind point on the sidecar to a port
or Unix domain socket where the application workload is listening for
-connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket
+connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket
@@ -380,8 +380,7 @@ Sidecar
Criteria used to select the specific set of pods/VMs on which this
sidecar configuration should be applied. If omitted, the sidecar
-configuration will be applied to all workloads in the same config
-namespace.
+configuration will be applied to all workloads in the same namespace.
diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto
index e3a5be2545..85d8b26fa0 100644
--- a/networking/v1alpha3/sidecar.proto
+++ b/networking/v1alpha3/sidecar.proto
@@ -103,7 +103,7 @@ import "networking/v1alpha3/gateway.proto";
// resource in the prod-us1 namespace for all pods with labels "app:
// productpage" belonging to the productpage.prod-us1 service. Assuming
// that these pods are deployed without IPtable rules (i.e. the Istio init
-// container) and the proxy metadata ISTIO_META_INTERCEPTION_MODE is set to
+// container) and the proxy metadata `ISTIO_META_INTERCEPTION_MODE` is set to
// NONE, the specification below allows such pods to receive HTTP traffic
// on port 9080 and forward it to the application listening on
// 127.0.0.1:8080. It also allows the application to communicate with a
@@ -165,7 +165,7 @@ import "networking/v1alpha3/gateway.proto";
// traffic. The following Sidecar configuration allows the VM to expose a
// listener on 172.16.1.32:80 (the VM's IP) for traffic arriving from the
// 172.16.0.0/16 subnet. Note that in this scenario, the
-// ISTIO_META_INTERCEPTION_MODE metadata on the proxy in the VM should
+// `ISTIO_META_INTERCEPTION_MODE` metadata on the proxy in the VM should
// contain "REDIRECT" or "TPROXY" as its value, implying that IP tables
// based traffic capture is active.
//
@@ -204,8 +204,7 @@ option go_package = "istio.io/api/networking/v1alpha3";
message Sidecar {
// Criteria used to select the specific set of pods/VMs on which this
// sidecar configuration should be applied. If omitted, the sidecar
- // configuration will be applied to all workloads in the same config
- // namespace.
+ // configuration will be applied to all workloads in the same namespace.
WorkloadSelector workload_selector = 1;
// Ingress specifies the configuration of the sidecar for processing
@@ -247,7 +246,7 @@ message IstioIngressListener {
// traffic should be forwarded to. This configuration can be used to
// redirect traffic arriving at the bind point on the sidecar to a port
// or Unix domain socket where the application workload is listening for
- // connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket
+ // connections. Format should be 127.0.0.1:PORT or `unix:///path/to/socket`
string default_endpoint = 4;
}
@@ -287,7 +286,7 @@ message IstioEgressListener {
// using a `ServiceEntry` or `VirtualService` configuration. Any
// associated `DestinationRule` in the same namespace will also be used.
//
- // The `dnsName` should be specified using FQDN format, opionally including
+ // The `dnsName` should be specified using FQDN format, optionally including
// a wildcard character in the left-most component (e.g., `prod/*.example.com`).
// Set the `dnsName` to `*` to select all services from the specified namespace
// (e.g.,`prod/*`). The `namespace` can also be set to `*` to select a particular
diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go
index dc79fdf24e..e39c639251 100644
--- a/networking/v1alpha3/virtual_service.pb.go
+++ b/networking/v1alpha3/virtual_service.pb.go
@@ -1641,9 +1641,9 @@ func (m *TLSMatchAttributes) GetGateways() []string {
// - match:
// - uri:
// exact: /v1/getProductRatings
-// redirect:
-// uri: /v1/bookRatings
-// authority: newratings.default.svc.cluster.local
+// redirect:
+// uri: /v1/bookRatings
+// authority: newratings.default.svc.cluster.local
// ...
// ```
type HTTPRedirect struct {
@@ -1998,9 +1998,8 @@ type HTTPRetry struct {
PerTryTimeout *types.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
// Specifies the conditions under which retry takes place.
// One or more policies can be specified using a ‘,’ delimited list.
- // The supported policies can be found in
- //
- // and
+ // See the [supported policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on)
+ // and [here](https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -2062,8 +2061,7 @@ func (m *HTTPRetry) GetRetryOn() string {
}
// Describes the Cross-Origin Resource Sharing (CORS) policy, for a given
-// service. Refer to
-//
+// service. Refer to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)
// for further details about cross origin resource sharing. For example,
// the following rule restricts cross origin requests to those originating
// from example.com domain using HTTP POST/GET, and sets the
@@ -2092,7 +2090,7 @@ func (m *HTTPRetry) GetRetryOn() string {
// allowCredentials: false
// allowHeaders:
// - X-Foo-Bar
-// maxAge: "1d"
+// maxAge: "24h"
// ```
//
type CorsPolicy struct {
diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html
index c55e804f1f..aa61515fe1 100644
--- a/networking/v1alpha3/virtual_service.pb.html
+++ b/networking/v1alpha3/virtual_service.pb.html
@@ -95,8 +95,7 @@
CorsPolicy
Describes the Cross-Origin Resource Sharing (CORS) policy, for a given
-service. Refer to
-https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
+service. Refer to CORS
for further details about cross origin resource sharing. For example,
the following rule restricts cross origin requests to those originating
from example.com domain using HTTP POST/GET, and sets the
@@ -124,7 +123,7 @@
CorsPolicy
allowCredentials: false
allowHeaders:
- X-Foo-Bar
- maxAge: "1d"
+ maxAge: "24h"
-
-RbacConfig
-
-RbacConfig defines the global config to control Istio RBAC behavior.
-This Custom Resource is a singleton where only one Custom Resource should be created globally in
-the mesh and the namespace should be the same to other Istio components, which usually is istio-system.
-Note: This is enforced in both istioctl and server side, new Custom Resource will be rejected if found any
-existing one, the user should either delete the existing one or change the existing one directly.
-
-Below is an example of RbacConfig object “istio-rbac-config” which enables Istio RBAC for all
-services in the default namespace.
-
-apiVersion: "rbac.istio.io/v1alpha1"
-kind: RbacConfig
-metadata:
- name: default
- namespace: istio-system
-spec:
- mode: ON_WITH_INCLUSION
- inclusion:
- namespaces: [ "default" ]
-
-
-