From b44daed6022c9653d8dd0b3ca73f3a1a12b5b8db Mon Sep 17 00:00:00 2001 From: mtail Date: Thu, 21 Feb 2019 09:58:09 -0800 Subject: [PATCH 01/34] Doc fixes. --- .../v1alpha1/istio.authentication.v1alpha1.pb.html | 2 +- authentication/v1alpha1/policy.pb.go | 2 +- authentication/v1alpha1/policy.proto | 2 +- mesh/v1alpha1/config.pb.go | 4 ++-- mesh/v1alpha1/config.proto | 4 ++-- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 4 ++-- mixer/v1/config/client/api_spec.pb.go | 2 +- mixer/v1/config/client/api_spec.proto | 2 +- .../config/client/istio.mixer.v1.config.client.pb.html | 2 +- networking/v1alpha3/istio.networking.v1alpha3.pb.html | 2 +- networking/v1alpha3/virtual_service.pb.go | 2 +- networking/v1alpha3/virtual_service.proto | 2 +- policy/v1beta1/cfg.pb.go | 3 +-- policy/v1beta1/cfg.proto | 9 ++++----- 14 files changed, 20 insertions(+), 22 deletions(-) diff --git a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html index 12aa2f3395f..33e58067d77 100644 --- a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html +++ b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html @@ -11,7 +11,7 @@

Jwt

JSON Web Token (JWT) token format for authentication as defined by -https://tools.ietf.org/html/rfc7519. See OAuth +RFC 7519. See OAuth 2.0 and OIDC 1.0 for how this is used in the whole authentication flow.

diff --git a/authentication/v1alpha1/policy.pb.go b/authentication/v1alpha1/policy.pb.go index f0a7e546402..bae66c1d1b4 100644 --- a/authentication/v1alpha1/policy.pb.go +++ b/authentication/v1alpha1/policy.pb.go @@ -289,7 +289,7 @@ func (m *MutualTls) GetMode() MutualTls_Mode { } // JSON Web Token (JWT) token format for authentication as defined by -// https://tools.ietf.org/html/rfc7519. See [OAuth +// [RFC 7519](https://tools.ietf.org/html/rfc7519). See [OAuth // 2.0](https://tools.ietf.org/html/rfc6749) and [OIDC // 1.0](http://openid.net/connect) for how this is used in the whole // authentication flow. diff --git a/authentication/v1alpha1/policy.proto b/authentication/v1alpha1/policy.proto index 55e82e946f4..31bc82f2cea 100644 --- a/authentication/v1alpha1/policy.proto +++ b/authentication/v1alpha1/policy.proto @@ -66,7 +66,7 @@ message MutualTls { } // JSON Web Token (JWT) token format for authentication as defined by -// https://tools.ietf.org/html/rfc7519. See [OAuth +// [RFC 7519](https://tools.ietf.org/html/rfc7519). See [OAuth // 2.0](https://tools.ietf.org/html/rfc6749) and [OIDC // 1.0](http://openid.net/connect) for how this is used in the whole // authentication flow. diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 871d88fce23..06a61fd9bf0 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -261,7 +261,7 @@ type MeshConfig struct { // This isn't supported for non-k8s case. SdsUseK8SSaJwt bool `protobuf:"varint,29,opt,name=sds_use_k8s_sa_jwt,json=sdsUseK8sSaJwt,proto3" json:"sds_use_k8s_sa_jwt,omitempty"` // The trust domain corresponds to the trust root of a system. - // Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain + // Refer to [SPIFEE-ID](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain) // Fallback to old identity format(without trust domain) if not set. TrustDomain string `protobuf:"bytes,26,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"` // $hide_from_docs @@ -616,7 +616,7 @@ func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha31.TLSSettings // traffic originates and where it will terminate. These localities are // specified using arbitrary labels that designate a hierarchy of localities in // {region}/{zone}/{sub-zone} form. For additional detail refer to -// https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/locality_weight +// [Locality Weight](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/locality_weight) // The following example shows how to setup locality weights mesh-wide. // // Given a mesh with workloads and their service deployed to "us-west/zone1/*" diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 8bc13a91a00..b5eb7a02aeb 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -212,7 +212,7 @@ message MeshConfig { bool sds_use_k8s_sa_jwt = 29; // The trust domain corresponds to the trust root of a system. - // Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain + // Refer to [SPIFEE-ID](https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain) // Fallback to old identity format(without trust domain) if not set. string trust_domain = 26; @@ -305,7 +305,7 @@ message ConfigSource { // traffic originates and where it will terminate. These localities are // specified using arbitrary labels that designate a hierarchy of localities in // {region}/{zone}/{sub-zone} form. For additional detail refer to -// https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/locality_weight +// [Locality Weight](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/locality_weight) // The following example shows how to setup locality weights mesh-wide. // // Given a mesh with workloads and their service deployed to "us-west/zone1/*" diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index da9c8d856c7..028da7e8b4a 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -93,7 +93,7 @@

LocalityLoadBalancerSetting

traffic originates and where it will terminate. These localities are specified using arbitrary labels that designate a hierarchy of localities in {region}/{zone}/{sub-zone} form. For additional detail refer to -https://www.envoyproxy.io/docs/envoy/latest/intro/archoverview/loadbalancing/locality_weight +Locality Weight The following example shows how to setup locality weights mesh-wide.

Given a mesh with workloads and their service deployed to “us-west/zone1/” @@ -475,7 +475,7 @@

MeshConfig

string

The trust domain corresponds to the trust root of a system. -Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain +Refer to SPIFEE-ID Fallback to old identity format(without trust domain) if not set.

diff --git a/mixer/v1/config/client/api_spec.pb.go b/mixer/v1/config/client/api_spec.pb.go index 689f21a3c23..ec1b1e7f69a 100644 --- a/mixer/v1/config/client/api_spec.pb.go +++ b/mixer/v1/config/client/api_spec.pb.go @@ -269,7 +269,7 @@ func _HTTPAPISpecPattern_OneofSizer(msg proto.Message) (n int) { // APIKey defines the explicit configuration for generating the // `request.api_key` attribute from HTTP requests. // -// See https://swagger.io/docs/specification/authentication/api-keys +// See [API Keys](https://swagger.io/docs/specification/authentication/api-keys) // for a general overview of API keys as defined by OpenAPI. type APIKey struct { // Types that are valid to be assigned to Key: diff --git a/mixer/v1/config/client/api_spec.proto b/mixer/v1/config/client/api_spec.proto index e5c25230244..27fafee8275 100644 --- a/mixer/v1/config/client/api_spec.proto +++ b/mixer/v1/config/client/api_spec.proto @@ -154,7 +154,7 @@ message HTTPAPISpecPattern { // APIKey defines the explicit configuration for generating the // `request.api_key` attribute from HTTP requests. // -// See https://swagger.io/docs/specification/authentication/api-keys +// See [API Keys](https://swagger.io/docs/specification/authentication/api-keys) // for a general overview of API keys as defined by OpenAPI. message APIKey { oneof key { 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 bc27741ddd5..adaa67a067d 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 @@ -9,7 +9,7 @@

APIKey

APIKey defines the explicit configuration for generating the request.api_key attribute from HTTP requests.

-

See https://swagger.io/docs/specification/authentication/api-keys +

See API Keys for a general overview of API keys as defined by OpenAPI.

diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index c523127b173..665bf24c100 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -1865,7 +1865,7 @@

HTTPRoute

diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 1d854732ba2..433763766f7 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -415,7 +415,7 @@ type HTTPRoute struct { // destination. Mirror *Destination `protobuf:"bytes,9,opt,name=mirror" json:"mirror,omitempty"` // Cross-Origin Resource Sharing policy (CORS). Refer to - // https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS + // [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) // for further details about cross origin resource sharing. CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy" json:"cors_policy,omitempty"` // Use of `append_headers` is deprecated. Use the `headers` diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index d654c46cf3c..f9465aeaaa6 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -395,7 +395,7 @@ message HTTPRoute { Destination mirror = 9; // Cross-Origin Resource Sharing policy (CORS). Refer to - // https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS + // [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) // for further details about cross origin resource sharing. CorsPolicy cors_policy = 10; diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go index 9cdb2f4a43d..30d0befa927 100644 --- a/policy/v1beta1/cfg.pb.go +++ b/policy/v1beta1/cfg.pb.go @@ -724,8 +724,7 @@ func (m *Sampling) GetRateLimit() *RateLimitSampling { // `sampling_rate` would be set `12.5`. // // This sampling configuration is meant to closely match the access log RuntimeFilter configuration -// supported by Envoy: -// https://github.com/envoyproxy/data-plane-api/blob/master/envoy/config/filter/accesslog/v2/accesslog.proto#L113 +// [supported by Envoy](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/config/filter/accesslog/v2/accesslog.proto#L113) type RandomSampling struct { // Specifies an attribute expression to use to override the numerator in the `percent_sampled` field. // If this value is set, but no value is found OR if that value is not a numeric value, then diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto index 7719ea26668..f3ee542ee31 100644 --- a/policy/v1beta1/cfg.proto +++ b/policy/v1beta1/cfg.proto @@ -361,7 +361,7 @@ message Connection { // $hide_from_docs // Sampling provides configuration of sampling strategies for Rule actions. // Multiple sampling strategies are supported. When multiple strategies are configured, -// a request must be selected by all configured sampling strategies. +// a request must be selected by all configured sampling strategies. message Sampling { // Optional. Provides filtering of actions based on random selection per request. RandomSampling random = 1; @@ -378,8 +378,7 @@ message Sampling { // `sampling_rate` would be set `12.5`. // // This sampling configuration is meant to closely match the access log RuntimeFilter configuration -// supported by Envoy: -// https://github.com/envoyproxy/data-plane-api/blob/master/envoy/config/filter/accesslog/v2/accesslog.proto#L113 +// [supported by Envoy](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/config/filter/accesslog/v2/accesslog.proto#L113) message RandomSampling { // Specifies an attribute expression to use to override the numerator in the `percent_sampled` field. // If this value is set, but no value is found OR if that value is not a numeric value, then @@ -389,8 +388,8 @@ message RandomSampling { // of 100. FractionalPercent percent_sampled = 2; // By default sampling will be based on the value of the request header `x-request-id`. - // This behavior will cause consistent sampling across `Rule`s and for the full trace of a - // request through a mesh (across hosts). If that value is not present and/or + // This behavior will cause consistent sampling across `Rule`s and for the full trace of a + // request through a mesh (across hosts). If that value is not present and/or // `use_independent_randomness` is set to true, the sampling will be done based on the value of // attribute specified in `attribute_epxression`. If that attribute does not exist, the system // will behave as if the sampling rate was 0 (meaning no `Action`s are executed for a `Rule`). From 29a3b64547b667569cef63053666930dd2a0af80 Mon Sep 17 00:00:00 2001 From: Jason Young Date: Thu, 21 Feb 2019 12:36:53 -0800 Subject: [PATCH 02/34] Add high-level overview and diagrams for MCP (#805) * document MCP * add additional note on NACK behavior * add a note about ignoring stale nonces --- mcp/Readme.md | 164 ++++++++++++++++-- .../ResourceSink-connection-setup.svg | 1 + .../ResourceSource-connection-setup.svg | 1 + .../collection-full-state-update-success.svg | 1 + .../collection-incremental-update-success.svg | 1 + .../diagrams/collection-update-error.svg | 1 + 6 files changed, 156 insertions(+), 13 deletions(-) create mode 100644 mcp/v1alpha1/diagrams/ResourceSink-connection-setup.svg create mode 100644 mcp/v1alpha1/diagrams/ResourceSource-connection-setup.svg create mode 100644 mcp/v1alpha1/diagrams/collection-full-state-update-success.svg create mode 100644 mcp/v1alpha1/diagrams/collection-incremental-update-success.svg create mode 100644 mcp/v1alpha1/diagrams/collection-update-error.svg diff --git a/mcp/Readme.md b/mcp/Readme.md index 68e04044171..d8b6db6fa12 100644 --- a/mcp/Readme.md +++ b/mcp/Readme.md @@ -1,13 +1,151 @@ -# Mesh Configuration Protocol Protos - -This folder contains the proto buffers used by the Mesh Configuration Protocol, -an [XDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md#streaming-grpc-subscriptions) -inspired protocol for transferring configuration among Istio components -during runtime. - -The protocol buffers in this folder are not used for configuring Istio. -Instead, they define an internal protocol through which the configuration proto -instances can be delivered to components, such as Mixer and Pilot. - -The server side of the protocol is implemented in Galley, Istio's config -aggregation and distribution component. +# Mesh Configuration Protocol (MCP) + +## Introduction + +This folder contains the proto buffers for the Mesh Configuration +Protocol (MCP). MCP is based on +[XDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md#streaming-grpc-subscriptions) +and maintains conceptual alignment with it, despite the specific +service and proto definitions being different. + +## Overview + +MCP is a subscription-based configuration distribution API. The +configuration consumer (i.e. sink) requests updates for collections of +resources from a configuration producer (i.e. source). The source +pushes resource updates to the sink when resources are added, updated, +or deleted. The sink positively ACK's the resource update, if it was +accepted, and NACK's if it was rejected, e.g. because a resource was +invalid. The source may push additional update once the previous +update was ACK/NACK'd. The source should only have one outstanding +update (per-collection) in flight at a time. + +MCP is a pair of bidirectional streaming gRPC API services +(`ResourceSource` and `ResourceSink`). + +* The `ResourceSource` service is used when the resource source is the +server and the sink is a client. By default, Galley implements the +`ResourceSource` service and Pilot/Mixer connect as clients. + +* The `ResourceSink` service is used when the resource source is a +client and the sink is the server. Galley can be configured to +optionally "dial-out" to a remote configuration sink, e.g. Pilot is in +another cluster where it cannot, as a client, initiate +connection to Galley. In this scenario, Pilot would implement the +`ResourceSink` service and Galley would connect as a client. + +ResourceSource and ResourceSink are semantically equivalent with +regards to the message exchange. The only meaningful difference is who +initiates the connection and opens the grpc stream. + +## Data model + +MCP is the mechanism of transport whereby Pilot and Mixer can be +configured by a manager component. MCP defines a common per-resource +metadata format and resource specific contents is defined elsewhere +(e.g. https://github.com/istio/api/tree/master/networking/v1alpha3). + +### Collections + +Resources of the same type are organization into named +collections. Istio API collection names are of the form +`istio///` where ``, ``, and `Created with Raphaël 2.2.0Client/SourceClient/SourceServer/SinkServer/Sinkconn := grpc.Dial(S)svc := mcp.NewResourceSinkService(conn)stream := mcp.EstablishResourceStream()stream establishedstream.Send(RequestResources)Resources := stream.Recv() \ No newline at end of file diff --git a/mcp/v1alpha1/diagrams/ResourceSource-connection-setup.svg b/mcp/v1alpha1/diagrams/ResourceSource-connection-setup.svg new file mode 100644 index 00000000000..71af7d3a034 --- /dev/null +++ b/mcp/v1alpha1/diagrams/ResourceSource-connection-setup.svg @@ -0,0 +1 @@ +Created with Raphaël 2.2.0Client/SinkClient/SinkServer/SourceServer/Sourceconn := grpc.Dial(S)svc := mcp.NewResourceSourceService(conn)stream := svc.EstablishResourceStream()stream establishedstream.Send(RequestResources)Resources := stream.Recv() \ No newline at end of file diff --git a/mcp/v1alpha1/diagrams/collection-full-state-update-success.svg b/mcp/v1alpha1/diagrams/collection-full-state-update-success.svg new file mode 100644 index 00000000000..0be0e75ed0d --- /dev/null +++ b/mcp/v1alpha1/diagrams/collection-full-state-update-success.svg @@ -0,0 +1 @@ +Created with Raphaël 2.2.0SinkSinkSourceSourceestablish streamRequestResources{collection=A,nonce=}Resources{collection=A,nonce=1,resource={(foo,v0),(bar,v0)}RequestResources{collection=A,nonce=1} (ACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=2,resource={(foo,v0),(bar,v0),(baz,v0)}}RequestResources{collection=A,nonce=2} (ACK)resources={(foo,v0),(bar,v0),(baz,v0}Resources{collection=A,nonce=3,resource={(bar, v1),(baz, v0)}}RequestResources{collection=A,nonce=3} (ACK)resources={(bar,v1),(baz,v0)} \ No newline at end of file diff --git a/mcp/v1alpha1/diagrams/collection-incremental-update-success.svg b/mcp/v1alpha1/diagrams/collection-incremental-update-success.svg new file mode 100644 index 00000000000..7fa6d44ee53 --- /dev/null +++ b/mcp/v1alpha1/diagrams/collection-incremental-update-success.svg @@ -0,0 +1 @@ +Created with Raphaël 2.2.0SinkSinkSourceSourceestablish streamRequestResources{collection=A,nonce=}Resources{collection=A,nonce=1,resource={(foo,v0),(bar,v0)},incremental=true}RequestResources{collection=A,nonce=1,incremental=true} (ACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=2,resource={(baz,v0)},incremental=true}RequestResources{collection=A,nonce=2,incremental=true} (ACK)resources={(foo,v0),(bar,v0),(baz,v0}Resources{collection=A,nonce=3,resource={(bar, v1)},removed={foo}incremental=true}RequestResources{collection=A,nonce=3,incremental=true} (ACK)resources={(bar,v1),(baz,v0)} \ No newline at end of file diff --git a/mcp/v1alpha1/diagrams/collection-update-error.svg b/mcp/v1alpha1/diagrams/collection-update-error.svg new file mode 100644 index 00000000000..8b4a86fbade --- /dev/null +++ b/mcp/v1alpha1/diagrams/collection-update-error.svg @@ -0,0 +1 @@ +Created with Raphaël 2.2.0SinkSinkSourceSourceestablish streamRequestResources{collection=A,nonce=}Resources{collection=A,nonce=1,resource={(foo,v0),(bar,v0)}RequestResources{collection=A,nonce=1} (ACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=2,resource={(baz,v0)}RequestResources{collection=A,nonce=2,error="could not apply"} (NACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=3,resource={(bar, v1)},remove={(foo,v0)}RequestResources{collection=A,nonce=3} (ACK)resources={(bar,v1),(baz,v0)} \ No newline at end of file From 16cc4d77414ebe80fff1ebedc96cb1442ce29509 Mon Sep 17 00:00:00 2001 From: Joey Bratton Date: Thu, 21 Feb 2019 17:07:55 -0500 Subject: [PATCH 03/34] Add envoy metrics service configuration to ProxyConfig (#803) * Add envoy metrics service configuration to ProxyConfig Similar to the statsd sink config, this change is in preparation for adding support for the envoy metrics service API. * Update proto.lock * Reorder metrics_service_address just after statsd_udp_address --- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 8 + mesh/v1alpha1/proxy.pb.go | 162 +++++++++++++------- mesh/v1alpha1/proxy.proto | 3 + proto.lock | 5 + python/istio_api/mesh/v1alpha1/proxy_pb2.py | 37 +++-- 5 files changed, 145 insertions(+), 70 deletions(-) diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 028da7e8b4a..00651f14cbd 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -894,6 +894,14 @@

ProxyConfig

+ + + + + diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index e5689b9b772..4832ae50a59 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -307,6 +307,8 @@ type ProxyConfig struct { ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,9,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` // 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). + MetricsServiceAddress string `protobuf:"bytes,20,opt,name=metrics_service_address,json=metricsServiceAddress,proto3" json:"metrics_service_address,omitempty"` // Port on which Envoy should listen for administrative commands. ProxyAdminPort int32 `protobuf:"varint,11,opt,name=proxy_admin_port,json=proxyAdminPort,proto3" json:"proxy_admin_port,omitempty"` // $hide_from_docs @@ -408,6 +410,13 @@ func (m *ProxyConfig) GetStatsdUdpAddress() string { return "" } +func (m *ProxyConfig) GetMetricsServiceAddress() string { + if m != nil { + return m.MetricsServiceAddress + } + return "" +} + func (m *ProxyConfig) GetProxyAdminPort() int32 { if m != nil { return m.ProxyAdminPort @@ -754,6 +763,14 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { } i += n8 } + if len(m.MetricsServiceAddress) > 0 { + dAtA[i] = 0xa2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintProxy(dAtA, i, uint64(len(m.MetricsServiceAddress))) + i += copy(dAtA[i:], m.MetricsServiceAddress) + } return i, nil } @@ -898,6 +915,10 @@ func (m *ProxyConfig) Size() (n int) { l = m.Tracing.Size() n += 2 + l + sovProxy(uint64(l)) } + l = len(m.MetricsServiceAddress) + if l > 0 { + n += 2 + l + sovProxy(uint64(l)) + } return n } @@ -1814,6 +1835,35 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricsServiceAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProxy + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProxy + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MetricsServiceAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProxy(dAtA[iNdEx:]) @@ -1943,59 +1993,61 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptorProxy) } var fileDescriptorProxy = []byte{ - // 862 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5d, 0x6f, 0xe3, 0x44, - 0x14, 0xad, 0x97, 0xdd, 0x7c, 0xdc, 0xb4, 0xa9, 0x3b, 0x0b, 0x5d, 0x37, 0x82, 0x12, 0x8a, 0x04, - 0x59, 0x40, 0x8e, 0xb6, 0x2b, 0x21, 0x5e, 0x40, 0x24, 0x6d, 0x57, 0x8d, 0xd4, 0xed, 0x46, 0xae, - 0x2b, 0x41, 0x5f, 0x46, 0x13, 0xfb, 0x36, 0x1e, 0xad, 0x33, 0x63, 0x8d, 0xc7, 0x85, 0xec, 0x1b, - 0xfc, 0x34, 0x9e, 0x78, 0xe4, 0x27, 0xa0, 0x3e, 0xf1, 0x33, 0x90, 0x67, 0xec, 0x6c, 0x40, 0xdd, - 0xed, 0x5b, 0xe6, 0xcc, 0x39, 0x77, 0xce, 0x99, 0x3b, 0xd7, 0x81, 0xbd, 0x05, 0xe6, 0xc9, 0xf0, - 0xe6, 0x19, 0x4b, 0xb3, 0x84, 0x3d, 0x1b, 0x66, 0x4a, 0xfe, 0xba, 0xf4, 0x33, 0x25, 0xb5, 0x24, - 0x8f, 0x79, 0xae, 0xb9, 0xf4, 0x4b, 0x82, 0x5f, 0x13, 0x7a, 0xfb, 0x73, 0x29, 0xe7, 0x29, 0x0e, - 0x0d, 0x65, 0x56, 0x5c, 0x0f, 0xe3, 0x42, 0x31, 0xcd, 0xa5, 0xb0, 0xa2, 0x83, 0x3f, 0x1e, 0x40, - 0x33, 0x54, 0x2c, 0xe2, 0x62, 0x4e, 0xbe, 0x87, 0xc6, 0x1b, 0x9e, 0xbd, 0xe6, 0xc2, 0x73, 0xfa, - 0xce, 0xa0, 0x73, 0xf8, 0xb9, 0x7f, 0x47, 0x45, 0xbf, 0x62, 0xfb, 0x57, 0x86, 0x7a, 0xba, 0x11, - 0x54, 0x22, 0xf2, 0x02, 0xda, 0x29, 0x9f, 0x27, 0x3a, 0xd7, 0x98, 0x79, 0x0f, 0x4c, 0x85, 0x2f, - 0xde, 0x5b, 0xe1, 0xac, 0x66, 0x9f, 0x6e, 0x04, 0x6f, 0xa5, 0xbd, 0x03, 0x68, 0xd8, 0xda, 0xc4, - 0x83, 0x26, 0x8b, 0x63, 0x85, 0x79, 0x6e, 0x1c, 0xb5, 0x83, 0x7a, 0xd9, 0xfb, 0xcd, 0x81, 0xf6, - 0x4a, 0xfe, 0x6e, 0x1e, 0xf9, 0x0c, 0x36, 0x59, 0x14, 0x61, 0x9e, 0x53, 0x2d, 0x5f, 0xa3, 0x30, - 0xb6, 0xda, 0x41, 0xc7, 0x62, 0x61, 0x09, 0x91, 0x5d, 0x68, 0xe4, 0x18, 0x15, 0x0a, 0xbd, 0x0f, - 0xfa, 0xce, 0xa0, 0x15, 0x54, 0x2b, 0xf2, 0x29, 0x74, 0x22, 0x16, 0xa1, 0xd2, 0x34, 0x63, 0x3a, - 0xf1, 0x1e, 0x1a, 0x25, 0x58, 0x68, 0xca, 0x74, 0x32, 0x6e, 0x41, 0x43, 0xab, 0x72, 0x79, 0xf0, - 0x7b, 0x1b, 0x3a, 0xd3, 0xb2, 0x13, 0x47, 0x52, 0x5c, 0xf3, 0xb9, 0x91, 0x9a, 0x5f, 0x56, 0xea, - 0x54, 0x52, 0x03, 0x95, 0xd2, 0x92, 0x30, 0xe3, 0x82, 0xa9, 0xa5, 0x25, 0x58, 0x57, 0x60, 0x21, - 0x43, 0xf8, 0x12, 0xb6, 0x73, 0x54, 0x37, 0x3c, 0x42, 0x1a, 0xa5, 0x45, 0xae, 0x51, 0x19, 0x77, - 0xed, 0xa0, 0x5b, 0xc1, 0x47, 0x16, 0x25, 0x3f, 0x42, 0x37, 0x56, 0x8c, 0x0b, 0x5a, 0xf7, 0xd5, - 0x18, 0xed, 0x1c, 0xee, 0xf9, 0xb6, 0xf1, 0x7e, 0xdd, 0x78, 0xff, 0xb8, 0x22, 0x04, 0x5b, 0x46, - 0x50, 0x2f, 0xc9, 0x05, 0x78, 0x19, 0x53, 0x28, 0x34, 0xcd, 0x93, 0x42, 0xc7, 0xf2, 0x97, 0xb5, - 0x5a, 0x8f, 0xee, 0xab, 0xb5, 0x6b, 0xa5, 0x17, 0x95, 0x72, 0x55, 0xf4, 0x6b, 0xd8, 0x89, 0x79, - 0x1e, 0xc9, 0x1b, 0x54, 0x4b, 0x5a, 0xf7, 0xa6, 0x61, 0x12, 0xb8, 0xab, 0x8d, 0x51, 0xd5, 0xa4, - 0x4b, 0x78, 0xf2, 0x96, 0xac, 0xf0, 0x5a, 0x61, 0x9e, 0xd0, 0x18, 0x53, 0xb6, 0xf4, 0x9a, 0xf7, - 0x18, 0x18, 0x3f, 0xf0, 0x9c, 0xe0, 0xa3, 0x95, 0x3a, 0xb0, 0xe2, 0xe3, 0x52, 0x4b, 0x9e, 0x42, - 0xd7, 0xbe, 0xcc, 0x95, 0x81, 0x56, 0x69, 0xc0, 0x48, 0xb6, 0xec, 0x4e, 0xed, 0x60, 0x0c, 0xdb, - 0x91, 0x14, 0x02, 0x23, 0x4d, 0x35, 0x5f, 0xa0, 0x2c, 0xb4, 0xd7, 0xbe, 0x2f, 0x7a, 0xb7, 0x52, - 0x84, 0x56, 0x40, 0xbe, 0x01, 0x92, 0x6b, 0xa6, 0xf3, 0x98, 0x16, 0x71, 0xb6, 0x3a, 0x12, 0x6c, - 0x66, 0xbb, 0x73, 0x19, 0x67, 0xf5, 0x89, 0x03, 0x70, 0xcd, 0xec, 0x52, 0x16, 0x2f, 0xb8, 0xa0, - 0x99, 0x54, 0xda, 0xeb, 0xf4, 0x9d, 0xc1, 0xa3, 0xa0, 0x6b, 0xf0, 0x51, 0x09, 0x4f, 0xa5, 0xd2, - 0x64, 0x08, 0x3b, 0xec, 0x86, 0xf1, 0x94, 0xcd, 0x78, 0xca, 0xf5, 0x92, 0xbe, 0x91, 0x02, 0xbd, - 0xcd, 0x55, 0x12, 0x77, 0x7d, 0xf3, 0x4a, 0x0a, 0x24, 0x31, 0xec, 0x45, 0x52, 0x68, 0x25, 0x53, - 0x9a, 0xa5, 0x4c, 0x20, 0x65, 0x85, 0x4e, 0x68, 0x26, 0x53, 0x1e, 0x2d, 0xbd, 0xad, 0xbe, 0x33, - 0xe8, 0x1e, 0x3e, 0xbd, 0x73, 0x2e, 0x47, 0x85, 0x4e, 0x50, 0x68, 0x1e, 0x99, 0x80, 0x53, 0x23, - 0x08, 0x76, 0xab, 0x5a, 0xd3, 0xb2, 0x54, 0xc9, 0xb0, 0x78, 0x19, 0x37, 0x2a, 0x72, 0x2d, 0x17, - 0xb4, 0x7a, 0xea, 0xd7, 0x3c, 0x45, 0xaf, 0x6b, 0xe3, 0xda, 0x1d, 0x3b, 0x0d, 0x2f, 0x78, 0x8a, - 0x65, 0xdc, 0xf2, 0x0a, 0xa8, 0x60, 0x0b, 0xa4, 0x29, 0x8a, 0xb9, 0x4e, 0xbc, 0x6d, 0x1b, 0xb7, - 0xc4, 0xcf, 0xd9, 0x02, 0xcf, 0x0c, 0x4a, 0xfa, 0x66, 0x76, 0xa2, 0x42, 0x29, 0x14, 0xd1, 0xd2, - 0x73, 0x0d, 0x69, 0x1d, 0x22, 0x23, 0xf8, 0xc4, 0x5e, 0xdd, 0x4c, 0x4a, 0x9d, 0x6b, 0xc5, 0x32, - 0xaa, 0x71, 0x91, 0xa5, 0x4c, 0xa3, 0x1d, 0xa7, 0x1d, 0x63, 0xa2, 0x67, 0x48, 0xe3, 0x9a, 0x13, - 0x56, 0x14, 0x33, 0x5e, 0x08, 0x3b, 0x5c, 0x68, 0x54, 0x11, 0x66, 0x65, 0x54, 0xba, 0x90, 0x31, - 0x7a, 0xc4, 0x5c, 0xcd, 0x77, 0x77, 0x5e, 0xcd, 0xda, 0x74, 0xfb, 0x13, 0x31, 0x93, 0x85, 0x88, - 0x27, 0x6b, 0x05, 0x5e, 0xca, 0x18, 0x03, 0x97, 0xff, 0x0f, 0x21, 0xdf, 0x42, 0x53, 0xdb, 0x6f, - 0x9d, 0xf7, 0xd8, 0x3c, 0xa7, 0x8f, 0xdf, 0xf7, 0x3d, 0x0c, 0x6a, 0xf2, 0xc1, 0x73, 0x78, 0xf2, - 0x8e, 0x43, 0xc8, 0x26, 0xb4, 0x82, 0x93, 0xe3, 0x49, 0x70, 0x72, 0x14, 0xba, 0x1b, 0x04, 0xa0, - 0x11, 0x4e, 0x83, 0x57, 0x3f, 0xfd, 0xec, 0x3a, 0x5f, 0xfd, 0x00, 0x1f, 0xde, 0xd5, 0x40, 0xd2, - 0x82, 0x87, 0xe7, 0xaf, 0xce, 0x4f, 0xdc, 0x0d, 0xd2, 0x05, 0x78, 0x79, 0x19, 0x5e, 0x8e, 0xce, - 0x68, 0x78, 0x76, 0xe1, 0x3a, 0x64, 0x13, 0x9a, 0x93, 0xf3, 0xd3, 0x93, 0x60, 0x12, 0xba, 0xff, - 0x34, 0xc7, 0x83, 0x3f, 0x6f, 0xf7, 0x9d, 0xbf, 0x6e, 0xf7, 0x9d, 0xbf, 0x6f, 0xf7, 0x9d, 0xab, - 0x9e, 0x35, 0xca, 0xe5, 0x90, 0x65, 0x7c, 0xf8, 0x9f, 0x3f, 0x9d, 0x59, 0xc3, 0x0c, 0xc3, 0xf3, - 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x65, 0xf7, 0xfe, 0xe0, 0x8c, 0x06, 0x00, 0x00, + // 887 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x4d, 0x6f, 0xdb, 0x46, + 0x10, 0x35, 0xdd, 0x44, 0x1f, 0x23, 0x5b, 0xa6, 0x37, 0x89, 0x4d, 0x0b, 0xad, 0xab, 0xba, 0x40, + 0xab, 0xb4, 0x05, 0x85, 0x38, 0x40, 0xd0, 0x4b, 0x8b, 0x4a, 0xb6, 0x03, 0x0b, 0x70, 0x1c, 0x81, + 0x96, 0x81, 0xd6, 0x97, 0xc5, 0x8a, 0x1c, 0x8b, 0x8b, 0x50, 0xbb, 0xc4, 0x72, 0xe9, 0x56, 0xb9, + 0xf5, 0x6f, 0xf5, 0xd8, 0x53, 0x8f, 0xfd, 0x09, 0x85, 0x4f, 0xfd, 0x19, 0x05, 0x77, 0x49, 0x45, + 0x0d, 0x9c, 0xf8, 0xa6, 0x7d, 0xf3, 0xde, 0x70, 0xde, 0xce, 0xcc, 0x0a, 0xf6, 0xe6, 0x98, 0xc5, + 0xfd, 0x9b, 0x67, 0x2c, 0x49, 0x63, 0xf6, 0xac, 0x9f, 0x2a, 0xf9, 0xdb, 0xc2, 0x4f, 0x95, 0xd4, + 0x92, 0x3c, 0xe2, 0x99, 0xe6, 0xd2, 0x2f, 0x08, 0x7e, 0x45, 0xe8, 0xec, 0xcf, 0xa4, 0x9c, 0x25, + 0xd8, 0x37, 0x94, 0x69, 0x7e, 0xdd, 0x8f, 0x72, 0xc5, 0x34, 0x97, 0xc2, 0x8a, 0x0e, 0xfe, 0x5c, + 0x87, 0xfa, 0x44, 0xb1, 0x90, 0x8b, 0x19, 0xf9, 0x01, 0x6a, 0x6f, 0x79, 0xfa, 0x86, 0x0b, 0xcf, + 0xe9, 0x3a, 0xbd, 0xd6, 0xe1, 0x97, 0xfe, 0x1d, 0x19, 0xfd, 0x92, 0xed, 0x5f, 0x19, 0xea, 0xe9, + 0x5a, 0x50, 0x8a, 0xc8, 0x4b, 0x68, 0x26, 0x7c, 0x16, 0xeb, 0x4c, 0x63, 0xea, 0xad, 0x9b, 0x0c, + 0x5f, 0x7d, 0x34, 0xc3, 0x59, 0xc5, 0x3e, 0x5d, 0x0b, 0xde, 0x49, 0x3b, 0x07, 0x50, 0xb3, 0xb9, + 0x89, 0x07, 0x75, 0x16, 0x45, 0x0a, 0xb3, 0xcc, 0x54, 0xd4, 0x0c, 0xaa, 0x63, 0xe7, 0x77, 0x07, + 0x9a, 0x4b, 0xf9, 0x87, 0x79, 0xe4, 0x0b, 0xd8, 0x60, 0x61, 0x88, 0x59, 0x46, 0xb5, 0x7c, 0x83, + 0xc2, 0x94, 0xd5, 0x0c, 0x5a, 0x16, 0x9b, 0x14, 0x10, 0xd9, 0x81, 0x5a, 0x86, 0x61, 0xae, 0xd0, + 0xfb, 0xa4, 0xeb, 0xf4, 0x1a, 0x41, 0x79, 0x22, 0x9f, 0x43, 0x2b, 0x64, 0x21, 0x2a, 0x4d, 0x53, + 0xa6, 0x63, 0xef, 0x81, 0x51, 0x82, 0x85, 0xc6, 0x4c, 0xc7, 0xc3, 0x06, 0xd4, 0xb4, 0x2a, 0x8e, + 0x07, 0x7f, 0x34, 0xa1, 0x35, 0x2e, 0x3a, 0x71, 0x24, 0xc5, 0x35, 0x9f, 0x19, 0xa9, 0xf9, 0x65, + 0xa5, 0x4e, 0x29, 0x35, 0x50, 0x21, 0x2d, 0x08, 0x53, 0x2e, 0x98, 0x5a, 0x58, 0x82, 0xad, 0x0a, + 0x2c, 0x64, 0x08, 0x5f, 0xc3, 0x56, 0x86, 0xea, 0x86, 0x87, 0x48, 0xc3, 0x24, 0xcf, 0x34, 0x2a, + 0x53, 0x5d, 0x33, 0x68, 0x97, 0xf0, 0x91, 0x45, 0xc9, 0x4f, 0xd0, 0x8e, 0x14, 0xe3, 0x82, 0x56, + 0x7d, 0x35, 0x85, 0xb6, 0x0e, 0xf7, 0x7c, 0xdb, 0x78, 0xbf, 0x6a, 0xbc, 0x7f, 0x5c, 0x12, 0x82, + 0x4d, 0x23, 0xa8, 0x8e, 0xe4, 0x02, 0xbc, 0x94, 0x29, 0x14, 0x9a, 0x66, 0x71, 0xae, 0x23, 0xf9, + 0xeb, 0x4a, 0xae, 0x87, 0xf7, 0xe5, 0xda, 0xb1, 0xd2, 0x8b, 0x52, 0xb9, 0x4c, 0xfa, 0x2d, 0x6c, + 0x47, 0x3c, 0x0b, 0xe5, 0x0d, 0xaa, 0x05, 0xad, 0x7a, 0x53, 0x33, 0x0e, 0xdc, 0x65, 0x60, 0x50, + 0x36, 0xe9, 0x12, 0x76, 0xdf, 0x91, 0x15, 0x5e, 0x2b, 0xcc, 0x62, 0x1a, 0x61, 0xc2, 0x16, 0x5e, + 0xfd, 0x9e, 0x02, 0x86, 0xeb, 0x9e, 0x13, 0x3c, 0x59, 0xaa, 0x03, 0x2b, 0x3e, 0x2e, 0xb4, 0xe4, + 0x29, 0xb4, 0xed, 0x64, 0x2e, 0x0b, 0x68, 0x14, 0x05, 0x18, 0xc9, 0xa6, 0x8d, 0x54, 0x15, 0x0c, + 0x61, 0x2b, 0x94, 0x42, 0x60, 0xa8, 0xa9, 0xe6, 0x73, 0x94, 0xb9, 0xf6, 0x9a, 0xf7, 0x59, 0x6f, + 0x97, 0x8a, 0x89, 0x15, 0x90, 0xef, 0x80, 0x64, 0x9a, 0xe9, 0x2c, 0xa2, 0x79, 0x94, 0x2e, 0x3f, + 0x09, 0xd6, 0xb3, 0x8d, 0x5c, 0x46, 0x69, 0xf5, 0xc5, 0x1e, 0xb8, 0x66, 0x77, 0x29, 0x8b, 0xe6, + 0x5c, 0xd0, 0x54, 0x2a, 0xed, 0xb5, 0xba, 0x4e, 0xef, 0x61, 0xd0, 0x36, 0xf8, 0xa0, 0x80, 0xc7, + 0x52, 0x69, 0xd2, 0x87, 0x6d, 0x76, 0xc3, 0x78, 0xc2, 0xa6, 0x3c, 0xe1, 0x7a, 0x41, 0xdf, 0x4a, + 0x81, 0xde, 0xc6, 0xd2, 0x89, 0xbb, 0x1a, 0xbc, 0x92, 0x02, 0x49, 0x04, 0x7b, 0xa1, 0x14, 0x5a, + 0xc9, 0x84, 0xa6, 0x09, 0x13, 0x48, 0x59, 0xae, 0x63, 0x9a, 0xca, 0x84, 0x87, 0x0b, 0x6f, 0xb3, + 0xeb, 0xf4, 0xda, 0x87, 0x4f, 0xef, 0xdc, 0xcb, 0x41, 0xae, 0x63, 0x14, 0x9a, 0x87, 0xc6, 0xe0, + 0xd8, 0x08, 0x82, 0x9d, 0x32, 0xd7, 0xb8, 0x48, 0x55, 0x30, 0x2c, 0x5e, 0xd8, 0x0d, 0xf3, 0x4c, + 0xcb, 0x39, 0x2d, 0x47, 0xfd, 0x9a, 0x27, 0xe8, 0xb5, 0xad, 0x5d, 0x1b, 0xb1, 0xdb, 0xf0, 0x92, + 0x27, 0x58, 0xd8, 0x2d, 0xae, 0x80, 0x0a, 0x36, 0x47, 0x9a, 0xa0, 0x98, 0xe9, 0xd8, 0xdb, 0xb2, + 0x76, 0x0b, 0xfc, 0x9c, 0xcd, 0xf1, 0xcc, 0xa0, 0xa4, 0x6b, 0x76, 0x27, 0xcc, 0x95, 0x42, 0x11, + 0x2e, 0x3c, 0xd7, 0x90, 0x56, 0x21, 0x32, 0x80, 0xcf, 0xec, 0xd5, 0x4d, 0xa5, 0xd4, 0x99, 0x56, + 0x2c, 0xa5, 0x1a, 0xe7, 0x69, 0xc2, 0x34, 0xda, 0x75, 0xda, 0x36, 0x45, 0x74, 0x0c, 0x69, 0x58, + 0x71, 0x26, 0x25, 0xc5, 0xac, 0x17, 0xc2, 0x36, 0x17, 0x1a, 0x55, 0x88, 0x69, 0x61, 0x95, 0xce, + 0x65, 0x84, 0x1e, 0x31, 0x57, 0xf3, 0xfd, 0x9d, 0x57, 0xb3, 0xb2, 0xdd, 0xfe, 0x48, 0x4c, 0x65, + 0x2e, 0xa2, 0xd1, 0x4a, 0x82, 0x57, 0x32, 0xc2, 0xc0, 0xe5, 0xef, 0x21, 0xe4, 0x05, 0xd4, 0xb5, + 0x7d, 0xeb, 0xbc, 0x47, 0x66, 0x9c, 0x3e, 0xfd, 0xd8, 0x7b, 0x18, 0x54, 0x64, 0xf2, 0x02, 0x76, + 0xe7, 0xa8, 0x15, 0x0f, 0x33, 0x5a, 0xbd, 0x02, 0xd5, 0x3c, 0x3d, 0x36, 0xde, 0x9e, 0x94, 0xe1, + 0x0b, 0x1b, 0x2d, 0x87, 0xea, 0xe0, 0x39, 0xec, 0x7e, 0xa0, 0x38, 0xb2, 0x01, 0x8d, 0xe0, 0xe4, + 0x78, 0x14, 0x9c, 0x1c, 0x4d, 0xdc, 0x35, 0x02, 0x50, 0x9b, 0x8c, 0x83, 0xd7, 0x3f, 0xff, 0xe2, + 0x3a, 0xdf, 0xfc, 0x08, 0x8f, 0xef, 0x6a, 0x3c, 0x69, 0xc0, 0x83, 0xf3, 0xd7, 0xe7, 0x27, 0xee, + 0x1a, 0x69, 0x03, 0xbc, 0xba, 0x9c, 0x5c, 0x0e, 0xce, 0xe8, 0xe4, 0xec, 0xc2, 0x75, 0xc8, 0x06, + 0xd4, 0x47, 0xe7, 0xa7, 0x27, 0xc1, 0x68, 0xe2, 0xfe, 0x5b, 0x1f, 0xf6, 0xfe, 0xba, 0xdd, 0x77, + 0xfe, 0xbe, 0xdd, 0x77, 0xfe, 0xb9, 0xdd, 0x77, 0xae, 0x3a, 0xd6, 0x20, 0x97, 0x7d, 0x96, 0xf2, + 0xfe, 0xff, 0xfe, 0xac, 0xa6, 0x35, 0xb3, 0x44, 0xcf, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x16, + 0x7e, 0xb4, 0xcf, 0xc4, 0x06, 0x00, 0x00, } diff --git a/mesh/v1alpha1/proxy.proto b/mesh/v1alpha1/proxy.proto index fcdd14defcc..d1e4d22c8e4 100644 --- a/mesh/v1alpha1/proxy.proto +++ b/mesh/v1alpha1/proxy.proto @@ -119,6 +119,9 @@ message ProxyConfig { // IP Address and Port of a statsd UDP listener (e.g. _10.75.241.127:9125_). string statsd_udp_address = 10; + // Address of the Envoy Metrics Service implementation (e.g. metrics-service:15000). + string metrics_service_address = 20; + // Port on which Envoy should listen for administrative commands. int32 proxy_admin_port = 11; diff --git a/proto.lock b/proto.lock index f4c207dcf90..c48ead92d37 100644 --- a/proto.lock +++ b/proto.lock @@ -1311,6 +1311,11 @@ "name": "statsd_udp_address", "type": "string" }, + { + "id": 20, + "name": "metrics_service_address", + "type": "string" + }, { "id": 11, "name": "proxy_admin_port", diff --git a/python/istio_api/mesh/v1alpha1/proxy_pb2.py b/python/istio_api/mesh/v1alpha1/proxy_pb2.py index faff41274d0..dfd3b34a77f 100644 --- a/python/istio_api/mesh/v1alpha1/proxy_pb2.py +++ b/python/istio_api/mesh/v1alpha1/proxy_pb2.py @@ -21,7 +21,7 @@ name='mesh/v1alpha1/proxy.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xb9\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xda\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12\x1f\n\x17metrics_service_address\x18\x14 \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -46,8 +46,8 @@ ], containing_type=None, options=None, - serialized_start=1164, - serialized_end=1226, + serialized_start=1197, + serialized_end=1259, ) _sym_db.RegisterEnumDescriptor(_AUTHENTICATIONPOLICY) @@ -74,8 +74,8 @@ ], containing_type=None, options=None, - serialized_start=1111, - serialized_end=1162, + serialized_start=1144, + serialized_end=1195, ) _sym_db.RegisterEnumDescriptor(_PROXYCONFIG_INBOUNDINTERCEPTIONMODE) @@ -280,63 +280,70 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='proxy_admin_port', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_admin_port', index=10, + name='metrics_service_address', full_name='istio.mesh.v1alpha1.ProxyConfig.metrics_service_address', index=10, + number=20, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='proxy_admin_port', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_admin_port', index=11, number=11, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='availability_zone', full_name='istio.mesh.v1alpha1.ProxyConfig.availability_zone', index=11, + name='availability_zone', full_name='istio.mesh.v1alpha1.ProxyConfig.availability_zone', index=12, number=12, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='control_plane_auth_policy', full_name='istio.mesh.v1alpha1.ProxyConfig.control_plane_auth_policy', index=12, + name='control_plane_auth_policy', full_name='istio.mesh.v1alpha1.ProxyConfig.control_plane_auth_policy', index=13, number=13, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='custom_config_file', full_name='istio.mesh.v1alpha1.ProxyConfig.custom_config_file', index=13, + name='custom_config_file', full_name='istio.mesh.v1alpha1.ProxyConfig.custom_config_file', index=14, number=14, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='stat_name_length', full_name='istio.mesh.v1alpha1.ProxyConfig.stat_name_length', index=14, + name='stat_name_length', full_name='istio.mesh.v1alpha1.ProxyConfig.stat_name_length', index=15, number=15, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='concurrency', full_name='istio.mesh.v1alpha1.ProxyConfig.concurrency', index=15, + name='concurrency', full_name='istio.mesh.v1alpha1.ProxyConfig.concurrency', index=16, number=16, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='proxy_bootstrap_template_path', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_bootstrap_template_path', index=16, + name='proxy_bootstrap_template_path', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_bootstrap_template_path', index=17, number=17, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='interception_mode', full_name='istio.mesh.v1alpha1.ProxyConfig.interception_mode', index=17, + name='interception_mode', full_name='istio.mesh.v1alpha1.ProxyConfig.interception_mode', index=18, number=18, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='tracing', full_name='istio.mesh.v1alpha1.ProxyConfig.tracing', index=18, + name='tracing', full_name='istio.mesh.v1alpha1.ProxyConfig.tracing', index=19, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -356,7 +363,7 @@ oneofs=[ ], serialized_start=337, - serialized_end=1162, + serialized_end=1195, ) _TRACING_ZIPKIN.containing_type = _TRACING From 124217d8caed6e76e6bdd69ffc5ea0800ad76ac3 Mon Sep 17 00:00:00 2001 From: Diem Vu <25132401+diemtvu@users.noreply.github.com> Date: Thu, 21 Feb 2019 20:09:17 -0800 Subject: [PATCH 04/34] Update comment in the authN API to match with 1.1 behavior (#808) --- .../v1alpha1/istio.authentication.v1alpha1.pb.html | 9 +++++---- authentication/v1alpha1/policy.pb.go | 9 +++++---- authentication/v1alpha1/policy.proto | 9 +++++---- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html index 33e58067d77..65acfb5a370 100644 --- a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html +++ b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html @@ -335,12 +335,13 @@

Policy

Examples:

-

Policy to enable mTLS for all services in namespace frod

+

Policy to enable mTLS for all services in namespace frod. The policy name must be +default, and it contains no rule for targets.

apiVersion: authentication.istio.io/v1alpha1
 kind: Policy
 metadata:
-  name: mTLS_enable
+  name: default
   namespace: frod
 spec:
   peers:
@@ -352,7 +353,7 @@ 

Policy

apiVersion: authentication.istio.io/v1alpha1
 kind: Policy
 metadata:
-  name: mTLS_disable
+  name: productpage_mTLS_disable
   namespace: frod
 spec:
   targets:
@@ -365,7 +366,7 @@ 

Policy

apiVersion: authentication.istio.io/v1alpha1
 kind: Policy
 metadata:
-  name: mTLS_enable
+  name: productpage_mTLS_with_JWT
   namespace: frod
 spec:
   target:
diff --git a/authentication/v1alpha1/policy.pb.go b/authentication/v1alpha1/policy.pb.go
index bae66c1d1b4..e8592ef4a31 100644
--- a/authentication/v1alpha1/policy.pb.go
+++ b/authentication/v1alpha1/policy.pb.go
@@ -640,13 +640,14 @@ func (m *OriginAuthenticationMethod) GetJwt() *Jwt {
 //
 // Examples:
 //
-// Policy to enable mTLS for all services in namespace frod
+// Policy to enable mTLS for all services in namespace frod. The policy name must be
+// `default`, and it contains no rule for `targets`.
 //
 // ```yaml
 // apiVersion: authentication.istio.io/v1alpha1
 // kind: Policy
 // metadata:
-//   name: mTLS_enable
+//   name: default
 //   namespace: frod
 // spec:
 //   peers:
@@ -658,7 +659,7 @@ func (m *OriginAuthenticationMethod) GetJwt() *Jwt {
 // apiVersion: authentication.istio.io/v1alpha1
 // kind: Policy
 // metadata:
-//   name: mTLS_disable
+//   name: productpage_mTLS_disable
 //   namespace: frod
 // spec:
 //   targets:
@@ -671,7 +672,7 @@ func (m *OriginAuthenticationMethod) GetJwt() *Jwt {
 // apiVersion: authentication.istio.io/v1alpha1
 // kind: Policy
 // metadata:
-//   name: mTLS_enable
+//   name: productpage_mTLS_with_JWT
 //   namespace: frod
 // spec:
 //   target:
diff --git a/authentication/v1alpha1/policy.proto b/authentication/v1alpha1/policy.proto
index 31bc82f2cea..916270f9650 100644
--- a/authentication/v1alpha1/policy.proto
+++ b/authentication/v1alpha1/policy.proto
@@ -255,13 +255,14 @@ enum PrincipalBinding {
 //
 // Examples:
 //
-// Policy to enable mTLS for all services in namespace frod
+// Policy to enable mTLS for all services in namespace frod. The policy name must be
+// `default`, and it contains no rule for `targets`.
 //
 // ```yaml
 // apiVersion: authentication.istio.io/v1alpha1
 // kind: Policy
 // metadata:
-//   name: mTLS_enable
+//   name: default
 //   namespace: frod
 // spec:
 //   peers:
@@ -273,7 +274,7 @@ enum PrincipalBinding {
 // apiVersion: authentication.istio.io/v1alpha1
 // kind: Policy
 // metadata:
-//   name: mTLS_disable
+//   name: productpage_mTLS_disable
 //   namespace: frod
 // spec:
 //   targets:
@@ -286,7 +287,7 @@ enum PrincipalBinding {
 // apiVersion: authentication.istio.io/v1alpha1
 // kind: Policy
 // metadata:
-//   name: mTLS_enable
+//   name: productpage_mTLS_with_JWT
 //   namespace: frod
 // spec:
 //   target:

From 2f783dea2d546580f130d00c2c17e327644e92c3 Mon Sep 17 00:00:00 2001
From: Joey Bratton 
Date: Fri, 22 Feb 2019 15:35:39 -0500
Subject: [PATCH 05/34] Rename metrics_service_address to clarify that it is
 for Envoy's API (#809)

Since "metrics service" is so ambiguous, this change specifically denotes that the config is for Envoy's metrics service API. The comments also now link to detailed info about the metrics service API.
---
 mesh/v1alpha1/istio.mesh.v1alpha1.pb.html   |   8 +-
 mesh/v1alpha1/proxy.pb.go                   | 134 ++++++++++----------
 mesh/v1alpha1/proxy.proto                   |   4 +-
 proto.lock                                  |   2 +-
 python/istio_api/mesh/v1alpha1/proxy_pb2.py |  14 +-
 5 files changed, 84 insertions(+), 78 deletions(-)

diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index 00651f14cbd..e4c5546a3fb 100644
--- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -896,11 +896,13 @@ 

ProxyConfig

- - + + diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index 4832ae50a59..1a5eba036dd 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -308,7 +308,9 @@ 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). - MetricsServiceAddress string `protobuf:"bytes,20,opt,name=metrics_service_address,json=metricsServiceAddress,proto3" json:"metrics_service_address,omitempty"` + // See 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. ProxyAdminPort int32 `protobuf:"varint,11,opt,name=proxy_admin_port,json=proxyAdminPort,proto3" json:"proxy_admin_port,omitempty"` // $hide_from_docs @@ -410,9 +412,9 @@ func (m *ProxyConfig) GetStatsdUdpAddress() string { return "" } -func (m *ProxyConfig) GetMetricsServiceAddress() string { +func (m *ProxyConfig) GetEnvoyMetricsServiceAddress() string { if m != nil { - return m.MetricsServiceAddress + return m.EnvoyMetricsServiceAddress } return "" } @@ -763,13 +765,13 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { } i += n8 } - if len(m.MetricsServiceAddress) > 0 { + if len(m.EnvoyMetricsServiceAddress) > 0 { dAtA[i] = 0xa2 i++ dAtA[i] = 0x1 i++ - i = encodeVarintProxy(dAtA, i, uint64(len(m.MetricsServiceAddress))) - i += copy(dAtA[i:], m.MetricsServiceAddress) + i = encodeVarintProxy(dAtA, i, uint64(len(m.EnvoyMetricsServiceAddress))) + i += copy(dAtA[i:], m.EnvoyMetricsServiceAddress) } return i, nil } @@ -915,7 +917,7 @@ func (m *ProxyConfig) Size() (n int) { l = m.Tracing.Size() n += 2 + l + sovProxy(uint64(l)) } - l = len(m.MetricsServiceAddress) + l = len(m.EnvoyMetricsServiceAddress) if l > 0 { n += 2 + l + sovProxy(uint64(l)) } @@ -1837,7 +1839,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 20: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MetricsServiceAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EnvoyMetricsServiceAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1862,7 +1864,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MetricsServiceAddress = string(dAtA[iNdEx:postIndex]) + m.EnvoyMetricsServiceAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -1993,61 +1995,61 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptorProxy) } var fileDescriptorProxy = []byte{ - // 887 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x4d, 0x6f, 0xdb, 0x46, - 0x10, 0x35, 0xdd, 0x44, 0x1f, 0x23, 0x5b, 0xa6, 0x37, 0x89, 0x4d, 0x0b, 0xad, 0xab, 0xba, 0x40, - 0xab, 0xb4, 0x05, 0x85, 0x38, 0x40, 0xd0, 0x4b, 0x8b, 0x4a, 0xb6, 0x03, 0x0b, 0x70, 0x1c, 0x81, - 0x96, 0x81, 0xd6, 0x97, 0xc5, 0x8a, 0x1c, 0x8b, 0x8b, 0x50, 0xbb, 0xc4, 0x72, 0xe9, 0x56, 0xb9, - 0xf5, 0x6f, 0xf5, 0xd8, 0x53, 0x8f, 0xfd, 0x09, 0x85, 0x4f, 0xfd, 0x19, 0x05, 0x77, 0x49, 0x45, - 0x0d, 0x9c, 0xf8, 0xa6, 0x7d, 0xf3, 0xde, 0x70, 0xde, 0xce, 0xcc, 0x0a, 0xf6, 0xe6, 0x98, 0xc5, - 0xfd, 0x9b, 0x67, 0x2c, 0x49, 0x63, 0xf6, 0xac, 0x9f, 0x2a, 0xf9, 0xdb, 0xc2, 0x4f, 0x95, 0xd4, - 0x92, 0x3c, 0xe2, 0x99, 0xe6, 0xd2, 0x2f, 0x08, 0x7e, 0x45, 0xe8, 0xec, 0xcf, 0xa4, 0x9c, 0x25, - 0xd8, 0x37, 0x94, 0x69, 0x7e, 0xdd, 0x8f, 0x72, 0xc5, 0x34, 0x97, 0xc2, 0x8a, 0x0e, 0xfe, 0x5c, - 0x87, 0xfa, 0x44, 0xb1, 0x90, 0x8b, 0x19, 0xf9, 0x01, 0x6a, 0x6f, 0x79, 0xfa, 0x86, 0x0b, 0xcf, - 0xe9, 0x3a, 0xbd, 0xd6, 0xe1, 0x97, 0xfe, 0x1d, 0x19, 0xfd, 0x92, 0xed, 0x5f, 0x19, 0xea, 0xe9, - 0x5a, 0x50, 0x8a, 0xc8, 0x4b, 0x68, 0x26, 0x7c, 0x16, 0xeb, 0x4c, 0x63, 0xea, 0xad, 0x9b, 0x0c, - 0x5f, 0x7d, 0x34, 0xc3, 0x59, 0xc5, 0x3e, 0x5d, 0x0b, 0xde, 0x49, 0x3b, 0x07, 0x50, 0xb3, 0xb9, - 0x89, 0x07, 0x75, 0x16, 0x45, 0x0a, 0xb3, 0xcc, 0x54, 0xd4, 0x0c, 0xaa, 0x63, 0xe7, 0x77, 0x07, - 0x9a, 0x4b, 0xf9, 0x87, 0x79, 0xe4, 0x0b, 0xd8, 0x60, 0x61, 0x88, 0x59, 0x46, 0xb5, 0x7c, 0x83, - 0xc2, 0x94, 0xd5, 0x0c, 0x5a, 0x16, 0x9b, 0x14, 0x10, 0xd9, 0x81, 0x5a, 0x86, 0x61, 0xae, 0xd0, - 0xfb, 0xa4, 0xeb, 0xf4, 0x1a, 0x41, 0x79, 0x22, 0x9f, 0x43, 0x2b, 0x64, 0x21, 0x2a, 0x4d, 0x53, - 0xa6, 0x63, 0xef, 0x81, 0x51, 0x82, 0x85, 0xc6, 0x4c, 0xc7, 0xc3, 0x06, 0xd4, 0xb4, 0x2a, 0x8e, - 0x07, 0x7f, 0x34, 0xa1, 0x35, 0x2e, 0x3a, 0x71, 0x24, 0xc5, 0x35, 0x9f, 0x19, 0xa9, 0xf9, 0x65, - 0xa5, 0x4e, 0x29, 0x35, 0x50, 0x21, 0x2d, 0x08, 0x53, 0x2e, 0x98, 0x5a, 0x58, 0x82, 0xad, 0x0a, - 0x2c, 0x64, 0x08, 0x5f, 0xc3, 0x56, 0x86, 0xea, 0x86, 0x87, 0x48, 0xc3, 0x24, 0xcf, 0x34, 0x2a, - 0x53, 0x5d, 0x33, 0x68, 0x97, 0xf0, 0x91, 0x45, 0xc9, 0x4f, 0xd0, 0x8e, 0x14, 0xe3, 0x82, 0x56, - 0x7d, 0x35, 0x85, 0xb6, 0x0e, 0xf7, 0x7c, 0xdb, 0x78, 0xbf, 0x6a, 0xbc, 0x7f, 0x5c, 0x12, 0x82, - 0x4d, 0x23, 0xa8, 0x8e, 0xe4, 0x02, 0xbc, 0x94, 0x29, 0x14, 0x9a, 0x66, 0x71, 0xae, 0x23, 0xf9, - 0xeb, 0x4a, 0xae, 0x87, 0xf7, 0xe5, 0xda, 0xb1, 0xd2, 0x8b, 0x52, 0xb9, 0x4c, 0xfa, 0x2d, 0x6c, - 0x47, 0x3c, 0x0b, 0xe5, 0x0d, 0xaa, 0x05, 0xad, 0x7a, 0x53, 0x33, 0x0e, 0xdc, 0x65, 0x60, 0x50, - 0x36, 0xe9, 0x12, 0x76, 0xdf, 0x91, 0x15, 0x5e, 0x2b, 0xcc, 0x62, 0x1a, 0x61, 0xc2, 0x16, 0x5e, - 0xfd, 0x9e, 0x02, 0x86, 0xeb, 0x9e, 0x13, 0x3c, 0x59, 0xaa, 0x03, 0x2b, 0x3e, 0x2e, 0xb4, 0xe4, - 0x29, 0xb4, 0xed, 0x64, 0x2e, 0x0b, 0x68, 0x14, 0x05, 0x18, 0xc9, 0xa6, 0x8d, 0x54, 0x15, 0x0c, - 0x61, 0x2b, 0x94, 0x42, 0x60, 0xa8, 0xa9, 0xe6, 0x73, 0x94, 0xb9, 0xf6, 0x9a, 0xf7, 0x59, 0x6f, - 0x97, 0x8a, 0x89, 0x15, 0x90, 0xef, 0x80, 0x64, 0x9a, 0xe9, 0x2c, 0xa2, 0x79, 0x94, 0x2e, 0x3f, - 0x09, 0xd6, 0xb3, 0x8d, 0x5c, 0x46, 0x69, 0xf5, 0xc5, 0x1e, 0xb8, 0x66, 0x77, 0x29, 0x8b, 0xe6, - 0x5c, 0xd0, 0x54, 0x2a, 0xed, 0xb5, 0xba, 0x4e, 0xef, 0x61, 0xd0, 0x36, 0xf8, 0xa0, 0x80, 0xc7, - 0x52, 0x69, 0xd2, 0x87, 0x6d, 0x76, 0xc3, 0x78, 0xc2, 0xa6, 0x3c, 0xe1, 0x7a, 0x41, 0xdf, 0x4a, - 0x81, 0xde, 0xc6, 0xd2, 0x89, 0xbb, 0x1a, 0xbc, 0x92, 0x02, 0x49, 0x04, 0x7b, 0xa1, 0x14, 0x5a, - 0xc9, 0x84, 0xa6, 0x09, 0x13, 0x48, 0x59, 0xae, 0x63, 0x9a, 0xca, 0x84, 0x87, 0x0b, 0x6f, 0xb3, - 0xeb, 0xf4, 0xda, 0x87, 0x4f, 0xef, 0xdc, 0xcb, 0x41, 0xae, 0x63, 0x14, 0x9a, 0x87, 0xc6, 0xe0, - 0xd8, 0x08, 0x82, 0x9d, 0x32, 0xd7, 0xb8, 0x48, 0x55, 0x30, 0x2c, 0x5e, 0xd8, 0x0d, 0xf3, 0x4c, - 0xcb, 0x39, 0x2d, 0x47, 0xfd, 0x9a, 0x27, 0xe8, 0xb5, 0xad, 0x5d, 0x1b, 0xb1, 0xdb, 0xf0, 0x92, - 0x27, 0x58, 0xd8, 0x2d, 0xae, 0x80, 0x0a, 0x36, 0x47, 0x9a, 0xa0, 0x98, 0xe9, 0xd8, 0xdb, 0xb2, - 0x76, 0x0b, 0xfc, 0x9c, 0xcd, 0xf1, 0xcc, 0xa0, 0xa4, 0x6b, 0x76, 0x27, 0xcc, 0x95, 0x42, 0x11, - 0x2e, 0x3c, 0xd7, 0x90, 0x56, 0x21, 0x32, 0x80, 0xcf, 0xec, 0xd5, 0x4d, 0xa5, 0xd4, 0x99, 0x56, - 0x2c, 0xa5, 0x1a, 0xe7, 0x69, 0xc2, 0x34, 0xda, 0x75, 0xda, 0x36, 0x45, 0x74, 0x0c, 0x69, 0x58, - 0x71, 0x26, 0x25, 0xc5, 0xac, 0x17, 0xc2, 0x36, 0x17, 0x1a, 0x55, 0x88, 0x69, 0x61, 0x95, 0xce, - 0x65, 0x84, 0x1e, 0x31, 0x57, 0xf3, 0xfd, 0x9d, 0x57, 0xb3, 0xb2, 0xdd, 0xfe, 0x48, 0x4c, 0x65, - 0x2e, 0xa2, 0xd1, 0x4a, 0x82, 0x57, 0x32, 0xc2, 0xc0, 0xe5, 0xef, 0x21, 0xe4, 0x05, 0xd4, 0xb5, - 0x7d, 0xeb, 0xbc, 0x47, 0x66, 0x9c, 0x3e, 0xfd, 0xd8, 0x7b, 0x18, 0x54, 0x64, 0xf2, 0x02, 0x76, - 0xe7, 0xa8, 0x15, 0x0f, 0x33, 0x5a, 0xbd, 0x02, 0xd5, 0x3c, 0x3d, 0x36, 0xde, 0x9e, 0x94, 0xe1, - 0x0b, 0x1b, 0x2d, 0x87, 0xea, 0xe0, 0x39, 0xec, 0x7e, 0xa0, 0x38, 0xb2, 0x01, 0x8d, 0xe0, 0xe4, - 0x78, 0x14, 0x9c, 0x1c, 0x4d, 0xdc, 0x35, 0x02, 0x50, 0x9b, 0x8c, 0x83, 0xd7, 0x3f, 0xff, 0xe2, - 0x3a, 0xdf, 0xfc, 0x08, 0x8f, 0xef, 0x6a, 0x3c, 0x69, 0xc0, 0x83, 0xf3, 0xd7, 0xe7, 0x27, 0xee, - 0x1a, 0x69, 0x03, 0xbc, 0xba, 0x9c, 0x5c, 0x0e, 0xce, 0xe8, 0xe4, 0xec, 0xc2, 0x75, 0xc8, 0x06, - 0xd4, 0x47, 0xe7, 0xa7, 0x27, 0xc1, 0x68, 0xe2, 0xfe, 0x5b, 0x1f, 0xf6, 0xfe, 0xba, 0xdd, 0x77, - 0xfe, 0xbe, 0xdd, 0x77, 0xfe, 0xb9, 0xdd, 0x77, 0xae, 0x3a, 0xd6, 0x20, 0x97, 0x7d, 0x96, 0xf2, - 0xfe, 0xff, 0xfe, 0xac, 0xa6, 0x35, 0xb3, 0x44, 0xcf, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x16, - 0x7e, 0xb4, 0xcf, 0xc4, 0x06, 0x00, 0x00, + // 892 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xdb, 0xb6, + 0x17, 0x8d, 0xf2, 0x6b, 0xfd, 0xe7, 0x3a, 0x71, 0x14, 0xb6, 0xbf, 0x54, 0x31, 0xb6, 0xcc, 0xcb, + 0x80, 0xcd, 0xdd, 0x06, 0x19, 0x4d, 0x81, 0x61, 0x2f, 0x1b, 0x66, 0x27, 0x29, 0x62, 0x20, 0x49, + 0x0d, 0xc5, 0x01, 0xb6, 0xbc, 0x10, 0xb4, 0x74, 0x63, 0x11, 0x95, 0x49, 0x81, 0xa2, 0xbc, 0xb9, + 0x6f, 0xfb, 0x6a, 0x03, 0x06, 0xec, 0x71, 0x1f, 0x61, 0xc8, 0xd3, 0x3e, 0xc6, 0x20, 0x52, 0x72, + 0xbd, 0x21, 0x6d, 0xde, 0xcc, 0xc3, 0x73, 0xae, 0xce, 0x21, 0xef, 0xa5, 0x61, 0x7f, 0x8e, 0x59, + 0xdc, 0x5f, 0xbc, 0x60, 0x49, 0x1a, 0xb3, 0x17, 0xfd, 0x54, 0xc9, 0x5f, 0x96, 0x7e, 0xaa, 0xa4, + 0x96, 0xe4, 0x09, 0xcf, 0x34, 0x97, 0x7e, 0x41, 0xf0, 0x2b, 0x42, 0xe7, 0x60, 0x26, 0xe5, 0x2c, + 0xc1, 0xbe, 0xa1, 0x4c, 0xf3, 0xdb, 0x7e, 0x94, 0x2b, 0xa6, 0xb9, 0x14, 0x56, 0x74, 0xf8, 0xdb, + 0x26, 0xd4, 0x27, 0x8a, 0x85, 0x5c, 0xcc, 0xc8, 0x77, 0x50, 0x7b, 0xcb, 0xd3, 0x37, 0x5c, 0x78, + 0x4e, 0xd7, 0xe9, 0xb5, 0x8e, 0x3e, 0xf3, 0xef, 0xa9, 0xe8, 0x97, 0x6c, 0xff, 0xc6, 0x50, 0xcf, + 0x36, 0x82, 0x52, 0x44, 0x5e, 0x41, 0x33, 0xe1, 0xb3, 0x58, 0x67, 0x1a, 0x53, 0x6f, 0xd3, 0x54, + 0xf8, 0xfc, 0x83, 0x15, 0xce, 0x2b, 0xf6, 0xd9, 0x46, 0xf0, 0x4e, 0xda, 0x39, 0x84, 0x9a, 0xad, + 0x4d, 0x3c, 0xa8, 0xb3, 0x28, 0x52, 0x98, 0x65, 0xc6, 0x51, 0x33, 0xa8, 0x96, 0x9d, 0x5f, 0x1d, + 0x68, 0xae, 0xe4, 0xef, 0xe7, 0x91, 0x4f, 0x61, 0x8b, 0x85, 0x21, 0x66, 0x19, 0xd5, 0xf2, 0x0d, + 0x0a, 0x63, 0xab, 0x19, 0xb4, 0x2c, 0x36, 0x29, 0x20, 0xb2, 0x07, 0xb5, 0x0c, 0xc3, 0x5c, 0xa1, + 0xf7, 0xbf, 0xae, 0xd3, 0x6b, 0x04, 0xe5, 0x8a, 0x7c, 0x02, 0xad, 0x90, 0x85, 0xa8, 0x34, 0x4d, + 0x99, 0x8e, 0xbd, 0x47, 0x46, 0x09, 0x16, 0x1a, 0x33, 0x1d, 0x0f, 0x1b, 0x50, 0xd3, 0xaa, 0x58, + 0x1e, 0xfe, 0xde, 0x84, 0xd6, 0xb8, 0xb8, 0x89, 0x63, 0x29, 0x6e, 0xf9, 0xcc, 0x48, 0xcd, 0x2f, + 0x2b, 0x75, 0x4a, 0xa9, 0x81, 0x0a, 0x69, 0x41, 0x98, 0x72, 0xc1, 0xd4, 0xd2, 0x12, 0xac, 0x2b, + 0xb0, 0x90, 0x21, 0x7c, 0x01, 0x3b, 0x19, 0xaa, 0x05, 0x0f, 0x91, 0x86, 0x49, 0x9e, 0x69, 0x54, + 0xc6, 0x5d, 0x33, 0x68, 0x97, 0xf0, 0xb1, 0x45, 0xc9, 0x0f, 0xd0, 0x8e, 0x14, 0xe3, 0x82, 0x56, + 0xf7, 0x6a, 0x8c, 0xb6, 0x8e, 0xf6, 0x7d, 0x7b, 0xf1, 0x7e, 0x75, 0xf1, 0xfe, 0x49, 0x49, 0x08, + 0xb6, 0x8d, 0xa0, 0x5a, 0x92, 0x2b, 0xf0, 0x52, 0xa6, 0x50, 0x68, 0x9a, 0xc5, 0xb9, 0x8e, 0xe4, + 0xcf, 0x6b, 0xb5, 0x1e, 0x3f, 0x54, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xaa, 0xe8, 0x57, 0xb0, + 0x1b, 0xf1, 0x2c, 0x94, 0x0b, 0x54, 0x4b, 0x5a, 0xdd, 0x4d, 0xcd, 0x24, 0x70, 0x57, 0x1b, 0x83, + 0xf2, 0x92, 0xae, 0xe1, 0xd9, 0x3b, 0xb2, 0xc2, 0x5b, 0x85, 0x59, 0x4c, 0x23, 0x4c, 0xd8, 0xd2, + 0xab, 0x3f, 0x60, 0x60, 0xb8, 0xe9, 0x39, 0xc1, 0xff, 0x57, 0xea, 0xc0, 0x8a, 0x4f, 0x0a, 0x2d, + 0x79, 0x0e, 0x6d, 0xdb, 0x99, 0x2b, 0x03, 0x8d, 0xc2, 0x80, 0x91, 0x6c, 0xdb, 0x9d, 0xca, 0xc1, + 0x10, 0x76, 0x42, 0x29, 0x04, 0x86, 0x9a, 0x6a, 0x3e, 0x47, 0x99, 0x6b, 0xaf, 0xf9, 0x50, 0xf4, + 0x76, 0xa9, 0x98, 0x58, 0x01, 0xf9, 0x1a, 0x48, 0xa6, 0x99, 0xce, 0x22, 0x9a, 0x47, 0xe9, 0xea, + 0x93, 0x60, 0x33, 0xdb, 0x9d, 0xeb, 0x28, 0xad, 0xbe, 0xd8, 0x03, 0xd7, 0xcc, 0x2e, 0x65, 0xd1, + 0x9c, 0x0b, 0x9a, 0x4a, 0xa5, 0xbd, 0x56, 0xd7, 0xe9, 0x3d, 0x0e, 0xda, 0x06, 0x1f, 0x14, 0xf0, + 0x58, 0x2a, 0x4d, 0xfa, 0xb0, 0xcb, 0x16, 0x8c, 0x27, 0x6c, 0xca, 0x13, 0xae, 0x97, 0xf4, 0xad, + 0x14, 0xe8, 0x6d, 0xad, 0x92, 0xb8, 0xeb, 0x9b, 0x37, 0x52, 0x20, 0x89, 0x60, 0x3f, 0x94, 0x42, + 0x2b, 0x99, 0xd0, 0x34, 0x61, 0x02, 0x29, 0xcb, 0x75, 0x4c, 0x53, 0x99, 0xf0, 0x70, 0xe9, 0x6d, + 0x77, 0x9d, 0x5e, 0xfb, 0xe8, 0xf9, 0xbd, 0x73, 0x39, 0xc8, 0x75, 0x8c, 0x42, 0xf3, 0xd0, 0x04, + 0x1c, 0x1b, 0x41, 0xb0, 0x57, 0xd6, 0x1a, 0x17, 0xa5, 0x0a, 0x86, 0xc5, 0x8b, 0xb8, 0x61, 0x9e, + 0x69, 0x39, 0xa7, 0x65, 0xab, 0xdf, 0xf2, 0x04, 0xbd, 0xb6, 0x8d, 0x6b, 0x77, 0xec, 0x34, 0xbc, + 0xe2, 0x09, 0x16, 0x71, 0x8b, 0x23, 0xa0, 0x82, 0xcd, 0x91, 0x26, 0x28, 0x66, 0x3a, 0xf6, 0x76, + 0x6c, 0xdc, 0x02, 0xbf, 0x64, 0x73, 0x3c, 0x37, 0x28, 0xe9, 0x9a, 0xd9, 0x09, 0x73, 0xa5, 0x50, + 0x84, 0x4b, 0xcf, 0x35, 0xa4, 0x75, 0x88, 0x0c, 0xe0, 0x63, 0x7b, 0x74, 0x53, 0x29, 0x75, 0xa6, + 0x15, 0x4b, 0xa9, 0xc6, 0x79, 0x9a, 0x30, 0x8d, 0x76, 0x9c, 0x76, 0x8d, 0x89, 0x8e, 0x21, 0x0d, + 0x2b, 0xce, 0xa4, 0xa4, 0x98, 0xf1, 0x42, 0xd8, 0xe5, 0x42, 0xa3, 0x0a, 0x31, 0x2d, 0xa2, 0xd2, + 0xb9, 0x8c, 0xd0, 0x23, 0xe6, 0x68, 0xbe, 0xbd, 0xf7, 0x68, 0xd6, 0xa6, 0xdb, 0x1f, 0x89, 0xa9, + 0xcc, 0x45, 0x34, 0x5a, 0x2b, 0x70, 0x21, 0x23, 0x0c, 0x5c, 0xfe, 0x1f, 0x84, 0x7c, 0x03, 0x75, + 0x6d, 0xdf, 0x3a, 0xef, 0x89, 0x69, 0xa7, 0x8f, 0x3e, 0xf4, 0x1e, 0x06, 0x15, 0xb9, 0x48, 0x88, + 0x62, 0x21, 0x97, 0x74, 0x8e, 0x5a, 0xf1, 0x30, 0xa3, 0xd5, 0x5b, 0x50, 0x75, 0xd5, 0x53, 0x9b, + 0xd0, 0x90, 0x2e, 0x2c, 0xe7, 0xca, 0x52, 0xca, 0xfe, 0x3a, 0x7c, 0x09, 0xcf, 0xde, 0xe3, 0x93, + 0x6c, 0x41, 0x23, 0x38, 0x3d, 0x19, 0x05, 0xa7, 0xc7, 0x13, 0x77, 0x83, 0x00, 0xd4, 0x26, 0xe3, + 0xe0, 0xf5, 0x8f, 0x3f, 0xb9, 0xce, 0x97, 0xdf, 0xc3, 0xd3, 0xfb, 0x7a, 0x80, 0x34, 0xe0, 0xd1, + 0xe5, 0xeb, 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, + 0xbf, 0x72, 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, + 0xbd, 0x3f, 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0xcd, + 0xca, 0x65, 0x9f, 0xa5, 0xbc, 0xff, 0xaf, 0xff, 0xad, 0x69, 0xcd, 0xcc, 0xd3, 0xcb, 0x7f, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x3f, 0x0f, 0x26, 0x61, 0xcf, 0x06, 0x00, 0x00, } diff --git a/mesh/v1alpha1/proxy.proto b/mesh/v1alpha1/proxy.proto index d1e4d22c8e4..576289c8add 100644 --- a/mesh/v1alpha1/proxy.proto +++ b/mesh/v1alpha1/proxy.proto @@ -120,7 +120,9 @@ message ProxyConfig { string statsd_udp_address = 10; // Address of the Envoy Metrics Service implementation (e.g. metrics-service:15000). - string metrics_service_address = 20; + // See 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; diff --git a/proto.lock b/proto.lock index c48ead92d37..e928431dd2e 100644 --- a/proto.lock +++ b/proto.lock @@ -1313,7 +1313,7 @@ }, { "id": 20, - "name": "metrics_service_address", + "name": "envoy_metrics_service_address", "type": "string" }, { diff --git a/python/istio_api/mesh/v1alpha1/proxy_pb2.py b/python/istio_api/mesh/v1alpha1/proxy_pb2.py index dfd3b34a77f..00f6ff7741d 100644 --- a/python/istio_api/mesh/v1alpha1/proxy_pb2.py +++ b/python/istio_api/mesh/v1alpha1/proxy_pb2.py @@ -21,7 +21,7 @@ name='mesh/v1alpha1/proxy.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xda\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12\x1f\n\x17metrics_service_address\x18\x14 \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xe0\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12%\n\x1d\x65nvoy_metrics_service_address\x18\x14 \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -46,8 +46,8 @@ ], containing_type=None, options=None, - serialized_start=1197, - serialized_end=1259, + serialized_start=1203, + serialized_end=1265, ) _sym_db.RegisterEnumDescriptor(_AUTHENTICATIONPOLICY) @@ -74,8 +74,8 @@ ], containing_type=None, options=None, - serialized_start=1144, - serialized_end=1195, + serialized_start=1150, + serialized_end=1201, ) _sym_db.RegisterEnumDescriptor(_PROXYCONFIG_INBOUNDINTERCEPTIONMODE) @@ -280,7 +280,7 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='metrics_service_address', full_name='istio.mesh.v1alpha1.ProxyConfig.metrics_service_address', index=10, + name='envoy_metrics_service_address', full_name='istio.mesh.v1alpha1.ProxyConfig.envoy_metrics_service_address', index=10, number=20, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, @@ -363,7 +363,7 @@ oneofs=[ ], serialized_start=337, - serialized_end=1195, + serialized_end=1201, ) _TRACING_ZIPKIN.containing_type = _TRACING From 5f14eaddcf0a6122ec4476e185c6bc5660b5172b Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Fri, 22 Feb 2019 16:18:23 -0500 Subject: [PATCH 06/34] Generate separate HTML page per proto under networking (#811) * Generate separate pages for each networking proto Signed-off-by: Shriram Rajagopalan * update Signed-off-by: Shriram Rajagopalan * tweaks Signed-off-by: Shriram Rajagopalan * Fix interdoc references * separate doc and go gen * change dash to underscore * fix * more fixes * makefile fix Signed-off-by: Shriram Rajagopalan * remove bad target * Revert "change dash to underscore" This reverts commit 7fbced66f620fb60b0d5e18af916567e313a0109. * final update Signed-off-by: Shriram Rajagopalan --- Makefile | 11 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 4 +- networking/v1alpha3/destination_rule.pb.go | 145 +- networking/v1alpha3/destination_rule.pb.html | 1021 ++++ networking/v1alpha3/destination_rule.proto | 14 +- networking/v1alpha3/envoy_filter.pb.go | 37 - networking/v1alpha3/envoy_filter.pb.html | 400 ++ networking/v1alpha3/envoy_filter.proto | 12 +- networking/v1alpha3/gateway.pb.go | 135 - networking/v1alpha3/gateway.pb.html | 563 ++ networking/v1alpha3/gateway.proto | 14 +- .../istio.networking.v1alpha3.pb.html | 4665 ----------------- networking/v1alpha3/service_entry.pb.go | 308 +- networking/v1alpha3/service_entry.pb.html | 612 +++ networking/v1alpha3/service_entry.proto | 12 +- networking/v1alpha3/sidecar.pb.go | 77 - networking/v1alpha3/sidecar.pb.html | 348 ++ networking/v1alpha3/sidecar.proto | 10 +- networking/v1alpha3/virtual_service.pb.go | 64 +- networking/v1alpha3/virtual_service.pb.html | 1759 +++++++ networking/v1alpha3/virtual_service.proto | 21 +- 21 files changed, 4838 insertions(+), 5394 deletions(-) create mode 100644 networking/v1alpha3/destination_rule.pb.html create mode 100644 networking/v1alpha3/envoy_filter.pb.html create mode 100644 networking/v1alpha3/gateway.pb.html delete mode 100644 networking/v1alpha3/istio.networking.v1alpha3.pb.html create mode 100644 networking/v1alpha3/service_entry.pb.html create mode 100644 networking/v1alpha3/sidecar.pb.html create mode 100644 networking/v1alpha3/virtual_service.pb.html diff --git a/Makefile b/Makefile index 5d804e31ac5..3b80c0e63a6 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,7 @@ gogoslick_plugin := $(gogoslick_plugin_prefix)$(gogo_mapping):$(out_path) ######################## protoc_gen_docs_plugin := --docs_out=warnings=true,mode=html_fragment_with_front_matter:$(repo_dir)/ +protoc_gen_docs_plugin_for_networking := --docs_out=warnings=true,per_file=true,mode=html_fragment_with_front_matter:$(repo_dir)/ ##################### # Generation Rules @@ -239,14 +240,14 @@ routing_v1alpha3_path := networking/v1alpha3 routing_v1alpha3_protos := $(shell find networking/v1alpha3 -type f -name '*.proto' | sort) routing_v1alpha3_pb_gos := $(routing_v1alpha3_protos:.proto=.pb.go) routing_v1alpha3_pb_pythons := $(routing_v1alpha3_protos:.proto=_pb2.py) -routing_v1alpha3_pb_doc := $(routing_v1alpha3_path)/istio.routing.v1alpha3.pb.html +routing_v1alpha3_pb_docs := $(routing_v1alpha3_protos:.proto=.pb.html) -generate-routing-go: $(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc) +generate-routing-go: $(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_docs) -$(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc): $(routing_v1alpha3_protos) +$(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_docs): $(routing_v1alpha3_protos) ## Generate networking/v1alpha3/*.pb.go @$(docker_lock) status - @$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(routing_v1alpha3_path) $^ + @$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin_for_networking)$(routing_v1alpha3_path) $^ generate-routing-python: $(routing_v1alpha3_pb_pythons) @@ -257,7 +258,7 @@ $(routing_v1alpha3_pb_pythons): $(routing_v1alpha3_protos) clean-routing: rm -f $(routing_v1alpha3_pb_gos) - rm -f $(routing_v1alpha3_pb_doc) + rm -f $(routing_v1alpha3_pb_docs) ##################### # rbac/... diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index e4c5546a3fb..b1c7ad57eee 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -75,7 +75,7 @@

ConfigSource

- + - + - + - + - + - + diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 5759ff50958..6dfae5ce0ff 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -122,9 +122,23 @@ message DestinationRule { // service. Traffic policies can be overridden at subset level. repeated Subset subsets = 3; - // The resolution of a DestinationRule to apply to a service occurs in the - // context of a hierarchy of namespaces. This rule controls whether those - // namespaces are allowed to select this rule. + // A list of namespaces to which this destination rule is exported. + // The resolution of a destination rule to apply to a service occurs in the + // context of a hierarchy of namespaces. Exporting a destination rule allows + // it to be included in the resolution hierarchy for services in + // other namespaces. This feature provides a mechanism for service owners + // and mesh administrators to control the visibility of destination rules + // across namespace boundaries. + // + // If no namespaces are specified then the destination rule is exported to all + // namespaces by default. + // + // The value "." is reserved and defines an export to the same namespace that + // the destination rule is declared in. Similarly, the value "*" is reserved and + // defines an export to all namespaces. + // + // NOTE: in the current release, the `exportTo` value is restricted to + // "." or "*" (i.e., the current namespace or all namespaces). repeated string export_to = 4; } diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index b6923884133..12464c95134 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -116,7 +116,7 @@ // The following example demonstrates the use of a dedicated egress gateway // through which all external service traffic is forwarded. // The 'exportTo' field allows for control over the visibility of a service -// declaration to other namespaces in the mesh. By default a service is exported +// declaration to other namespaces in the mesh. By default, a service is exported // to all namespaces. The following example restricts the visibility to the // current namespace, represented by ".", so that it cannot be used by other // namespaces. @@ -177,7 +177,7 @@ // hosts: // - httpbin.com // exportTo: -// - * +// - "*" // gateways: // - mesh // - istio-egressgateway @@ -455,7 +455,7 @@ type ServiceEntry struct { // One or more endpoints associated with the service. Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // A list of namespaces to which this service is exported. Exporting a service - // allows it to used by sidecars, gateways and virtual services defined in + // allows it to be used by sidecars, gateways and virtual services defined in // other namespaces. This feature provides a mechanism for service owners // and mesh administrators to control the visibility of services across // namespace boundaries. @@ -464,12 +464,15 @@ type ServiceEntry struct { // namespaces by default. // // The value "." is reserved and defines an export to the same namespace that - // the service is declared in, similarly the value "*" is reserved and + // the service is declared in. Similarly the value "*" is reserved and // defines an export to all namespaces. // - // For a Kubernetes Service the equivalent effect can be achieved by setting + // For a Kubernetes Service, the equivalent effect can be achieved by setting // the annotation "networking.istio.io/exportTo" to a comma-separated list // of namespace names. + // + // NOTE: in the current release, the `exportTo` value is restricted to + // "." or "*" (i.e., the current namespace or all namespaces). ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html index a53b377df89..3846c14e82d 100644 --- a/networking/v1alpha3/service_entry.pb.html +++ b/networking/v1alpha3/service_entry.pb.html @@ -117,7 +117,7 @@

The following example demonstrates the use of a dedicated egress gateway through which all external service traffic is forwarded. The ‘exportTo’ field allows for control over the visibility of a service -declaration to other namespaces in the mesh. By default a service is exported +declaration to other namespaces in the mesh. By default, a service is exported to all namespaces. The following example restricts the visibility to the current namespace, represented by “.”, so that it cannot be used by other namespaces.

@@ -175,7 +175,7 @@ hosts: - httpbin.com exportTo: - - * + - "*" gateways: - mesh - istio-egressgateway @@ -389,7 +389,7 @@

ServiceEntry

diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 0964ead5073..13510f3c3ea 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -135,7 +135,7 @@ import "networking/v1alpha3/gateway.proto"; // The following example demonstrates the use of a dedicated egress gateway // through which all external service traffic is forwarded. // The 'exportTo' field allows for control over the visibility of a service -// declaration to other namespaces in the mesh. By default a service is exported +// declaration to other namespaces in the mesh. By default, a service is exported // to all namespaces. The following example restricts the visibility to the // current namespace, represented by ".", so that it cannot be used by other // namespaces. @@ -196,7 +196,7 @@ import "networking/v1alpha3/gateway.proto"; // hosts: // - httpbin.com // exportTo: -// - * +// - "*" // gateways: // - mesh // - istio-egressgateway @@ -475,7 +475,7 @@ message ServiceEntry { repeated Endpoint endpoints = 6; // A list of namespaces to which this service is exported. Exporting a service - // allows it to used by sidecars, gateways and virtual services defined in + // allows it to be used by sidecars, gateways and virtual services defined in // other namespaces. This feature provides a mechanism for service owners // and mesh administrators to control the visibility of services across // namespace boundaries. @@ -484,12 +484,15 @@ message ServiceEntry { // namespaces by default. // // The value "." is reserved and defines an export to the same namespace that - // the service is declared in, similarly the value "*" is reserved and + // the service is declared in. Similarly the value "*" is reserved and // defines an export to all namespaces. // - // For a Kubernetes Service the equivalent effect can be achieved by setting + // For a Kubernetes Service, the equivalent effect can be achieved by setting // the annotation "networking.istio.io/exportTo" to a comma-separated list // of namespace names. + // + // NOTE: in the current release, the `exportTo` value is restricted to + // "." or "*" (i.e., the current namespace or all namespaces). repeated string export_to = 7; // The list of subject alternate names allowed for workloads that diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 5426007e362..e8dbbba0fbd 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -170,7 +170,7 @@ type VirtualService struct { // matching an incoming request is used. Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp,proto3" json:"tcp,omitempty"` // A list of namespaces to which this virtual service is exported. Exporting a - // virtual service allows it to used by sidecars and gateways defined in + // virtual service allows it to be used by sidecars and gateways defined in // other namespaces. This feature provides a mechanism for service owners // and mesh administrators to control the visibility of virtual services // across namespace boundaries. @@ -179,8 +179,11 @@ type VirtualService struct { // namespaces by default. // // The value "." is reserved and defines an export to the same namespace that - // the virtual service is declared in, similarly the value "*" is reserved and + // the virtual service is declared in. Similarly the value "*" is reserved and // defines an export to all namespaces. + // + // NOTE: in the current release, the `exportTo` value is restricted to + // "." or "*" (i.e., the current namespace or all namespaces). ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html index c70eea2f091..ccb2621298e 100644 --- a/networking/v1alpha3/virtual_service.pb.html +++ b/networking/v1alpha3/virtual_service.pb.html @@ -1740,7 +1740,7 @@

VirtualService

diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 823adc02bac..a05b190e76b 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -176,7 +176,7 @@ message VirtualService { repeated TCPRoute tcp = 4; // A list of namespaces to which this virtual service is exported. Exporting a - // virtual service allows it to used by sidecars and gateways defined in + // virtual service allows it to be used by sidecars and gateways defined in // other namespaces. This feature provides a mechanism for service owners // and mesh administrators to control the visibility of virtual services // across namespace boundaries. @@ -185,8 +185,11 @@ message VirtualService { // namespaces by default. // // The value "." is reserved and defines an export to the same namespace that - // the virtual service is declared in, similarly the value "*" is reserved and + // the virtual service is declared in. Similarly the value "*" is reserved and // defines an export to all namespaces. + // + // NOTE: in the current release, the `exportTo` value is restricted to + // "." or "*" (i.e., the current namespace or all namespaces). repeated string export_to = 6; } From f2e09a7a27446db1b33a26b169d6a88556e7ebbd Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Tue, 26 Feb 2019 19:39:05 -0800 Subject: [PATCH 17/34] Doc fixes. (#821) --- dictionaries/custom.txt | 7 ++-- mesh/v1alpha1/config.pb.go | 30 ++++++++-------- mesh/v1alpha1/config.proto | 30 ++++++++-------- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 24 ++++++------- mesh/v1alpha1/network.pb.go | 2 +- mesh/v1alpha1/network.proto | 2 +- .../istio.mixer.adapter.model.v1beta1.pb.html | 2 +- mixer/adapter/model/v1beta1/template.pb.go | 2 +- mixer/adapter/model/v1beta1/template.proto | 2 +- mixer/v1/config/client/client_config.pb.go | 12 +++---- mixer/v1/config/client/client_config.proto | 12 +++---- .../istio.mixer.v1.config.client.pb.html | 12 +++---- networking/v1alpha3/envoy_filter.pb.html | 2 +- networking/v1alpha3/envoy_filter.proto | 2 +- networking/v1alpha3/gateway.pb.go | 12 +++---- networking/v1alpha3/gateway.pb.html | 8 ++--- networking/v1alpha3/gateway.proto | 12 +++---- networking/v1alpha3/service_entry.pb.go | 4 +-- networking/v1alpha3/service_entry.pb.html | 4 +-- networking/v1alpha3/service_entry.proto | 4 +-- networking/v1alpha3/sidecar.pb.go | 34 +++++++++---------- networking/v1alpha3/sidecar.pb.html | 34 +++++++++---------- networking/v1alpha3/sidecar.proto | 34 +++++++++---------- networking/v1alpha3/virtual_service.pb.go | 2 +- networking/v1alpha3/virtual_service.pb.html | 2 +- networking/v1alpha3/virtual_service.proto | 2 +- policy/v1beta1/cfg.pb.go | 16 ++++----- policy/v1beta1/cfg.proto | 16 ++++----- policy/v1beta1/istio.policy.v1beta1.pb.html | 30 ++++++++-------- policy/v1beta1/type.pb.go | 14 ++++---- policy/v1beta1/type.proto | 14 ++++---- 31 files changed, 193 insertions(+), 190 deletions(-) diff --git a/dictionaries/custom.txt b/dictionaries/custom.txt index 980ac6b1e01..14c8b03d73f 100644 --- a/dictionaries/custom.txt +++ b/dictionaries/custom.txt @@ -1,5 +1,7 @@ ACK backend +balancer +Bookinfo CIDR DNS FQDN @@ -8,6 +10,7 @@ HTTP HTTP2 Istio jitter +JSON JWT Kubernetes MCP @@ -16,6 +19,7 @@ NACK namespace namespaces OIDC +programmatically RBAC RPC runtime @@ -27,8 +31,7 @@ TCP TLS UDP undiscriminated -unresolved +unmanaged unterminated URI URL - diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 19ae37cb2c2..b8950e80436 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -34,7 +34,7 @@ const ( // contain any annotation or whose annotations match the value // specified in the ingress_class parameter described earlier. Use this // mode if Istio ingress controller will be the default ingress - // controller for the entire kubernetes cluster. + // controller for the entireKubernetes cluster. MeshConfig_DEFAULT MeshConfig_IngressControllerMode = 1 // Istio ingress controller will only act on ingress resources whose // annotations match the value specified in the ingress_class parameter @@ -156,8 +156,8 @@ func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { type MeshConfig struct { // Address of the server that will be used by the proxies for policy // check calls. By using different names for mixerCheckServer and - // mixerReportServer, it is possible to have one set of mixer servers handle - // policy check calls while another set of mixer servers handle telemetry + // mixerReportServer, it is possible to have one set of Mixer servers handle + // policy check calls while another set of Mixer servers handle telemetry // calls. // // NOTE: Omitting mixerCheckServer while specifying mixerReportServer is @@ -166,15 +166,15 @@ type MeshConfig struct { // Address of the server that will be used by the proxies for policy report // calls. MixerReportServer string `protobuf:"bytes,2,opt,name=mixer_report_server,json=mixerReportServer,proto3" json:"mixer_report_server,omitempty"` - // Disable policy checks by the mixer service. Default - // is false, i.e. mixer policy check is enabled by default. + // Disable policy checks by the Mixer service. Default + // is false, i.e. Mixer policy check is enabled by default. DisablePolicyChecks bool `protobuf:"varint,3,opt,name=disable_policy_checks,json=disablePolicyChecks,proto3" json:"disable_policy_checks,omitempty"` - // Allow all traffic in cases when the mixer policy service cannot be reached. + // Allow all traffic in cases when the Mixer policy service cannot be reached. // Default is false which means the traffic is denied when the client is unable // to connect to Mixer. PolicyCheckFailOpen bool `protobuf:"varint,25,opt,name=policy_check_fail_open,json=policyCheckFailOpen,proto3" json:"policy_check_fail_open,omitempty"` - // Enable session affinity for envoy mixer reports so that calls from a proxy will - // always target the same mixer instance. + // Enable session affinity for Envoy Mixer reports so that calls from a proxy will + // always target the same Mixer instance. SidecarToTelemetrySessionAffinity bool `protobuf:"varint,30,opt,name=sidecar_to_telemetry_session_affinity,json=sidecarToTelemetrySessionAffinity,proto3" json:"sidecar_to_telemetry_session_affinity,omitempty"` // Port on which Envoy should listen for incoming connections from // other services. @@ -189,7 +189,7 @@ type MeshConfig struct { // controller. This corresponds to the value of // "kubernetes.io/ingress.class" annotation. IngressClass string `protobuf:"bytes,7,opt,name=ingress_class,json=ingressClass,proto3" json:"ingress_class,omitempty"` - // Name of the kubernetes service used for the istio ingress controller. + // Name of theKubernetes service used for the istio ingress controller. IngressService string `protobuf:"bytes,8,opt,name=ingress_service,json=ingressService,proto3" json:"ingress_service,omitempty"` // Defines whether to use Istio ingress controller for annotated or all ingress resources. IngressControllerMode MeshConfig_IngressControllerMode `protobuf:"varint,9,opt,name=ingress_controller_mode,json=ingressControllerMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_IngressControllerMode" json:"ingress_controller_mode,omitempty"` @@ -228,7 +228,7 @@ type MeshConfig struct { OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy,proto3" json:"outbound_traffic_policy,omitempty"` // Enables clide side policy checks. EnableClientSidePolicyCheck bool `protobuf:"varint,19,opt,name=enable_client_side_policy_check,json=enableClientSidePolicyCheck,proto3" json:"enable_client_side_policy_check,omitempty"` - // Unix Domain Socket through which envoy communicates with NodeAgent SDS to get key/cert for mTLS. + // Unix Domain Socket through which Envoy communicates with NodeAgent SDS to get key/cert for mTLS. // Use secret-mount files instead of SDS if set to empty. SdsUdsPath string `protobuf:"bytes,20,opt,name=sds_uds_path,json=sdsUdsPath,proto3" json:"sds_uds_path,omitempty"` // $hide_from_docs @@ -240,13 +240,13 @@ type MeshConfig struct { // $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 - // for k8s service account trustworthy JWT(which is avaialbe for k8s 1.12 or higher), so that K8s API server - // mounts k8s service account trustworthy JWT to envoy container, which will be used to request key/cert eventually. - // This isn't supported for non-k8s case. + // 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. EnableSdsTokenMount bool `protobuf:"varint,23,opt,name=enable_sds_token_mount,json=enableSdsTokenMount,proto3" json:"enable_sds_token_mount,omitempty"` // $hide_from_docs // This flag is used by secret discovery service(SDS). - // If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' + // If set to true, Envoy will fetch a normal Kubernetes service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' // (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) // and pass to sds server, which will be used to request key/cert eventually. // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. @@ -643,7 +643,7 @@ type ConfigSource struct { // Use fs:/// to specify a file-based backend with absolute path to the directory. 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 MTLS and shares the root CA with Pilot, specify the TLS + // uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS // 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:"-"` diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index b5eb7a02aeb..f31c0d2c523 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -39,8 +39,8 @@ option go_package="istio.io/api/mesh/v1alpha1"; message MeshConfig { // Address of the server that will be used by the proxies for policy // check calls. By using different names for mixerCheckServer and - // mixerReportServer, it is possible to have one set of mixer servers handle - // policy check calls while another set of mixer servers handle telemetry + // mixerReportServer, it is possible to have one set of Mixer servers handle + // policy check calls while another set of Mixer servers handle telemetry // calls. // // NOTE: Omitting mixerCheckServer while specifying mixerReportServer is @@ -51,17 +51,17 @@ message MeshConfig { // calls. string mixer_report_server = 2; - // Disable policy checks by the mixer service. Default - // is false, i.e. mixer policy check is enabled by default. + // Disable policy checks by the Mixer service. Default + // is false, i.e. Mixer policy check is enabled by default. bool disable_policy_checks = 3; - // Allow all traffic in cases when the mixer policy service cannot be reached. + // Allow all traffic in cases when the Mixer policy service cannot be reached. // Default is false which means the traffic is denied when the client is unable // to connect to Mixer. bool policy_check_fail_open = 25; - // Enable session affinity for envoy mixer reports so that calls from a proxy will - // always target the same mixer instance. + // Enable session affinity for Envoy Mixer reports so that calls from a proxy will + // always target the same Mixer instance. bool sidecar_to_telemetry_session_affinity = 30; // Port on which Envoy should listen for incoming connections from @@ -82,7 +82,7 @@ message MeshConfig { // "kubernetes.io/ingress.class" annotation. string ingress_class = 7; - // Name of the kubernetes service used for the istio ingress controller. + // Name of theKubernetes service used for the istio ingress controller. string ingress_service = 8; enum IngressControllerMode { @@ -93,7 +93,7 @@ message MeshConfig { // contain any annotation or whose annotations match the value // specified in the ingress_class parameter described earlier. Use this // mode if Istio ingress controller will be the default ingress - // controller for the entire kubernetes cluster. + // controller for the entireKubernetes cluster. DEFAULT = 1; // Istio ingress controller will only act on ingress resources whose @@ -182,7 +182,7 @@ message MeshConfig { // Enables clide side policy checks. bool enable_client_side_policy_check = 19; - // Unix Domain Socket through which envoy communicates with NodeAgent SDS to get key/cert for mTLS. + // Unix Domain Socket through which Envoy communicates with NodeAgent SDS to get key/cert for mTLS. // Use secret-mount files instead of SDS if set to empty. string sds_uds_path = 20; @@ -197,14 +197,14 @@ 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 - // for k8s service account trustworthy JWT(which is avaialbe for k8s 1.12 or higher), so that K8s API server - // mounts k8s service account trustworthy JWT to envoy container, which will be used to request key/cert eventually. - // This isn't supported for non-k8s case. + // 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. bool enable_sds_token_mount = 23; // $hide_from_docs // This flag is used by secret discovery service(SDS). - // If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' + // If set to true, Envoy will fetch a normal Kubernetes service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' // (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) // and pass to sds server, which will be used to request key/cert eventually. // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. @@ -294,7 +294,7 @@ message ConfigSource { string address = 1; // Use the tls_settings to specify the tls mode to use. If the MCP server - // uses Istio MTLS and shares the root CA with Pilot, specify the TLS + // uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS // mode as ISTIO_MUTUAL. istio.networking.v1alpha3.TLSSettings tls_settings = 2; } diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 9eb2845c92f..9be1af96825 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -78,7 +78,7 @@

ConfigSource

@@ -275,8 +275,8 @@

MeshConfig

@@ -306,7 +306,7 @@

MeshConfig

@@ -368,7 +368,7 @@

MeshConfig

@@ -455,7 +455,7 @@

MeshConfig

@@ -538,7 +538,7 @@

MeshConfig.IngressControllerMode

contain any annotation or whose annotations match the value specified in the ingress_class parameter described earlier. Use this mode if Istio ingress controller will be the default ingress -controller for the entire kubernetes cluster.

+controller for the entireKubernetes cluster.

@@ -614,7 +614,7 @@

MeshNetworks

networks: - network1: - endpoints: - - fromRegistry: registry1 #must match secret name in kubernetes + - fromRegistry: registry1 #must match secret name inKubernetes - fromCidr: 192.168.100.0/22 #a VM network for example gateways: - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go index d29f114fd78..078d6a26104 100644 --- a/mesh/v1alpha1/network.pb.go +++ b/mesh/v1alpha1/network.pb.go @@ -425,7 +425,7 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) { // networks: // - network1: // - endpoints: -// - fromRegistry: registry1 #must match secret name in kubernetes +// - fromRegistry: registry1 #must match secret name inKubernetes // - fromCidr: 192.168.100.0/22 #a VM network for example // gateways: // - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local diff --git a/mesh/v1alpha1/network.proto b/mesh/v1alpha1/network.proto index 1fed56778e3..a55c416cfe5 100644 --- a/mesh/v1alpha1/network.proto +++ b/mesh/v1alpha1/network.proto @@ -99,7 +99,7 @@ message Network { // networks: // - network1: // - endpoints: -// - fromRegistry: registry1 #must match secret name in kubernetes +// - fromRegistry: registry1 #must match secret name inKubernetes // - fromCidr: 192.168.100.0/22 #a VM network for example // gateways: // - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local diff --git a/mixer/adapter/model/v1beta1/istio.mixer.adapter.model.v1beta1.pb.html b/mixer/adapter/model/v1beta1/istio.mixer.adapter.model.v1beta1.pb.html index 8ab59eb324a..2686c2826cc 100644 --- a/mixer/adapter/model/v1beta1/istio.mixer.adapter.model.v1beta1.pb.html +++ b/mixer/adapter/model/v1beta1/istio.mixer.adapter.model.v1beta1.pb.html @@ -407,7 +407,7 @@

ReportResult

Template

-

Template provides the details of a mixer template.

+

Template provides the details of a Mixer template.

CorsPolicy

Cross-Origin Resource Sharing policy (CORS). Refer to -https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS +CORS for further details about cross origin resource sharing.

IP Address and Port of a statsd UDP listener (e.g. 10.75.241.127:9125).

+
metricsServiceAddressstring +

Address of the Envoy Metrics Service implementation (e.g. metrics-service:15000).

+
metricsServiceAddress
envoyMetricsServiceAddress string -

Address of the Envoy Metrics Service implementation (e.g. metrics-service:15000).

+

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 +for details about Envoy’s Metrics Service API.

tlsSettingsistio.networking.v1alpha3.TLSSettingsistio.networking.v1alpha3.TLSSettings

Use the tlssettings to specify the tls mode to use. If the MCP server uses Istio MTLS and shares the root CA with Pilot, specify the TLS @@ -348,7 +348,7 @@

MeshConfig

tcpKeepaliveistio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepaliveistio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 9b263002db7..c84db64b691 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -4,6 +4,77 @@ /* Package v1alpha3 is a generated protocol buffer package. + `DestinationRule` defines policies that apply to traffic intended for a + service after routing has occurred. These rules specify configuration + for load balancing, connection pool size from the sidecar, and outlier + detection settings to detect and evict unhealthy hosts from the load + balancing pool. For example, a simple load balancing policy for the + ratings service would look as follows: + + ```yaml + apiVersion: networking.istio.io/v1alpha3 + kind: DestinationRule + metadata: + name: bookinfo-ratings + spec: + host: ratings.prod.svc.cluster.local + trafficPolicy: + loadBalancer: + simple: LEAST_CONN + ``` + + Version specific policies can be specified by defining a named + `subset` and overriding the settings specified at the service level. The + following rule uses a round robin load balancing policy for all traffic + going to a subset named testversion that is composed of endpoints (e.g., + pods) with labels (version:v3). + + ```yaml + apiVersion: networking.istio.io/v1alpha3 + kind: DestinationRule + metadata: + name: bookinfo-ratings + spec: + host: ratings.prod.svc.cluster.local + trafficPolicy: + loadBalancer: + simple: LEAST_CONN + subsets: + - name: testversion + labels: + version: v3 + trafficPolicy: + loadBalancer: + simple: ROUND_ROBIN + ``` + + **Note:** Policies specified for subsets will not take effect until + a route rule explicitly sends traffic to this subset. + + Traffic policies can be customized to specific ports as well. The + following rule uses the least connection load balancing policy for all + traffic to port 80, while uses a round robin load balancing setting for + traffic to the port 9080. + + ```yaml + apiVersion: networking.istio.io/v1alpha3 + kind: DestinationRule + metadata: + name: bookinfo-ratings-port + spec: + host: ratings.prod.svc.cluster.local + trafficPolicy: # Apply to all ports + portLevelSettings: + - port: + number: 80 + loadBalancer: + simple: LEAST_CONN + - port: + number: 9080 + loadBalancer: + simple: ROUND_ROBIN + ``` + It is generated from these files: networking/v1alpha3/destination_rule.proto networking/v1alpha3/envoy_filter.proto @@ -156,81 +227,11 @@ func (TLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{6, 0} } -// `DestinationRule` defines policies that apply to traffic intended for a -// service after routing has occurred. These rules specify configuration -// for load balancing, connection pool size from the sidecar, and outlier -// detection settings to detect and evict unhealthy hosts from the load -// balancing pool. For example, a simple load balancing policy for the -// ratings service would look as follows: -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: bookinfo-ratings -// spec: -// host: ratings.prod.svc.cluster.local -// trafficPolicy: -// loadBalancer: -// simple: LEAST_CONN -// ``` -// -// Version specific policies can be specified by defining a named -// `subset` and overriding the settings specified at the service level. The -// following rule uses a round robin load balancing policy for all traffic -// going to a subset named testversion that is composed of endpoints (e.g., -// pods) with labels (version:v3). -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: bookinfo-ratings -// spec: -// host: ratings.prod.svc.cluster.local -// trafficPolicy: -// loadBalancer: -// simple: LEAST_CONN -// subsets: -// - name: testversion -// labels: -// version: v3 -// trafficPolicy: -// loadBalancer: -// simple: ROUND_ROBIN -// ``` -// -// **Note:** Policies specified for subsets will not take effect until -// a route rule explicitly sends traffic to this subset. -// -// Traffic policies can be customized to specific ports as well. The -// following rule uses the least connection load balancing policy for all -// traffic to port 80, while uses a round robin load balancing setting for -// traffic to the port 9080. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: bookinfo-ratings-port -// spec: -// host: ratings.prod.svc.cluster.local -// trafficPolicy: # Apply to all ports -// portLevelSettings: -// - port: -// number: 80 -// loadBalancer: -// simple: LEAST_CONN -// - port: -// number: 9080 -// loadBalancer: -// simple: ROUND_ROBIN -// ``` type DestinationRule struct { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntries](#ServiceEntry). Rules defined for + // declared by [ServiceEntries](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Rules defined for // services that do not exist in the service registry will be ignored. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" @@ -412,7 +413,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *TLSSettings { // A subset of endpoints of a service. Subsets can be used for scenarios // like A/B testing, or routing to a specific version of a service. Refer -// to [VirtualService](#VirtualService) documentation for examples of using +// to [VirtualService](/docs/reference/config/networking/v1alpha3/virtual-service/#VirtualService) documentation for examples of using // subsets in these scenarios. In addition, traffic policies defined at the // service-level can be overridden at a subset-level. The following rule // uses a round robin load balancing policy for all traffic going to a diff --git a/networking/v1alpha3/destination_rule.pb.html b/networking/v1alpha3/destination_rule.pb.html new file mode 100644 index 00000000000..47bb4d3e92d --- /dev/null +++ b/networking/v1alpha3/destination_rule.pb.html @@ -0,0 +1,1021 @@ +--- +title: Destination Rule +description: Configuration affecting load balancing, outlier detection, etc. +location: https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 15 +--- +

DestinationRule defines policies that apply to traffic intended for a +service after routing has occurred. These rules specify configuration +for load balancing, connection pool size from the sidecar, and outlier +detection settings to detect and evict unhealthy hosts from the load +balancing pool. For example, a simple load balancing policy for the +ratings service would look as follows:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+
+ +

Version specific policies can be specified by defining a named +subset and overriding the settings specified at the service level. The +following rule uses a round robin load balancing policy for all traffic +going to a subset named testversion that is composed of endpoints (e.g., +pods) with labels (version:v3).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+  subsets:
+  - name: testversion
+    labels:
+      version: v3
+    trafficPolicy:
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

Note: Policies specified for subsets will not take effect until +a route rule explicitly sends traffic to this subset.

+ +

Traffic policies can be customized to specific ports as well. The +following rule uses the least connection load balancing policy for all +traffic to port 80, while uses a round robin load balancing setting for +traffic to the port 9080.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings-port
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy: # Apply to all ports
+    portLevelSettings:
+    - port:
+        number: 80
+      loadBalancer:
+        simple: LEAST_CONN
+    - port:
+        number: 9080
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

ConnectionPoolSettings

+
+

Connection pool settings for an upstream host. The settings apply to +each individual host in the upstream service. See Envoy’s circuit +breaker +for more details. Connection pool settings can be applied at the TCP +level as well as at HTTP level.

+ +

For example, the following rule sets a limit of 100 connections to redis +service called myredissrv with a connect timeout of 30ms

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-redis
+spec:
+  host: myredissrv.prod.svc.cluster.local
+  trafficPolicy:
+    connectionPool:
+      tcp:
+        maxConnections: 100
+        connectTimeout: 30ms
+        tcpKeepalive:
+          time: 7200s
+          interval: 75s
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
tcpConnectionPoolSettings.TCPSettings +

Settings common to both HTTP and TCP upstream connections.

+ +
httpConnectionPoolSettings.HTTPSettings +

HTTP connection pool settings.

+ +
+
+

ConnectionPoolSettings.HTTPSettings

+
+

Settings applicable to HTTP1.1/HTTP2/GRPC connections.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
http1MaxPendingRequestsint32 +

Maximum number of pending HTTP requests to a destination. Default 1024.

+ +
http2MaxRequestsint32 +

Maximum number of requests to a backend. Default 1024.

+ +
maxRequestsPerConnectionint32 +

Maximum number of requests per connection to a backend. Setting this +parameter to 1 disables keep alive.

+ +
maxRetriesint32 +

Maximum number of retries that can be outstanding to all hosts in a +cluster at a given time. Defaults to 3.

+ +
+
+

ConnectionPoolSettings.TCPSettings

+
+

Settings common to both HTTP and TCP upstream connections.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
maxConnectionsint32 +

Maximum number of HTTP1 /TCP connections to a destination host.

+ +
connectTimeoutgoogle.protobuf.Duration +

TCP connection timeout.

+ +
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive +

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

+ +
+
+

ConnectionPoolSettings.TCPSettings.TcpKeepalive

+
+

TCP keepalive.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
probesuint32 +

Maximum number of keepalive probes to send without response before +deciding the connection is dead. Default is to use the OS level configuration +(unless overridden, Linux defaults to 9.)

+ +
timegoogle.protobuf.Duration +

The time duration a connection needs to be idle before keep-alive +probes start being sent. Default is to use the OS level configuration +(unless overridden, Linux defaults to 7200s (ie 2 hours.)

+ +
intervalgoogle.protobuf.Duration +

The time duration between keep-alive probes. +Default is to use the OS level configuration +(unless overridden, Linux defaults to 75s.)

+ +
+
+

DestinationRule

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hoststring +

REQUIRED. The name of a service from the service registry. Service +names are looked up from the platform’s service registry (e.g., +Kubernetes services, Consul services, etc.) and from the hosts +declared by ServiceEntries. Rules defined for +services that do not exist in the service registry will be ignored.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +

Note that the host field applies to both HTTP and TCP services.

+ +
trafficPolicyTrafficPolicy +

Traffic policies to apply (load balancing policy, connection pool +sizes, outlier detection).

+ +
subsetsSubset[] +

One or more named sets that represent individual versions of a +service. Traffic policies can be overridden at subset level.

+ +
exportTostring[] +

The resolution of a DestinationRule to apply to a service occurs in the +context of a hierarchy of namespaces. This rule controls whether those +namespaces are allowed to select this rule.

+ +
+
+

LoadBalancerSettings

+
+

Load balancing policies to apply for a specific destination. See Envoy’s +load balancing +documentation +for more details.

+ +

For example, the following rule uses a round robin load balancing policy +for all traffic going to the ratings service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: ROUND_ROBIN
+
+ +

The following example sets up sticky sessions for the ratings service +hashing-based load balancer for the same ratings service using the +the User cookie as the hash key.

+ +
 apiVersion: networking.istio.io/v1alpha3
+ kind: DestinationRule
+ metadata:
+   name: bookinfo-ratings
+ spec:
+   host: ratings.prod.svc.cluster.local
+   trafficPolicy:
+     loadBalancer:
+       consistentHash:
+         httpCookie:
+           name: user
+           ttl: 0s
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
simpleLoadBalancerSettings.SimpleLB (oneof) +
consistentHashLoadBalancerSettings.ConsistentHashLB (oneof) +
+
+

LoadBalancerSettings.ConsistentHashLB

+
+

Consistent Hash-based load balancing can be used to provide soft +session affinity based on HTTP headers, cookies or other +properties. This load balancing policy is applicable only for HTTP +connections. The affinity to a particular destination host will be +lost when one or more hosts are added/removed from the destination +service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
httpHeaderNamestring (oneof) +

Hash based on a specific HTTP header.

+ +
useSourceIpbool (oneof) +

Hash based on the source IP address.

+ +
minimumRingSizeuint64 +

The minimum number of virtual nodes to use for the hash +ring. Defaults to 1024. Larger ring sizes result in more granular +load distributions. If the number of hosts in the load balancing +pool is larger than the ring size, each host will be assigned a +single virtual node.

+ +
+
+

LoadBalancerSettings.ConsistentHashLB.HTTPCookie

+
+

Describes a HTTP cookie that will be used as the hash key for the +Consistent Hash load balancer. If the cookie is not present, it will +be generated.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
namestring +

REQUIRED. Name of the cookie.

+ +
pathstring +

Path to set for the cookie.

+ +
ttlgoogle.protobuf.Duration +

REQUIRED. Lifetime of the cookie.

+ +
+
+

LoadBalancerSettings.SimpleLB

+
+

Standard load balancing algorithms that require no tuning.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
ROUND_ROBIN +

Round Robin policy. Default

+ +
LEAST_CONN +

The least request load balancer uses an O(1) algorithm which selects +two random healthy hosts and picks the host which has fewer active +requests.

+ +
RANDOM +

The random load balancer selects a random healthy host. The random +load balancer generally performs better than round robin if no health +checking policy is configured.

+ +
PASSTHROUGH +

This option will forward the connection to the original IP address +requested by the caller without doing any form of load +balancing. This option must be used with care. It is meant for +advanced use cases. Refer to Original Destination load balancer in +Envoy for further details.

+ +
+
+

OutlierDetection

+
+

A Circuit breaker implementation that tracks the status of each +individual host in the upstream service. Applicable to both HTTP and +TCP services. For HTTP services, hosts that continually return 5xx +errors for API calls are ejected from the pool for a pre-defined period +of time. For TCP services, connection timeouts or connection +failures to a given host counts as an error when measuring the +consecutive errors metric. See Envoy’s outlier +detection +for more details.

+ +

The following rule sets a connection pool size of 100 connections and +1000 concurrent HTTP2 requests, with no more than 10 req/connection to +“reviews” service. In addition, it configures upstream hosts to be +scanned every 5 mins, such that any host that fails 7 consecutive times +with 5XX error code will be ejected for 15 minutes.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-cb-policy
+spec:
+  host: reviews.prod.svc.cluster.local
+  trafficPolicy:
+    connectionPool:
+      tcp:
+        maxConnections: 100
+      http:
+        http2MaxRequests: 1000
+        maxRequestsPerConnection: 10
+    outlierDetection:
+      consecutiveErrors: 7
+      interval: 5m
+      baseEjectionTime: 15m
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
consecutiveErrorsint32 +

Number of errors before a host is ejected from the connection +pool. Defaults to 5. When the upstream host is accessed over HTTP, a +502, 503 or 504 return code qualifies as an error. When the upstream host +is accessed over an opaque TCP connection, connect timeouts and +connection error/failure events qualify as an error.

+ +
intervalgoogle.protobuf.Duration +

Time interval between ejection sweep analysis. format: +1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

+ +
baseEjectionTimegoogle.protobuf.Duration +

Minimum ejection duration. A host will remain ejected for a period +equal to the product of minimum ejection duration and the number of +times the host has been ejected. This technique allows the system to +automatically increase the ejection period for unhealthy upstream +servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

+ +
maxEjectionPercentint32 +

Maximum % of hosts in the load balancing pool for the upstream +service that can be ejected. Defaults to 10%.

+ +
minHealthPercentint32 +

Outlier detection will be enabled as long as the associated load balancing +pool has at least minhealthpercent hosts in healthy mode. When the +percentage of healthy hosts in the load balancing pool drops below this +threshold, outlier detection will be disabled and the proxy will load balance +across all hosts in the pool (healthy and unhealthy). The default is 50%.

+ +
+
+

Subset

+
+

A subset of endpoints of a service. Subsets can be used for scenarios +like A/B testing, or routing to a specific version of a service. Refer +to VirtualService documentation for examples of using +subsets in these scenarios. In addition, traffic policies defined at the +service-level can be overridden at a subset-level. The following rule +uses a round robin load balancing policy for all traffic going to a +subset named testversion that is composed of endpoints (e.g., pods) with +labels (version:v3).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+  subsets:
+  - name: testversion
+    labels:
+      version: v3
+    trafficPolicy:
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

Note: Policies specified for subsets will not take effect until +a route rule explicitly sends traffic to this subset.

+ +

One or more labels are typically required to identify the subset destination, +however, when the corresponding DestinationRule represents a host that +supports multiple SNI hosts (e.g., an egress gateway), a subset without labels +may be meaningful. In this case a traffic policy with TLSSettings +can be used to identify a specific SNI host corresponding to the named subset.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
namestring +

REQUIRED. Name of the subset. The service name and the subset name can +be used for traffic splitting in a route rule.

+ +
labelsmap<string, string> +

Labels apply a filter over the endpoints of a service in the +service registry. See route rules for examples of usage.

+ +
trafficPolicyTrafficPolicy +

Traffic policies that apply to this subset. Subsets inherit the +traffic policies specified at the DestinationRule level. Settings +specified at the subset level will override the corresponding settings +specified at the DestinationRule level.

+ +
+
+

TLSSettings

+
+

SSL/TLS related settings for upstream connections. See Envoy’s TLS +context +for more details. These settings are common to both HTTP and TCP upstreams.

+ +

For example, the following rule configures a client to use mutual TLS +for connections to upstream database cluster.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: db-mtls
+spec:
+  host: mydbserver.prod.svc.cluster.local
+  trafficPolicy:
+    tls:
+      mode: MUTUAL
+      clientCertificate: /etc/certs/myclientcert.pem
+      privateKey: /etc/certs/client_private_key.pem
+      caCertificates: /etc/certs/rootcacerts.pem
+
+ +

The following rule configures a client to use TLS when talking to a +foreign service whose domain matches *.foo.com.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: tls-foo
+spec:
+  host: "*.foo.com"
+  trafficPolicy:
+    tls:
+      mode: SIMPLE
+
+ +

The following rule configures a client to use Istio mutual TLS when talking +to rating services.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: ratings-istio-mtls
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    tls:
+      mode: ISTIO_MUTUAL
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
modeTLSSettings.TLSmode +

REQUIRED: Indicates whether connections to this port should be secured +using TLS. The value of this field determines how TLS is enforced.

+ +
clientCertificatestring +

REQUIRED if mode is MUTUAL. The path to the file holding the +client-side TLS certificate to use. +Should be empty if mode is ISTIO_MUTUAL.

+ +
privateKeystring +

REQUIRED if mode is MUTUAL. The path to the file holding the +client’s private key. +Should be empty if mode is ISTIO_MUTUAL.

+ +
caCertificatesstring +

OPTIONAL: The path to the file containing certificate authority +certificates to use in verifying a presented server certificate. If +omitted, the proxy will not verify the server’s certificate. +Should be empty if mode is ISTIO_MUTUAL.

+ +
subjectAltNamesstring[] +

A list of alternate names to verify the subject identity in the +certificate. If specified, the proxy will verify that the server +certificate’s subject alt name matches one of the specified values. +If specified, this list overrides the value of subjectaltnames +from the ServiceEntry.

+ +
snistring +

SNI string to present to the server during TLS handshake.

+ +
+
+

TLSSettings.TLSmode

+
+

TLS connection mode

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
DISABLE +

Do not setup a TLS connection to the upstream endpoint.

+ +
SIMPLE +

Originate a TLS connection to the upstream endpoint.

+ +
MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication.

+ +
ISTIO_MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication. +Compared to Mutual mode, this mode uses certificates generated +automatically by Istio for mTLS authentication. When this mode is +used, all other fields in TLSSettings should be empty.

+ +
+
+

TrafficPolicy

+
+

Traffic policies to apply for a specific destination, across all +destination ports. See DestinationRule for examples.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
loadBalancerLoadBalancerSettings +

Settings controlling the load balancer algorithms.

+ +
connectionPoolConnectionPoolSettings +

Settings controlling the volume of connections to an upstream service

+ +
outlierDetectionOutlierDetection +

Settings controlling eviction of unhealthy hosts from the load balancing pool

+ +
tlsTLSSettings +

TLS related settings for connections to the upstream service.

+ +
portLevelSettingsTrafficPolicy.PortTrafficPolicy[] +

Traffic policies specific to individual ports. Note that port level +settings will override the destination-level settings. Traffic +settings specified at the destination-level will not be inherited when +overridden by port-level settings, i.e. default values will be applied +to fields omitted in port-level traffic policies.

+ +
+
+

TrafficPolicy.PortTrafficPolicy

+
+

Traffic policies that apply to specific ports of the service

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPortSelector +

Specifies the port name or number of a port on the destination service +on which this policy is being applied.

+ +

Names must comply with DNS label syntax (rfc1035) and therefore cannot +collide with numbers. If there are multiple ports on a service with +the same protocol the names should be of the form -.

+ +
loadBalancerLoadBalancerSettings +

Settings controlling the load balancer algorithms.

+ +
connectionPoolConnectionPoolSettings +

Settings controlling the volume of connections to an upstream service

+ +
outlierDetectionOutlierDetection +

Settings controlling eviction of unhealthy hosts from the load balancing pool

+ +
tlsTLSSettings +

TLS related settings for connections to the upstream service.

+ +
+
diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 1c340f8bbf6..5759ff50958 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -17,9 +17,9 @@ import "google/protobuf/duration.proto"; import "networking/v1alpha3/virtual_service.proto"; import "gogoproto/gogo.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Destination Rule +// $description: Configuration affecting load balancing, outlier detection, etc. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule.html // `DestinationRule` defines policies that apply to traffic intended for a // service after routing has occurred. These rules specify configuration @@ -91,11 +91,15 @@ option go_package = "istio.io/api/networking/v1alpha3"; // loadBalancer: // simple: ROUND_ROBIN // ``` +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + message DestinationRule { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntries](#ServiceEntry). Rules defined for + // declared by [ServiceEntries](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Rules defined for // services that do not exist in the service registry will be ignored. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" @@ -173,7 +177,7 @@ message TrafficPolicy { // A subset of endpoints of a service. Subsets can be used for scenarios // like A/B testing, or routing to a specific version of a service. Refer -// to [VirtualService](#VirtualService) documentation for examples of using +// to [VirtualService](/docs/reference/config/networking/v1alpha3/virtual-service/#VirtualService) documentation for examples of using // subsets in these scenarios. In addition, traffic policies defined at the // service-level can be overridden at a subset-level. The following rule // uses a round robin load balancing policy for all traffic going to a diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index f71ab80395d..73e57d75c79 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -140,43 +140,6 @@ func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0, 3, 0} } -// `EnvoyFilter` describes Envoy proxy-specific filters that can be used to -// customize the Envoy proxy configuration generated by Istio networking -// subsystem (Pilot). This feature must be used with care, as incorrect -// configurations could potentially destabilize the entire mesh. -// -// NOTE 1: Since this is break glass configuration, there will not be any -// backward compatibility across different Istio releases. In other words, -// this configuration is subject to change based on internal implementation -// of Istio networking subsystem. -// -// NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter -// configurations will be processed sequentially in order of creation time. -// The behavior is undefined if multiple EnvoyFilter configurations conflict -// with each other. -// -// 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 -// labels "app: reviews". -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: EnvoyFilter -// metadata: -// name: reviews-lua -// spec: -// workloadLabels: -// app: reviews -// filters: -// - listenerMatch: -// portNumber: 8080 -// listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080 -// filterName: envoy.lua -// filterType: HTTP -// filterConfig: -// inlineCode: | -// ... lua code ... -// ``` type EnvoyFilter struct { // One or more labels that indicate a specific set of pods/VMs whose // proxies should be configured to use these additional filters. The diff --git a/networking/v1alpha3/envoy_filter.pb.html b/networking/v1alpha3/envoy_filter.pb.html new file mode 100644 index 00000000000..d9a36cb8523 --- /dev/null +++ b/networking/v1alpha3/envoy_filter.pb.html @@ -0,0 +1,400 @@ +--- +title: Envoy Filter +description: Configuration affecting insertion of custom envoy filters. +location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 8 +--- +

EnvoyFilter describes Envoy proxy-specific filters that can be used to +customize the Envoy proxy configuration generated by Istio networking +subsystem (Pilot). This feature must be used with care, as incorrect +configurations could potentially destabilize the entire mesh.

+ +

NOTE 1: Since this is break glass configuration, there will not be any +backward compatibility across different Istio releases. In other words, +this configuration is subject to change based on internal implementation +of Istio networking subsystem.

+ +

NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter +configurations will be processed sequentially in order of creation time. +The behavior is undefined if multiple EnvoyFilter configurations conflict +with each other.

+ +

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 +labels “app: reviews”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: EnvoyFilter
+metadata:
+  name: reviews-lua
+spec:
+  workloadLabels:
+    app: reviews
+  filters:
+  - listenerMatch:
+      portNumber: 8080
+      listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080
+    filterName: envoy.lua
+    filterType: HTTP
+    filterConfig:
+      inlineCode: |
+        ... lua code ...
+
+ +

EnvoyFilter

+
+ + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
workloadLabelsmap<string, string> +

One 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.

+ +
filtersEnvoyFilter.Filter[] +

REQUIRED: Envoy network filters/http filters to be added to matching +listeners. When adding network filters to http connections, care +should be taken to ensure that the filter is added before +envoy.httpconnectionmanager.

+ +
+
+

EnvoyFilter.Filter

+
+

Envoy filters to be added to a network or http filter chain.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
listenerMatchEnvoyFilter.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.

+ +
insertPositionEnvoyFilter.InsertPosition +

Insert position in the filter chain. Defaults to FIRST

+ +
filterTypeEnvoyFilter.Filter.FilterType +

REQUIRED: The type of filter to instantiate.

+ +
filterNamestring +

REQUIRED: The name of the filter to instantiate. The name must match a supported +filter compiled into Envoy.

+ +
filterConfiggoogle.protobuf.Struct +

REQUIRED: Filter specific configuration which depends on the filter being +instantiated.

+ +
+
+

EnvoyFilter.Filter.FilterType

+
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
INVALID +

placeholder

+ +
HTTP +

Http filter

+ +
NETWORK +

Network filter

+ +
+
+

EnvoyFilter.InsertPosition

+
+

Indicates the relative index in the filter chain where the filter should be inserted.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
indexEnvoyFilter.InsertPosition.Index +

Position of this filter in the filter chain.

+ +
relativeTostring +

If BEFORE or AFTER position is specified, specify the name of the +filter relative to which this filter should be inserted.

+ +
+
+

EnvoyFilter.InsertPosition.Index

+
+

Index/position in the filter chain.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
FIRST +

Insert first

+ +
LAST +

Insert last

+ +
BEFORE +

Insert before the named filter.

+ +
AFTER +

Insert after the named filter.

+ +
+
+

EnvoyFilter.ListenerMatch

+
+

Select a listener to add the filter to based on the match conditions. +All conditions specified in the ListenerMatch must be met for the filter +to be applied to a listener.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portNumberuint32 +

The service port/gateway port to which traffic is being +sent/received. If not specified, matches all listeners. Even though +inbound listeners are generated for the instance/pod ports, only +service ports should be used to match listeners.

+ +
portNamePrefixstring +

Instead of using specific port numbers, a set of ports matching a +given port name prefix can be selected. E.g., “mongo” selects ports +named mongo-port, mongo, mongoDB, MONGO, etc. Matching is case +insensitive.

+ +
listenerTypeEnvoyFilter.ListenerMatch.ListenerType +

Inbound vs outbound sidecar listener or gateway listener. If not specified, +matches all listeners.

+ +
listenerProtocolEnvoyFilter.ListenerMatch.ListenerProtocol +

Selects a class of listeners for the same protocol. If not +specified, applies to listeners on all protocols. 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).

+ +
addressstring[] +

One or more IP addresses to which the listener is bound. If +specified, should match at least one address in the list.

+ +
+
+

EnvoyFilter.ListenerMatch.ListenerProtocol

+
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
ALL +

All protocols

+ +
HTTP +

HTTP or HTTPS (with termination) / HTTP2/gRPC

+ +
TCP +

Any non-HTTP listener

+ +
+
+

EnvoyFilter.ListenerMatch.ListenerType

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
ANY +

All listeners

+ +
SIDECAR_INBOUND +

Inbound listener in sidecar

+ +
SIDECAR_OUTBOUND +

Outbound listener in sidecar

+ +
GATEWAY +

Gateway listener

+ +
+
diff --git a/networking/v1alpha3/envoy_filter.proto b/networking/v1alpha3/envoy_filter.proto index c944675e558..4b9d040c11e 100644 --- a/networking/v1alpha3/envoy_filter.proto +++ b/networking/v1alpha3/envoy_filter.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "google/protobuf/struct.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Envoy Filter +// $description: Configuration affecting insertion of custom envoy filters. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html // `EnvoyFilter` describes Envoy proxy-specific filters that can be used to // customize the Envoy proxy configuration generated by Istio networking @@ -50,13 +50,17 @@ option go_package = "istio.io/api/networking/v1alpha3"; // filters: // - listenerMatch: // portNumber: 8080 -// listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080 +// listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080 // filterName: envoy.lua // filterType: HTTP // filterConfig: // inlineCode: | // ... lua code ... // ``` +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 // proxies should be configured to use these additional filters. The diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 0bb2c9e736f..a823f59bd9a 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -98,141 +98,6 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1, 0, 1} } -// `Gateway` describes a load balancer operating at the edge of the mesh -// receiving incoming or outgoing HTTP/TCP connections. The specification -// describes a set of ports that should be exposed, the type of protocol to -// use, SNI configuration for the load balancer, etc. -// -// For example, the following Gateway configuration sets up a proxy to act -// as a load balancer exposing port 80 and 9080 (http), 443 (https), and -// port 2379 (TCP) for ingress. The gateway will be applied to the proxy -// running on a pod with labels `app: my-gateway-controller`. While Istio -// will configure the proxy to listen on these ports, it is the -// responsibility of the user to ensure that external traffic to these -// ports are allowed into the mesh. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: Gateway -// metadata: -// name: my-gateway -// namespace: some-config-namespace -// spec: -// selector: -// app: my-gateway-controller -// servers: -// - port: -// number: 80 -// name: http -// protocol: HTTP -// hosts: -// - uk.bookinfo.com -// - eu.bookinfo.com -// tls: -// httpsRedirect: true # sends 301 redirect for http requests -// - port: -// number: 443 -// name: https -// protocol: HTTPS -// hosts: -// - uk.bookinfo.com -// - eu.bookinfo.com -// tls: -// mode: SIMPLE #enables HTTPS on this port -// serverCertificate: /etc/certs/servercert.pem -// privateKey: /etc/certs/privatekey.pem -// - port: -// number: 9080 -// name: http-wildcard -// protocol: HTTP -// hosts: -// - "*" -// - port: -// number: 2379 # to expose internal service via external port 2379 -// name: mongo -// protocol: MONGO -// hosts: -// - "*" -// ``` -// The Gateway specification above describes the L4-L6 properties of a load -// balancer. A `VirtualService` can then be bound to a gateway to control -// 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 -// 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). -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: VirtualService -// metadata: -// name: bookinfo-rule -// namespace: bookinfo-namespace -// spec: -// hosts: -// - reviews.prod.svc.cluster.local -// - uk.bookinfo.com -// - eu.bookinfo.com -// gateways: -// - some-config-namespace/my-gateway -// - mesh # applies to all the sidecars in the mesh -// http: -// - match: -// - headers: -// cookie: -// user: dev-123 -// route: -// - destination: -// port: -// number: 7777 -// host: reviews.qa.svc.cluster.local -// - match: -// uri: -// prefix: /reviews/ -// route: -// - destination: -// port: -// number: 9080 # can be omitted if its the only port for reviews -// host: reviews.prod.svc.cluster.local -// weight: 80 -// - destination: -// host: reviews.qa.svc.cluster.local -// weight: 20 -// ``` -// -// The following VirtualService forwards traffic arriving at (external) -// port 27017 to internal Mongo server on port 5555. This rule is not -// applicable internally in the mesh as the gateway list omits the -// reserved name `mesh`. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: VirtualService -// metadata: -// name: bookinfo-Mongo -// namespace: bookinfo-namespace -// spec: -// hosts: -// - mongosvr.prod.svc.cluster.local #name of internal Mongo service -// gateways: -// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same -// namespace as virtual service. -// tcp: -// - match: -// - port: 27017 -// route: -// - destination: -// host: mongo.prod.svc.cluster.local -// port: -// number: 5555 -// ``` type Gateway struct { // REQUIRED: A list of server specifications. Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html new file mode 100644 index 00000000000..b5cc69a3885 --- /dev/null +++ b/networking/v1alpha3/gateway.pb.html @@ -0,0 +1,563 @@ +--- +title: Gateway +description: Configuration affecting edge load balancer. +location: https://istio.io/docs/reference/config/networking/v1alpha3/gateway.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 6 +--- +

Gateway describes a load balancer operating at the edge of the mesh +receiving incoming or outgoing HTTP/TCP connections. The specification +describes a set of ports that should be exposed, the type of protocol to +use, SNI configuration for the load balancer, etc.

+ +

For example, the following Gateway configuration sets up a proxy to act +as a load balancer exposing port 80 and 9080 (http), 443 (https), and +port 2379 (TCP) for ingress. The gateway will be applied to the proxy +running on a pod with labels app: my-gateway-controller. While Istio +will configure the proxy to listen on these ports, it is the +responsibility of the user to ensure that external traffic to these +ports are allowed into the mesh.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-gateway
+  namespace: some-config-namespace
+spec:
+  selector:
+    app: my-gateway-controller
+  servers:
+  - port:
+      number: 80
+      name: http
+      protocol: HTTP
+    hosts:
+    - uk.bookinfo.com
+    - eu.bookinfo.com
+    tls:
+      httpsRedirect: true # sends 301 redirect for http requests
+  - port:
+      number: 443
+      name: https
+      protocol: HTTPS
+    hosts:
+    - uk.bookinfo.com
+    - eu.bookinfo.com
+    tls:
+      mode: SIMPLE # enables HTTPS on this port
+      serverCertificate: /etc/certs/servercert.pem
+      privateKey: /etc/certs/privatekey.pem
+  - port:
+      number: 9080
+      name: http-wildcard
+      protocol: HTTP
+    hosts:
+    - "*"
+  - port:
+      number: 2379 # to expose internal service via external port 2379
+      name: mongo
+      protocol: MONGO
+    hosts:
+    - "*"
+
+ +

The Gateway specification above describes the L4-L6 properties of a load +balancer. A VirtualService can then be bound to a gateway to control +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 +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).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-rule
+  namespace: bookinfo-namespace
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  - uk.bookinfo.com
+  - eu.bookinfo.com
+  gateways:
+  - some-config-namespace/my-gateway
+  - mesh # applies to all the sidecars in the mesh
+  http:
+  - match:
+    - headers:
+        cookie:
+          user: dev-123
+    route:
+    - destination:
+        port:
+          number: 7777
+        host: reviews.qa.svc.cluster.local
+  - match:
+      uri:
+        prefix: /reviews/
+    route:
+    - destination:
+        port:
+          number: 9080 # can be omitted if its the only port for reviews
+        host: reviews.prod.svc.cluster.local
+      weight: 80
+    - destination:
+        host: reviews.qa.svc.cluster.local
+      weight: 20
+
+ +

The following VirtualService forwards traffic arriving at (external) +port 27017 to internal Mongo server on port 5555. This rule is not +applicable internally in the mesh as the gateway list omits the +reserved name mesh.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-Mongo
+  namespace: bookinfo-namespace
+spec:
+  hosts:
+  - mongosvr.prod.svc.cluster.local # name of internal Mongo service
+  gateways:
+  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
+                                       namespace as virtual service.
+  tcp:
+  - match:
+    - port: 27017
+    route:
+    - destination:
+        host: mongo.prod.svc.cluster.local
+        port:
+          number: 5555
+
+ +

Gateway

+
+ + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
serversServer[] +

REQUIRED: A list of server specifications.

+ +
selectormap<string, string> +

REQUIRED: One or more labels that indicate a specific set of pods/VMs +on which this gateway configuration should be applied. The scope of +label search is restricted to the configuration namespace in which the +the resource is present. In other words, the Gateway resource must +reside in the same namespace as the gateway workload.

+ +
+
+

Port

+
+

Port describes the properties of a specific port of a service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
numberuint32 +

REQUIRED: A valid non-negative integer port number.

+ +
protocolstring +

REQUIRED: The protocol exposed on the port. +MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. +TLS implies the connection will be routed based on the SNI header to +the destination without terminating the TLS connection.

+ +
namestring +

Label assigned to the port.

+ +
+
+

Server

+
+

Server describes the properties of the proxy on a given load balancer +port. For example,

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-ingress
+spec:
+  selector:
+    app: my-ingress-gateway
+  servers:
+  - port:
+      number: 80
+      name: http2
+      protocol: HTTP2
+    hosts:
+    - "*"
+
+ +

Another example

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-tcp-ingress
+spec:
+  selector:
+    app: my-tcp-ingress-gateway
+  servers:
+  - port:
+      number: 27018
+      name: mongo
+      protocol: MONGO
+    hosts:
+    - "*"
+
+ +

The following is an example of TLS configuration for port 443

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-tls-ingress
+spec:
+  selector:
+    app: my-tls-ingress-gateway
+  servers:
+  - port:
+      number: 443
+      name: https
+      protocol: HTTPS
+    hosts:
+    - "*"
+    tls:
+      mode: SIMPLE
+      serverCertificate: /etc/certs/server.pem
+      privateKey: /etc/certs/privatekey.pem
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

REQUIRED: The Port on which the proxy should listen for incoming +connections. If using unix domain socket, use 0 as the port number, +with a valid protocol and port name, along with the bind parameter.

+ +
hostsstring[] +

REQUIRED. A list of hosts exposed by this gateway. At least one +host is required. While typically applicable to +HTTP services, it can also be used for TCP services using TLS with +SNI. May contain a wildcard prefix for the bottom-level component of +a domain name. For example *.foo.com matches bar.foo.com +and *.com matches bar.foo.com, example.com, and so on.

+ +

Note: A VirtualService that is bound to a gateway must have one +or more hosts that match the hosts specified in a server. The match +could be an exact match or a suffix match with the server’s hosts. For +example, if the server’s hosts specifies “*.example.com”, +VirtualServices with hosts dev.example.com, prod.example.com will +match. However, VirtualServices with hosts example.com or +newexample.com will not match.

+ +
tlsServer.TLSOptions +

Set of TLS related options that govern the server’s behavior. Use +these options to control if all http requests should be redirected to +https, and the TLS modes to use.

+ +
defaultEndpointstring +

The loopback IP endpoint or unix domain socket to which traffic should +be forwarded to by default. Format should be 127.0.0.1:PORT or +unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

+ +
+
+

Server.TLSOptions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
httpsRedirectbool +

If set to true, the load balancer will send a 301 redirect for all +http connections, asking the clients to use HTTPS.

+ +
modeServer.TLSOptions.TLSmode +

Optional: Indicates whether connections to this port should be +secured using TLS. The value of this field determines how TLS is +enforced.

+ +
serverCertificatestring +

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file +holding the server-side TLS certificate to use.

+ +
privateKeystring +

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file +holding the server’s private key.

+ +
caCertificatesstring +

REQUIRED if mode is MUTUAL. The path to a file containing +certificate authority certificates to use in verifying a presented +client side certificate.

+ +
credentialNamestring +

The credentialName stands for a unique identifier that can be used +to identify the serverCertificate and the privateKey. The 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 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 +credentialName-cacert. The semantics of the name are platform dependent. +In Kubernetes, the default Istio supplied credential server expects the +credentialName to match the name of the Kubernetes secret that holds the +server certificate, the private key, and the CA certificate +(if using mutual TLS).

+ +
subjectAltNamesstring[] +

A list of alternate names to verify the subject identity in the +certificate presented by the client.

+ +
minProtocolVersionServer.TLSOptions.TLSProtocol +

Optional: Minimum TLS protocol version.

+ +
maxProtocolVersionServer.TLSOptions.TLSProtocol +

Optional: Maximum TLS protocol version.

+ +
cipherSuitesstring[] +

Optional: If specified, only support the specified cipher list. +Otherwise default to the default cipher list supported by Envoy.

+ +
+
+

Server.TLSOptions.TLSProtocol

+
+

TLS protocol versions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
TLS_AUTO +

Automatically choose the optimal TLS version.

+ +
TLSV1_0 +

TLS version 1.0

+ +
TLSV1_1 +

TLS version 1.1

+ +
TLSV1_2 +

TLS version 1.2

+ +
TLSV1_3 +

TLS version 1.3

+ +
+
+

Server.TLSOptions.TLSmode

+
+

TLS modes enforced by the proxy

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
PASSTHROUGH +

The SNI string presented by the client will be used as the match +criterion in a VirtualService TLS route to determine the +destination service from the service registry.

+ +
SIMPLE +

Secure connections with standard TLS semantics.

+ +
MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication.

+ +
AUTO_PASSTHROUGH +

Similar to the passthrough mode, except servers with this TLS mode +do not require an associated VirtualService to map from the SNI +value to service in the registry. The destination details such as +the service/subset/port are encoded in the SNI value. The proxy +will forward to the upstream (Envoy) cluster (a group of +endpoints) specified by the SNI value. This server is typically +used to provide connectivity between services in disparate L3 +networks that otherwise do not have direct connectivity between +their respective endpoints. Use of this mode assumes that both the +source and the destination are using Istio mTLS to secure traffic.

+ +
+
diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index bc567376bdf..4a5877cb952 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -14,9 +14,9 @@ syntax = "proto3"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Gateway +// $description: Configuration affecting edge load balancer. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/gateway.html // `Gateway` describes a load balancer operating at the edge of the mesh // receiving incoming or outgoing HTTP/TCP connections. The specification @@ -58,7 +58,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // - uk.bookinfo.com // - eu.bookinfo.com // tls: -// mode: SIMPLE #enables HTTPS on this port +// mode: SIMPLE # enables HTTPS on this port // serverCertificate: /etc/certs/servercert.pem // privateKey: /etc/certs/privatekey.pem // - port: @@ -140,7 +140,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // namespace: bookinfo-namespace // spec: // hosts: -// - mongosvr.prod.svc.cluster.local #name of internal Mongo service +// - mongosvr.prod.svc.cluster.local # name of internal Mongo service // gateways: // - some-config-namespace/my-gateway # can omit the namespace if gateway is in same // namespace as virtual service. @@ -153,6 +153,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // port: // number: 5555 // ``` +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + message Gateway { // REQUIRED: A list of server specifications. repeated Server servers = 1; diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html deleted file mode 100644 index 665bf24c100..00000000000 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ /dev/null @@ -1,4665 +0,0 @@ ---- -title: Traffic Routing -description: Configuration affecting traffic routing. -location: https://istio.io/docs/reference/config/istio.networking.v1alpha3.html -layout: protoc-gen-docs -generator: protoc-gen-docs -aliases: - - /docs/reference/config/istio.routing.v1alpha1/ -number_of_entries: 60 ---- -

Configuration affecting traffic routing. Here are a few terms useful to define -in the context of traffic routing.

- -

Service a unit of application behavior bound to a unique name in a -service registry. Services consist of multiple network endpoints -implemented by workload instances running on pods, containers, VMs etc.

- -

Service versions (a.k.a. subsets) - In a continuous deployment -scenario, for a given service, there can be distinct subsets of -instances running different variants of the application binary. These -variants are not necessarily different API versions. They could be -iterative changes to the same service, deployed in different -environments (prod, staging, dev, etc.). Common scenarios where this -occurs include A/B testing, canary rollouts, etc. The choice of a -particular version can be decided based on various criterion (headers, -url, etc.) and/or by weights assigned to each version. Each service has -a default version consisting of all its instances.

- -

Source - A downstream client calling a service.

- -

Host - The address used by a client when attempting to connect to a -service.

- -

Access model - Applications address only the destination service -(Host) without knowledge of individual service versions (subsets). The -actual choice of the version is determined by the proxy/sidecar, enabling the -application code to decouple itself from the evolution of dependent -services.

- -

CaptureMode

-
-

CaptureMode describes how traffic to a listener is expected to be -captured. Applicable only when the listener is bound to an IP.

- - - - - - - - - - - - - - - - - - - - - - -
NameDescription
DEFAULT -

The default capture mode defined by the environment

- -
IPTABLES -

Capture traffic using IPtables redirection

- -
NONE -

No traffic capture. When used in egress listener, the application is -expected to explicitly communicate with the listener port/unix -domain socket. When used in ingress listener, care needs to be taken -to ensure that the listener port is not in use by other processes on -the host.

- -
-
-

ConnectionPoolSettings

-
-

Connection pool settings for an upstream host. The settings apply to -each individual host in the upstream service. See Envoy’s circuit -breaker -for more details. Connection pool settings can be applied at the TCP -level as well as at HTTP level.

- -

For example, the following rule sets a limit of 100 connections to redis -service called myredissrv with a connect timeout of 30ms

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-redis
-spec:
-  host: myredissrv.prod.svc.cluster.local
-  trafficPolicy:
-    connectionPool:
-      tcp:
-        maxConnections: 100
-        connectTimeout: 30ms
-        tcpKeepalive:
-          time: 7200s
-          interval: 75s
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
tcpConnectionPoolSettings.TCPSettings -

Settings common to both HTTP and TCP upstream connections.

- -
httpConnectionPoolSettings.HTTPSettings -

HTTP connection pool settings.

- -
-
-

ConnectionPoolSettings.HTTPSettings

-
-

Settings applicable to HTTP1.1/HTTP2/GRPC connections.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
http1MaxPendingRequestsint32 -

Maximum number of pending HTTP requests to a destination. Default 1024.

- -
http2MaxRequestsint32 -

Maximum number of requests to a backend. Default 1024.

- -
maxRequestsPerConnectionint32 -

Maximum number of requests per connection to a backend. Setting this -parameter to 1 disables keep alive.

- -
maxRetriesint32 -

Maximum number of retries that can be outstanding to all hosts in a -cluster at a given time. Defaults to 3.

- -
-
-

ConnectionPoolSettings.TCPSettings

-
-

Settings common to both HTTP and TCP upstream connections.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
maxConnectionsint32 -

Maximum number of HTTP1 /TCP connections to a destination host.

- -
connectTimeoutgoogle.protobuf.Duration -

TCP connection timeout.

- -
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive -

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

- -
-
-

ConnectionPoolSettings.TCPSettings.TcpKeepalive

-
-

TCP keepalive.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
probesuint32 -

Maximum number of keepalive probes to send without response before -deciding the connection is dead. Default is to use the OS level configuration -(unless overridden, Linux defaults to 9.)

- -
timegoogle.protobuf.Duration -

The time duration a connection needs to be idle before keep-alive -probes start being sent. Default is to use the OS level configuration -(unless overridden, Linux defaults to 7200s (ie 2 hours.)

- -
intervalgoogle.protobuf.Duration -

The time duration between keep-alive probes. -Default is to use the OS level configuration -(unless overridden, Linux defaults to 75s.)

- -
-
-

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 -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 -Access-Control-Allow-Credentials header to false. In addition, it only -exposes X-Foo-bar header and sets an expiry period of 1 day.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    corsPolicy:
-      allowOrigin:
-      - example.com
-      allowMethods:
-      - POST
-      - GET
-      allowCredentials: false
-      allowHeaders:
-      - X-Foo-Bar
-      maxAge: "1d"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
allowOriginstring[] -

The list of origins that are allowed to perform CORS requests. The -content will be serialized into the Access-Control-Allow-Origin -header. Wildcard * will allow all origins.

- -
allowMethodsstring[] -

List of HTTP methods allowed to access the resource. The content will -be serialized into the Access-Control-Allow-Methods header.

- -
allowHeadersstring[] -

List of HTTP headers that can be used when requesting the -resource. Serialized to Access-Control-Allow-Headers header.

- -
exposeHeadersstring[] -

A white list of HTTP headers that the browsers are allowed to -access. Serialized into Access-Control-Expose-Headers header.

- -
maxAgegoogle.protobuf.Duration -

Specifies how long the results of a preflight request can be -cached. Translates to the Access-Control-Max-Age header.

- -
allowCredentialsgoogle.protobuf.BoolValue -

Indicates whether the caller is allowed to send the actual request -(not the preflight) using credentials. Translates to -Access-Control-Allow-Credentials header.

- -
-
-

Destination

-
-

Destination indicates the network addressable service to which the -request/connection will be sent after processing a routing rule. The -destination.host should unambiguously refer to a service in the service -registry. Istio’s service registry is composed of all the services found -in the platform’s service registry (e.g., Kubernetes services, Consul -services), as well as services declared through the -ServiceEntry resource.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of the -actual namespace associated with the reviews service. To avoid potential -misconfigurations, it is recommended to always use fully qualified -domain names over short names.

- -

The following Kubernetes example routes all traffic by default to pods -of the reviews service with label “version: v1” (i.e., subset v1), and -some to subset v2, in a kubernetes environment.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-  namespace: foo
-spec:
-  hosts:
-  - reviews # interpreted as reviews.foo.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: "/wpcatalog"
-    - uri:
-        prefix: "/consumercatalog"
-    rewrite:
-      uri: "/newcatalog"
-    route:
-    - destination:
-        host: reviews # interpreted as reviews.foo.svc.cluster.local
-        subset: v2
-  - route:
-    - destination:
-        host: reviews # interpreted as reviews.foo.svc.cluster.local
-        subset: v1
-
- -

And the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-  namespace: foo
-spec:
-  host: reviews # interpreted as reviews.foo.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- -

The following VirtualService sets a timeout of 5s for all calls to -productpage.prod.svc.cluster.local service in Kubernetes. Notice that -there are no subsets defined in this rule. Istio will fetch all -instances of productpage.prod.svc.cluster.local service from the service -registry and populate the sidecar’s load balancing pool. Also, notice -that this rule is set in the istio-system namespace but uses the fully -qualified domain name of the productpage service, -productpage.prod.svc.cluster.local. Therefore the rule’s namespace does -not have an impact in resolving the name of the productpage service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: my-productpage-rule
-  namespace: istio-system
-spec:
-  hosts:
-  - productpage.prod.svc.cluster.local # ignores rule namespace
-  http:
-  - timeout: 5s
-    route:
-    - destination:
-        host: productpage.prod.svc.cluster.local
-
- -

To control routing for traffic bound to services outside the mesh, external -services must first be added to Istio’s internal service registry using the -ServiceEntry resource. VirtualServices can then be defined to control traffic -bound to these external services. For example, the following rules define a -Service for wikipedia.org and set a timeout of 5s for http requests.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-wikipedia
-spec:
-  hosts:
-  - wikipedia.org
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: example-http
-    protocol: HTTP
-  resolution: DNS
-
-apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: my-wiki-rule
-spec:
-  hosts:
-  - wikipedia.org
-  http:
-  - timeout: 5s
-    route:
-    - destination:
-        host: wikipedia.org
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hoststring -

REQUIRED. The name of a service from the service registry. Service -names are looked up from the platform’s service registry (e.g., -Kubernetes services, Consul services, etc.) and from the hosts -declared by ServiceEntry. Traffic forwarded to -destinations that are not found in either of the two, will be dropped.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -
subsetstring -

The name of a subset within the service. Applicable only to services -within the mesh. The subset must be defined in a corresponding -DestinationRule.

- -
portPortSelector -

Specifies the port on the host that is being addressed. If a service -exposes only a single port it is not required to explicitly select the -port.

- -
-
-

DestinationRule

-
-

DestinationRule defines policies that apply to traffic intended for a -service after routing has occurred. These rules specify configuration -for load balancing, connection pool size from the sidecar, and outlier -detection settings to detect and evict unhealthy hosts from the load -balancing pool. For example, a simple load balancing policy for the -ratings service would look as follows:

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-
- -

Version specific policies can be specified by defining a named -subset and overriding the settings specified at the service level. The -following rule uses a round robin load balancing policy for all traffic -going to a subset named testversion that is composed of endpoints (e.g., -pods) with labels (version:v3).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-  subsets:
-  - name: testversion
-    labels:
-      version: v3
-    trafficPolicy:
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- -

Note: Policies specified for subsets will not take effect until -a route rule explicitly sends traffic to this subset.

- -

Traffic policies can be customized to specific ports as well. The -following rule uses the least connection load balancing policy for all -traffic to port 80, while uses a round robin load balancing setting for -traffic to the port 9080.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings-port
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy: # Apply to all ports
-    portLevelSettings:
-    - port:
-        number: 80
-      loadBalancer:
-        simple: LEAST_CONN
-    - port:
-        number: 9080
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hoststring -

REQUIRED. The name of a service from the service registry. Service -names are looked up from the platform’s service registry (e.g., -Kubernetes services, Consul services, etc.) and from the hosts -declared by ServiceEntries. Rules defined for -services that do not exist in the service registry will be ignored.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -

Note that the host field applies to both HTTP and TCP services.

- -
trafficPolicyTrafficPolicy -

Traffic policies to apply (load balancing policy, connection pool -sizes, outlier detection).

- -
subsetsSubset[] -

One or more named sets that represent individual versions of a -service. Traffic policies can be overridden at subset level.

- -
exportTostring[] -

The resolution of a DestinationRule to apply to a service occurs in the -context of a hierarchy of namespaces. This rule controls whether those -namespaces are allowed to select this rule.

- -
-
-

EnvoyFilter

-
-

EnvoyFilter describes Envoy proxy-specific filters that can be used to -customize the Envoy proxy configuration generated by Istio networking -subsystem (Pilot). This feature must be used with care, as incorrect -configurations could potentially destabilize the entire mesh.

- -

NOTE 1: Since this is break glass configuration, there will not be any -backward compatibility across different Istio releases. In other words, -this configuration is subject to change based on internal implementation -of Istio networking subsystem.

- -

NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter -configurations will be processed sequentially in order of creation time. -The behavior is undefined if multiple EnvoyFilter configurations conflict -with each other.

- -

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 -labels “app: reviews”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: EnvoyFilter
-metadata:
-  name: reviews-lua
-spec:
-  workloadLabels:
-    app: reviews
-  filters:
-  - listenerMatch:
-      portNumber: 8080
-      listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080
-    filterName: envoy.lua
-    filterType: HTTP
-    filterConfig:
-      inlineCode: |
-        ... lua code ...
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
workloadLabelsmap<string, string> -

One 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.

- -
filtersEnvoyFilter.Filter[] -

REQUIRED: Envoy network filters/http filters to be added to matching -listeners. When adding network filters to http connections, care -should be taken to ensure that the filter is added before -envoy.httpconnectionmanager.

- -
-
-

EnvoyFilter.Filter

-
-

Envoy filters to be added to a network or http filter chain.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
listenerMatchEnvoyFilter.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.

- -
insertPositionEnvoyFilter.InsertPosition -

Insert position in the filter chain. Defaults to FIRST

- -
filterTypeEnvoyFilter.Filter.FilterType -

REQUIRED: The type of filter to instantiate.

- -
filterNamestring -

REQUIRED: The name of the filter to instantiate. The name must match a supported -filter compiled into Envoy.

- -
filterConfiggoogle.protobuf.Struct -

REQUIRED: Filter specific configuration which depends on the filter being -instantiated.

- -
-
-

EnvoyFilter.Filter.FilterType

-
- - - - - - - - - - - - - - - - - - - - - -
NameDescription
INVALID -

placeholder

- -
HTTP -

Http filter

- -
NETWORK -

Network filter

- -
-
-

EnvoyFilter.InsertPosition

-
-

Indicates the relative index in the filter chain where the filter should be inserted.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
indexEnvoyFilter.InsertPosition.Index -

Position of this filter in the filter chain.

- -
relativeTostring -

If BEFORE or AFTER position is specified, specify the name of the -filter relative to which this filter should be inserted.

- -
-
-

EnvoyFilter.InsertPosition.Index

-
-

Index/position in the filter chain.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
FIRST -

Insert first

- -
LAST -

Insert last

- -
BEFORE -

Insert before the named filter.

- -
AFTER -

Insert after the named filter.

- -
-
-

EnvoyFilter.ListenerMatch

-
-

Select a listener to add the filter to based on the match conditions. -All conditions specified in the ListenerMatch must be met for the filter -to be applied to a listener.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portNumberuint32 -

The service port/gateway port to which traffic is being -sent/received. If not specified, matches all listeners. Even though -inbound listeners are generated for the instance/pod ports, only -service ports should be used to match listeners.

- -
portNamePrefixstring -

Instead of using specific port numbers, a set of ports matching a -given port name prefix can be selected. E.g., “mongo” selects ports -named mongo-port, mongo, mongoDB, MONGO, etc. Matching is case -insensitive.

- -
listenerTypeEnvoyFilter.ListenerMatch.ListenerType -

Inbound vs outbound sidecar listener or gateway listener. If not specified, -matches all listeners.

- -
listenerProtocolEnvoyFilter.ListenerMatch.ListenerProtocol -

Selects a class of listeners for the same protocol. If not -specified, applies to listeners on all protocols. 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).

- -
addressstring[] -

One or more IP addresses to which the listener is bound. If -specified, should match at least one address in the list.

- -
-
-

EnvoyFilter.ListenerMatch.ListenerProtocol

-
- - - - - - - - - - - - - - - - - - - - - -
NameDescription
ALL -

All protocols

- -
HTTP -

HTTP or HTTPS (with termination) / HTTP2/gRPC

- -
TCP -

Any non-HTTP listener

- -
-
-

EnvoyFilter.ListenerMatch.ListenerType

-
- - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
ANY -

All listeners

- -
SIDECAR_INBOUND -

Inbound listener in sidecar

- -
SIDECAR_OUTBOUND -

Outbound listener in sidecar

- -
GATEWAY -

Gateway listener

- -
-
-

Gateway

-
-

Gateway describes a load balancer operating at the edge of the mesh -receiving incoming or outgoing HTTP/TCP connections. The specification -describes a set of ports that should be exposed, the type of protocol to -use, SNI configuration for the load balancer, etc.

- -

For example, the following Gateway configuration sets up a proxy to act -as a load balancer exposing port 80 and 9080 (http), 443 (https), and -port 2379 (TCP) for ingress. The gateway will be applied to the proxy -running on a pod with labels app: my-gateway-controller. While Istio -will configure the proxy to listen on these ports, it is the -responsibility of the user to ensure that external traffic to these -ports are allowed into the mesh.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-gateway
-  namespace: some-config-namespace
-spec:
-  selector:
-    app: my-gateway-controller
-  servers:
-  - port:
-      number: 80
-      name: http
-      protocol: HTTP
-    hosts:
-    - uk.bookinfo.com
-    - eu.bookinfo.com
-    tls:
-      httpsRedirect: true # sends 301 redirect for http requests
-  - port:
-      number: 443
-      name: https
-      protocol: HTTPS
-    hosts:
-    - uk.bookinfo.com
-    - eu.bookinfo.com
-    tls:
-      mode: SIMPLE #enables HTTPS on this port
-      serverCertificate: /etc/certs/servercert.pem
-      privateKey: /etc/certs/privatekey.pem
-  - port:
-      number: 9080
-      name: http-wildcard
-      protocol: HTTP
-    hosts:
-    - "*"
-  - port:
-      number: 2379 # to expose internal service via external port 2379
-      name: mongo
-      protocol: MONGO
-    hosts:
-    - "*"
-
- -

The Gateway specification above describes the L4-L6 properties of a load -balancer. A VirtualService can then be bound to a gateway to control -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 -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).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-rule
-  namespace: bookinfo-namespace
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  - uk.bookinfo.com
-  - eu.bookinfo.com
-  gateways:
-  - some-config-namespace/my-gateway
-  - mesh # applies to all the sidecars in the mesh
-  http:
-  - match:
-    - headers:
-        cookie:
-          user: dev-123
-    route:
-    - destination:
-        port:
-          number: 7777
-        host: reviews.qa.svc.cluster.local
-  - match:
-      uri:
-        prefix: /reviews/
-    route:
-    - destination:
-        port:
-          number: 9080 # can be omitted if its the only port for reviews
-        host: reviews.prod.svc.cluster.local
-      weight: 80
-    - destination:
-        host: reviews.qa.svc.cluster.local
-      weight: 20
-
- -

The following VirtualService forwards traffic arriving at (external) -port 27017 to internal Mongo server on port 5555. This rule is not -applicable internally in the mesh as the gateway list omits the -reserved name mesh.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-Mongo
-  namespace: bookinfo-namespace
-spec:
-  hosts:
-  - mongosvr.prod.svc.cluster.local #name of internal Mongo service
-  gateways:
-  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
-                                       namespace as virtual service.
-  tcp:
-  - match:
-    - port: 27017
-    route:
-    - destination:
-        host: mongo.prod.svc.cluster.local
-        port:
-          number: 5555
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
serversServer[] -

REQUIRED: A list of server specifications.

- -
selectormap<string, string> -

REQUIRED: One or more labels that indicate a specific set of pods/VMs -on which this gateway configuration should be applied. The scope of -label search is restricted to the configuration namespace in which the -the resource is present. In other words, the Gateway resource must -reside in the same namespace as the gateway workload.

- -
-
-

HTTPFaultInjection

-
-

HTTPFaultInjection can be used to specify one or more faults to inject -while forwarding http requests to the destination specified in a route. -Fault specification is part of a VirtualService rule. Faults include -aborting the Http request from downstream service, and/or delaying -proxying of requests. A fault rule MUST HAVE delay or abort or both.

- -

Note: Delay and abort faults are independent of one another, even if -both are specified simultaneously.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
delayHTTPFaultInjection.Delay -

Delay requests before forwarding, emulating various failures such as -network issues, overloaded upstream service, etc.

- -
abortHTTPFaultInjection.Abort -

Abort Http request attempts and return error codes back to downstream -service, giving the impression that the upstream service is faulty.

- -
-
-

HTTPFaultInjection.Abort

-
-

Abort specification is used to prematurely abort a request with a -pre-specified error code. The following example will return an HTTP 400 -error code for 1 out of every 1000 requests to the “ratings” service “v1”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    fault:
-      abort:
-        percentage:
-          value: 0.001
-        httpStatus: 400
-
- -

The httpStatus field is used to indicate the HTTP status code to -return to the caller. The optional percentage field can be used to only -abort a certain percentage of requests. If not specified, all requests are -aborted.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
percentint32 -

Percentage of requests to be aborted with the error code provided (0-100). -Use of integer percent value is deprecated. Use the double percentage -field instead.

- -
httpStatusint32 (oneof) -

REQUIRED. HTTP status code to use to abort the Http request.

- -
percentagePercent -

Percentage of requests to be aborted with the error code provided.

- -
-
-

HTTPFaultInjection.Delay

-
-

Delay specification is used to inject latency into the request -forwarding path. The following example will introduce a 5 second delay -in 1 out of every 1000 requests to the “v1” version of the “reviews” -service from all pods with label env: prod

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - match:
-    - sourceLabels:
-        env: prod
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-    fault:
-      delay:
-        percentage:
-          value: 0.001
-        fixedDelay: 5s
-
- -

The fixedDelay field is used to indicate the amount of delay in seconds. -The optional percentage field can be used to only delay a certain -percentage of requests. If left unspecified, all request will be delayed.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
percentint32 -

Percentage of requests on which the delay will be injected (0-100). -Use of integer percent value is deprecated. Use the double percentage -field instead.

- -
fixedDelaygoogle.protobuf.Duration (oneof) -

REQUIRED. Add a fixed delay before forwarding the request. Format: -1h/1m/1s/1ms. MUST be >=1ms.

- -
percentagePercent -

Percentage of requests on which the delay will be injected.

- -
-
-

HTTPMatchRequest

-
-

HttpMatchRequest specifies a set of criterion to be met in order for the -rule to be applied to the HTTP request. For example, the following -restricts the rule to match only requests where the URL path -starts with /ratings/v2/ and the request contains a custom end-user header -with value jason.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - headers:
-        end-user:
-          exact: jason
-      uri:
-        prefix: "/ratings/v2/"
-    route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-
- -

HTTPMatchRequest CANNOT be empty.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uriStringMatch -

URI to match -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
schemeStringMatch -

URI Scheme -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
methodStringMatch -

HTTP Method -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
authorityStringMatch -

HTTP Authority -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
headersmap<string, StringMatch> -

The header keys must be lowercase and use hyphen as the separator, -e.g. x-request-id.

- -

Header values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -

Note: The keys uri, scheme, method, and authority will be ignored.

- -
portuint32 -

Specifies the ports on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they support, -in these cases it is not required to explicitly select the port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway match is -independent of sourceLabels.

- -
-
-

HTTPRedirect

-
-

HTTPRedirect can be used to send a 301 redirect response to the caller, -where the Authority/Host and the URI in the response can be swapped with -the specified values. For example, the following rule redirects -requests for /v1/getProductRatings API on the ratings service to -/v1/bookRatings provided by the bookratings service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        exact: /v1/getProductRatings
-  redirect:
-    uri: /v1/bookRatings
-    authority: newratings.default.svc.cluster.local
-  ...
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uristring -

On a redirect, overwrite the Path portion of the URL with this -value. Note that the entire path will be replaced, irrespective of the -request URI being matched as an exact path or prefix.

- -
authoritystring -

On a redirect, overwrite the Authority/Host portion of the URL with -this value.

- -
-
-

HTTPRetry

-
-

Describes the retry policy to use when a HTTP request fails. For -example, the following rule sets the maximum number of retries to 3 when -calling ratings:v1 service, with a 2s timeout per retry attempt.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    retries:
-      attempts: 3
-      perTryTimeout: 2s
-      retryOn: gateway-error,connect-failure,refused-stream
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
attemptsint32 -

REQUIRED. Number of retries for a given request. The interval -between retries will be determined automatically (25ms+). Actual -number of retries attempted depends on the httpReqTimeout.

- -
perTryTimeoutgoogle.protobuf.Duration -

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

- -
retryOnstring -

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 -https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on -and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

- -
-
-

HTTPRewrite

-
-

HTTPRewrite can be used to rewrite specific parts of a HTTP request -before forwarding the request to the destination. Rewrite primitive can -be used only with HTTPRouteDestination. The following example -demonstrates how to rewrite the URL prefix for api call (/ratings) to -ratings service before making the actual API call.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: /ratings
-    rewrite:
-      uri: /v1/bookRatings
-    route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uristring -

rewrite the path (or the prefix) portion of the URI with this -value. If the original URI was matched based on prefix, the value -provided in this field will replace the corresponding matched prefix.

- -
authoritystring -

rewrite the Authority/Host header with this value.

- -
-
-

HTTPRoute

-
-

Describes match conditions and actions for routing HTTP/1.1, HTTP2, and -gRPC traffic. See VirtualService for usage examples.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchHTTPMatchRequest[] -

Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeHTTPRouteDestination[] -

A http rule can either redirect or forward (default) traffic. The -forwarding target can be one of several versions of a service (see -glossary in beginning of document). Weights associated with the -service version determine the proportion of traffic it receives.

- -
redirectHTTPRedirect -

A http rule can either redirect or forward (default) traffic. If -traffic passthrough option is specified in the rule, -route/redirect will be ignored. The redirect primitive can be used to -send a HTTP 301 redirect to a different URI or Authority.

- -
rewriteHTTPRewrite -

Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with -Redirect primitive. Rewrite will be performed before forwarding.

- -
timeoutgoogle.protobuf.Duration -

Timeout for HTTP requests.

- -
retriesHTTPRetry -

Retry policy for HTTP requests.

- -
faultHTTPFaultInjection -

Fault injection policy to apply on HTTP traffic at the client side. -Note that timeouts or retries will not be enabled when faults are -enabled on the client side.

- -
mirrorDestination -

Mirror HTTP traffic to a another destination in addition to forwarding -the requests to the intended destination. Mirrored traffic is on a -best effort basis where the sidecar/gateway will not wait for the -mirrored cluster to respond before returning the response from the -original destination. Statistics will be generated for the mirrored -destination.

- -
corsPolicyCorsPolicy -

Cross-Origin Resource Sharing policy (CORS). Refer to -CORS -for further details about cross origin resource sharing.

- -
appendHeadersmap<string, string> -

Use of append_headers is deprecated. Use the headers -field instead.

- -
removeResponseHeadersstring[] -

Use of remove_response_header is deprecated. Use the headers -field instead.

- -
appendResponseHeadersmap<string, string> -

Use of append_response_headers is deprecated. Use the headers -field instead.

- -
removeRequestHeadersstring[] -

Use of remove_request_headers is deprecated. Use the headers -field instead.

- -
appendRequestHeadersmap<string, string> -

Use of append_request_headers is deprecated. Use the headers -field instead.

- -
headersHeaders -

Header manipulation rules

- -
-
-

HTTPRouteDestination

-
-

Each routing rule is associated with one or more service versions (see -glossary in beginning of document). Weights associated with the version -determine the proportion of traffic it receives. For example, the -following rule will route 25% of traffic for the “reviews” service to -instances with the “v2” tag and the remaining traffic (i.e., 75%) to -“v1”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v2
-      weight: 25
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-      weight: 75
-
- -

And the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-spec:
-  host: reviews.prod.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- -

Traffic can also be split across two entirely different services without -having to define new subsets. For example, the following rule forwards 25% of -traffic to reviews.com to dev.reviews.com

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route-two-domains
-spec:
-  hosts:
-  - reviews.com
-  http:
-  - route:
-    - destination:
-        host: dev.reviews.com
-      weight: 25
-    - destination:
-        host: reviews.com
-      weight: 75
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationDestination -

REQUIRED. Destination uniquely identifies the instances of a service -to which the request/connection should be forwarded to.

- -
weightint32 -

REQUIRED. The proportion of traffic to be forwarded to the service -version. (0-100). Sum of weights across destinations SHOULD BE == 100. -If there is only one destination in a rule, the weight value is assumed to -be 100.

- -
removeResponseHeadersstring[] -

Use of remove_response_header is deprecated. Use the headers -field instead.

- -
appendResponseHeadersmap<string, string> -

Use of append_response_headers is deprecated. Use the headers -field instead.

- -
removeRequestHeadersstring[] -

Use of remove_request_headers is deprecated. Use the headers -field instead.

- -
appendRequestHeadersmap<string, string> -

Use of append_request_headers is deprecated. Use the headers -field instead.

- -
headersHeaders -

Header manipulation rules

- -
-
-

Headers

-
-

Header manipulation rules

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
requestHeaders.HeaderOperations -

Header manipulation rules to apply before forwarding a request -to the destination service

- -
responseHeaders.HeaderOperations -

Header manipulation rules to apply before returning a response -to the caller

- -
-
-

Headers.HeaderOperations

-
-

HeaderOperations Describes the header manipulations to apply

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
setmap<string, string> -

Overwrite the headers specified by key with the given values

- -
addmap<string, string> -

Append the given values to the headers specified by keys -(will create a comma-separated list of values)

- -
removestring[] -

Remove a the specified headers

- -
-
-

IstioEgressListener

-
-

IstioEgressListener specifies the properties of an outbound traffic -listener on the sidecar proxy attached to a workload.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

The port associated with the listener. If using unix domain socket, -use 0 as the port number, with a valid protocol. The port if -specified, will be used as the default destination port associated -with the imported hosts. If the port is omitted, Istio will infer the -listener ports based on the imported hosts. Note that when multiple -egress listeners are specified, where one or more listeners have -specific ports while others have no port, the hosts exposed on a -listener port will be based on the listener with the most specific -port.

- -
bindstring -

The ip or the unix domain socket to which the listener should be bound -to. Port MUST be specified if bind is not empty. Format: x.x.x.x or -unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If -omitted, Istio will autoconfigure the defaults based on imported -services, the workload to which this configuration is applied to and -the captureMode. If captureMode is NONE, bind will default to -127.0.0.1.

- -
captureModeCaptureMode -

When the bind address is an IP, the captureMode option dictates -how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

- -
hostsstring[] -

REQUIRED: One or more services/virtualServices exposed by the listener -in namespace/dnsName format. Publicly scoped services and -VirtualServices from remote namespaces corresponding to the specified -hosts will be imported. The service in a namespace can be a service in -the service registry (e.g., a kubernetes or cloud foundry service) or -a service specified via ServiceEntry configuration. In addition, any -publicly scoped DestinationRule associated with the imported services -will also be imported.

- -

Set the namespace to * to import a particular service from any -available namespace (e.g., “*/foo.example.com”). Set the dnsName field -to * to import all services from the specified namespace (e.g., -“prod/*”). The services should be specified using FQDN format.

- -

NOTE: Only exported services and configuration artifacts from a -namespace can be imported. Private services/configuration will not be -imported. Refer to the scope setting associated with VirtualService, -DestinationRule, ServiceEntry, etc. for details.

- -
-
-

IstioIngressListener

-
-

IstioIngressListener specifies the properties of an inbound -traffic listener on the sidecar proxy attached to a workload.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

REQUIRED. The port associated with the listener. If using -unix domain socket, use 0 as the port number, with a valid -protocol.

- -
bindstring -

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). If omitted, Istio will autoconfigure the defaults -based on imported services and the workload to which this -configuration is applied to.

- -
captureModeCaptureMode -

When the bind address is an IP, the captureMode option dictates -how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

- -
defaultEndpointstring -

REQUIRED: The loopback IP endpoint or unix domain socket to which -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

- -
-
-

L4MatchAttributes

-
-

L4 connection match attributes. Note that L4 connection matching support -is incomplete.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationSubnetsstring[] -

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., -a.b.c.d/xx form or just a.b.c.d.

- -
portuint32 -

Specifies the port on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they support, -in these cases it is not required to explicitly select the port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway -match is independent of sourceLabels.

- -
-
-

LoadBalancerSettings

-
-

Load balancing policies to apply for a specific destination. See Envoy’s -load balancing -documentation -for more details.

- -

For example, the following rule uses a round robin load balancing policy -for all traffic going to the ratings service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: ROUND_ROBIN
-
- -

The following example sets up sticky sessions for the ratings service -hashing-based load balancer for the same ratings service using the -the User cookie as the hash key.

- -
 apiVersion: networking.istio.io/v1alpha3
- kind: DestinationRule
- metadata:
-   name: bookinfo-ratings
- spec:
-   host: ratings.prod.svc.cluster.local
-   trafficPolicy:
-     loadBalancer:
-       consistentHash:
-         httpCookie:
-           name: user
-           ttl: 0s
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
simpleLoadBalancerSettings.SimpleLB (oneof) -
consistentHashLoadBalancerSettings.ConsistentHashLB (oneof) -
-
-

LoadBalancerSettings.ConsistentHashLB

-
-

Consistent Hash-based load balancing can be used to provide soft -session affinity based on HTTP headers, cookies or other -properties. This load balancing policy is applicable only for HTTP -connections. The affinity to a particular destination host will be -lost when one or more hosts are added/removed from the destination -service.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
httpHeaderNamestring (oneof) -

Hash based on a specific HTTP header.

- -
useSourceIpbool (oneof) -

Hash based on the source IP address.

- -
minimumRingSizeuint64 -

The minimum number of virtual nodes to use for the hash -ring. Defaults to 1024. Larger ring sizes result in more granular -load distributions. If the number of hosts in the load balancing -pool is larger than the ring size, each host will be assigned a -single virtual node.

- -
-
-

LoadBalancerSettings.ConsistentHashLB.HTTPCookie

-
-

Describes a HTTP cookie that will be used as the hash key for the -Consistent Hash load balancer. If the cookie is not present, it will -be generated.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
namestring -

REQUIRED. Name of the cookie.

- -
pathstring -

Path to set for the cookie.

- -
ttlgoogle.protobuf.Duration -

REQUIRED. Lifetime of the cookie.

- -
-
-

LoadBalancerSettings.SimpleLB

-
-

Standard load balancing algorithms that require no tuning.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
ROUND_ROBIN -

Round Robin policy. Default

- -
LEAST_CONN -

The least request load balancer uses an O(1) algorithm which selects -two random healthy hosts and picks the host which has fewer active -requests.

- -
RANDOM -

The random load balancer selects a random healthy host. The random -load balancer generally performs better than round robin if no health -checking policy is configured.

- -
PASSTHROUGH -

This option will forward the connection to the original IP address -requested by the caller without doing any form of load -balancing. This option must be used with care. It is meant for -advanced use cases. Refer to Original Destination load balancer in -Envoy for further details.

- -
-
-

OutlierDetection

-
-

A Circuit breaker implementation that tracks the status of each -individual host in the upstream service. Applicable to both HTTP and -TCP services. For HTTP services, hosts that continually return 5xx -errors for API calls are ejected from the pool for a pre-defined period -of time. For TCP services, connection timeouts or connection -failures to a given host counts as an error when measuring the -consecutive errors metric. See Envoy’s outlier -detection -for more details.

- -

The following rule sets a connection pool size of 100 connections and -1000 concurrent HTTP2 requests, with no more than 10 req/connection to -“reviews” service. In addition, it configures upstream hosts to be -scanned every 5 mins, such that any host that fails 7 consecutive times -with 5XX error code will be ejected for 15 minutes.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-cb-policy
-spec:
-  host: reviews.prod.svc.cluster.local
-  trafficPolicy:
-    connectionPool:
-      tcp:
-        maxConnections: 100
-      http:
-        http2MaxRequests: 1000
-        maxRequestsPerConnection: 10
-    outlierDetection:
-      consecutiveErrors: 7
-      interval: 5m
-      baseEjectionTime: 15m
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
consecutiveErrorsint32 -

Number of errors before a host is ejected from the connection -pool. Defaults to 5. When the upstream host is accessed over HTTP, a -502, 503 or 504 return code qualifies as an error. When the upstream host -is accessed over an opaque TCP connection, connect timeouts and -connection error/failure events qualify as an error.

- -
intervalgoogle.protobuf.Duration -

Time interval between ejection sweep analysis. format: -1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

- -
baseEjectionTimegoogle.protobuf.Duration -

Minimum ejection duration. A host will remain ejected for a period -equal to the product of minimum ejection duration and the number of -times the host has been ejected. This technique allows the system to -automatically increase the ejection period for unhealthy upstream -servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

- -
maxEjectionPercentint32 -

Maximum % of hosts in the load balancing pool for the upstream -service that can be ejected. Defaults to 10%.

- -
minHealthPercentint32 -

Outlier detection will be enabled as long as the associated load balancing -pool has at least minhealthpercent hosts in healthy mode. When the -percentage of healthy hosts in the load balancing pool drops below this -threshold, outlier detection will be disabled and the proxy will load balance -across all hosts in the pool (healthy and unhealthy). The default is 50%.

- -
-
-

Percent

-
-

Percent specifies a percentage in the range of [0.0, 100.0].

- - - - - - - - - - - - - - - - -
FieldTypeDescription
valuedouble -
-
-

Port

-
-

Port describes the properties of a specific port of a service.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
numberuint32 -

REQUIRED: A valid non-negative integer port number.

- -
protocolstring -

REQUIRED: The protocol exposed on the port. -MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. -TLS implies the connection will be routed based on the SNI header to -the destination without terminating the TLS connection.

- -
namestring -

Label assigned to the port.

- -
-
-

PortSelector

-
-

PortSelector specifies the number of a port to be used for -matching or selection for final routing.

- - - - - - - - - - - - - - - - -
FieldTypeDescription
numberuint32 (oneof) -

Valid port number

- -
-
-

RouteDestination

-
-

L4 routing rule weighted destination.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationDestination -

REQUIRED. Destination uniquely identifies the instances of a service -to which the request/connection should be forwarded to.

- -
weightint32 -

REQUIRED. The proportion of traffic to be forwarded to the service -version. If there is only one destination in a rule, all traffic will be -routed to it irrespective of the weight.

- -
-
-

Server

-
-

Server describes the properties of the proxy on a given load balancer -port. For example,

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-ingress
-spec:
-  selector:
-    app: my-ingress-gateway
-  servers:
-  - port:
-      number: 80
-      name: http2
-      protocol: HTTP2
-    hosts:
-    - "*"
-
- -

Another example

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-tcp-ingress
-spec:
-  selector:
-    app: my-tcp-ingress-gateway
-  servers:
-  - port:
-      number: 27018
-      name: mongo
-      protocol: MONGO
-    hosts:
-    - "*"
-
- -

The following is an example of TLS configuration for port 443

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-tls-ingress
-spec:
-  selector:
-    app: my-tls-ingress-gateway
-  servers:
-  - port:
-      number: 443
-      name: https
-      protocol: HTTPS
-    hosts:
-    - "*"
-    tls:
-      mode: SIMPLE
-      serverCertificate: /etc/certs/server.pem
-      privateKey: /etc/certs/privatekey.pem
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

REQUIRED: The Port on which the proxy should listen for incoming -connections. If using unix domain socket, use 0 as the port number, -with a valid protocol and port name, along with the bind parameter.

- -
hostsstring[] -

REQUIRED. A list of hosts exposed by this gateway. At least one -host is required. While typically applicable to -HTTP services, it can also be used for TCP services using TLS with -SNI. May contain a wildcard prefix for the bottom-level component of -a domain name. For example *.foo.com matches bar.foo.com -and *.com matches bar.foo.com, example.com, and so on.

- -

Note: A VirtualService that is bound to a gateway must have one -or more hosts that match the hosts specified in a server. The match -could be an exact match or a suffix match with the server’s hosts. For -example, if the server’s hosts specifies “*.example.com”, -VirtualServices with hosts dev.example.com, prod.example.com will -match. However, VirtualServices with hosts example.com or -newexample.com will not match.

- -
tlsServer.TLSOptions -

Set of TLS related options that govern the server’s behavior. Use -these options to control if all http requests should be redirected to -https, and the TLS modes to use.

- -
defaultEndpointstring -

The loopback IP endpoint or unix domain socket to which traffic should -be forwarded to by default. Format should be 127.0.0.1:PORT or -unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

- -
-
-

Server.TLSOptions

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
httpsRedirectbool -

If set to true, the load balancer will send a 301 redirect for all -http connections, asking the clients to use HTTPS.

- -
modeServer.TLSOptions.TLSmode -

Optional: Indicates whether connections to this port should be -secured using TLS. The value of this field determines how TLS is -enforced.

- -
serverCertificatestring -

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file -holding the server-side TLS certificate to use.

- -
privateKeystring -

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file -holding the server’s private key.

- -
caCertificatesstring -

REQUIRED if mode is MUTUAL. The path to a file containing -certificate authority certificates to use in verifying a presented -client side certificate.

- -
credentialNamestring -

The credentialName stands for a unique identifier that can be used -to identify the serverCertificate and the privateKey. The 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 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 -credentialName-cacert. The semantics of the name are platform dependent. -In Kubernetes, the default Istio supplied credential server expects the -credentialName to match the name of the Kubernetes secret that holds the -server certificate, the private key, and the CA certificate -(if using mutual TLS).

- -
subjectAltNamesstring[] -

A list of alternate names to verify the subject identity in the -certificate presented by the client.

- -
minProtocolVersionServer.TLSOptions.TLSProtocol -

Optional: Minimum TLS protocol version.

- -
maxProtocolVersionServer.TLSOptions.TLSProtocol -

Optional: Maximum TLS protocol version.

- -
cipherSuitesstring[] -

Optional: If specified, only support the specified cipher list. -Otherwise default to the default cipher list supported by Envoy.

- -
-
-

Server.TLSOptions.TLSProtocol

-
-

TLS protocol versions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
TLS_AUTO -

Automatically choose the optimal TLS version.

- -
TLSV1_0 -

TLS version 1.0

- -
TLSV1_1 -

TLS version 1.1

- -
TLSV1_2 -

TLS version 1.2

- -
TLSV1_3 -

TLS version 1.3

- -
-
-

Server.TLSOptions.TLSmode

-
-

TLS modes enforced by the proxy

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
PASSTHROUGH -

The SNI string presented by the client will be used as the match -criterion in a VirtualService TLS route to determine the -destination service from the service registry.

- -
SIMPLE -

Secure connections with standard TLS semantics.

- -
MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication.

- -
AUTO_PASSTHROUGH -

Similar to the passthrough mode, except servers with this TLS mode -do not require an associated VirtualService to map from the SNI -value to service in the registry. The destination details such as -the service/subset/port are encoded in the SNI value. The proxy -will forward to the upstream (Envoy) cluster (a group of -endpoints) specified by the SNI value. This server is typically -used to provide connectivity between services in disparate L3 -networks that otherwise do not have direct connectivity between -their respective endpoints. Use of this mode assumes that both the -source and the destination are using Istio mTLS to secure traffic.

- -
-
-

ServiceEntry

-
-

ServiceEntry enables adding additional entries into Istio’s internal -service registry, so that auto-discovered services in the mesh can -access/route to these manually specified services. A service entry -describes the properties of a service (DNS name, VIPs, ports, protocols, -endpoints). These services could be external to the mesh (e.g., web -APIs) or mesh-internal services that are not part of the platform’s -service registry (e.g., a set of VMs talking to services in Kubernetes).

- -

The following configuration adds a set of MongoDB instances running on -unmanaged VMs to Istio’s registry, so that these services can be treated -as any other service in the mesh. The associated DestinationRule is used -to initiate mTLS connections to the database instances.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-mongocluster
-spec:
-  hosts:
-  - mymongodb.somedomain # not used
-  addresses:
-  - 192.192.192.192/24 # VIPs
-  ports:
-  - number: 27018
-    name: mongodb
-    protocol: MONGO
-  location: MESH_INTERNAL
-  resolution: STATIC
-  endpoints:
-  - address: 2.2.2.2
-  - address: 3.3.3.3
-
- -

and the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: mtls-mongocluster
-spec:
-  host: mymongodb.somedomain
-  trafficPolicy:
-    tls:
-      mode: MUTUAL
-      clientCertificate: /etc/certs/myclientcert.pem
-      privateKey: /etc/certs/client_private_key.pem
-      caCertificates: /etc/certs/rootcacerts.pem
-
- -

The following example uses a combination of service entry and TLS -routing in virtual service to demonstrate the use of SNI routing to -forward unterminated TLS traffic from the application to external -services via the sidecar. The sidecar inspects the SNI value in the -ClientHello message to route to the appropriate external service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-https
-spec:
-  hosts:
-  - api.dropboxapi.com
-  - www.googleapis.com
-  - api.facebook.com
-  location: MESH_EXTERNAL
-  ports:
-  - number: 443
-    name: https
-    protocol: TLS
-  resolution: DNS
-
- -

And the associated VirtualService to route based on the SNI value.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: tls-routing
-spec:
-  hosts:
-  - api.dropboxapi.com
-  - www.googleapis.com
-  - api.facebook.com
-  tls:
-  - match:
-    - port: 443
-      sniHosts:
-      - api.dropboxapi.com
-    route:
-    - destination:
-        host: api.dropboxapi.com
-  - match:
-    - port: 443
-      sniHosts:
-      - www.googleapis.com
-    route:
-    - destination:
-        host: www.googleapis.com
-  - match:
-    - port: 443
-      sniHosts:
-      - api.facebook.com
-    route:
-    - destination:
-        host: api.facebook.com
-
-
- -

The following example demonstrates the use of a dedicated egress gateway -through which all external service traffic is forwarded. -The ‘exportTo’ field allows for control over the visibility of a service -declaration to other namespaces in the mesh. By default a service is exported -to all namespaces. The following example restricts the visibility to the -current namespace, represented by “.”, so that it cannot be used by other -namespaces.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-httpbin
-  namespace : egress
-spec:
-  hosts:
-  - httpbin.com
-  exportTo:
-  - "."
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: DNS
-
- -

Define a gateway to handle all egress traffic.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
- name: istio-egressgateway
- namespace: egress
-spec:
- selector:
-   istio: egressgateway
- servers:
- - port:
-     number: 80
-     name: http
-     protocol: HTTP
-   hosts:
-   - "*"
-
- -

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 -a managed middle proxy like this is a common practice.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: gateway-routing
-  namespace: egress
-spec:
-  hosts:
-  - httpbin.com
-  exportTo:
-  - *
-  gateways:
-  - mesh
-  - istio-egressgateway
-  http:
-  - match:
-    - port: 80
-      gateways:
-      - mesh
-    route:
-    - destination:
-        host: istio-egressgateway.istio-system.svc.cluster.local
-  - match:
-    - port: 80
-      gateway:
-      - istio-egressgateway
-    route:
-    - destination:
-        host: httpbin.com
-
- -

The following example demonstrates the use of wildcards in the hosts for -external services. If the connection has to be routed to the IP address -requested by the application (i.e. application resolves DNS and attempts -to connect to a specific IP), the discovery mode must be set to NONE.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-wildcard-example
-spec:
-  hosts:
-  - "*.bar.com"
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: NONE
-
- -

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.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: unix-domain-socket-example
-spec:
-  hosts:
-  - "example.unix.local"
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: STATIC
-  endpoints:
-  - address: unix:///var/run/example/socket
-
- -

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 -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

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-dns
-spec:
-  hosts:
-  - foo.bar.com
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: DNS
-  endpoints:
-  - address: us.foo.bar.com
-    ports:
-      https: 8080
-  - address: uk.foo.bar.com
-    ports:
-      https: 9080
-  - address: in.foo.bar.com
-    ports:
-      https: 7080
-
- -

With HTTP_PROXY=http://localhost/, calls from the application to -http://foo.bar.com will be load balanced across the three domains -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 -containing a subject alternate name -whose format conforms to the SPIFEE standard -https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md:

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: httpbin
-  namespace : httpbin-ns
-spec:
-  hosts:
-  - httpbin.com
-  location: MESH_INTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: STATIC
-  endpoints:
-  - address: 2.2.2.2
-  - address: 3.3.3.3
-  subjectAltNames:
-  - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hostsstring[] -

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.

- -
addressesstring[] -

The virtual IP addresses associated with the service. Could be CIDR -prefix. For HTTP services, 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, -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 -solely based on the destination port. In such scenarios, the port on -which the service is being accessed must not be shared by any other -service in the mesh. In other words, the sidecar will behave as a -simple TCP proxy, forwarding incoming traffic on a specified port to -the specified destination endpoint IP/host. Unix domain socket -addresses are not supported in this field.

- -
portsPort[] -

REQUIRED. The ports associated with the external service. If the -Endpoints are unix domain socket addresses, there must be exactly one -port.

- -
locationServiceEntry.Location -

Specify whether the service should be considered external to the mesh -or part of the mesh.

- -
resolutionServiceEntry.Resolution -

REQUIRED: Service discovery mode for the hosts. Care must be taken -when setting the resolution mode to NONE for a TCP port without -accompanying IP addresses. In such cases, traffic to any IP on -said port will be allowed (i.e. 0.0.0.0:).

- -
endpointsServiceEntry.Endpoint[] -

One or more endpoints associated with the service.

- -
exportTostring[] -

A list of namespaces to which this service is exported. Exporting a service -allows it to used by sidecars, gateways and virtual services defined in -other namespaces. This feature provides a mechanism for service owners -and mesh administrators to control the visibility of services across -namespace boundaries.

- -

If no namespaces are specified then the service is exported to all -namespaces by default.

- -

The value “.” is reserved and defines an export to the same namespace that -the service is declared in, similarly the value “*” is reserved and -defines an export to all namespaces.

- -

For a Kubernetes Service the equivalent effect can be achieved by setting -the annotation “networking.istio.io/exportTo” to a comma-separated list -of namespace names.

- -
subjectAltNamesstring[] -

The list of subject alternate names allowed for workloads that -implement this service. This information is used to enforce -secure-naming https://istio.io/docs/concepts/security/#secure-naming. -If specified, the proxy will verify that the server -certificate’s subject alternate name matches one of the specified values.

- -
-
-

ServiceEntry.Endpoint

-
-

Endpoint defines a network address (IP or hostname) associated with -the mesh service.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
addressstring -

REQUIRED: Address associated with the network endpoint without the -port. Domain names can be used if and only if the resolution is set -to DNS, and must be fully-qualified without wildcards. Use the form -unix:///absolute/path/to/socket for unix domain socket endpoints.

- -
portsmap<string, uint32> -

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.

- -
labelsmap<string, string> -

One or more labels associated with the endpoint.

- -
networkstring -

Network enables Istio to group endpoints resident in the same L3 -domain/network. All endpoints in the same network are assumed to be -directly reachable from one another. When endpoints in different -networks cannot reach each other directly, an Istio Gateway can be -used to establish connectivity (usually using the -AUTO_PASSTHROUGH mode in a Gateway Server). This is -an advanced configuration used typically for spanning an Istio mesh -over multiple clusters.

- -
localitystring -

The locality associated with the endpoint. A locality corresponds -to a failure domain (e.g., country/region/zone). Arbitrary failure -domain hierarchies can be represented by separating each -encapsulating failure domain by /. For example, the locality of an -an endpoint in US, in US-East-1 region, within availability zone -az-1, in data center rack r11 can be represented as -us/us-east-1/az-1/r11. Istio will configure the sidecar to route to -endpoints within the same locality as the sidecar. If none of the -endpoints in the locality are available, endpoints parent locality -(but within the same network ID) will be chosen. For example, if -there are two endpoints in same network (networkID “n1”), say e1 -with locality us/us-east-1/az-1/r11 and e2 with locality -us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality -will prefer e1 from the same locality over e2 from a different -locality. Endpoint e2 could be the IP associated with a gateway -(that bridges networks n1 and n2), or the IP associated with a -standard service endpoint.

- -
weightuint32 -

The load balancing weight associated with the endpoint. Endpoints -with higher weights will receive proportionally higher traffic.

- -
-
-

ServiceEntry.Location

-
-

Location specifies whether the service is part of Istio mesh or -outside the mesh. Location determines the behavior of several -features, such as service-to-service mTLS authentication, policy -enforcement, etc. When communicating with services outside the mesh, -Istio’s mTLS authentication is disabled, and policy enforcement is -performed on the client-side as opposed to server-side.

- - - - - - - - - - - - - - - - - - -
NameDescription
MESH_EXTERNAL -

Signifies that the service is external to the mesh. Typically used -to indicate external services consumed through APIs.

- -
MESH_INTERNAL -

Signifies that the service is part of the mesh. Typically used to -indicate services added explicitly as part of expanding the service -mesh to include unmanaged infrastructure (e.g., VMs added to a -Kubernetes based service mesh).

- -
-
-

ServiceEntry.Resolution

-
-

Resolution determines how the proxy will resolve the IP addresses of -the network endpoints associated with the service, so that it can -route to one of them. The resolution mode specified here has no impact -on how the application resolves the IP address associated with the -service. The application may still have to use DNS to resolve the -service to an IP so that the outbound traffic can be captured by the -Proxy. Alternatively, for HTTP services, the application could -directly communicate with the proxy (e.g., by setting HTTP_PROXY) to -talk to these services.

- - - - - - - - - - - - - - - - - - - - - - -
NameDescription
NONE -

Assume that incoming connections have already been resolved (to a -specific destination IP address). Such connections are typically -routed via the proxy using mechanisms such as IP table REDIRECT/ -eBPF. After performing any routing related transformations, the -proxy will forward the connection to the IP address to which the -connection was bound.

- -
STATIC -

Use the static IP addresses specified in endpoints (see below) as the -backing instances associated with the service.

- -
DNS -

Attempt to resolve the IP address by querying the ambient DNS, -during request processing. If no endpoints are specified, the proxy -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 -domain socket endpoints.

- -
-
-

Sidecar

-
-

Sidecar describes the configuration of the sidecar proxy that mediates -inbound and outbound communication to the workload it is attached to. By -default, Istio will program all sidecar proxies in the mesh with the -necessary configuration required to reach every workload in the mesh, as -well as accept traffic on all the ports associated with the -workload. The Sidecar resource provides a way to fine tune the set of -ports, protocols that the proxy will accept when forwarding traffic to -and from the workload. In addition, it is possible to restrict the set -of services that the proxy can reach when forwarding outbound traffic -from the workload.

- -

Services and configuration in a mesh are organized into one or more -namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar -resource in a namespace will apply to one or more workloads in the same -namespace, selected using the workloadSelector. In the absence of a -workloadSelector, it will apply to all workloads in the same -namespace. When determining the Sidecar resource to be applied to a -workload, preference will be given to the resource with a -workloadSelector that selects this workload, over a Sidecar resource -without any workloadSelector.

- -

NOTE: Each namespace can have only one Sidecar resource without any -workload selector. The behavior of the system is undefined if more -than one selector-less Sidecar resources exist in a given namespace. The -behavior of the system is undefined if two or more Sidecar resources -with a workload selector select the same workload.

- -

The example below declares a Sidecar resource in the prod-us1 namespace -that configures the sidecars in the namespace to allow egress traffic to -public services in the prod-us1, prod-apis, and the istio-system -namespaces.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Sidecar
-metadata:
-  name: default
-  namespace: prod-us1
-spec:
-  egress:
-  - hosts:
-    - "prod-us1/*"
-    - "prod-apis/*"
-    - "istio-system/*"
-
- -

The example below declares a Sidecar resource in the prod-us1 namespace -that accepts inbound HTTP traffic on port 9080 and forwards -it to the attached workload listening on a unix domain socket. In the -egress direction, in addition to the istio-system namespace, the sidecar -proxies only HTTP traffic bound for port 9080 for services in the -prod-us1 namespace.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Sidecar
-metadata:
-  name: default
-  namespace: prod-us1
-spec:
-  ingress:
-  - port:
-      number: 9080
-      protocol: HTTP
-      name: somename
-    defaultEndpoint: unix:///var/run/someuds.sock
-  egress:
-  - hosts:
-    - "istio-system/*"
-  - port:
-      number: 9080
-      protocol: HTTP
-      name: egresshttp
-    hosts:
-    - "prod-us1/*"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
workloadSelectorWorkloadSelector -

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.

- -
ingressIstioIngressListener[] -

Ingress specifies the configuration of the sidecar for processing -inbound traffic to the attached workload. If omitted, Istio will -autoconfigure the sidecar based on the information about the workload -obtained from the orchestration platform (e.g., exposed ports, services, -etc.).

- -
egressIstioEgressListener[] -

Egress specifies the configuration of the sidecar for processing -outbound traffic from the attached workload to other services in the -mesh. If omitted, Istio will autoconfigure the sidecar to be able to -reach every service in the mesh that is visible to this namespace.

- -
-
-

StringMatch

-
-

Describes how to match a given string in HTTP headers. Match is -case-sensitive.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
exactstring (oneof) -

exact string match

- -
prefixstring (oneof) -

prefix-based match

- -
regexstring (oneof) -

ECMAscript style regex-based match

- -
-
-

Subset

-
-

A subset of endpoints of a service. Subsets can be used for scenarios -like A/B testing, or routing to a specific version of a service. Refer -to VirtualService documentation for examples of using -subsets in these scenarios. In addition, traffic policies defined at the -service-level can be overridden at a subset-level. The following rule -uses a round robin load balancing policy for all traffic going to a -subset named testversion that is composed of endpoints (e.g., pods) with -labels (version:v3).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-  subsets:
-  - name: testversion
-    labels:
-      version: v3
-    trafficPolicy:
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- -

Note: Policies specified for subsets will not take effect until -a route rule explicitly sends traffic to this subset.

- -

One or more labels are typically required to identify the subset destination, -however, when the corresponding DestinationRule represents a host that -supports multiple SNI hosts (e.g., an egress gateway), a subset without labels -may be meaningful. In this case a traffic policy with TLSSettings -can be used to identify a specific SNI host corresponding to the named subset.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
namestring -

REQUIRED. Name of the subset. The service name and the subset name can -be used for traffic splitting in a route rule.

- -
labelsmap<string, string> -

Labels apply a filter over the endpoints of a service in the -service registry. See route rules for examples of usage.

- -
trafficPolicyTrafficPolicy -

Traffic policies that apply to this subset. Subsets inherit the -traffic policies specified at the DestinationRule level. Settings -specified at the subset level will override the corresponding settings -specified at the DestinationRule level.

- -
-
-

TCPRoute

-
-

Describes match conditions and actions for routing TCP traffic. The -following routing rule forwards traffic arriving at port 27017 for -mongo.prod.svc.cluster.local to another Mongo server on port 5555.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-Mongo
-spec:
-  hosts:
-  - mongo.prod.svc.cluster.local
-  tcp:
-  - match:
-    - port: 27017
-    route:
-    - destination:
-        host: mongo.backup.svc.cluster.local
-        port:
-          number: 5555
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchL4MatchAttributes[] -

Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeRouteDestination[] -

The destination to which the connection should be forwarded to.

- -
-
-

TLSMatchAttributes

-
-

TLS connection match attributes.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
sniHostsstring[] -

REQUIRED. SNI (server name indicator) to match on. Wildcard prefixes -can be used in the SNI value, e.g., *.com will match foo.example.com -as well as example.com. An SNI value must be a subset (i.e., fall -within the domain) of the corresponding virtual serivce’s hosts.

- -
destinationSubnetsstring[] -

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., -a.b.c.d/xx form or just a.b.c.d.

- -
portuint32 -

Specifies the port on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they -support, in these cases it is not required to explicitly select the -port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway -match is independent of sourceLabels.

- -
-
-

TLSRoute

-
-

Describes match conditions and actions for routing unterminated TLS -traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS -traffic arriving at port 443 of gateway called “mygateway” to internal -services in the mesh based on the SNI value.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-sni
-spec:
-  hosts:
-  - "*.bookinfo.com"
-  gateways:
-  - mygateway
-  tls:
-  - match:
-    - port: 443
-      sniHosts:
-      - login.bookinfo.com
-    route:
-    - destination:
-        host: login.prod.svc.cluster.local
-  - match:
-    - port: 443
-      sniHosts:
-      - reviews.bookinfo.com
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchTLSMatchAttributes[] -

REQUIRED. Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeRouteDestination[] -

The destination to which the connection should be forwarded to.

- -
-
-

TLSSettings

-
-

SSL/TLS related settings for upstream connections. See Envoy’s TLS -context -for more details. These settings are common to both HTTP and TCP upstreams.

- -

For example, the following rule configures a client to use mutual TLS -for connections to upstream database cluster.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: db-mtls
-spec:
-  host: mydbserver.prod.svc.cluster.local
-  trafficPolicy:
-    tls:
-      mode: MUTUAL
-      clientCertificate: /etc/certs/myclientcert.pem
-      privateKey: /etc/certs/client_private_key.pem
-      caCertificates: /etc/certs/rootcacerts.pem
-
- -

The following rule configures a client to use TLS when talking to a -foreign service whose domain matches *.foo.com.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: tls-foo
-spec:
-  host: "*.foo.com"
-  trafficPolicy:
-    tls:
-      mode: SIMPLE
-
- -

The following rule configures a client to use Istio mutual TLS when talking -to rating services.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: ratings-istio-mtls
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    tls:
-      mode: ISTIO_MUTUAL
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
modeTLSSettings.TLSmode -

REQUIRED: Indicates whether connections to this port should be secured -using TLS. The value of this field determines how TLS is enforced.

- -
clientCertificatestring -

REQUIRED if mode is MUTUAL. The path to the file holding the -client-side TLS certificate to use. -Should be empty if mode is ISTIO_MUTUAL.

- -
privateKeystring -

REQUIRED if mode is MUTUAL. The path to the file holding the -client’s private key. -Should be empty if mode is ISTIO_MUTUAL.

- -
caCertificatesstring -

OPTIONAL: The path to the file containing certificate authority -certificates to use in verifying a presented server certificate. If -omitted, the proxy will not verify the server’s certificate. -Should be empty if mode is ISTIO_MUTUAL.

- -
subjectAltNamesstring[] -

A list of alternate names to verify the subject identity in the -certificate. If specified, the proxy will verify that the server -certificate’s subject alt name matches one of the specified values. -If specified, this list overrides the value of subjectaltnames -from the ServiceEntry.

- -
snistring -

SNI string to present to the server during TLS handshake.

- -
-
-

TLSSettings.TLSmode

-
-

TLS connection mode

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
DISABLE -

Do not setup a TLS connection to the upstream endpoint.

- -
SIMPLE -

Originate a TLS connection to the upstream endpoint.

- -
MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication.

- -
ISTIO_MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication. -Compared to Mutual mode, this mode uses certificates generated -automatically by Istio for mTLS authentication. When this mode is -used, all other fields in TLSSettings should be empty.

- -
-
-

TrafficPolicy

-
-

Traffic policies to apply for a specific destination, across all -destination ports. See DestinationRule for examples.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
loadBalancerLoadBalancerSettings -

Settings controlling the load balancer algorithms.

- -
connectionPoolConnectionPoolSettings -

Settings controlling the volume of connections to an upstream service

- -
outlierDetectionOutlierDetection -

Settings controlling eviction of unhealthy hosts from the load balancing pool

- -
tlsTLSSettings -

TLS related settings for connections to the upstream service.

- -
portLevelSettingsTrafficPolicy.PortTrafficPolicy[] -

Traffic policies specific to individual ports. Note that port level -settings will override the destination-level settings. Traffic -settings specified at the destination-level will not be inherited when -overridden by port-level settings, i.e. default values will be applied -to fields omitted in port-level traffic policies.

- -
-
-

TrafficPolicy.PortTrafficPolicy

-
-

Traffic policies that apply to specific ports of the service

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPortSelector -

Specifies the port name or number of a port on the destination service -on which this policy is being applied.

- -

Names must comply with DNS label syntax (rfc1035) and therefore cannot -collide with numbers. If there are multiple ports on a service with -the same protocol the names should be of the form -.

- -
loadBalancerLoadBalancerSettings -

Settings controlling the load balancer algorithms.

- -
connectionPoolConnectionPoolSettings -

Settings controlling the volume of connections to an upstream service

- -
outlierDetectionOutlierDetection -

Settings controlling eviction of unhealthy hosts from the load balancing pool

- -
tlsTLSSettings -

TLS related settings for connections to the upstream service.

- -
-
-

VirtualService

-
-

A VirtualService defines a set of traffic routing rules to apply when a host is -addressed. Each routing rule defines matching criteria for traffic of a specific -protocol. If the traffic is matched, then it is sent to a named destination service -(or subset/version of it) defined in the registry.

- -

The source of traffic can also be matched in a routing rule. This allows routing -to be customized for specific client contexts.

- -

The following example on Kubernetes, routes all HTTP traffic by default to -pods of the reviews service with label “version: v1”. In addition, -HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will -be rewritten to /newcatalog and sent to pods with label “version: v2”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: "/wpcatalog"
-    - uri:
-        prefix: "/consumercatalog"
-    rewrite:
-      uri: "/newcatalog"
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v2
-  - route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-
- -

A subset/version of a route destination is identified with a reference -to a named service subset which must be declared in a corresponding -DestinationRule.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-spec:
-  host: reviews.prod.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hostsstring[] -

REQUIRED. The destination hosts to which traffic is being sent. Could -be a DNS name with wildcard prefix or an IP address. Depending on the -platform, short-names can also be used instead of a FQDN (i.e. has no -dots in the name). In such a scenario, the FQDN of the host would be -derived based on the underlying platform.

- -

A host name can be defined by only one VirtualService. A single -VirtualService can be used to describe traffic properties for multiple -HTTP and TCP ports.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -

The hosts field applies to both HTTP and TCP services. Service inside -the mesh, i.e., those found in the service registry, must always be -referred to using their alphanumeric names. IP addresses are allowed -only for services defined via the Gateway.

- -
gatewaysstring[] -

The names of gateways and sidecars that should apply these routes. A -single VirtualService is used for sidecars inside the mesh as well as -for one or more gateways. The selection condition imposed by this -field can be overridden using the source field in the match conditions -of protocol-specific routes. The reserved word mesh is used to imply -all the sidecars in the mesh. When this field is omitted, the default -gateway (mesh) will be used, which would apply the rule to all -sidecars in the mesh. If a list of gateway names is provided, the -rules will apply only to the gateways. To apply the rules to both -gateways and sidecars, specify mesh as one of the gateway names.

- -
httpHTTPRoute[] -

An ordered list of route rules for HTTP traffic. HTTP routes will be -applied to platform service ports named ‘http-’/‘http2-’/‘grpc-*’, gateway -ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service -entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching -an incoming request is used.

- -
tlsTLSRoute[] -

An ordered list of route rule for non-terminated TLS & HTTPS -traffic. Routing is typically performed using the SNI value presented -by the ClientHello message. TLS routes will be applied to platform -service ports named ‘https-’, ‘tls-’, unterminated gateway ports using -HTTPS/TLS protocols (i.e. with “passthrough” TLS mode) and service -entry ports using HTTPS/TLS protocols. The first rule matching an -incoming request is used. NOTE: Traffic ‘https-’ or ‘tls-’ ports -without associated virtual service will be treated as opaque TCP -traffic.

- -
tcpTCPRoute[] -

An ordered list of route rules for opaque TCP traffic. TCP routes will -be applied to any port that is not a HTTP or TLS port. The first rule -matching an incoming request is used.

- -
exportTostring[] -

A list of namespaces to which this virtual service is exported. Exporting a -virtual service allows it to used by sidecars and gateways defined in -other namespaces. This feature provides a mechanism for service owners -and mesh administrators to control the visibility of virtual services -across namespace boundaries.

- -

If no namespaces are specified then the virtual service is exported to all -namespaces by default.

- -

The value “.” is reserved and defines an export to the same namespace that -the virtual service is declared in, similarly the value “*” is reserved and -defines an export to all namespaces.

- -
-
-

WorkloadSelector

-
-

WorkloadSelector specifies the criteria used to determine if the Gateway -or Sidecar resource can be applied to a proxy. The matching criteria -includes the metadata associated with a proxy, workload info such as -labels attached to the pod/VM, or any other info that the proxy provides -to Istio during the initial handshake. If multiple conditions are -specified, all conditions need to match in order for the workload to be -selected. Currently, only label based selection mechanism is supported.

- - - - - - - - - - - - - - - - -
FieldTypeDescription
labelsmap<string, string> -

REQUIRED: One or more labels that indicate a specific set of pods/VMs -on which this sidecar configuration should be applied. The scope of -label search is restricted to the configuration namespace in which the -the resource is present.

- -
-
diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 091d09a45a7..9a36a4be6f4 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -99,312 +99,6 @@ func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { return fileDescriptorServiceEntry, []int{0, 1} } -// `ServiceEntry` enables adding additional entries into Istio's internal -// service registry, so that auto-discovered services in the mesh can -// access/route to these manually specified services. A service entry -// describes the properties of a service (DNS name, VIPs, ports, protocols, -// endpoints). These services could be external to the mesh (e.g., web -// APIs) or mesh-internal services that are not part of the platform's -// service registry (e.g., a set of VMs talking to services in Kubernetes). -// -// The following configuration adds a set of MongoDB instances running on -// unmanaged VMs to Istio's registry, so that these services can be treated -// as any other service in the mesh. The associated DestinationRule is used -// to initiate mTLS connections to the database instances. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: ServiceEntry -// metadata: -// name: external-svc-mongocluster -// spec: -// hosts: -// - mymongodb.somedomain # not used -// addresses: -// - 192.192.192.192/24 # VIPs -// ports: -// - number: 27018 -// name: mongodb -// protocol: MONGO -// location: MESH_INTERNAL -// resolution: STATIC -// endpoints: -// - address: 2.2.2.2 -// - address: 3.3.3.3 -// ``` -// -// and the associated DestinationRule -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: mtls-mongocluster -// spec: -// host: mymongodb.somedomain -// trafficPolicy: -// tls: -// mode: MUTUAL -// clientCertificate: /etc/certs/myclientcert.pem -// privateKey: /etc/certs/client_private_key.pem -// caCertificates: /etc/certs/rootcacerts.pem -// ``` -// -// The following example uses a combination of service entry and TLS -// routing in virtual service to demonstrate the use of SNI routing to -// forward unterminated TLS traffic from the application to external -// services via the sidecar. The sidecar inspects the SNI value in the -// ClientHello message to route to the appropriate external service. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: ServiceEntry -// metadata: -// name: external-svc-https -// spec: -// hosts: -// - api.dropboxapi.com -// - www.googleapis.com -// - api.facebook.com -// location: MESH_EXTERNAL -// ports: -// - number: 443 -// name: https -// protocol: TLS -// resolution: DNS -// ``` -// -// And the associated VirtualService to route based on the SNI value. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: VirtualService -// metadata: -// name: tls-routing -// spec: -// hosts: -// - api.dropboxapi.com -// - www.googleapis.com -// - api.facebook.com -// tls: -// - match: -// - port: 443 -// sniHosts: -// - api.dropboxapi.com -// route: -// - destination: -// host: api.dropboxapi.com -// - match: -// - port: 443 -// sniHosts: -// - www.googleapis.com -// route: -// - destination: -// host: www.googleapis.com -// - match: -// - port: 443 -// sniHosts: -// - api.facebook.com -// route: -// - destination: -// host: api.facebook.com -// -// ``` -// -// The following example demonstrates the use of a dedicated egress gateway -// through which all external service traffic is forwarded. -// The 'exportTo' field allows for control over the visibility of a service -// declaration to other namespaces in the mesh. By default a service is exported -// to all namespaces. The following example restricts the visibility to the -// current namespace, represented by ".", so that it cannot be used by other -// namespaces. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: ServiceEntry -// metadata: -// name: external-svc-httpbin -// namespace : egress -// spec: -// hosts: -// - httpbin.com -// exportTo: -// - "." -// location: MESH_EXTERNAL -// ports: -// - number: 80 -// name: http -// protocol: HTTP -// resolution: DNS -// ``` -// -// Define a gateway to handle all egress traffic. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: Gateway -// metadata: -// name: istio-egressgateway -// namespace: egress -// spec: -// selector: -// istio: egressgateway -// servers: -// - port: -// number: 80 -// name: http -// protocol: HTTP -// hosts: -// - "*" -// ``` -// -// 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 -// a managed middle proxy like this is a common practice. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: VirtualService -// metadata: -// name: gateway-routing -// namespace: egress -// spec: -// hosts: -// - httpbin.com -// exportTo: -// - * -// gateways: -// - mesh -// - istio-egressgateway -// http: -// - match: -// - port: 80 -// gateways: -// - mesh -// route: -// - destination: -// host: istio-egressgateway.istio-system.svc.cluster.local -// - match: -// - port: 80 -// gateway: -// - istio-egressgateway -// route: -// - destination: -// host: httpbin.com -// ``` -// -// The following example demonstrates the use of wildcards in the hosts for -// external services. If the connection has to be routed to the IP address -// requested by the application (i.e. application resolves DNS and attempts -// to connect to a specific IP), the discovery mode must be set to `NONE`. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: ServiceEntry -// metadata: -// name: external-svc-wildcard-example -// spec: -// hosts: -// - "*.bar.com" -// location: MESH_EXTERNAL -// ports: -// - number: 80 -// name: http -// protocol: HTTP -// resolution: NONE -// ``` -// -// 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. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: ServiceEntry -// metadata: -// name: unix-domain-socket-example -// spec: -// hosts: -// - "example.unix.local" -// location: MESH_EXTERNAL -// ports: -// - number: 80 -// name: http -// protocol: HTTP -// resolution: STATIC -// endpoints: -// - address: unix:///var/run/example/socket -// ``` -// -// 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 -// 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 -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: ServiceEntry -// metadata: -// name: external-svc-dns -// spec: -// hosts: -// - foo.bar.com -// location: MESH_EXTERNAL -// ports: -// - number: 80 -// name: http -// protocol: HTTP -// resolution: DNS -// endpoints: -// - address: us.foo.bar.com -// ports: -// https: 8080 -// - address: uk.foo.bar.com -// ports: -// https: 9080 -// - address: in.foo.bar.com -// ports: -// https: 7080 -// ``` -// -// With `HTTP_PROXY=http://localhost/`, calls from the application to -// `http://foo.bar.com` will be load balanced across the three domains -// 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 -// containing a subject alternate name -// whose format conforms to the SPIFEE standard -// : -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: ServiceEntry -// metadata: -// name: httpbin -// namespace : httpbin-ns -// spec: -// hosts: -// - httpbin.com -// location: MESH_INTERNAL -// ports: -// - number: 80 -// name: http -// protocol: HTTP -// resolution: STATIC -// endpoints: -// - address: 2.2.2.2 -// - address: 3.3.3.3 -// subjectAltNames: -// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account" -// ``` -// 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 @@ -461,7 +155,7 @@ type ServiceEntry struct { ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce - // secure-naming . + // [secure-naming](/docs/concepts/security/#secure-naming). // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html new file mode 100644 index 00000000000..a53b377df89 --- /dev/null +++ b/networking/v1alpha3/service_entry.pb.html @@ -0,0 +1,612 @@ +--- +title: Service Entry +description: Configuration affecting service registry. +location: https://istio.io/docs/reference/config/networking/v1alpha3/service-entry.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 4 +--- +

ServiceEntry enables adding additional entries into Istio’s internal +service registry, so that auto-discovered services in the mesh can +access/route to these manually specified services. A service entry +describes the properties of a service (DNS name, VIPs, ports, protocols, +endpoints). These services could be external to the mesh (e.g., web +APIs) or mesh-internal services that are not part of the platform’s +service registry (e.g., a set of VMs talking to services in Kubernetes).

+ +

The following configuration adds a set of MongoDB instances running on +unmanaged VMs to Istio’s registry, so that these services can be treated +as any other service in the mesh. The associated DestinationRule is used +to initiate mTLS connections to the database instances.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-mongocluster
+spec:
+  hosts:
+  - mymongodb.somedomain # not used
+  addresses:
+  - 192.192.192.192/24 # VIPs
+  ports:
+  - number: 27018
+    name: mongodb
+    protocol: MONGO
+  location: MESH_INTERNAL
+  resolution: STATIC
+  endpoints:
+  - address: 2.2.2.2
+  - address: 3.3.3.3
+
+ +

and the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: mtls-mongocluster
+spec:
+  host: mymongodb.somedomain
+  trafficPolicy:
+    tls:
+      mode: MUTUAL
+      clientCertificate: /etc/certs/myclientcert.pem
+      privateKey: /etc/certs/client_private_key.pem
+      caCertificates: /etc/certs/rootcacerts.pem
+
+ +

The following example uses a combination of service entry and TLS +routing in virtual service to demonstrate the use of SNI routing to +forward unterminated TLS traffic from the application to external +services via the sidecar. The sidecar inspects the SNI value in the +ClientHello message to route to the appropriate external service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-https
+spec:
+  hosts:
+  - api.dropboxapi.com
+  - www.googleapis.com
+  - api.facebook.com
+  location: MESH_EXTERNAL
+  ports:
+  - number: 443
+    name: https
+    protocol: TLS
+  resolution: DNS
+
+ +

And the associated VirtualService to route based on the SNI value.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: tls-routing
+spec:
+  hosts:
+  - api.dropboxapi.com
+  - www.googleapis.com
+  - api.facebook.com
+  tls:
+  - match:
+    - port: 443
+      sniHosts:
+      - api.dropboxapi.com
+    route:
+    - destination:
+        host: api.dropboxapi.com
+  - match:
+    - port: 443
+      sniHosts:
+      - www.googleapis.com
+    route:
+    - destination:
+        host: www.googleapis.com
+  - match:
+    - port: 443
+      sniHosts:
+      - api.facebook.com
+    route:
+    - destination:
+        host: api.facebook.com
+
+
+ +

The following example demonstrates the use of a dedicated egress gateway +through which all external service traffic is forwarded. +The ‘exportTo’ field allows for control over the visibility of a service +declaration to other namespaces in the mesh. By default a service is exported +to all namespaces. The following example restricts the visibility to the +current namespace, represented by “.”, so that it cannot be used by other +namespaces.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-httpbin
+  namespace : egress
+spec:
+  hosts:
+  - httpbin.com
+  exportTo:
+  - "."
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: DNS
+
+ +

Define a gateway to handle all egress traffic.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+ name: istio-egressgateway
+ namespace: egress
+spec:
+ selector:
+   istio: egressgateway
+ servers:
+ - port:
+     number: 80
+     name: http
+     protocol: HTTP
+   hosts:
+   - "*"
+
+ +

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 +a managed middle proxy like this is a common practice.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: gateway-routing
+  namespace: egress
+spec:
+  hosts:
+  - httpbin.com
+  exportTo:
+  - *
+  gateways:
+  - mesh
+  - istio-egressgateway
+  http:
+  - match:
+    - port: 80
+      gateways:
+      - mesh
+    route:
+    - destination:
+        host: istio-egressgateway.istio-system.svc.cluster.local
+  - match:
+    - port: 80
+      gateway:
+      - istio-egressgateway
+    route:
+    - destination:
+        host: httpbin.com
+
+ +

The following example demonstrates the use of wildcards in the hosts for +external services. If the connection has to be routed to the IP address +requested by the application (i.e. application resolves DNS and attempts +to connect to a specific IP), the discovery mode must be set to NONE.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-wildcard-example
+spec:
+  hosts:
+  - "*.bar.com"
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: NONE
+
+ +

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.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: unix-domain-socket-example
+spec:
+  hosts:
+  - "example.unix.local"
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: STATIC
+  endpoints:
+  - address: unix:///var/run/example/socket
+
+ +

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 +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

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-dns
+spec:
+  hosts:
+  - foo.bar.com
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: DNS
+  endpoints:
+  - address: us.foo.bar.com
+    ports:
+      https: 8080
+  - address: uk.foo.bar.com
+    ports:
+      https: 9080
+  - address: in.foo.bar.com
+    ports:
+      https: 7080
+
+ +

With HTTP_PROXY=http://localhost/, calls from the application to +http://foo.bar.com will be load balanced across the three domains +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 +containing a subject alternate name +whose format conforms to the SPIFEE standard +https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: httpbin
+  namespace : httpbin-ns
+spec:
+  hosts:
+  - httpbin.com
+  location: MESH_INTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: STATIC
+  endpoints:
+  - address: 2.2.2.2
+  - address: 3.3.3.3
+  subjectAltNames:
+  - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
+
+ +

ServiceEntry

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hostsstring[] +

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.

+ +
addressesstring[] +

The virtual IP addresses associated with the service. Could be CIDR +prefix. For HTTP services, 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, +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 +solely based on the destination port. In such scenarios, the port on +which the service is being accessed must not be shared by any other +service in the mesh. In other words, the sidecar will behave as a +simple TCP proxy, forwarding incoming traffic on a specified port to +the specified destination endpoint IP/host. Unix domain socket +addresses are not supported in this field.

+ +
portsPort[] +

REQUIRED. The ports associated with the external service. If the +Endpoints are unix domain socket addresses, there must be exactly one +port.

+ +
locationServiceEntry.Location +

Specify whether the service should be considered external to the mesh +or part of the mesh.

+ +
resolutionServiceEntry.Resolution +

REQUIRED: Service discovery mode for the hosts. Care must be taken +when setting the resolution mode to NONE for a TCP port without +accompanying IP addresses. In such cases, traffic to any IP on +said port will be allowed (i.e. 0.0.0.0:).

+ +
endpointsServiceEntry.Endpoint[] +

One or more endpoints associated with the service.

+ +
exportTostring[] +

A list of namespaces to which this service is exported. Exporting a service +allows it to used by sidecars, gateways and virtual services defined in +other namespaces. This feature provides a mechanism for service owners +and mesh administrators to control the visibility of services across +namespace boundaries.

+ +

If no namespaces are specified then the service is exported to all +namespaces by default.

+ +

The value “.” is reserved and defines an export to the same namespace that +the service is declared in, similarly the value “*” is reserved and +defines an export to all namespaces.

+ +

For a Kubernetes Service the equivalent effect can be achieved by setting +the annotation “networking.istio.io/exportTo” to a comma-separated list +of namespace names.

+ +
subjectAltNamesstring[] +

The list of subject alternate names allowed for workloads that +implement this service. This information is used to enforce +secure-naming. +If specified, the proxy will verify that the server +certificate’s subject alternate name matches one of the specified values.

+ +
+
+

ServiceEntry.Endpoint

+
+

Endpoint defines a network address (IP or hostname) associated with +the mesh service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
addressstring +

REQUIRED: Address associated with the network endpoint without the +port. Domain names can be used if and only if the resolution is set +to DNS, and must be fully-qualified without wildcards. Use the form +unix:///absolute/path/to/socket for unix domain socket endpoints.

+ +
portsmap<string, uint32> +

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.

+ +
labelsmap<string, string> +

One or more labels associated with the endpoint.

+ +
networkstring +

Network enables Istio to group endpoints resident in the same L3 +domain/network. All endpoints in the same network are assumed to be +directly reachable from one another. When endpoints in different +networks cannot reach each other directly, an Istio Gateway can be +used to establish connectivity (usually using the +AUTO_PASSTHROUGH mode in a Gateway Server). This is +an advanced configuration used typically for spanning an Istio mesh +over multiple clusters.

+ +
localitystring +

The locality associated with the endpoint. A locality corresponds +to a failure domain (e.g., country/region/zone). Arbitrary failure +domain hierarchies can be represented by separating each +encapsulating failure domain by /. For example, the locality of an +an endpoint in US, in US-East-1 region, within availability zone +az-1, in data center rack r11 can be represented as +us/us-east-1/az-1/r11. Istio will configure the sidecar to route to +endpoints within the same locality as the sidecar. If none of the +endpoints in the locality are available, endpoints parent locality +(but within the same network ID) will be chosen. For example, if +there are two endpoints in same network (networkID “n1”), say e1 +with locality us/us-east-1/az-1/r11 and e2 with locality +us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality +will prefer e1 from the same locality over e2 from a different +locality. Endpoint e2 could be the IP associated with a gateway +(that bridges networks n1 and n2), or the IP associated with a +standard service endpoint.

+ +
weightuint32 +

The load balancing weight associated with the endpoint. Endpoints +with higher weights will receive proportionally higher traffic.

+ +
+
+

ServiceEntry.Location

+
+

Location specifies whether the service is part of Istio mesh or +outside the mesh. Location determines the behavior of several +features, such as service-to-service mTLS authentication, policy +enforcement, etc. When communicating with services outside the mesh, +Istio’s mTLS authentication is disabled, and policy enforcement is +performed on the client-side as opposed to server-side.

+ + + + + + + + + + + + + + + + + + +
NameDescription
MESH_EXTERNAL +

Signifies that the service is external to the mesh. Typically used +to indicate external services consumed through APIs.

+ +
MESH_INTERNAL +

Signifies that the service is part of the mesh. Typically used to +indicate services added explicitly as part of expanding the service +mesh to include unmanaged infrastructure (e.g., VMs added to a +Kubernetes based service mesh).

+ +
+
+

ServiceEntry.Resolution

+
+

Resolution determines how the proxy will resolve the IP addresses of +the network endpoints associated with the service, so that it can +route to one of them. The resolution mode specified here has no impact +on how the application resolves the IP address associated with the +service. The application may still have to use DNS to resolve the +service to an IP so that the outbound traffic can be captured by the +Proxy. Alternatively, for HTTP services, the application could +directly communicate with the proxy (e.g., by setting HTTP_PROXY) to +talk to these services.

+ + + + + + + + + + + + + + + + + + + + + + +
NameDescription
NONE +

Assume that incoming connections have already been resolved (to a +specific destination IP address). Such connections are typically +routed via the proxy using mechanisms such as IP table REDIRECT/ +eBPF. After performing any routing related transformations, the +proxy will forward the connection to the IP address to which the +connection was bound.

+ +
STATIC +

Use the static IP addresses specified in endpoints (see below) as the +backing instances associated with the service.

+ +
DNS +

Attempt to resolve the IP address by querying the ambient DNS, +during request processing. If no endpoints are specified, the proxy +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 +domain socket endpoints.

+ +
+
diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 1527586f479..0964ead5073 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Service Entry +// $description: Configuration affecting service registry. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/service-entry.html // `ServiceEntry` enables adding additional entries into Istio's internal // service registry, so that auto-discovered services in the mesh can @@ -326,6 +326,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account" // ``` // +package istio.networking.v1alpha3; + +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 @@ -490,7 +494,7 @@ message ServiceEntry { // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce - // secure-naming . + // [secure-naming](/docs/concepts/security/#secure-naming). // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. repeated string subject_alt_names = 8; diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index 81feff98ba7..f2082114446 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -47,83 +47,6 @@ func (x CaptureMode) String() string { } func (CaptureMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } -// `Sidecar` describes the configuration of the sidecar proxy that mediates -// inbound and outbound communication to the workload it is attached to. By -// default, Istio will program all sidecar proxies in the mesh with the -// necessary configuration required to reach every workload in the mesh, as -// well as accept traffic on all the ports associated with the -// workload. The Sidecar resource provides a way to fine tune the set of -// ports, protocols that the proxy will accept when forwarding traffic to -// and from the workload. In addition, it is possible to restrict the set -// of services that the proxy can reach when forwarding outbound traffic -// from the workload. -// -// Services and configuration in a mesh are organized into one or more -// namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar -// resource in a namespace will apply to one or more workloads in the same -// namespace, selected using the workloadSelector. In the absence of a -// workloadSelector, it will apply to all workloads in the same -// namespace. When determining the Sidecar resource to be applied to a -// workload, preference will be given to the resource with a -// workloadSelector that selects this workload, over a Sidecar resource -// without any workloadSelector. -// -// NOTE: *_Each namespace can have only one Sidecar resource without any -// workload selector_*. The behavior of the system is undefined if more -// than one selector-less Sidecar resources exist in a given namespace. The -// behavior of the system is undefined if two or more Sidecar resources -// with a workload selector select the same workload. -// -// The example below declares a Sidecar resource in the prod-us1 namespace -// that configures the sidecars in the namespace to allow egress traffic to -// public services in the prod-us1, prod-apis, and the istio-system -// namespaces. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: Sidecar -// metadata: -// name: default -// namespace: prod-us1 -// spec: -// egress: -// - hosts: -// - "prod-us1/*" -// - "prod-apis/*" -// - "istio-system/*" -// ``` -// -// The example below declares a Sidecar resource in the prod-us1 namespace -// that accepts inbound HTTP traffic on port 9080 and forwards -// it to the attached workload listening on a unix domain socket. In the -// egress direction, in addition to the istio-system namespace, the sidecar -// proxies only HTTP traffic bound for port 9080 for services in the -// prod-us1 namespace. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: Sidecar -// metadata: -// name: default -// namespace: prod-us1 -// spec: -// ingress: -// - port: -// number: 9080 -// protocol: HTTP -// name: somename -// defaultEndpoint: unix:///var/run/someuds.sock -// egress: -// - hosts: -// - "istio-system/*" -// - port: -// number: 9080 -// protocol: HTTP -// name: egresshttp -// hosts: -// - "prod-us1/*" -// ``` -// 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 diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html new file mode 100644 index 00000000000..172162066fd --- /dev/null +++ b/networking/v1alpha3/sidecar.pb.html @@ -0,0 +1,348 @@ +--- +title: Sidecar +description: Configuration affecting network reachability of a sidecar. +location: https://istio.io/docs/reference/config/networking/v1alpha3/sidecar.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 5 +--- +

Sidecar describes the configuration of the sidecar proxy that mediates +inbound and outbound communication to the workload it is attached to. By +default, Istio will program all sidecar proxies in the mesh with the +necessary configuration required to reach every workload in the mesh, as +well as accept traffic on all the ports associated with the +workload. The Sidecar resource provides a way to fine tune the set of +ports, protocols that the proxy will accept when forwarding traffic to +and from the workload. In addition, it is possible to restrict the set +of services that the proxy can reach when forwarding outbound traffic +from the workload.

+ +

Services and configuration in a mesh are organized into one or more +namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar +resource in a namespace will apply to one or more workloads in the same +namespace, selected using the workloadSelector. In the absence of a +workloadSelector, it will apply to all workloads in the same +namespace. When determining the Sidecar resource to be applied to a +workload, preference will be given to the resource with a +workloadSelector that selects this workload, over a Sidecar resource +without any workloadSelector.

+ +

NOTE: Each namespace can have only one Sidecar resource without any +workload selector. The behavior of the system is undefined if more +than one selector-less Sidecar resources exist in a given namespace. The +behavior of the system is undefined if two or more Sidecar resources +with a workload selector select the same workload.

+ +

The example below declares a Sidecar resource in the prod-us1 namespace +that configures the sidecars in the namespace to allow egress traffic to +public services in the prod-us1, prod-apis, and the istio-system +namespaces.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  egress:
+  - hosts:
+    - "prod-us1/*"
+    - "prod-apis/*"
+    - "istio-system/*"
+
+ +

The example below declares a Sidecar resource in the prod-us1 namespace +that accepts inbound HTTP traffic on port 9080 and forwards +it to the attached workload listening on a unix domain socket. In the +egress direction, in addition to the istio-system namespace, the sidecar +proxies only HTTP traffic bound for port 9080 for services in the +prod-us1 namespace.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  ingress:
+  - port:
+      number: 9080
+      protocol: HTTP
+      name: somename
+    defaultEndpoint: unix:///var/run/someuds.sock
+  egress:
+  - hosts:
+    - "istio-system/*"
+  - port:
+      number: 9080
+      protocol: HTTP
+      name: egresshttp
+    hosts:
+    - "prod-us1/*"
+
+ +

CaptureMode

+
+

CaptureMode describes how traffic to a listener is expected to be +captured. Applicable only when the listener is bound to an IP.

+ + + + + + + + + + + + + + + + + + + + + + +
NameDescription
DEFAULT +

The default capture mode defined by the environment

+ +
IPTABLES +

Capture traffic using IPtables redirection

+ +
NONE +

No traffic capture. When used in egress listener, the application is +expected to explicitly communicate with the listener port/unix +domain socket. When used in ingress listener, care needs to be taken +to ensure that the listener port is not in use by other processes on +the host.

+ +
+
+

IstioEgressListener

+
+

IstioEgressListener specifies the properties of an outbound traffic +listener on the sidecar proxy attached to a workload.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

The port associated with the listener. If using unix domain socket, +use 0 as the port number, with a valid protocol. The port if +specified, will be used as the default destination port associated +with the imported hosts. If the port is omitted, Istio will infer the +listener ports based on the imported hosts. Note that when multiple +egress listeners are specified, where one or more listeners have +specific ports while others have no port, the hosts exposed on a +listener port will be based on the listener with the most specific +port.

+ +
bindstring +

The ip or the unix domain socket to which the listener should be bound +to. Port MUST be specified if bind is not empty. Format: x.x.x.x or +unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If +omitted, Istio will autoconfigure the defaults based on imported +services, the workload to which this configuration is applied to and +the captureMode. If captureMode is NONE, bind will default to +127.0.0.1.

+ +
captureModeCaptureMode +

When the bind address is an IP, the captureMode option dictates +how traffic to the listener is expected to be captured (or not). +captureMode must be DEFAULT or NONE for unix domain socket binds.

+ +
hostsstring[] +

REQUIRED: One or more services/virtualServices exposed by the listener +in namespace/dnsName format. Publicly scoped services and +VirtualServices from remote namespaces corresponding to the specified +hosts will be imported. The service in a namespace can be a service in +the service registry (e.g., a kubernetes or cloud foundry service) or +a service specified via ServiceEntry configuration. In addition, any +publicly scoped DestinationRule associated with the imported services +will also be imported.

+ +

Set the namespace to * to import a particular service from any +available namespace (e.g., “*/foo.example.com”). Set the dnsName field +to * to import all services from the specified namespace (e.g., +“prod/*”). The services should be specified using FQDN format.

+ +

NOTE: Only exported services and configuration artifacts from a +namespace can be imported. Private services/configuration will not be +imported. Refer to the scope setting associated with VirtualService, +DestinationRule, ServiceEntry, etc. for details.

+ +
+
+

IstioIngressListener

+
+

IstioIngressListener specifies the properties of an inbound +traffic listener on the sidecar proxy attached to a workload.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

REQUIRED. The port associated with the listener. If using +unix domain socket, use 0 as the port number, with a valid +protocol.

+ +
bindstring +

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). If omitted, Istio will autoconfigure the defaults +based on imported services and the workload to which this +configuration is applied to.

+ +
captureModeCaptureMode +

When the bind address is an IP, the captureMode option dictates +how traffic to the listener is expected to be captured (or not). +captureMode must be DEFAULT or NONE for unix domain socket binds.

+ +
defaultEndpointstring +

REQUIRED: The loopback IP endpoint or unix domain socket to which +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

+ +
+
+

Sidecar

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
workloadSelectorWorkloadSelector +

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.

+ +
ingressIstioIngressListener[] +

Ingress specifies the configuration of the sidecar for processing +inbound traffic to the attached workload. If omitted, Istio will +autoconfigure the sidecar based on the information about the workload +obtained from the orchestration platform (e.g., exposed ports, services, +etc.).

+ +
egressIstioEgressListener[] +

Egress specifies the configuration of the sidecar for processing +outbound traffic from the attached workload to other services in the +mesh. If omitted, Istio will autoconfigure the sidecar to be able to +reach every service in the mesh that is visible to this namespace.

+ +
+
+

WorkloadSelector

+
+

WorkloadSelector specifies the criteria used to determine if the Gateway +or Sidecar resource can be applied to a proxy. The matching criteria +includes the metadata associated with a proxy, workload info such as +labels attached to the pod/VM, or any other info that the proxy provides +to Istio during the initial handshake. If multiple conditions are +specified, all conditions need to match in order for the workload to be +selected. Currently, only label based selection mechanism is supported.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
labelsmap<string, string> +

REQUIRED: One or more labels that indicate a specific set of pods/VMs +on which this sidecar configuration should be applied. The scope of +label search is restricted to the configuration namespace in which the +the resource is present.

+ +
+
diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index d2e2776513c..2db96f12a93 100644 --- a/networking/v1alpha3/sidecar.proto +++ b/networking/v1alpha3/sidecar.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Sidecar +// $description: Configuration affecting network reachability of a sidecar. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/sidecar.html // `Sidecar` describes the configuration of the sidecar proxy that mediates // inbound and outbound communication to the workload it is attached to. By @@ -97,6 +97,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // - "prod-us1/*" // ``` // +package istio.networking.v1alpha3; + +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 diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 433763766f7..d1a3c675e79 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -18,66 +18,6 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// A `VirtualService` defines a set of traffic routing rules to apply when a host is -// addressed. Each routing rule defines matching criteria for traffic of a specific -// protocol. If the traffic is matched, then it is sent to a named destination service -// (or subset/version of it) defined in the registry. -// -// The source of traffic can also be matched in a routing rule. This allows routing -// to be customized for specific client contexts. -// -// The following example on Kubernetes, routes all HTTP traffic by default to -// pods of the reviews service with label "version: v1". In addition, -// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will -// be rewritten to /newcatalog and sent to pods with label "version: v2". -// -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: VirtualService -// metadata: -// name: reviews-route -// spec: -// hosts: -// - reviews.prod.svc.cluster.local -// http: -// - match: -// - uri: -// prefix: "/wpcatalog" -// - uri: -// prefix: "/consumercatalog" -// rewrite: -// uri: "/newcatalog" -// route: -// - destination: -// host: reviews.prod.svc.cluster.local -// subset: v2 -// - route: -// - destination: -// host: reviews.prod.svc.cluster.local -// subset: v1 -// ``` -// -// A subset/version of a route destination is identified with a reference -// to a named service subset which must be declared in a corresponding -// `DestinationRule`. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: reviews-destination -// spec: -// host: reviews.prod.svc.cluster.local -// subsets: -// - name: v1 -// labels: -// version: v1 -// - name: v2 -// labels: -// version: v2 -// ``` -// type VirtualService struct { // REQUIRED. The destination hosts to which traffic is being sent. Could // be a DNS name with wildcard prefix or an IP address. Depending on the @@ -202,7 +142,7 @@ func (m *VirtualService) GetExportTo() []string { // registry. Istio's service registry is composed of all the services found // in the platform's service registry (e.g., Kubernetes services, Consul // services), as well as services declared through the -// [ServiceEntry](#ServiceEntry) resource. +// [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry) resource. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" // instead of "reviews.default.svc.cluster.local"), Istio will interpret @@ -327,7 +267,7 @@ type Destination struct { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntry](#ServiceEntry). Traffic forwarded to + // declared by [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Traffic forwarded to // destinations that are not found in either of the two, will be dropped. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html new file mode 100644 index 00000000000..c70eea2f091 --- /dev/null +++ b/networking/v1alpha3/virtual_service.pb.html @@ -0,0 +1,1759 @@ +--- +title: Virtual Service +description: Configuration affecting label/content routing, sni routing, etc. +location: https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 22 +--- +

Configuration affecting traffic routing. Here are a few terms useful to define +in the context of traffic routing.

+ +

Service a unit of application behavior bound to a unique name in a +service registry. Services consist of multiple network endpoints +implemented by workload instances running on pods, containers, VMs etc.

+ +

Service versions (a.k.a. subsets) - In a continuous deployment +scenario, for a given service, there can be distinct subsets of +instances running different variants of the application binary. These +variants are not necessarily different API versions. They could be +iterative changes to the same service, deployed in different +environments (prod, staging, dev, etc.). Common scenarios where this +occurs include A/B testing, canary rollouts, etc. The choice of a +particular version can be decided based on various criterion (headers, +url, etc.) and/or by weights assigned to each version. Each service has +a default version consisting of all its instances.

+ +

Source - A downstream client calling a service.

+ +

Host - The address used by a client when attempting to connect to a +service.

+ +

Access model - Applications address only the destination service +(Host) without knowledge of individual service versions (subsets). The +actual choice of the version is determined by the proxy/sidecar, enabling the +application code to decouple itself from the evolution of dependent +services.

+ +

A VirtualService defines a set of traffic routing rules to apply when a host is +addressed. Each routing rule defines matching criteria for traffic of a specific +protocol. If the traffic is matched, then it is sent to a named destination service +(or subset/version of it) defined in the registry.

+ +

The source of traffic can also be matched in a routing rule. This allows routing +to be customized for specific client contexts.

+ +

The following example on Kubernetes, routes all HTTP traffic by default to +pods of the reviews service with label “version: v1”. In addition, +HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will +be rewritten to /newcatalog and sent to pods with label “version: v2”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: "/wpcatalog"
+    - uri:
+        prefix: "/consumercatalog"
+    rewrite:
+      uri: "/newcatalog"
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v2
+  - route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+
+ +

A subset/version of a route destination is identified with a reference +to a named service subset which must be declared in a corresponding +DestinationRule.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+spec:
+  host: reviews.prod.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

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 +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 +Access-Control-Allow-Credentials header to false. In addition, it only +exposes X-Foo-bar header and sets an expiry period of 1 day.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    corsPolicy:
+      allowOrigin:
+      - example.com
+      allowMethods:
+      - POST
+      - GET
+      allowCredentials: false
+      allowHeaders:
+      - X-Foo-Bar
+      maxAge: "1d"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
allowOriginstring[] +

The list of origins that are allowed to perform CORS requests. The +content will be serialized into the Access-Control-Allow-Origin +header. Wildcard * will allow all origins.

+ +
allowMethodsstring[] +

List of HTTP methods allowed to access the resource. The content will +be serialized into the Access-Control-Allow-Methods header.

+ +
allowHeadersstring[] +

List of HTTP headers that can be used when requesting the +resource. Serialized to Access-Control-Allow-Headers header.

+ +
exposeHeadersstring[] +

A white list of HTTP headers that the browsers are allowed to +access. Serialized into Access-Control-Expose-Headers header.

+ +
maxAgegoogle.protobuf.Duration +

Specifies how long the results of a preflight request can be +cached. Translates to the Access-Control-Max-Age header.

+ +
allowCredentialsgoogle.protobuf.BoolValue +

Indicates whether the caller is allowed to send the actual request +(not the preflight) using credentials. Translates to +Access-Control-Allow-Credentials header.

+ +
+
+

Destination

+
+

Destination indicates the network addressable service to which the +request/connection will be sent after processing a routing rule. The +destination.host should unambiguously refer to a service in the service +registry. Istio’s service registry is composed of all the services found +in the platform’s service registry (e.g., Kubernetes services, Consul +services), as well as services declared through the +ServiceEntry resource.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of the +actual namespace associated with the reviews service. To avoid potential +misconfigurations, it is recommended to always use fully qualified +domain names over short names.

+ +

The following Kubernetes example routes all traffic by default to pods +of the reviews service with label “version: v1” (i.e., subset v1), and +some to subset v2, in a kubernetes environment.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+  namespace: foo
+spec:
+  hosts:
+  - reviews # interpreted as reviews.foo.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: "/wpcatalog"
+    - uri:
+        prefix: "/consumercatalog"
+    rewrite:
+      uri: "/newcatalog"
+    route:
+    - destination:
+        host: reviews # interpreted as reviews.foo.svc.cluster.local
+        subset: v2
+  - route:
+    - destination:
+        host: reviews # interpreted as reviews.foo.svc.cluster.local
+        subset: v1
+
+ +

And the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+  namespace: foo
+spec:
+  host: reviews # interpreted as reviews.foo.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

The following VirtualService sets a timeout of 5s for all calls to +productpage.prod.svc.cluster.local service in Kubernetes. Notice that +there are no subsets defined in this rule. Istio will fetch all +instances of productpage.prod.svc.cluster.local service from the service +registry and populate the sidecar’s load balancing pool. Also, notice +that this rule is set in the istio-system namespace but uses the fully +qualified domain name of the productpage service, +productpage.prod.svc.cluster.local. Therefore the rule’s namespace does +not have an impact in resolving the name of the productpage service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: my-productpage-rule
+  namespace: istio-system
+spec:
+  hosts:
+  - productpage.prod.svc.cluster.local # ignores rule namespace
+  http:
+  - timeout: 5s
+    route:
+    - destination:
+        host: productpage.prod.svc.cluster.local
+
+ +

To control routing for traffic bound to services outside the mesh, external +services must first be added to Istio’s internal service registry using the +ServiceEntry resource. VirtualServices can then be defined to control traffic +bound to these external services. For example, the following rules define a +Service for wikipedia.org and set a timeout of 5s for http requests.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-wikipedia
+spec:
+  hosts:
+  - wikipedia.org
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: example-http
+    protocol: HTTP
+  resolution: DNS
+
+apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: my-wiki-rule
+spec:
+  hosts:
+  - wikipedia.org
+  http:
+  - timeout: 5s
+    route:
+    - destination:
+        host: wikipedia.org
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hoststring +

REQUIRED. The name of a service from the service registry. Service +names are looked up from the platform’s service registry (e.g., +Kubernetes services, Consul services, etc.) and from the hosts +declared by ServiceEntry. Traffic forwarded to +destinations that are not found in either of the two, will be dropped.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +
subsetstring +

The name of a subset within the service. Applicable only to services +within the mesh. The subset must be defined in a corresponding +DestinationRule.

+ +
portPortSelector +

Specifies the port on the host that is being addressed. If a service +exposes only a single port it is not required to explicitly select the +port.

+ +
+
+

HTTPFaultInjection

+
+

HTTPFaultInjection can be used to specify one or more faults to inject +while forwarding http requests to the destination specified in a route. +Fault specification is part of a VirtualService rule. Faults include +aborting the Http request from downstream service, and/or delaying +proxying of requests. A fault rule MUST HAVE delay or abort or both.

+ +

Note: Delay and abort faults are independent of one another, even if +both are specified simultaneously.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
delayHTTPFaultInjection.Delay +

Delay requests before forwarding, emulating various failures such as +network issues, overloaded upstream service, etc.

+ +
abortHTTPFaultInjection.Abort +

Abort Http request attempts and return error codes back to downstream +service, giving the impression that the upstream service is faulty.

+ +
+
+

HTTPFaultInjection.Abort

+
+

Abort specification is used to prematurely abort a request with a +pre-specified error code. The following example will return an HTTP 400 +error code for 1 out of every 1000 requests to the “ratings” service “v1”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    fault:
+      abort:
+        percentage:
+          value: 0.001
+        httpStatus: 400
+
+ +

The httpStatus field is used to indicate the HTTP status code to +return to the caller. The optional percentage field can be used to only +abort a certain percentage of requests. If not specified, all requests are +aborted.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
percentint32 +

Percentage of requests to be aborted with the error code provided (0-100). +Use of integer percent value is deprecated. Use the double percentage +field instead.

+ +
httpStatusint32 (oneof) +

REQUIRED. HTTP status code to use to abort the Http request.

+ +
percentagePercent +

Percentage of requests to be aborted with the error code provided.

+ +
+
+

HTTPFaultInjection.Delay

+
+

Delay specification is used to inject latency into the request +forwarding path. The following example will introduce a 5 second delay +in 1 out of every 1000 requests to the “v1” version of the “reviews” +service from all pods with label env: prod

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - match:
+    - sourceLabels:
+        env: prod
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+    fault:
+      delay:
+        percentage:
+          value: 0.001
+        fixedDelay: 5s
+
+ +

The fixedDelay field is used to indicate the amount of delay in seconds. +The optional percentage field can be used to only delay a certain +percentage of requests. If left unspecified, all request will be delayed.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
percentint32 +

Percentage of requests on which the delay will be injected (0-100). +Use of integer percent value is deprecated. Use the double percentage +field instead.

+ +
fixedDelaygoogle.protobuf.Duration (oneof) +

REQUIRED. Add a fixed delay before forwarding the request. Format: +1h/1m/1s/1ms. MUST be >=1ms.

+ +
percentagePercent +

Percentage of requests on which the delay will be injected.

+ +
+
+

HTTPMatchRequest

+
+

HttpMatchRequest specifies a set of criterion to be met in order for the +rule to be applied to the HTTP request. For example, the following +restricts the rule to match only requests where the URL path +starts with /ratings/v2/ and the request contains a custom end-user header +with value jason.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - headers:
+        end-user:
+          exact: jason
+      uri:
+        prefix: "/ratings/v2/"
+    route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+
+ +

HTTPMatchRequest CANNOT be empty.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uriStringMatch +

URI to match +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
schemeStringMatch +

URI Scheme +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
methodStringMatch +

HTTP Method +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
authorityStringMatch +

HTTP Authority +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
headersmap<string, StringMatch> +

The header keys must be lowercase and use hyphen as the separator, +e.g. x-request-id.

+ +

Header values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +

Note: The keys uri, scheme, method, and authority will be ignored.

+ +
portuint32 +

Specifies the ports on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they support, +in these cases it is not required to explicitly select the port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway match is +independent of sourceLabels.

+ +
+
+

HTTPRedirect

+
+

HTTPRedirect can be used to send a 301 redirect response to the caller, +where the Authority/Host and the URI in the response can be swapped with +the specified values. For example, the following rule redirects +requests for /v1/getProductRatings API on the ratings service to +/v1/bookRatings provided by the bookratings service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        exact: /v1/getProductRatings
+  redirect:
+    uri: /v1/bookRatings
+    authority: newratings.default.svc.cluster.local
+  ...
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uristring +

On a redirect, overwrite the Path portion of the URL with this +value. Note that the entire path will be replaced, irrespective of the +request URI being matched as an exact path or prefix.

+ +
authoritystring +

On a redirect, overwrite the Authority/Host portion of the URL with +this value.

+ +
+
+

HTTPRetry

+
+

Describes the retry policy to use when a HTTP request fails. For +example, the following rule sets the maximum number of retries to 3 when +calling ratings:v1 service, with a 2s timeout per retry attempt.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    retries:
+      attempts: 3
+      perTryTimeout: 2s
+      retryOn: gateway-error,connect-failure,refused-stream
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
attemptsint32 +

REQUIRED. Number of retries for a given request. The interval +between retries will be determined automatically (25ms+). Actual +number of retries attempted depends on the httpReqTimeout.

+ +
perTryTimeoutgoogle.protobuf.Duration +

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

+ +
retryOnstring +

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 +https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on +and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

+ +
+
+

HTTPRewrite

+
+

HTTPRewrite can be used to rewrite specific parts of a HTTP request +before forwarding the request to the destination. Rewrite primitive can +be used only with HTTPRouteDestination. The following example +demonstrates how to rewrite the URL prefix for api call (/ratings) to +ratings service before making the actual API call.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: /ratings
+    rewrite:
+      uri: /v1/bookRatings
+    route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uristring +

rewrite the path (or the prefix) portion of the URI with this +value. If the original URI was matched based on prefix, the value +provided in this field will replace the corresponding matched prefix.

+ +
authoritystring +

rewrite the Authority/Host header with this value.

+ +
+
+

HTTPRoute

+
+

Describes match conditions and actions for routing HTTP/1.1, HTTP2, and +gRPC traffic. See VirtualService for usage examples.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchHTTPMatchRequest[] +

Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeHTTPRouteDestination[] +

A http rule can either redirect or forward (default) traffic. The +forwarding target can be one of several versions of a service (see +glossary in beginning of document). Weights associated with the +service version determine the proportion of traffic it receives.

+ +
redirectHTTPRedirect +

A http rule can either redirect or forward (default) traffic. If +traffic passthrough option is specified in the rule, +route/redirect will be ignored. The redirect primitive can be used to +send a HTTP 301 redirect to a different URI or Authority.

+ +
rewriteHTTPRewrite +

Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with +Redirect primitive. Rewrite will be performed before forwarding.

+ +
timeoutgoogle.protobuf.Duration +

Timeout for HTTP requests.

+ +
retriesHTTPRetry +

Retry policy for HTTP requests.

+ +
faultHTTPFaultInjection +

Fault injection policy to apply on HTTP traffic at the client side. +Note that timeouts or retries will not be enabled when faults are +enabled on the client side.

+ +
mirrorDestination +

Mirror HTTP traffic to a another destination in addition to forwarding +the requests to the intended destination. Mirrored traffic is on a +best effort basis where the sidecar/gateway will not wait for the +mirrored cluster to respond before returning the response from the +original destination. Statistics will be generated for the mirrored +destination.

+ +
corsPolicyCorsPolicy +

Cross-Origin Resource Sharing policy (CORS). Refer to +CORS +for further details about cross origin resource sharing.

+ +
appendHeadersmap<string, string> +

Use of append_headers is deprecated. Use the headers +field instead.

+ +
removeResponseHeadersstring[] +

Use of remove_response_header is deprecated. Use the headers +field instead.

+ +
appendResponseHeadersmap<string, string> +

Use of append_response_headers is deprecated. Use the headers +field instead.

+ +
removeRequestHeadersstring[] +

Use of remove_request_headers is deprecated. Use the headers +field instead.

+ +
appendRequestHeadersmap<string, string> +

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

+ +
+
+

HTTPRouteDestination

+
+

Each routing rule is associated with one or more service versions (see +glossary in beginning of document). Weights associated with the version +determine the proportion of traffic it receives. For example, the +following rule will route 25% of traffic for the “reviews” service to +instances with the “v2” tag and the remaining traffic (i.e., 75%) to +“v1”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v2
+      weight: 25
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+      weight: 75
+
+ +

And the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+spec:
+  host: reviews.prod.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

Traffic can also be split across two entirely different services without +having to define new subsets. For example, the following rule forwards 25% of +traffic to reviews.com to dev.reviews.com

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route-two-domains
+spec:
+  hosts:
+  - reviews.com
+  http:
+  - route:
+    - destination:
+        host: dev.reviews.com
+      weight: 25
+    - destination:
+        host: reviews.com
+      weight: 75
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationDestination +

REQUIRED. Destination uniquely identifies the instances of a service +to which the request/connection should be forwarded to.

+ +
weightint32 +

REQUIRED. The proportion of traffic to be forwarded to the service +version. (0-100). Sum of weights across destinations SHOULD BE == 100. +If there is only one destination in a rule, the weight value is assumed to +be 100.

+ +
removeResponseHeadersstring[] +

Use of remove_response_header is deprecated. Use the headers +field instead.

+ +
appendResponseHeadersmap<string, string> +

Use of append_response_headers is deprecated. Use the headers +field instead.

+ +
removeRequestHeadersstring[] +

Use of remove_request_headers is deprecated. Use the headers +field instead.

+ +
appendRequestHeadersmap<string, string> +

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

+ +
+
+

Headers

+
+

Header manipulation rules

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
requestHeaders.HeaderOperations +

Header manipulation rules to apply before forwarding a request +to the destination service

+ +
responseHeaders.HeaderOperations +

Header manipulation rules to apply before returning a response +to the caller

+ +
+
+

Headers.HeaderOperations

+
+

HeaderOperations Describes the header manipulations to apply

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
setmap<string, string> +

Overwrite the headers specified by key with the given values

+ +
addmap<string, string> +

Append the given values to the headers specified by keys +(will create a comma-separated list of values)

+ +
removestring[] +

Remove a the specified headers

+ +
+
+

L4MatchAttributes

+
+

L4 connection match attributes. Note that L4 connection matching support +is incomplete.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationSubnetsstring[] +

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., +a.b.c.d/xx form or just a.b.c.d.

+ +
portuint32 +

Specifies the port on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they support, +in these cases it is not required to explicitly select the port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway +match is independent of sourceLabels.

+ +
+
+

Percent

+
+

Percent specifies a percentage in the range of [0.0, 100.0].

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
valuedouble +
+
+

PortSelector

+
+

PortSelector specifies the number of a port to be used for +matching or selection for final routing.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
numberuint32 (oneof) +

Valid port number

+ +
+
+

RouteDestination

+
+

L4 routing rule weighted destination.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationDestination +

REQUIRED. Destination uniquely identifies the instances of a service +to which the request/connection should be forwarded to.

+ +
weightint32 +

REQUIRED. The proportion of traffic to be forwarded to the service +version. If there is only one destination in a rule, all traffic will be +routed to it irrespective of the weight.

+ +
+
+

StringMatch

+
+

Describes how to match a given string in HTTP headers. Match is +case-sensitive.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
exactstring (oneof) +

exact string match

+ +
prefixstring (oneof) +

prefix-based match

+ +
regexstring (oneof) +

ECMAscript style regex-based match

+ +
+
+

TCPRoute

+
+

Describes match conditions and actions for routing TCP traffic. The +following routing rule forwards traffic arriving at port 27017 for +mongo.prod.svc.cluster.local to another Mongo server on port 5555.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-Mongo
+spec:
+  hosts:
+  - mongo.prod.svc.cluster.local
+  tcp:
+  - match:
+    - port: 27017
+    route:
+    - destination:
+        host: mongo.backup.svc.cluster.local
+        port:
+          number: 5555
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchL4MatchAttributes[] +

Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeRouteDestination[] +

The destination to which the connection should be forwarded to.

+ +
+
+

TLSMatchAttributes

+
+

TLS connection match attributes.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
sniHostsstring[] +

REQUIRED. SNI (server name indicator) to match on. Wildcard prefixes +can be used in the SNI value, e.g., *.com will match foo.example.com +as well as example.com. An SNI value must be a subset (i.e., fall +within the domain) of the corresponding virtual serivce’s hosts.

+ +
destinationSubnetsstring[] +

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., +a.b.c.d/xx form or just a.b.c.d.

+ +
portuint32 +

Specifies the port on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they +support, in these cases it is not required to explicitly select the +port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway +match is independent of sourceLabels.

+ +
+
+

TLSRoute

+
+

Describes match conditions and actions for routing unterminated TLS +traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS +traffic arriving at port 443 of gateway called “mygateway” to internal +services in the mesh based on the SNI value.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-sni
+spec:
+  hosts:
+  - "*.bookinfo.com"
+  gateways:
+  - mygateway
+  tls:
+  - match:
+    - port: 443
+      sniHosts:
+      - login.bookinfo.com
+    route:
+    - destination:
+        host: login.prod.svc.cluster.local
+  - match:
+    - port: 443
+      sniHosts:
+      - reviews.bookinfo.com
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchTLSMatchAttributes[] +

REQUIRED. Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeRouteDestination[] +

The destination to which the connection should be forwarded to.

+ +
+
+

VirtualService

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hostsstring[] +

REQUIRED. The destination hosts to which traffic is being sent. Could +be a DNS name with wildcard prefix or an IP address. Depending on the +platform, short-names can also be used instead of a FQDN (i.e. has no +dots in the name). In such a scenario, the FQDN of the host would be +derived based on the underlying platform.

+ +

A host name can be defined by only one VirtualService. A single +VirtualService can be used to describe traffic properties for multiple +HTTP and TCP ports.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +

The hosts field applies to both HTTP and TCP services. Service inside +the mesh, i.e., those found in the service registry, must always be +referred to using their alphanumeric names. IP addresses are allowed +only for services defined via the Gateway.

+ +
gatewaysstring[] +

The names of gateways and sidecars that should apply these routes. A +single VirtualService is used for sidecars inside the mesh as well as +for one or more gateways. The selection condition imposed by this +field can be overridden using the source field in the match conditions +of protocol-specific routes. The reserved word mesh is used to imply +all the sidecars in the mesh. When this field is omitted, the default +gateway (mesh) will be used, which would apply the rule to all +sidecars in the mesh. If a list of gateway names is provided, the +rules will apply only to the gateways. To apply the rules to both +gateways and sidecars, specify mesh as one of the gateway names.

+ +
httpHTTPRoute[] +

An ordered list of route rules for HTTP traffic. HTTP routes will be +applied to platform service ports named ‘http-’/‘http2-’/‘grpc-*’, gateway +ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service +entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching +an incoming request is used.

+ +
tlsTLSRoute[] +

An ordered list of route rule for non-terminated TLS & HTTPS +traffic. Routing is typically performed using the SNI value presented +by the ClientHello message. TLS routes will be applied to platform +service ports named ‘https-’, ‘tls-’, unterminated gateway ports using +HTTPS/TLS protocols (i.e. with “passthrough” TLS mode) and service +entry ports using HTTPS/TLS protocols. The first rule matching an +incoming request is used. NOTE: Traffic ‘https-’ or ‘tls-’ ports +without associated virtual service will be treated as opaque TCP +traffic.

+ +
tcpTCPRoute[] +

An ordered list of route rules for opaque TCP traffic. TCP routes will +be applied to any port that is not a HTTP or TLS port. The first rule +matching an incoming request is used.

+ +
exportTostring[] +

A list of namespaces to which this virtual service is exported. Exporting a +virtual service allows it to used by sidecars and gateways defined in +other namespaces. This feature provides a mechanism for service owners +and mesh administrators to control the visibility of virtual services +across namespace boundaries.

+ +

If no namespaces are specified then the virtual service is exported to all +namespaces by default.

+ +

The value “.” is reserved and defines an export to the same namespace that +the virtual service is declared in, similarly the value “*” is reserved and +defines an export to all namespaces.

+ +
+
diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index f9465aeaaa6..823adc02bac 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -17,11 +17,9 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; -// $title: Traffic Routing -// $description: Configuration affecting traffic routing. -// $location: https://istio.io/docs/reference/config/istio.networking.v1alpha3.html -// $aliases: -// $ - /docs/reference/config/istio.routing.v1alpha1/ +// $title: Virtual Service +// $description: Configuration affecting label/content routing, sni routing, etc. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service.html // Configuration affecting traffic routing. Here are a few terms useful to define // in the context of traffic routing. @@ -51,10 +49,7 @@ import "google/protobuf/wrappers.proto"; // actual choice of the version is determined by the proxy/sidecar, enabling the // application code to decouple itself from the evolution of dependent // services. -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; - +// // A `VirtualService` defines a set of traffic routing rules to apply when a host is // addressed. Each routing rule defines matching criteria for traffic of a specific // protocol. If the traffic is matched, then it is sent to a named destination service @@ -115,6 +110,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // version: v2 // ``` // +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + message VirtualService { // REQUIRED. The destination hosts to which traffic is being sent. Could // be a DNS name with wildcard prefix or an IP address. Depending on the @@ -197,7 +196,7 @@ message VirtualService { // registry. Istio's service registry is composed of all the services found // in the platform's service registry (e.g., Kubernetes services, Consul // services), as well as services declared through the -// [ServiceEntry](#ServiceEntry) resource. +// [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry) resource. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" // instead of "reviews.default.svc.cluster.local"), Istio will interpret @@ -322,7 +321,7 @@ message Destination { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntry](#ServiceEntry). Traffic forwarded to + // declared by [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Traffic forwarded to // destinations that are not found in either of the two, will be dropped. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" From 11e69f5b2af887f22a5cf9e7e484d61109271581 Mon Sep 17 00:00:00 2001 From: mtail Date: Sat, 23 Feb 2019 11:51:44 -0800 Subject: [PATCH 07/34] Revert "Generate separate HTML page per proto under networking (#811)" This reverts commit 5f14eadd since it breaks the ability to generate reference docs in istio.io --- Makefile | 11 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 4 +- networking/v1alpha3/destination_rule.pb.go | 145 +- networking/v1alpha3/destination_rule.pb.html | 1021 ---- networking/v1alpha3/destination_rule.proto | 14 +- networking/v1alpha3/envoy_filter.pb.go | 37 + networking/v1alpha3/envoy_filter.pb.html | 400 -- networking/v1alpha3/envoy_filter.proto | 12 +- networking/v1alpha3/gateway.pb.go | 135 + networking/v1alpha3/gateway.pb.html | 563 -- networking/v1alpha3/gateway.proto | 14 +- .../istio.networking.v1alpha3.pb.html | 4665 +++++++++++++++++ networking/v1alpha3/service_entry.pb.go | 308 +- networking/v1alpha3/service_entry.pb.html | 612 --- networking/v1alpha3/service_entry.proto | 12 +- networking/v1alpha3/sidecar.pb.go | 77 + networking/v1alpha3/sidecar.pb.html | 348 -- networking/v1alpha3/sidecar.proto | 10 +- networking/v1alpha3/virtual_service.pb.go | 64 +- networking/v1alpha3/virtual_service.pb.html | 1759 ------- networking/v1alpha3/virtual_service.proto | 21 +- 21 files changed, 5394 insertions(+), 4838 deletions(-) delete mode 100644 networking/v1alpha3/destination_rule.pb.html delete mode 100644 networking/v1alpha3/envoy_filter.pb.html delete mode 100644 networking/v1alpha3/gateway.pb.html create mode 100644 networking/v1alpha3/istio.networking.v1alpha3.pb.html delete mode 100644 networking/v1alpha3/service_entry.pb.html delete mode 100644 networking/v1alpha3/sidecar.pb.html delete mode 100644 networking/v1alpha3/virtual_service.pb.html diff --git a/Makefile b/Makefile index 3b80c0e63a6..5d804e31ac5 100644 --- a/Makefile +++ b/Makefile @@ -70,7 +70,6 @@ gogoslick_plugin := $(gogoslick_plugin_prefix)$(gogo_mapping):$(out_path) ######################## protoc_gen_docs_plugin := --docs_out=warnings=true,mode=html_fragment_with_front_matter:$(repo_dir)/ -protoc_gen_docs_plugin_for_networking := --docs_out=warnings=true,per_file=true,mode=html_fragment_with_front_matter:$(repo_dir)/ ##################### # Generation Rules @@ -240,14 +239,14 @@ routing_v1alpha3_path := networking/v1alpha3 routing_v1alpha3_protos := $(shell find networking/v1alpha3 -type f -name '*.proto' | sort) routing_v1alpha3_pb_gos := $(routing_v1alpha3_protos:.proto=.pb.go) routing_v1alpha3_pb_pythons := $(routing_v1alpha3_protos:.proto=_pb2.py) -routing_v1alpha3_pb_docs := $(routing_v1alpha3_protos:.proto=.pb.html) +routing_v1alpha3_pb_doc := $(routing_v1alpha3_path)/istio.routing.v1alpha3.pb.html -generate-routing-go: $(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_docs) +generate-routing-go: $(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc) -$(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_docs): $(routing_v1alpha3_protos) +$(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc): $(routing_v1alpha3_protos) ## Generate networking/v1alpha3/*.pb.go @$(docker_lock) status - @$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin_for_networking)$(routing_v1alpha3_path) $^ + @$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(routing_v1alpha3_path) $^ generate-routing-python: $(routing_v1alpha3_pb_pythons) @@ -258,7 +257,7 @@ $(routing_v1alpha3_pb_pythons): $(routing_v1alpha3_protos) clean-routing: rm -f $(routing_v1alpha3_pb_gos) - rm -f $(routing_v1alpha3_pb_docs) + rm -f $(routing_v1alpha3_pb_doc) ##################### # rbac/... diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index b1c7ad57eee..e4c5546a3fb 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -75,7 +75,7 @@

ConfigSource

tlsSettingsistio.networking.v1alpha3.TLSSettingsistio.networking.v1alpha3.TLSSettings

Use the tlssettings to specify the tls mode to use. If the MCP server uses Istio MTLS and shares the root CA with Pilot, specify the TLS @@ -348,7 +348,7 @@

MeshConfig

tcpKeepaliveistio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepaliveistio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index c84db64b691..9b263002db7 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -4,77 +4,6 @@ /* Package v1alpha3 is a generated protocol buffer package. - `DestinationRule` defines policies that apply to traffic intended for a - service after routing has occurred. These rules specify configuration - for load balancing, connection pool size from the sidecar, and outlier - detection settings to detect and evict unhealthy hosts from the load - balancing pool. For example, a simple load balancing policy for the - ratings service would look as follows: - - ```yaml - apiVersion: networking.istio.io/v1alpha3 - kind: DestinationRule - metadata: - name: bookinfo-ratings - spec: - host: ratings.prod.svc.cluster.local - trafficPolicy: - loadBalancer: - simple: LEAST_CONN - ``` - - Version specific policies can be specified by defining a named - `subset` and overriding the settings specified at the service level. The - following rule uses a round robin load balancing policy for all traffic - going to a subset named testversion that is composed of endpoints (e.g., - pods) with labels (version:v3). - - ```yaml - apiVersion: networking.istio.io/v1alpha3 - kind: DestinationRule - metadata: - name: bookinfo-ratings - spec: - host: ratings.prod.svc.cluster.local - trafficPolicy: - loadBalancer: - simple: LEAST_CONN - subsets: - - name: testversion - labels: - version: v3 - trafficPolicy: - loadBalancer: - simple: ROUND_ROBIN - ``` - - **Note:** Policies specified for subsets will not take effect until - a route rule explicitly sends traffic to this subset. - - Traffic policies can be customized to specific ports as well. The - following rule uses the least connection load balancing policy for all - traffic to port 80, while uses a round robin load balancing setting for - traffic to the port 9080. - - ```yaml - apiVersion: networking.istio.io/v1alpha3 - kind: DestinationRule - metadata: - name: bookinfo-ratings-port - spec: - host: ratings.prod.svc.cluster.local - trafficPolicy: # Apply to all ports - portLevelSettings: - - port: - number: 80 - loadBalancer: - simple: LEAST_CONN - - port: - number: 9080 - loadBalancer: - simple: ROUND_ROBIN - ``` - It is generated from these files: networking/v1alpha3/destination_rule.proto networking/v1alpha3/envoy_filter.proto @@ -227,11 +156,81 @@ func (TLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{6, 0} } +// `DestinationRule` defines policies that apply to traffic intended for a +// service after routing has occurred. These rules specify configuration +// for load balancing, connection pool size from the sidecar, and outlier +// detection settings to detect and evict unhealthy hosts from the load +// balancing pool. For example, a simple load balancing policy for the +// ratings service would look as follows: +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: +// loadBalancer: +// simple: LEAST_CONN +// ``` +// +// Version specific policies can be specified by defining a named +// `subset` and overriding the settings specified at the service level. The +// following rule uses a round robin load balancing policy for all traffic +// going to a subset named testversion that is composed of endpoints (e.g., +// pods) with labels (version:v3). +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: +// loadBalancer: +// simple: LEAST_CONN +// subsets: +// - name: testversion +// labels: +// version: v3 +// trafficPolicy: +// loadBalancer: +// simple: ROUND_ROBIN +// ``` +// +// **Note:** Policies specified for subsets will not take effect until +// a route rule explicitly sends traffic to this subset. +// +// Traffic policies can be customized to specific ports as well. The +// following rule uses the least connection load balancing policy for all +// traffic to port 80, while uses a round robin load balancing setting for +// traffic to the port 9080. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings-port +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: # Apply to all ports +// portLevelSettings: +// - port: +// number: 80 +// loadBalancer: +// simple: LEAST_CONN +// - port: +// number: 9080 +// loadBalancer: +// simple: ROUND_ROBIN +// ``` type DestinationRule struct { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntries](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Rules defined for + // declared by [ServiceEntries](#ServiceEntry). Rules defined for // services that do not exist in the service registry will be ignored. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" @@ -413,7 +412,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *TLSSettings { // A subset of endpoints of a service. Subsets can be used for scenarios // like A/B testing, or routing to a specific version of a service. Refer -// to [VirtualService](/docs/reference/config/networking/v1alpha3/virtual-service/#VirtualService) documentation for examples of using +// to [VirtualService](#VirtualService) documentation for examples of using // subsets in these scenarios. In addition, traffic policies defined at the // service-level can be overridden at a subset-level. The following rule // uses a round robin load balancing policy for all traffic going to a diff --git a/networking/v1alpha3/destination_rule.pb.html b/networking/v1alpha3/destination_rule.pb.html deleted file mode 100644 index 47bb4d3e92d..00000000000 --- a/networking/v1alpha3/destination_rule.pb.html +++ /dev/null @@ -1,1021 +0,0 @@ ---- -title: Destination Rule -description: Configuration affecting load balancing, outlier detection, etc. -location: https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule.html -layout: protoc-gen-docs -generator: protoc-gen-docs -number_of_entries: 15 ---- -

DestinationRule defines policies that apply to traffic intended for a -service after routing has occurred. These rules specify configuration -for load balancing, connection pool size from the sidecar, and outlier -detection settings to detect and evict unhealthy hosts from the load -balancing pool. For example, a simple load balancing policy for the -ratings service would look as follows:

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-
- -

Version specific policies can be specified by defining a named -subset and overriding the settings specified at the service level. The -following rule uses a round robin load balancing policy for all traffic -going to a subset named testversion that is composed of endpoints (e.g., -pods) with labels (version:v3).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-  subsets:
-  - name: testversion
-    labels:
-      version: v3
-    trafficPolicy:
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- -

Note: Policies specified for subsets will not take effect until -a route rule explicitly sends traffic to this subset.

- -

Traffic policies can be customized to specific ports as well. The -following rule uses the least connection load balancing policy for all -traffic to port 80, while uses a round robin load balancing setting for -traffic to the port 9080.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings-port
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy: # Apply to all ports
-    portLevelSettings:
-    - port:
-        number: 80
-      loadBalancer:
-        simple: LEAST_CONN
-    - port:
-        number: 9080
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- -

ConnectionPoolSettings

-
-

Connection pool settings for an upstream host. The settings apply to -each individual host in the upstream service. See Envoy’s circuit -breaker -for more details. Connection pool settings can be applied at the TCP -level as well as at HTTP level.

- -

For example, the following rule sets a limit of 100 connections to redis -service called myredissrv with a connect timeout of 30ms

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-redis
-spec:
-  host: myredissrv.prod.svc.cluster.local
-  trafficPolicy:
-    connectionPool:
-      tcp:
-        maxConnections: 100
-        connectTimeout: 30ms
-        tcpKeepalive:
-          time: 7200s
-          interval: 75s
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
tcpConnectionPoolSettings.TCPSettings -

Settings common to both HTTP and TCP upstream connections.

- -
httpConnectionPoolSettings.HTTPSettings -

HTTP connection pool settings.

- -
-
-

ConnectionPoolSettings.HTTPSettings

-
-

Settings applicable to HTTP1.1/HTTP2/GRPC connections.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
http1MaxPendingRequestsint32 -

Maximum number of pending HTTP requests to a destination. Default 1024.

- -
http2MaxRequestsint32 -

Maximum number of requests to a backend. Default 1024.

- -
maxRequestsPerConnectionint32 -

Maximum number of requests per connection to a backend. Setting this -parameter to 1 disables keep alive.

- -
maxRetriesint32 -

Maximum number of retries that can be outstanding to all hosts in a -cluster at a given time. Defaults to 3.

- -
-
-

ConnectionPoolSettings.TCPSettings

-
-

Settings common to both HTTP and TCP upstream connections.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
maxConnectionsint32 -

Maximum number of HTTP1 /TCP connections to a destination host.

- -
connectTimeoutgoogle.protobuf.Duration -

TCP connection timeout.

- -
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive -

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

- -
-
-

ConnectionPoolSettings.TCPSettings.TcpKeepalive

-
-

TCP keepalive.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
probesuint32 -

Maximum number of keepalive probes to send without response before -deciding the connection is dead. Default is to use the OS level configuration -(unless overridden, Linux defaults to 9.)

- -
timegoogle.protobuf.Duration -

The time duration a connection needs to be idle before keep-alive -probes start being sent. Default is to use the OS level configuration -(unless overridden, Linux defaults to 7200s (ie 2 hours.)

- -
intervalgoogle.protobuf.Duration -

The time duration between keep-alive probes. -Default is to use the OS level configuration -(unless overridden, Linux defaults to 75s.)

- -
-
-

DestinationRule

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hoststring -

REQUIRED. The name of a service from the service registry. Service -names are looked up from the platform’s service registry (e.g., -Kubernetes services, Consul services, etc.) and from the hosts -declared by ServiceEntries. Rules defined for -services that do not exist in the service registry will be ignored.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -

Note that the host field applies to both HTTP and TCP services.

- -
trafficPolicyTrafficPolicy -

Traffic policies to apply (load balancing policy, connection pool -sizes, outlier detection).

- -
subsetsSubset[] -

One or more named sets that represent individual versions of a -service. Traffic policies can be overridden at subset level.

- -
exportTostring[] -

The resolution of a DestinationRule to apply to a service occurs in the -context of a hierarchy of namespaces. This rule controls whether those -namespaces are allowed to select this rule.

- -
-
-

LoadBalancerSettings

-
-

Load balancing policies to apply for a specific destination. See Envoy’s -load balancing -documentation -for more details.

- -

For example, the following rule uses a round robin load balancing policy -for all traffic going to the ratings service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: ROUND_ROBIN
-
- -

The following example sets up sticky sessions for the ratings service -hashing-based load balancer for the same ratings service using the -the User cookie as the hash key.

- -
 apiVersion: networking.istio.io/v1alpha3
- kind: DestinationRule
- metadata:
-   name: bookinfo-ratings
- spec:
-   host: ratings.prod.svc.cluster.local
-   trafficPolicy:
-     loadBalancer:
-       consistentHash:
-         httpCookie:
-           name: user
-           ttl: 0s
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
simpleLoadBalancerSettings.SimpleLB (oneof) -
consistentHashLoadBalancerSettings.ConsistentHashLB (oneof) -
-
-

LoadBalancerSettings.ConsistentHashLB

-
-

Consistent Hash-based load balancing can be used to provide soft -session affinity based on HTTP headers, cookies or other -properties. This load balancing policy is applicable only for HTTP -connections. The affinity to a particular destination host will be -lost when one or more hosts are added/removed from the destination -service.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
httpHeaderNamestring (oneof) -

Hash based on a specific HTTP header.

- -
useSourceIpbool (oneof) -

Hash based on the source IP address.

- -
minimumRingSizeuint64 -

The minimum number of virtual nodes to use for the hash -ring. Defaults to 1024. Larger ring sizes result in more granular -load distributions. If the number of hosts in the load balancing -pool is larger than the ring size, each host will be assigned a -single virtual node.

- -
-
-

LoadBalancerSettings.ConsistentHashLB.HTTPCookie

-
-

Describes a HTTP cookie that will be used as the hash key for the -Consistent Hash load balancer. If the cookie is not present, it will -be generated.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
namestring -

REQUIRED. Name of the cookie.

- -
pathstring -

Path to set for the cookie.

- -
ttlgoogle.protobuf.Duration -

REQUIRED. Lifetime of the cookie.

- -
-
-

LoadBalancerSettings.SimpleLB

-
-

Standard load balancing algorithms that require no tuning.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
ROUND_ROBIN -

Round Robin policy. Default

- -
LEAST_CONN -

The least request load balancer uses an O(1) algorithm which selects -two random healthy hosts and picks the host which has fewer active -requests.

- -
RANDOM -

The random load balancer selects a random healthy host. The random -load balancer generally performs better than round robin if no health -checking policy is configured.

- -
PASSTHROUGH -

This option will forward the connection to the original IP address -requested by the caller without doing any form of load -balancing. This option must be used with care. It is meant for -advanced use cases. Refer to Original Destination load balancer in -Envoy for further details.

- -
-
-

OutlierDetection

-
-

A Circuit breaker implementation that tracks the status of each -individual host in the upstream service. Applicable to both HTTP and -TCP services. For HTTP services, hosts that continually return 5xx -errors for API calls are ejected from the pool for a pre-defined period -of time. For TCP services, connection timeouts or connection -failures to a given host counts as an error when measuring the -consecutive errors metric. See Envoy’s outlier -detection -for more details.

- -

The following rule sets a connection pool size of 100 connections and -1000 concurrent HTTP2 requests, with no more than 10 req/connection to -“reviews” service. In addition, it configures upstream hosts to be -scanned every 5 mins, such that any host that fails 7 consecutive times -with 5XX error code will be ejected for 15 minutes.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-cb-policy
-spec:
-  host: reviews.prod.svc.cluster.local
-  trafficPolicy:
-    connectionPool:
-      tcp:
-        maxConnections: 100
-      http:
-        http2MaxRequests: 1000
-        maxRequestsPerConnection: 10
-    outlierDetection:
-      consecutiveErrors: 7
-      interval: 5m
-      baseEjectionTime: 15m
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
consecutiveErrorsint32 -

Number of errors before a host is ejected from the connection -pool. Defaults to 5. When the upstream host is accessed over HTTP, a -502, 503 or 504 return code qualifies as an error. When the upstream host -is accessed over an opaque TCP connection, connect timeouts and -connection error/failure events qualify as an error.

- -
intervalgoogle.protobuf.Duration -

Time interval between ejection sweep analysis. format: -1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

- -
baseEjectionTimegoogle.protobuf.Duration -

Minimum ejection duration. A host will remain ejected for a period -equal to the product of minimum ejection duration and the number of -times the host has been ejected. This technique allows the system to -automatically increase the ejection period for unhealthy upstream -servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

- -
maxEjectionPercentint32 -

Maximum % of hosts in the load balancing pool for the upstream -service that can be ejected. Defaults to 10%.

- -
minHealthPercentint32 -

Outlier detection will be enabled as long as the associated load balancing -pool has at least minhealthpercent hosts in healthy mode. When the -percentage of healthy hosts in the load balancing pool drops below this -threshold, outlier detection will be disabled and the proxy will load balance -across all hosts in the pool (healthy and unhealthy). The default is 50%.

- -
-
-

Subset

-
-

A subset of endpoints of a service. Subsets can be used for scenarios -like A/B testing, or routing to a specific version of a service. Refer -to VirtualService documentation for examples of using -subsets in these scenarios. In addition, traffic policies defined at the -service-level can be overridden at a subset-level. The following rule -uses a round robin load balancing policy for all traffic going to a -subset named testversion that is composed of endpoints (e.g., pods) with -labels (version:v3).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-  subsets:
-  - name: testversion
-    labels:
-      version: v3
-    trafficPolicy:
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- -

Note: Policies specified for subsets will not take effect until -a route rule explicitly sends traffic to this subset.

- -

One or more labels are typically required to identify the subset destination, -however, when the corresponding DestinationRule represents a host that -supports multiple SNI hosts (e.g., an egress gateway), a subset without labels -may be meaningful. In this case a traffic policy with TLSSettings -can be used to identify a specific SNI host corresponding to the named subset.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
namestring -

REQUIRED. Name of the subset. The service name and the subset name can -be used for traffic splitting in a route rule.

- -
labelsmap<string, string> -

Labels apply a filter over the endpoints of a service in the -service registry. See route rules for examples of usage.

- -
trafficPolicyTrafficPolicy -

Traffic policies that apply to this subset. Subsets inherit the -traffic policies specified at the DestinationRule level. Settings -specified at the subset level will override the corresponding settings -specified at the DestinationRule level.

- -
-
-

TLSSettings

-
-

SSL/TLS related settings for upstream connections. See Envoy’s TLS -context -for more details. These settings are common to both HTTP and TCP upstreams.

- -

For example, the following rule configures a client to use mutual TLS -for connections to upstream database cluster.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: db-mtls
-spec:
-  host: mydbserver.prod.svc.cluster.local
-  trafficPolicy:
-    tls:
-      mode: MUTUAL
-      clientCertificate: /etc/certs/myclientcert.pem
-      privateKey: /etc/certs/client_private_key.pem
-      caCertificates: /etc/certs/rootcacerts.pem
-
- -

The following rule configures a client to use TLS when talking to a -foreign service whose domain matches *.foo.com.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: tls-foo
-spec:
-  host: "*.foo.com"
-  trafficPolicy:
-    tls:
-      mode: SIMPLE
-
- -

The following rule configures a client to use Istio mutual TLS when talking -to rating services.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: ratings-istio-mtls
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    tls:
-      mode: ISTIO_MUTUAL
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
modeTLSSettings.TLSmode -

REQUIRED: Indicates whether connections to this port should be secured -using TLS. The value of this field determines how TLS is enforced.

- -
clientCertificatestring -

REQUIRED if mode is MUTUAL. The path to the file holding the -client-side TLS certificate to use. -Should be empty if mode is ISTIO_MUTUAL.

- -
privateKeystring -

REQUIRED if mode is MUTUAL. The path to the file holding the -client’s private key. -Should be empty if mode is ISTIO_MUTUAL.

- -
caCertificatesstring -

OPTIONAL: The path to the file containing certificate authority -certificates to use in verifying a presented server certificate. If -omitted, the proxy will not verify the server’s certificate. -Should be empty if mode is ISTIO_MUTUAL.

- -
subjectAltNamesstring[] -

A list of alternate names to verify the subject identity in the -certificate. If specified, the proxy will verify that the server -certificate’s subject alt name matches one of the specified values. -If specified, this list overrides the value of subjectaltnames -from the ServiceEntry.

- -
snistring -

SNI string to present to the server during TLS handshake.

- -
-
-

TLSSettings.TLSmode

-
-

TLS connection mode

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
DISABLE -

Do not setup a TLS connection to the upstream endpoint.

- -
SIMPLE -

Originate a TLS connection to the upstream endpoint.

- -
MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication.

- -
ISTIO_MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication. -Compared to Mutual mode, this mode uses certificates generated -automatically by Istio for mTLS authentication. When this mode is -used, all other fields in TLSSettings should be empty.

- -
-
-

TrafficPolicy

-
-

Traffic policies to apply for a specific destination, across all -destination ports. See DestinationRule for examples.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
loadBalancerLoadBalancerSettings -

Settings controlling the load balancer algorithms.

- -
connectionPoolConnectionPoolSettings -

Settings controlling the volume of connections to an upstream service

- -
outlierDetectionOutlierDetection -

Settings controlling eviction of unhealthy hosts from the load balancing pool

- -
tlsTLSSettings -

TLS related settings for connections to the upstream service.

- -
portLevelSettingsTrafficPolicy.PortTrafficPolicy[] -

Traffic policies specific to individual ports. Note that port level -settings will override the destination-level settings. Traffic -settings specified at the destination-level will not be inherited when -overridden by port-level settings, i.e. default values will be applied -to fields omitted in port-level traffic policies.

- -
-
-

TrafficPolicy.PortTrafficPolicy

-
-

Traffic policies that apply to specific ports of the service

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPortSelector -

Specifies the port name or number of a port on the destination service -on which this policy is being applied.

- -

Names must comply with DNS label syntax (rfc1035) and therefore cannot -collide with numbers. If there are multiple ports on a service with -the same protocol the names should be of the form -.

- -
loadBalancerLoadBalancerSettings -

Settings controlling the load balancer algorithms.

- -
connectionPoolConnectionPoolSettings -

Settings controlling the volume of connections to an upstream service

- -
outlierDetectionOutlierDetection -

Settings controlling eviction of unhealthy hosts from the load balancing pool

- -
tlsTLSSettings -

TLS related settings for connections to the upstream service.

- -
-
diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 5759ff50958..1c340f8bbf6 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -17,9 +17,9 @@ import "google/protobuf/duration.proto"; import "networking/v1alpha3/virtual_service.proto"; import "gogoproto/gogo.proto"; -// $title: Destination Rule -// $description: Configuration affecting load balancing, outlier detection, etc. -// $location: https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule.html +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; // `DestinationRule` defines policies that apply to traffic intended for a // service after routing has occurred. These rules specify configuration @@ -91,15 +91,11 @@ import "gogoproto/gogo.proto"; // loadBalancer: // simple: ROUND_ROBIN // ``` -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; - message DestinationRule { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntries](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Rules defined for + // declared by [ServiceEntries](#ServiceEntry). Rules defined for // services that do not exist in the service registry will be ignored. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" @@ -177,7 +173,7 @@ message TrafficPolicy { // A subset of endpoints of a service. Subsets can be used for scenarios // like A/B testing, or routing to a specific version of a service. Refer -// to [VirtualService](/docs/reference/config/networking/v1alpha3/virtual-service/#VirtualService) documentation for examples of using +// to [VirtualService](#VirtualService) documentation for examples of using // subsets in these scenarios. In addition, traffic policies defined at the // service-level can be overridden at a subset-level. The following rule // uses a round robin load balancing policy for all traffic going to a diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index 73e57d75c79..f71ab80395d 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -140,6 +140,43 @@ func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0, 3, 0} } +// `EnvoyFilter` describes Envoy proxy-specific filters that can be used to +// customize the Envoy proxy configuration generated by Istio networking +// subsystem (Pilot). This feature must be used with care, as incorrect +// configurations could potentially destabilize the entire mesh. +// +// NOTE 1: Since this is break glass configuration, there will not be any +// backward compatibility across different Istio releases. In other words, +// this configuration is subject to change based on internal implementation +// of Istio networking subsystem. +// +// NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter +// configurations will be processed sequentially in order of creation time. +// The behavior is undefined if multiple EnvoyFilter configurations conflict +// with each other. +// +// 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 +// labels "app: reviews". +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: EnvoyFilter +// metadata: +// name: reviews-lua +// spec: +// workloadLabels: +// app: reviews +// filters: +// - listenerMatch: +// portNumber: 8080 +// listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080 +// filterName: envoy.lua +// filterType: HTTP +// filterConfig: +// inlineCode: | +// ... lua code ... +// ``` type EnvoyFilter struct { // One or more labels that indicate a specific set of pods/VMs whose // proxies should be configured to use these additional filters. The diff --git a/networking/v1alpha3/envoy_filter.pb.html b/networking/v1alpha3/envoy_filter.pb.html deleted file mode 100644 index d9a36cb8523..00000000000 --- a/networking/v1alpha3/envoy_filter.pb.html +++ /dev/null @@ -1,400 +0,0 @@ ---- -title: Envoy Filter -description: Configuration affecting insertion of custom envoy filters. -location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html -layout: protoc-gen-docs -generator: protoc-gen-docs -number_of_entries: 8 ---- -

EnvoyFilter describes Envoy proxy-specific filters that can be used to -customize the Envoy proxy configuration generated by Istio networking -subsystem (Pilot). This feature must be used with care, as incorrect -configurations could potentially destabilize the entire mesh.

- -

NOTE 1: Since this is break glass configuration, there will not be any -backward compatibility across different Istio releases. In other words, -this configuration is subject to change based on internal implementation -of Istio networking subsystem.

- -

NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter -configurations will be processed sequentially in order of creation time. -The behavior is undefined if multiple EnvoyFilter configurations conflict -with each other.

- -

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 -labels “app: reviews”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: EnvoyFilter
-metadata:
-  name: reviews-lua
-spec:
-  workloadLabels:
-    app: reviews
-  filters:
-  - listenerMatch:
-      portNumber: 8080
-      listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080
-    filterName: envoy.lua
-    filterType: HTTP
-    filterConfig:
-      inlineCode: |
-        ... lua code ...
-
- -

EnvoyFilter

-
- - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
workloadLabelsmap<string, string> -

One 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.

- -
filtersEnvoyFilter.Filter[] -

REQUIRED: Envoy network filters/http filters to be added to matching -listeners. When adding network filters to http connections, care -should be taken to ensure that the filter is added before -envoy.httpconnectionmanager.

- -
-
-

EnvoyFilter.Filter

-
-

Envoy filters to be added to a network or http filter chain.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
listenerMatchEnvoyFilter.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.

- -
insertPositionEnvoyFilter.InsertPosition -

Insert position in the filter chain. Defaults to FIRST

- -
filterTypeEnvoyFilter.Filter.FilterType -

REQUIRED: The type of filter to instantiate.

- -
filterNamestring -

REQUIRED: The name of the filter to instantiate. The name must match a supported -filter compiled into Envoy.

- -
filterConfiggoogle.protobuf.Struct -

REQUIRED: Filter specific configuration which depends on the filter being -instantiated.

- -
-
-

EnvoyFilter.Filter.FilterType

-
- - - - - - - - - - - - - - - - - - - - - -
NameDescription
INVALID -

placeholder

- -
HTTP -

Http filter

- -
NETWORK -

Network filter

- -
-
-

EnvoyFilter.InsertPosition

-
-

Indicates the relative index in the filter chain where the filter should be inserted.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
indexEnvoyFilter.InsertPosition.Index -

Position of this filter in the filter chain.

- -
relativeTostring -

If BEFORE or AFTER position is specified, specify the name of the -filter relative to which this filter should be inserted.

- -
-
-

EnvoyFilter.InsertPosition.Index

-
-

Index/position in the filter chain.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
FIRST -

Insert first

- -
LAST -

Insert last

- -
BEFORE -

Insert before the named filter.

- -
AFTER -

Insert after the named filter.

- -
-
-

EnvoyFilter.ListenerMatch

-
-

Select a listener to add the filter to based on the match conditions. -All conditions specified in the ListenerMatch must be met for the filter -to be applied to a listener.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portNumberuint32 -

The service port/gateway port to which traffic is being -sent/received. If not specified, matches all listeners. Even though -inbound listeners are generated for the instance/pod ports, only -service ports should be used to match listeners.

- -
portNamePrefixstring -

Instead of using specific port numbers, a set of ports matching a -given port name prefix can be selected. E.g., “mongo” selects ports -named mongo-port, mongo, mongoDB, MONGO, etc. Matching is case -insensitive.

- -
listenerTypeEnvoyFilter.ListenerMatch.ListenerType -

Inbound vs outbound sidecar listener or gateway listener. If not specified, -matches all listeners.

- -
listenerProtocolEnvoyFilter.ListenerMatch.ListenerProtocol -

Selects a class of listeners for the same protocol. If not -specified, applies to listeners on all protocols. 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).

- -
addressstring[] -

One or more IP addresses to which the listener is bound. If -specified, should match at least one address in the list.

- -
-
-

EnvoyFilter.ListenerMatch.ListenerProtocol

-
- - - - - - - - - - - - - - - - - - - - - -
NameDescription
ALL -

All protocols

- -
HTTP -

HTTP or HTTPS (with termination) / HTTP2/gRPC

- -
TCP -

Any non-HTTP listener

- -
-
-

EnvoyFilter.ListenerMatch.ListenerType

-
- - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
ANY -

All listeners

- -
SIDECAR_INBOUND -

Inbound listener in sidecar

- -
SIDECAR_OUTBOUND -

Outbound listener in sidecar

- -
GATEWAY -

Gateway listener

- -
-
diff --git a/networking/v1alpha3/envoy_filter.proto b/networking/v1alpha3/envoy_filter.proto index 4b9d040c11e..c944675e558 100644 --- a/networking/v1alpha3/envoy_filter.proto +++ b/networking/v1alpha3/envoy_filter.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "google/protobuf/struct.proto"; -// $title: Envoy Filter -// $description: Configuration affecting insertion of custom envoy filters. -// $location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; // `EnvoyFilter` describes Envoy proxy-specific filters that can be used to // customize the Envoy proxy configuration generated by Istio networking @@ -50,17 +50,13 @@ import "google/protobuf/struct.proto"; // filters: // - listenerMatch: // portNumber: 8080 -// listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080 +// listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080 // filterName: envoy.lua // filterType: HTTP // filterConfig: // inlineCode: | // ... lua code ... // ``` -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 // proxies should be configured to use these additional filters. The diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index a823f59bd9a..0bb2c9e736f 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -98,6 +98,141 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1, 0, 1} } +// `Gateway` describes a load balancer operating at the edge of the mesh +// receiving incoming or outgoing HTTP/TCP connections. The specification +// describes a set of ports that should be exposed, the type of protocol to +// use, SNI configuration for the load balancer, etc. +// +// For example, the following Gateway configuration sets up a proxy to act +// as a load balancer exposing port 80 and 9080 (http), 443 (https), and +// port 2379 (TCP) for ingress. The gateway will be applied to the proxy +// running on a pod with labels `app: my-gateway-controller`. While Istio +// will configure the proxy to listen on these ports, it is the +// responsibility of the user to ensure that external traffic to these +// ports are allowed into the mesh. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Gateway +// metadata: +// name: my-gateway +// namespace: some-config-namespace +// spec: +// selector: +// app: my-gateway-controller +// servers: +// - port: +// number: 80 +// name: http +// protocol: HTTP +// hosts: +// - uk.bookinfo.com +// - eu.bookinfo.com +// tls: +// httpsRedirect: true # sends 301 redirect for http requests +// - port: +// number: 443 +// name: https +// protocol: HTTPS +// hosts: +// - uk.bookinfo.com +// - eu.bookinfo.com +// tls: +// mode: SIMPLE #enables HTTPS on this port +// serverCertificate: /etc/certs/servercert.pem +// privateKey: /etc/certs/privatekey.pem +// - port: +// number: 9080 +// name: http-wildcard +// protocol: HTTP +// hosts: +// - "*" +// - port: +// number: 2379 # to expose internal service via external port 2379 +// name: mongo +// protocol: MONGO +// hosts: +// - "*" +// ``` +// The Gateway specification above describes the L4-L6 properties of a load +// balancer. A `VirtualService` can then be bound to a gateway to control +// 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 +// 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). +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: VirtualService +// metadata: +// name: bookinfo-rule +// namespace: bookinfo-namespace +// spec: +// hosts: +// - reviews.prod.svc.cluster.local +// - uk.bookinfo.com +// - eu.bookinfo.com +// gateways: +// - some-config-namespace/my-gateway +// - mesh # applies to all the sidecars in the mesh +// http: +// - match: +// - headers: +// cookie: +// user: dev-123 +// route: +// - destination: +// port: +// number: 7777 +// host: reviews.qa.svc.cluster.local +// - match: +// uri: +// prefix: /reviews/ +// route: +// - destination: +// port: +// number: 9080 # can be omitted if its the only port for reviews +// host: reviews.prod.svc.cluster.local +// weight: 80 +// - destination: +// host: reviews.qa.svc.cluster.local +// weight: 20 +// ``` +// +// The following VirtualService forwards traffic arriving at (external) +// port 27017 to internal Mongo server on port 5555. This rule is not +// applicable internally in the mesh as the gateway list omits the +// reserved name `mesh`. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: VirtualService +// metadata: +// name: bookinfo-Mongo +// namespace: bookinfo-namespace +// spec: +// hosts: +// - mongosvr.prod.svc.cluster.local #name of internal Mongo service +// gateways: +// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same +// namespace as virtual service. +// tcp: +// - match: +// - port: 27017 +// route: +// - destination: +// host: mongo.prod.svc.cluster.local +// port: +// number: 5555 +// ``` type Gateway struct { // REQUIRED: A list of server specifications. Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html deleted file mode 100644 index b5cc69a3885..00000000000 --- a/networking/v1alpha3/gateway.pb.html +++ /dev/null @@ -1,563 +0,0 @@ ---- -title: Gateway -description: Configuration affecting edge load balancer. -location: https://istio.io/docs/reference/config/networking/v1alpha3/gateway.html -layout: protoc-gen-docs -generator: protoc-gen-docs -number_of_entries: 6 ---- -

Gateway describes a load balancer operating at the edge of the mesh -receiving incoming or outgoing HTTP/TCP connections. The specification -describes a set of ports that should be exposed, the type of protocol to -use, SNI configuration for the load balancer, etc.

- -

For example, the following Gateway configuration sets up a proxy to act -as a load balancer exposing port 80 and 9080 (http), 443 (https), and -port 2379 (TCP) for ingress. The gateway will be applied to the proxy -running on a pod with labels app: my-gateway-controller. While Istio -will configure the proxy to listen on these ports, it is the -responsibility of the user to ensure that external traffic to these -ports are allowed into the mesh.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-gateway
-  namespace: some-config-namespace
-spec:
-  selector:
-    app: my-gateway-controller
-  servers:
-  - port:
-      number: 80
-      name: http
-      protocol: HTTP
-    hosts:
-    - uk.bookinfo.com
-    - eu.bookinfo.com
-    tls:
-      httpsRedirect: true # sends 301 redirect for http requests
-  - port:
-      number: 443
-      name: https
-      protocol: HTTPS
-    hosts:
-    - uk.bookinfo.com
-    - eu.bookinfo.com
-    tls:
-      mode: SIMPLE # enables HTTPS on this port
-      serverCertificate: /etc/certs/servercert.pem
-      privateKey: /etc/certs/privatekey.pem
-  - port:
-      number: 9080
-      name: http-wildcard
-      protocol: HTTP
-    hosts:
-    - "*"
-  - port:
-      number: 2379 # to expose internal service via external port 2379
-      name: mongo
-      protocol: MONGO
-    hosts:
-    - "*"
-
- -

The Gateway specification above describes the L4-L6 properties of a load -balancer. A VirtualService can then be bound to a gateway to control -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 -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).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-rule
-  namespace: bookinfo-namespace
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  - uk.bookinfo.com
-  - eu.bookinfo.com
-  gateways:
-  - some-config-namespace/my-gateway
-  - mesh # applies to all the sidecars in the mesh
-  http:
-  - match:
-    - headers:
-        cookie:
-          user: dev-123
-    route:
-    - destination:
-        port:
-          number: 7777
-        host: reviews.qa.svc.cluster.local
-  - match:
-      uri:
-        prefix: /reviews/
-    route:
-    - destination:
-        port:
-          number: 9080 # can be omitted if its the only port for reviews
-        host: reviews.prod.svc.cluster.local
-      weight: 80
-    - destination:
-        host: reviews.qa.svc.cluster.local
-      weight: 20
-
- -

The following VirtualService forwards traffic arriving at (external) -port 27017 to internal Mongo server on port 5555. This rule is not -applicable internally in the mesh as the gateway list omits the -reserved name mesh.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-Mongo
-  namespace: bookinfo-namespace
-spec:
-  hosts:
-  - mongosvr.prod.svc.cluster.local # name of internal Mongo service
-  gateways:
-  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
-                                       namespace as virtual service.
-  tcp:
-  - match:
-    - port: 27017
-    route:
-    - destination:
-        host: mongo.prod.svc.cluster.local
-        port:
-          number: 5555
-
- -

Gateway

-
- - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
serversServer[] -

REQUIRED: A list of server specifications.

- -
selectormap<string, string> -

REQUIRED: One or more labels that indicate a specific set of pods/VMs -on which this gateway configuration should be applied. The scope of -label search is restricted to the configuration namespace in which the -the resource is present. In other words, the Gateway resource must -reside in the same namespace as the gateway workload.

- -
-
-

Port

-
-

Port describes the properties of a specific port of a service.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
numberuint32 -

REQUIRED: A valid non-negative integer port number.

- -
protocolstring -

REQUIRED: The protocol exposed on the port. -MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. -TLS implies the connection will be routed based on the SNI header to -the destination without terminating the TLS connection.

- -
namestring -

Label assigned to the port.

- -
-
-

Server

-
-

Server describes the properties of the proxy on a given load balancer -port. For example,

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-ingress
-spec:
-  selector:
-    app: my-ingress-gateway
-  servers:
-  - port:
-      number: 80
-      name: http2
-      protocol: HTTP2
-    hosts:
-    - "*"
-
- -

Another example

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-tcp-ingress
-spec:
-  selector:
-    app: my-tcp-ingress-gateway
-  servers:
-  - port:
-      number: 27018
-      name: mongo
-      protocol: MONGO
-    hosts:
-    - "*"
-
- -

The following is an example of TLS configuration for port 443

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-tls-ingress
-spec:
-  selector:
-    app: my-tls-ingress-gateway
-  servers:
-  - port:
-      number: 443
-      name: https
-      protocol: HTTPS
-    hosts:
-    - "*"
-    tls:
-      mode: SIMPLE
-      serverCertificate: /etc/certs/server.pem
-      privateKey: /etc/certs/privatekey.pem
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

REQUIRED: The Port on which the proxy should listen for incoming -connections. If using unix domain socket, use 0 as the port number, -with a valid protocol and port name, along with the bind parameter.

- -
hostsstring[] -

REQUIRED. A list of hosts exposed by this gateway. At least one -host is required. While typically applicable to -HTTP services, it can also be used for TCP services using TLS with -SNI. May contain a wildcard prefix for the bottom-level component of -a domain name. For example *.foo.com matches bar.foo.com -and *.com matches bar.foo.com, example.com, and so on.

- -

Note: A VirtualService that is bound to a gateway must have one -or more hosts that match the hosts specified in a server. The match -could be an exact match or a suffix match with the server’s hosts. For -example, if the server’s hosts specifies “*.example.com”, -VirtualServices with hosts dev.example.com, prod.example.com will -match. However, VirtualServices with hosts example.com or -newexample.com will not match.

- -
tlsServer.TLSOptions -

Set of TLS related options that govern the server’s behavior. Use -these options to control if all http requests should be redirected to -https, and the TLS modes to use.

- -
defaultEndpointstring -

The loopback IP endpoint or unix domain socket to which traffic should -be forwarded to by default. Format should be 127.0.0.1:PORT or -unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

- -
-
-

Server.TLSOptions

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
httpsRedirectbool -

If set to true, the load balancer will send a 301 redirect for all -http connections, asking the clients to use HTTPS.

- -
modeServer.TLSOptions.TLSmode -

Optional: Indicates whether connections to this port should be -secured using TLS. The value of this field determines how TLS is -enforced.

- -
serverCertificatestring -

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file -holding the server-side TLS certificate to use.

- -
privateKeystring -

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file -holding the server’s private key.

- -
caCertificatesstring -

REQUIRED if mode is MUTUAL. The path to a file containing -certificate authority certificates to use in verifying a presented -client side certificate.

- -
credentialNamestring -

The credentialName stands for a unique identifier that can be used -to identify the serverCertificate and the privateKey. The 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 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 -credentialName-cacert. The semantics of the name are platform dependent. -In Kubernetes, the default Istio supplied credential server expects the -credentialName to match the name of the Kubernetes secret that holds the -server certificate, the private key, and the CA certificate -(if using mutual TLS).

- -
subjectAltNamesstring[] -

A list of alternate names to verify the subject identity in the -certificate presented by the client.

- -
minProtocolVersionServer.TLSOptions.TLSProtocol -

Optional: Minimum TLS protocol version.

- -
maxProtocolVersionServer.TLSOptions.TLSProtocol -

Optional: Maximum TLS protocol version.

- -
cipherSuitesstring[] -

Optional: If specified, only support the specified cipher list. -Otherwise default to the default cipher list supported by Envoy.

- -
-
-

Server.TLSOptions.TLSProtocol

-
-

TLS protocol versions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
TLS_AUTO -

Automatically choose the optimal TLS version.

- -
TLSV1_0 -

TLS version 1.0

- -
TLSV1_1 -

TLS version 1.1

- -
TLSV1_2 -

TLS version 1.2

- -
TLSV1_3 -

TLS version 1.3

- -
-
-

Server.TLSOptions.TLSmode

-
-

TLS modes enforced by the proxy

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
PASSTHROUGH -

The SNI string presented by the client will be used as the match -criterion in a VirtualService TLS route to determine the -destination service from the service registry.

- -
SIMPLE -

Secure connections with standard TLS semantics.

- -
MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication.

- -
AUTO_PASSTHROUGH -

Similar to the passthrough mode, except servers with this TLS mode -do not require an associated VirtualService to map from the SNI -value to service in the registry. The destination details such as -the service/subset/port are encoded in the SNI value. The proxy -will forward to the upstream (Envoy) cluster (a group of -endpoints) specified by the SNI value. This server is typically -used to provide connectivity between services in disparate L3 -networks that otherwise do not have direct connectivity between -their respective endpoints. Use of this mode assumes that both the -source and the destination are using Istio mTLS to secure traffic.

- -
-
diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index 4a5877cb952..bc567376bdf 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -14,9 +14,9 @@ syntax = "proto3"; -// $title: Gateway -// $description: Configuration affecting edge load balancer. -// $location: https://istio.io/docs/reference/config/networking/v1alpha3/gateway.html +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; // `Gateway` describes a load balancer operating at the edge of the mesh // receiving incoming or outgoing HTTP/TCP connections. The specification @@ -58,7 +58,7 @@ syntax = "proto3"; // - uk.bookinfo.com // - eu.bookinfo.com // tls: -// mode: SIMPLE # enables HTTPS on this port +// mode: SIMPLE #enables HTTPS on this port // serverCertificate: /etc/certs/servercert.pem // privateKey: /etc/certs/privatekey.pem // - port: @@ -140,7 +140,7 @@ syntax = "proto3"; // namespace: bookinfo-namespace // spec: // hosts: -// - mongosvr.prod.svc.cluster.local # name of internal Mongo service +// - mongosvr.prod.svc.cluster.local #name of internal Mongo service // gateways: // - some-config-namespace/my-gateway # can omit the namespace if gateway is in same // namespace as virtual service. @@ -153,10 +153,6 @@ syntax = "proto3"; // port: // number: 5555 // ``` -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; - message Gateway { // REQUIRED: A list of server specifications. repeated Server servers = 1; diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html new file mode 100644 index 00000000000..665bf24c100 --- /dev/null +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -0,0 +1,4665 @@ +--- +title: Traffic Routing +description: Configuration affecting traffic routing. +location: https://istio.io/docs/reference/config/istio.networking.v1alpha3.html +layout: protoc-gen-docs +generator: protoc-gen-docs +aliases: + - /docs/reference/config/istio.routing.v1alpha1/ +number_of_entries: 60 +--- +

Configuration affecting traffic routing. Here are a few terms useful to define +in the context of traffic routing.

+ +

Service a unit of application behavior bound to a unique name in a +service registry. Services consist of multiple network endpoints +implemented by workload instances running on pods, containers, VMs etc.

+ +

Service versions (a.k.a. subsets) - In a continuous deployment +scenario, for a given service, there can be distinct subsets of +instances running different variants of the application binary. These +variants are not necessarily different API versions. They could be +iterative changes to the same service, deployed in different +environments (prod, staging, dev, etc.). Common scenarios where this +occurs include A/B testing, canary rollouts, etc. The choice of a +particular version can be decided based on various criterion (headers, +url, etc.) and/or by weights assigned to each version. Each service has +a default version consisting of all its instances.

+ +

Source - A downstream client calling a service.

+ +

Host - The address used by a client when attempting to connect to a +service.

+ +

Access model - Applications address only the destination service +(Host) without knowledge of individual service versions (subsets). The +actual choice of the version is determined by the proxy/sidecar, enabling the +application code to decouple itself from the evolution of dependent +services.

+ +

CaptureMode

+
+

CaptureMode describes how traffic to a listener is expected to be +captured. Applicable only when the listener is bound to an IP.

+ + + + + + + + + + + + + + + + + + + + + + +
NameDescription
DEFAULT +

The default capture mode defined by the environment

+ +
IPTABLES +

Capture traffic using IPtables redirection

+ +
NONE +

No traffic capture. When used in egress listener, the application is +expected to explicitly communicate with the listener port/unix +domain socket. When used in ingress listener, care needs to be taken +to ensure that the listener port is not in use by other processes on +the host.

+ +
+
+

ConnectionPoolSettings

+
+

Connection pool settings for an upstream host. The settings apply to +each individual host in the upstream service. See Envoy’s circuit +breaker +for more details. Connection pool settings can be applied at the TCP +level as well as at HTTP level.

+ +

For example, the following rule sets a limit of 100 connections to redis +service called myredissrv with a connect timeout of 30ms

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-redis
+spec:
+  host: myredissrv.prod.svc.cluster.local
+  trafficPolicy:
+    connectionPool:
+      tcp:
+        maxConnections: 100
+        connectTimeout: 30ms
+        tcpKeepalive:
+          time: 7200s
+          interval: 75s
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
tcpConnectionPoolSettings.TCPSettings +

Settings common to both HTTP and TCP upstream connections.

+ +
httpConnectionPoolSettings.HTTPSettings +

HTTP connection pool settings.

+ +
+
+

ConnectionPoolSettings.HTTPSettings

+
+

Settings applicable to HTTP1.1/HTTP2/GRPC connections.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
http1MaxPendingRequestsint32 +

Maximum number of pending HTTP requests to a destination. Default 1024.

+ +
http2MaxRequestsint32 +

Maximum number of requests to a backend. Default 1024.

+ +
maxRequestsPerConnectionint32 +

Maximum number of requests per connection to a backend. Setting this +parameter to 1 disables keep alive.

+ +
maxRetriesint32 +

Maximum number of retries that can be outstanding to all hosts in a +cluster at a given time. Defaults to 3.

+ +
+
+

ConnectionPoolSettings.TCPSettings

+
+

Settings common to both HTTP and TCP upstream connections.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
maxConnectionsint32 +

Maximum number of HTTP1 /TCP connections to a destination host.

+ +
connectTimeoutgoogle.protobuf.Duration +

TCP connection timeout.

+ +
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive +

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

+ +
+
+

ConnectionPoolSettings.TCPSettings.TcpKeepalive

+
+

TCP keepalive.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
probesuint32 +

Maximum number of keepalive probes to send without response before +deciding the connection is dead. Default is to use the OS level configuration +(unless overridden, Linux defaults to 9.)

+ +
timegoogle.protobuf.Duration +

The time duration a connection needs to be idle before keep-alive +probes start being sent. Default is to use the OS level configuration +(unless overridden, Linux defaults to 7200s (ie 2 hours.)

+ +
intervalgoogle.protobuf.Duration +

The time duration between keep-alive probes. +Default is to use the OS level configuration +(unless overridden, Linux defaults to 75s.)

+ +
+
+

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 +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 +Access-Control-Allow-Credentials header to false. In addition, it only +exposes X-Foo-bar header and sets an expiry period of 1 day.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    corsPolicy:
+      allowOrigin:
+      - example.com
+      allowMethods:
+      - POST
+      - GET
+      allowCredentials: false
+      allowHeaders:
+      - X-Foo-Bar
+      maxAge: "1d"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
allowOriginstring[] +

The list of origins that are allowed to perform CORS requests. The +content will be serialized into the Access-Control-Allow-Origin +header. Wildcard * will allow all origins.

+ +
allowMethodsstring[] +

List of HTTP methods allowed to access the resource. The content will +be serialized into the Access-Control-Allow-Methods header.

+ +
allowHeadersstring[] +

List of HTTP headers that can be used when requesting the +resource. Serialized to Access-Control-Allow-Headers header.

+ +
exposeHeadersstring[] +

A white list of HTTP headers that the browsers are allowed to +access. Serialized into Access-Control-Expose-Headers header.

+ +
maxAgegoogle.protobuf.Duration +

Specifies how long the results of a preflight request can be +cached. Translates to the Access-Control-Max-Age header.

+ +
allowCredentialsgoogle.protobuf.BoolValue +

Indicates whether the caller is allowed to send the actual request +(not the preflight) using credentials. Translates to +Access-Control-Allow-Credentials header.

+ +
+
+

Destination

+
+

Destination indicates the network addressable service to which the +request/connection will be sent after processing a routing rule. The +destination.host should unambiguously refer to a service in the service +registry. Istio’s service registry is composed of all the services found +in the platform’s service registry (e.g., Kubernetes services, Consul +services), as well as services declared through the +ServiceEntry resource.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of the +actual namespace associated with the reviews service. To avoid potential +misconfigurations, it is recommended to always use fully qualified +domain names over short names.

+ +

The following Kubernetes example routes all traffic by default to pods +of the reviews service with label “version: v1” (i.e., subset v1), and +some to subset v2, in a kubernetes environment.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+  namespace: foo
+spec:
+  hosts:
+  - reviews # interpreted as reviews.foo.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: "/wpcatalog"
+    - uri:
+        prefix: "/consumercatalog"
+    rewrite:
+      uri: "/newcatalog"
+    route:
+    - destination:
+        host: reviews # interpreted as reviews.foo.svc.cluster.local
+        subset: v2
+  - route:
+    - destination:
+        host: reviews # interpreted as reviews.foo.svc.cluster.local
+        subset: v1
+
+ +

And the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+  namespace: foo
+spec:
+  host: reviews # interpreted as reviews.foo.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

The following VirtualService sets a timeout of 5s for all calls to +productpage.prod.svc.cluster.local service in Kubernetes. Notice that +there are no subsets defined in this rule. Istio will fetch all +instances of productpage.prod.svc.cluster.local service from the service +registry and populate the sidecar’s load balancing pool. Also, notice +that this rule is set in the istio-system namespace but uses the fully +qualified domain name of the productpage service, +productpage.prod.svc.cluster.local. Therefore the rule’s namespace does +not have an impact in resolving the name of the productpage service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: my-productpage-rule
+  namespace: istio-system
+spec:
+  hosts:
+  - productpage.prod.svc.cluster.local # ignores rule namespace
+  http:
+  - timeout: 5s
+    route:
+    - destination:
+        host: productpage.prod.svc.cluster.local
+
+ +

To control routing for traffic bound to services outside the mesh, external +services must first be added to Istio’s internal service registry using the +ServiceEntry resource. VirtualServices can then be defined to control traffic +bound to these external services. For example, the following rules define a +Service for wikipedia.org and set a timeout of 5s for http requests.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-wikipedia
+spec:
+  hosts:
+  - wikipedia.org
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: example-http
+    protocol: HTTP
+  resolution: DNS
+
+apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: my-wiki-rule
+spec:
+  hosts:
+  - wikipedia.org
+  http:
+  - timeout: 5s
+    route:
+    - destination:
+        host: wikipedia.org
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hoststring +

REQUIRED. The name of a service from the service registry. Service +names are looked up from the platform’s service registry (e.g., +Kubernetes services, Consul services, etc.) and from the hosts +declared by ServiceEntry. Traffic forwarded to +destinations that are not found in either of the two, will be dropped.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +
subsetstring +

The name of a subset within the service. Applicable only to services +within the mesh. The subset must be defined in a corresponding +DestinationRule.

+ +
portPortSelector +

Specifies the port on the host that is being addressed. If a service +exposes only a single port it is not required to explicitly select the +port.

+ +
+
+

DestinationRule

+
+

DestinationRule defines policies that apply to traffic intended for a +service after routing has occurred. These rules specify configuration +for load balancing, connection pool size from the sidecar, and outlier +detection settings to detect and evict unhealthy hosts from the load +balancing pool. For example, a simple load balancing policy for the +ratings service would look as follows:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+
+ +

Version specific policies can be specified by defining a named +subset and overriding the settings specified at the service level. The +following rule uses a round robin load balancing policy for all traffic +going to a subset named testversion that is composed of endpoints (e.g., +pods) with labels (version:v3).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+  subsets:
+  - name: testversion
+    labels:
+      version: v3
+    trafficPolicy:
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

Note: Policies specified for subsets will not take effect until +a route rule explicitly sends traffic to this subset.

+ +

Traffic policies can be customized to specific ports as well. The +following rule uses the least connection load balancing policy for all +traffic to port 80, while uses a round robin load balancing setting for +traffic to the port 9080.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings-port
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy: # Apply to all ports
+    portLevelSettings:
+    - port:
+        number: 80
+      loadBalancer:
+        simple: LEAST_CONN
+    - port:
+        number: 9080
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hoststring +

REQUIRED. The name of a service from the service registry. Service +names are looked up from the platform’s service registry (e.g., +Kubernetes services, Consul services, etc.) and from the hosts +declared by ServiceEntries. Rules defined for +services that do not exist in the service registry will be ignored.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +

Note that the host field applies to both HTTP and TCP services.

+ +
trafficPolicyTrafficPolicy +

Traffic policies to apply (load balancing policy, connection pool +sizes, outlier detection).

+ +
subsetsSubset[] +

One or more named sets that represent individual versions of a +service. Traffic policies can be overridden at subset level.

+ +
exportTostring[] +

The resolution of a DestinationRule to apply to a service occurs in the +context of a hierarchy of namespaces. This rule controls whether those +namespaces are allowed to select this rule.

+ +
+
+

EnvoyFilter

+
+

EnvoyFilter describes Envoy proxy-specific filters that can be used to +customize the Envoy proxy configuration generated by Istio networking +subsystem (Pilot). This feature must be used with care, as incorrect +configurations could potentially destabilize the entire mesh.

+ +

NOTE 1: Since this is break glass configuration, there will not be any +backward compatibility across different Istio releases. In other words, +this configuration is subject to change based on internal implementation +of Istio networking subsystem.

+ +

NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter +configurations will be processed sequentially in order of creation time. +The behavior is undefined if multiple EnvoyFilter configurations conflict +with each other.

+ +

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 +labels “app: reviews”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: EnvoyFilter
+metadata:
+  name: reviews-lua
+spec:
+  workloadLabels:
+    app: reviews
+  filters:
+  - listenerMatch:
+      portNumber: 8080
+      listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080
+    filterName: envoy.lua
+    filterType: HTTP
+    filterConfig:
+      inlineCode: |
+        ... lua code ...
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
workloadLabelsmap<string, string> +

One 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.

+ +
filtersEnvoyFilter.Filter[] +

REQUIRED: Envoy network filters/http filters to be added to matching +listeners. When adding network filters to http connections, care +should be taken to ensure that the filter is added before +envoy.httpconnectionmanager.

+ +
+
+

EnvoyFilter.Filter

+
+

Envoy filters to be added to a network or http filter chain.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
listenerMatchEnvoyFilter.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.

+ +
insertPositionEnvoyFilter.InsertPosition +

Insert position in the filter chain. Defaults to FIRST

+ +
filterTypeEnvoyFilter.Filter.FilterType +

REQUIRED: The type of filter to instantiate.

+ +
filterNamestring +

REQUIRED: The name of the filter to instantiate. The name must match a supported +filter compiled into Envoy.

+ +
filterConfiggoogle.protobuf.Struct +

REQUIRED: Filter specific configuration which depends on the filter being +instantiated.

+ +
+
+

EnvoyFilter.Filter.FilterType

+
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
INVALID +

placeholder

+ +
HTTP +

Http filter

+ +
NETWORK +

Network filter

+ +
+
+

EnvoyFilter.InsertPosition

+
+

Indicates the relative index in the filter chain where the filter should be inserted.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
indexEnvoyFilter.InsertPosition.Index +

Position of this filter in the filter chain.

+ +
relativeTostring +

If BEFORE or AFTER position is specified, specify the name of the +filter relative to which this filter should be inserted.

+ +
+
+

EnvoyFilter.InsertPosition.Index

+
+

Index/position in the filter chain.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
FIRST +

Insert first

+ +
LAST +

Insert last

+ +
BEFORE +

Insert before the named filter.

+ +
AFTER +

Insert after the named filter.

+ +
+
+

EnvoyFilter.ListenerMatch

+
+

Select a listener to add the filter to based on the match conditions. +All conditions specified in the ListenerMatch must be met for the filter +to be applied to a listener.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portNumberuint32 +

The service port/gateway port to which traffic is being +sent/received. If not specified, matches all listeners. Even though +inbound listeners are generated for the instance/pod ports, only +service ports should be used to match listeners.

+ +
portNamePrefixstring +

Instead of using specific port numbers, a set of ports matching a +given port name prefix can be selected. E.g., “mongo” selects ports +named mongo-port, mongo, mongoDB, MONGO, etc. Matching is case +insensitive.

+ +
listenerTypeEnvoyFilter.ListenerMatch.ListenerType +

Inbound vs outbound sidecar listener or gateway listener. If not specified, +matches all listeners.

+ +
listenerProtocolEnvoyFilter.ListenerMatch.ListenerProtocol +

Selects a class of listeners for the same protocol. If not +specified, applies to listeners on all protocols. 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).

+ +
addressstring[] +

One or more IP addresses to which the listener is bound. If +specified, should match at least one address in the list.

+ +
+
+

EnvoyFilter.ListenerMatch.ListenerProtocol

+
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
ALL +

All protocols

+ +
HTTP +

HTTP or HTTPS (with termination) / HTTP2/gRPC

+ +
TCP +

Any non-HTTP listener

+ +
+
+

EnvoyFilter.ListenerMatch.ListenerType

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
ANY +

All listeners

+ +
SIDECAR_INBOUND +

Inbound listener in sidecar

+ +
SIDECAR_OUTBOUND +

Outbound listener in sidecar

+ +
GATEWAY +

Gateway listener

+ +
+
+

Gateway

+
+

Gateway describes a load balancer operating at the edge of the mesh +receiving incoming or outgoing HTTP/TCP connections. The specification +describes a set of ports that should be exposed, the type of protocol to +use, SNI configuration for the load balancer, etc.

+ +

For example, the following Gateway configuration sets up a proxy to act +as a load balancer exposing port 80 and 9080 (http), 443 (https), and +port 2379 (TCP) for ingress. The gateway will be applied to the proxy +running on a pod with labels app: my-gateway-controller. While Istio +will configure the proxy to listen on these ports, it is the +responsibility of the user to ensure that external traffic to these +ports are allowed into the mesh.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-gateway
+  namespace: some-config-namespace
+spec:
+  selector:
+    app: my-gateway-controller
+  servers:
+  - port:
+      number: 80
+      name: http
+      protocol: HTTP
+    hosts:
+    - uk.bookinfo.com
+    - eu.bookinfo.com
+    tls:
+      httpsRedirect: true # sends 301 redirect for http requests
+  - port:
+      number: 443
+      name: https
+      protocol: HTTPS
+    hosts:
+    - uk.bookinfo.com
+    - eu.bookinfo.com
+    tls:
+      mode: SIMPLE #enables HTTPS on this port
+      serverCertificate: /etc/certs/servercert.pem
+      privateKey: /etc/certs/privatekey.pem
+  - port:
+      number: 9080
+      name: http-wildcard
+      protocol: HTTP
+    hosts:
+    - "*"
+  - port:
+      number: 2379 # to expose internal service via external port 2379
+      name: mongo
+      protocol: MONGO
+    hosts:
+    - "*"
+
+ +

The Gateway specification above describes the L4-L6 properties of a load +balancer. A VirtualService can then be bound to a gateway to control +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 +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).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-rule
+  namespace: bookinfo-namespace
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  - uk.bookinfo.com
+  - eu.bookinfo.com
+  gateways:
+  - some-config-namespace/my-gateway
+  - mesh # applies to all the sidecars in the mesh
+  http:
+  - match:
+    - headers:
+        cookie:
+          user: dev-123
+    route:
+    - destination:
+        port:
+          number: 7777
+        host: reviews.qa.svc.cluster.local
+  - match:
+      uri:
+        prefix: /reviews/
+    route:
+    - destination:
+        port:
+          number: 9080 # can be omitted if its the only port for reviews
+        host: reviews.prod.svc.cluster.local
+      weight: 80
+    - destination:
+        host: reviews.qa.svc.cluster.local
+      weight: 20
+
+ +

The following VirtualService forwards traffic arriving at (external) +port 27017 to internal Mongo server on port 5555. This rule is not +applicable internally in the mesh as the gateway list omits the +reserved name mesh.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-Mongo
+  namespace: bookinfo-namespace
+spec:
+  hosts:
+  - mongosvr.prod.svc.cluster.local #name of internal Mongo service
+  gateways:
+  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
+                                       namespace as virtual service.
+  tcp:
+  - match:
+    - port: 27017
+    route:
+    - destination:
+        host: mongo.prod.svc.cluster.local
+        port:
+          number: 5555
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
serversServer[] +

REQUIRED: A list of server specifications.

+ +
selectormap<string, string> +

REQUIRED: One or more labels that indicate a specific set of pods/VMs +on which this gateway configuration should be applied. The scope of +label search is restricted to the configuration namespace in which the +the resource is present. In other words, the Gateway resource must +reside in the same namespace as the gateway workload.

+ +
+
+

HTTPFaultInjection

+
+

HTTPFaultInjection can be used to specify one or more faults to inject +while forwarding http requests to the destination specified in a route. +Fault specification is part of a VirtualService rule. Faults include +aborting the Http request from downstream service, and/or delaying +proxying of requests. A fault rule MUST HAVE delay or abort or both.

+ +

Note: Delay and abort faults are independent of one another, even if +both are specified simultaneously.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
delayHTTPFaultInjection.Delay +

Delay requests before forwarding, emulating various failures such as +network issues, overloaded upstream service, etc.

+ +
abortHTTPFaultInjection.Abort +

Abort Http request attempts and return error codes back to downstream +service, giving the impression that the upstream service is faulty.

+ +
+
+

HTTPFaultInjection.Abort

+
+

Abort specification is used to prematurely abort a request with a +pre-specified error code. The following example will return an HTTP 400 +error code for 1 out of every 1000 requests to the “ratings” service “v1”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    fault:
+      abort:
+        percentage:
+          value: 0.001
+        httpStatus: 400
+
+ +

The httpStatus field is used to indicate the HTTP status code to +return to the caller. The optional percentage field can be used to only +abort a certain percentage of requests. If not specified, all requests are +aborted.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
percentint32 +

Percentage of requests to be aborted with the error code provided (0-100). +Use of integer percent value is deprecated. Use the double percentage +field instead.

+ +
httpStatusint32 (oneof) +

REQUIRED. HTTP status code to use to abort the Http request.

+ +
percentagePercent +

Percentage of requests to be aborted with the error code provided.

+ +
+
+

HTTPFaultInjection.Delay

+
+

Delay specification is used to inject latency into the request +forwarding path. The following example will introduce a 5 second delay +in 1 out of every 1000 requests to the “v1” version of the “reviews” +service from all pods with label env: prod

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - match:
+    - sourceLabels:
+        env: prod
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+    fault:
+      delay:
+        percentage:
+          value: 0.001
+        fixedDelay: 5s
+
+ +

The fixedDelay field is used to indicate the amount of delay in seconds. +The optional percentage field can be used to only delay a certain +percentage of requests. If left unspecified, all request will be delayed.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
percentint32 +

Percentage of requests on which the delay will be injected (0-100). +Use of integer percent value is deprecated. Use the double percentage +field instead.

+ +
fixedDelaygoogle.protobuf.Duration (oneof) +

REQUIRED. Add a fixed delay before forwarding the request. Format: +1h/1m/1s/1ms. MUST be >=1ms.

+ +
percentagePercent +

Percentage of requests on which the delay will be injected.

+ +
+
+

HTTPMatchRequest

+
+

HttpMatchRequest specifies a set of criterion to be met in order for the +rule to be applied to the HTTP request. For example, the following +restricts the rule to match only requests where the URL path +starts with /ratings/v2/ and the request contains a custom end-user header +with value jason.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - headers:
+        end-user:
+          exact: jason
+      uri:
+        prefix: "/ratings/v2/"
+    route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+
+ +

HTTPMatchRequest CANNOT be empty.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uriStringMatch +

URI to match +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
schemeStringMatch +

URI Scheme +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
methodStringMatch +

HTTP Method +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
authorityStringMatch +

HTTP Authority +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
headersmap<string, StringMatch> +

The header keys must be lowercase and use hyphen as the separator, +e.g. x-request-id.

+ +

Header values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +

Note: The keys uri, scheme, method, and authority will be ignored.

+ +
portuint32 +

Specifies the ports on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they support, +in these cases it is not required to explicitly select the port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway match is +independent of sourceLabels.

+ +
+
+

HTTPRedirect

+
+

HTTPRedirect can be used to send a 301 redirect response to the caller, +where the Authority/Host and the URI in the response can be swapped with +the specified values. For example, the following rule redirects +requests for /v1/getProductRatings API on the ratings service to +/v1/bookRatings provided by the bookratings service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        exact: /v1/getProductRatings
+  redirect:
+    uri: /v1/bookRatings
+    authority: newratings.default.svc.cluster.local
+  ...
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uristring +

On a redirect, overwrite the Path portion of the URL with this +value. Note that the entire path will be replaced, irrespective of the +request URI being matched as an exact path or prefix.

+ +
authoritystring +

On a redirect, overwrite the Authority/Host portion of the URL with +this value.

+ +
+
+

HTTPRetry

+
+

Describes the retry policy to use when a HTTP request fails. For +example, the following rule sets the maximum number of retries to 3 when +calling ratings:v1 service, with a 2s timeout per retry attempt.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    retries:
+      attempts: 3
+      perTryTimeout: 2s
+      retryOn: gateway-error,connect-failure,refused-stream
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
attemptsint32 +

REQUIRED. Number of retries for a given request. The interval +between retries will be determined automatically (25ms+). Actual +number of retries attempted depends on the httpReqTimeout.

+ +
perTryTimeoutgoogle.protobuf.Duration +

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

+ +
retryOnstring +

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 +https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on +and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

+ +
+
+

HTTPRewrite

+
+

HTTPRewrite can be used to rewrite specific parts of a HTTP request +before forwarding the request to the destination. Rewrite primitive can +be used only with HTTPRouteDestination. The following example +demonstrates how to rewrite the URL prefix for api call (/ratings) to +ratings service before making the actual API call.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: /ratings
+    rewrite:
+      uri: /v1/bookRatings
+    route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uristring +

rewrite the path (or the prefix) portion of the URI with this +value. If the original URI was matched based on prefix, the value +provided in this field will replace the corresponding matched prefix.

+ +
authoritystring +

rewrite the Authority/Host header with this value.

+ +
+
+

HTTPRoute

+
+

Describes match conditions and actions for routing HTTP/1.1, HTTP2, and +gRPC traffic. See VirtualService for usage examples.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchHTTPMatchRequest[] +

Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeHTTPRouteDestination[] +

A http rule can either redirect or forward (default) traffic. The +forwarding target can be one of several versions of a service (see +glossary in beginning of document). Weights associated with the +service version determine the proportion of traffic it receives.

+ +
redirectHTTPRedirect +

A http rule can either redirect or forward (default) traffic. If +traffic passthrough option is specified in the rule, +route/redirect will be ignored. The redirect primitive can be used to +send a HTTP 301 redirect to a different URI or Authority.

+ +
rewriteHTTPRewrite +

Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with +Redirect primitive. Rewrite will be performed before forwarding.

+ +
timeoutgoogle.protobuf.Duration +

Timeout for HTTP requests.

+ +
retriesHTTPRetry +

Retry policy for HTTP requests.

+ +
faultHTTPFaultInjection +

Fault injection policy to apply on HTTP traffic at the client side. +Note that timeouts or retries will not be enabled when faults are +enabled on the client side.

+ +
mirrorDestination +

Mirror HTTP traffic to a another destination in addition to forwarding +the requests to the intended destination. Mirrored traffic is on a +best effort basis where the sidecar/gateway will not wait for the +mirrored cluster to respond before returning the response from the +original destination. Statistics will be generated for the mirrored +destination.

+ +
corsPolicyCorsPolicy +

Cross-Origin Resource Sharing policy (CORS). Refer to +CORS +for further details about cross origin resource sharing.

+ +
appendHeadersmap<string, string> +

Use of append_headers is deprecated. Use the headers +field instead.

+ +
removeResponseHeadersstring[] +

Use of remove_response_header is deprecated. Use the headers +field instead.

+ +
appendResponseHeadersmap<string, string> +

Use of append_response_headers is deprecated. Use the headers +field instead.

+ +
removeRequestHeadersstring[] +

Use of remove_request_headers is deprecated. Use the headers +field instead.

+ +
appendRequestHeadersmap<string, string> +

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

+ +
+
+

HTTPRouteDestination

+
+

Each routing rule is associated with one or more service versions (see +glossary in beginning of document). Weights associated with the version +determine the proportion of traffic it receives. For example, the +following rule will route 25% of traffic for the “reviews” service to +instances with the “v2” tag and the remaining traffic (i.e., 75%) to +“v1”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v2
+      weight: 25
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+      weight: 75
+
+ +

And the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+spec:
+  host: reviews.prod.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

Traffic can also be split across two entirely different services without +having to define new subsets. For example, the following rule forwards 25% of +traffic to reviews.com to dev.reviews.com

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route-two-domains
+spec:
+  hosts:
+  - reviews.com
+  http:
+  - route:
+    - destination:
+        host: dev.reviews.com
+      weight: 25
+    - destination:
+        host: reviews.com
+      weight: 75
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationDestination +

REQUIRED. Destination uniquely identifies the instances of a service +to which the request/connection should be forwarded to.

+ +
weightint32 +

REQUIRED. The proportion of traffic to be forwarded to the service +version. (0-100). Sum of weights across destinations SHOULD BE == 100. +If there is only one destination in a rule, the weight value is assumed to +be 100.

+ +
removeResponseHeadersstring[] +

Use of remove_response_header is deprecated. Use the headers +field instead.

+ +
appendResponseHeadersmap<string, string> +

Use of append_response_headers is deprecated. Use the headers +field instead.

+ +
removeRequestHeadersstring[] +

Use of remove_request_headers is deprecated. Use the headers +field instead.

+ +
appendRequestHeadersmap<string, string> +

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

+ +
+
+

Headers

+
+

Header manipulation rules

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
requestHeaders.HeaderOperations +

Header manipulation rules to apply before forwarding a request +to the destination service

+ +
responseHeaders.HeaderOperations +

Header manipulation rules to apply before returning a response +to the caller

+ +
+
+

Headers.HeaderOperations

+
+

HeaderOperations Describes the header manipulations to apply

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
setmap<string, string> +

Overwrite the headers specified by key with the given values

+ +
addmap<string, string> +

Append the given values to the headers specified by keys +(will create a comma-separated list of values)

+ +
removestring[] +

Remove a the specified headers

+ +
+
+

IstioEgressListener

+
+

IstioEgressListener specifies the properties of an outbound traffic +listener on the sidecar proxy attached to a workload.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

The port associated with the listener. If using unix domain socket, +use 0 as the port number, with a valid protocol. The port if +specified, will be used as the default destination port associated +with the imported hosts. If the port is omitted, Istio will infer the +listener ports based on the imported hosts. Note that when multiple +egress listeners are specified, where one or more listeners have +specific ports while others have no port, the hosts exposed on a +listener port will be based on the listener with the most specific +port.

+ +
bindstring +

The ip or the unix domain socket to which the listener should be bound +to. Port MUST be specified if bind is not empty. Format: x.x.x.x or +unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If +omitted, Istio will autoconfigure the defaults based on imported +services, the workload to which this configuration is applied to and +the captureMode. If captureMode is NONE, bind will default to +127.0.0.1.

+ +
captureModeCaptureMode +

When the bind address is an IP, the captureMode option dictates +how traffic to the listener is expected to be captured (or not). +captureMode must be DEFAULT or NONE for unix domain socket binds.

+ +
hostsstring[] +

REQUIRED: One or more services/virtualServices exposed by the listener +in namespace/dnsName format. Publicly scoped services and +VirtualServices from remote namespaces corresponding to the specified +hosts will be imported. The service in a namespace can be a service in +the service registry (e.g., a kubernetes or cloud foundry service) or +a service specified via ServiceEntry configuration. In addition, any +publicly scoped DestinationRule associated with the imported services +will also be imported.

+ +

Set the namespace to * to import a particular service from any +available namespace (e.g., “*/foo.example.com”). Set the dnsName field +to * to import all services from the specified namespace (e.g., +“prod/*”). The services should be specified using FQDN format.

+ +

NOTE: Only exported services and configuration artifacts from a +namespace can be imported. Private services/configuration will not be +imported. Refer to the scope setting associated with VirtualService, +DestinationRule, ServiceEntry, etc. for details.

+ +
+
+

IstioIngressListener

+
+

IstioIngressListener specifies the properties of an inbound +traffic listener on the sidecar proxy attached to a workload.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

REQUIRED. The port associated with the listener. If using +unix domain socket, use 0 as the port number, with a valid +protocol.

+ +
bindstring +

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). If omitted, Istio will autoconfigure the defaults +based on imported services and the workload to which this +configuration is applied to.

+ +
captureModeCaptureMode +

When the bind address is an IP, the captureMode option dictates +how traffic to the listener is expected to be captured (or not). +captureMode must be DEFAULT or NONE for unix domain socket binds.

+ +
defaultEndpointstring +

REQUIRED: The loopback IP endpoint or unix domain socket to which +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

+ +
+
+

L4MatchAttributes

+
+

L4 connection match attributes. Note that L4 connection matching support +is incomplete.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationSubnetsstring[] +

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., +a.b.c.d/xx form or just a.b.c.d.

+ +
portuint32 +

Specifies the port on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they support, +in these cases it is not required to explicitly select the port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway +match is independent of sourceLabels.

+ +
+
+

LoadBalancerSettings

+
+

Load balancing policies to apply for a specific destination. See Envoy’s +load balancing +documentation +for more details.

+ +

For example, the following rule uses a round robin load balancing policy +for all traffic going to the ratings service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: ROUND_ROBIN
+
+ +

The following example sets up sticky sessions for the ratings service +hashing-based load balancer for the same ratings service using the +the User cookie as the hash key.

+ +
 apiVersion: networking.istio.io/v1alpha3
+ kind: DestinationRule
+ metadata:
+   name: bookinfo-ratings
+ spec:
+   host: ratings.prod.svc.cluster.local
+   trafficPolicy:
+     loadBalancer:
+       consistentHash:
+         httpCookie:
+           name: user
+           ttl: 0s
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
simpleLoadBalancerSettings.SimpleLB (oneof) +
consistentHashLoadBalancerSettings.ConsistentHashLB (oneof) +
+
+

LoadBalancerSettings.ConsistentHashLB

+
+

Consistent Hash-based load balancing can be used to provide soft +session affinity based on HTTP headers, cookies or other +properties. This load balancing policy is applicable only for HTTP +connections. The affinity to a particular destination host will be +lost when one or more hosts are added/removed from the destination +service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
httpHeaderNamestring (oneof) +

Hash based on a specific HTTP header.

+ +
useSourceIpbool (oneof) +

Hash based on the source IP address.

+ +
minimumRingSizeuint64 +

The minimum number of virtual nodes to use for the hash +ring. Defaults to 1024. Larger ring sizes result in more granular +load distributions. If the number of hosts in the load balancing +pool is larger than the ring size, each host will be assigned a +single virtual node.

+ +
+
+

LoadBalancerSettings.ConsistentHashLB.HTTPCookie

+
+

Describes a HTTP cookie that will be used as the hash key for the +Consistent Hash load balancer. If the cookie is not present, it will +be generated.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
namestring +

REQUIRED. Name of the cookie.

+ +
pathstring +

Path to set for the cookie.

+ +
ttlgoogle.protobuf.Duration +

REQUIRED. Lifetime of the cookie.

+ +
+
+

LoadBalancerSettings.SimpleLB

+
+

Standard load balancing algorithms that require no tuning.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
ROUND_ROBIN +

Round Robin policy. Default

+ +
LEAST_CONN +

The least request load balancer uses an O(1) algorithm which selects +two random healthy hosts and picks the host which has fewer active +requests.

+ +
RANDOM +

The random load balancer selects a random healthy host. The random +load balancer generally performs better than round robin if no health +checking policy is configured.

+ +
PASSTHROUGH +

This option will forward the connection to the original IP address +requested by the caller without doing any form of load +balancing. This option must be used with care. It is meant for +advanced use cases. Refer to Original Destination load balancer in +Envoy for further details.

+ +
+
+

OutlierDetection

+
+

A Circuit breaker implementation that tracks the status of each +individual host in the upstream service. Applicable to both HTTP and +TCP services. For HTTP services, hosts that continually return 5xx +errors for API calls are ejected from the pool for a pre-defined period +of time. For TCP services, connection timeouts or connection +failures to a given host counts as an error when measuring the +consecutive errors metric. See Envoy’s outlier +detection +for more details.

+ +

The following rule sets a connection pool size of 100 connections and +1000 concurrent HTTP2 requests, with no more than 10 req/connection to +“reviews” service. In addition, it configures upstream hosts to be +scanned every 5 mins, such that any host that fails 7 consecutive times +with 5XX error code will be ejected for 15 minutes.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-cb-policy
+spec:
+  host: reviews.prod.svc.cluster.local
+  trafficPolicy:
+    connectionPool:
+      tcp:
+        maxConnections: 100
+      http:
+        http2MaxRequests: 1000
+        maxRequestsPerConnection: 10
+    outlierDetection:
+      consecutiveErrors: 7
+      interval: 5m
+      baseEjectionTime: 15m
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
consecutiveErrorsint32 +

Number of errors before a host is ejected from the connection +pool. Defaults to 5. When the upstream host is accessed over HTTP, a +502, 503 or 504 return code qualifies as an error. When the upstream host +is accessed over an opaque TCP connection, connect timeouts and +connection error/failure events qualify as an error.

+ +
intervalgoogle.protobuf.Duration +

Time interval between ejection sweep analysis. format: +1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

+ +
baseEjectionTimegoogle.protobuf.Duration +

Minimum ejection duration. A host will remain ejected for a period +equal to the product of minimum ejection duration and the number of +times the host has been ejected. This technique allows the system to +automatically increase the ejection period for unhealthy upstream +servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

+ +
maxEjectionPercentint32 +

Maximum % of hosts in the load balancing pool for the upstream +service that can be ejected. Defaults to 10%.

+ +
minHealthPercentint32 +

Outlier detection will be enabled as long as the associated load balancing +pool has at least minhealthpercent hosts in healthy mode. When the +percentage of healthy hosts in the load balancing pool drops below this +threshold, outlier detection will be disabled and the proxy will load balance +across all hosts in the pool (healthy and unhealthy). The default is 50%.

+ +
+
+

Percent

+
+

Percent specifies a percentage in the range of [0.0, 100.0].

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
valuedouble +
+
+

Port

+
+

Port describes the properties of a specific port of a service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
numberuint32 +

REQUIRED: A valid non-negative integer port number.

+ +
protocolstring +

REQUIRED: The protocol exposed on the port. +MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. +TLS implies the connection will be routed based on the SNI header to +the destination without terminating the TLS connection.

+ +
namestring +

Label assigned to the port.

+ +
+
+

PortSelector

+
+

PortSelector specifies the number of a port to be used for +matching or selection for final routing.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
numberuint32 (oneof) +

Valid port number

+ +
+
+

RouteDestination

+
+

L4 routing rule weighted destination.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationDestination +

REQUIRED. Destination uniquely identifies the instances of a service +to which the request/connection should be forwarded to.

+ +
weightint32 +

REQUIRED. The proportion of traffic to be forwarded to the service +version. If there is only one destination in a rule, all traffic will be +routed to it irrespective of the weight.

+ +
+
+

Server

+
+

Server describes the properties of the proxy on a given load balancer +port. For example,

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-ingress
+spec:
+  selector:
+    app: my-ingress-gateway
+  servers:
+  - port:
+      number: 80
+      name: http2
+      protocol: HTTP2
+    hosts:
+    - "*"
+
+ +

Another example

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-tcp-ingress
+spec:
+  selector:
+    app: my-tcp-ingress-gateway
+  servers:
+  - port:
+      number: 27018
+      name: mongo
+      protocol: MONGO
+    hosts:
+    - "*"
+
+ +

The following is an example of TLS configuration for port 443

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-tls-ingress
+spec:
+  selector:
+    app: my-tls-ingress-gateway
+  servers:
+  - port:
+      number: 443
+      name: https
+      protocol: HTTPS
+    hosts:
+    - "*"
+    tls:
+      mode: SIMPLE
+      serverCertificate: /etc/certs/server.pem
+      privateKey: /etc/certs/privatekey.pem
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

REQUIRED: The Port on which the proxy should listen for incoming +connections. If using unix domain socket, use 0 as the port number, +with a valid protocol and port name, along with the bind parameter.

+ +
hostsstring[] +

REQUIRED. A list of hosts exposed by this gateway. At least one +host is required. While typically applicable to +HTTP services, it can also be used for TCP services using TLS with +SNI. May contain a wildcard prefix for the bottom-level component of +a domain name. For example *.foo.com matches bar.foo.com +and *.com matches bar.foo.com, example.com, and so on.

+ +

Note: A VirtualService that is bound to a gateway must have one +or more hosts that match the hosts specified in a server. The match +could be an exact match or a suffix match with the server’s hosts. For +example, if the server’s hosts specifies “*.example.com”, +VirtualServices with hosts dev.example.com, prod.example.com will +match. However, VirtualServices with hosts example.com or +newexample.com will not match.

+ +
tlsServer.TLSOptions +

Set of TLS related options that govern the server’s behavior. Use +these options to control if all http requests should be redirected to +https, and the TLS modes to use.

+ +
defaultEndpointstring +

The loopback IP endpoint or unix domain socket to which traffic should +be forwarded to by default. Format should be 127.0.0.1:PORT or +unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

+ +
+
+

Server.TLSOptions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
httpsRedirectbool +

If set to true, the load balancer will send a 301 redirect for all +http connections, asking the clients to use HTTPS.

+ +
modeServer.TLSOptions.TLSmode +

Optional: Indicates whether connections to this port should be +secured using TLS. The value of this field determines how TLS is +enforced.

+ +
serverCertificatestring +

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file +holding the server-side TLS certificate to use.

+ +
privateKeystring +

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file +holding the server’s private key.

+ +
caCertificatesstring +

REQUIRED if mode is MUTUAL. The path to a file containing +certificate authority certificates to use in verifying a presented +client side certificate.

+ +
credentialNamestring +

The credentialName stands for a unique identifier that can be used +to identify the serverCertificate and the privateKey. The 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 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 +credentialName-cacert. The semantics of the name are platform dependent. +In Kubernetes, the default Istio supplied credential server expects the +credentialName to match the name of the Kubernetes secret that holds the +server certificate, the private key, and the CA certificate +(if using mutual TLS).

+ +
subjectAltNamesstring[] +

A list of alternate names to verify the subject identity in the +certificate presented by the client.

+ +
minProtocolVersionServer.TLSOptions.TLSProtocol +

Optional: Minimum TLS protocol version.

+ +
maxProtocolVersionServer.TLSOptions.TLSProtocol +

Optional: Maximum TLS protocol version.

+ +
cipherSuitesstring[] +

Optional: If specified, only support the specified cipher list. +Otherwise default to the default cipher list supported by Envoy.

+ +
+
+

Server.TLSOptions.TLSProtocol

+
+

TLS protocol versions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
TLS_AUTO +

Automatically choose the optimal TLS version.

+ +
TLSV1_0 +

TLS version 1.0

+ +
TLSV1_1 +

TLS version 1.1

+ +
TLSV1_2 +

TLS version 1.2

+ +
TLSV1_3 +

TLS version 1.3

+ +
+
+

Server.TLSOptions.TLSmode

+
+

TLS modes enforced by the proxy

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
PASSTHROUGH +

The SNI string presented by the client will be used as the match +criterion in a VirtualService TLS route to determine the +destination service from the service registry.

+ +
SIMPLE +

Secure connections with standard TLS semantics.

+ +
MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication.

+ +
AUTO_PASSTHROUGH +

Similar to the passthrough mode, except servers with this TLS mode +do not require an associated VirtualService to map from the SNI +value to service in the registry. The destination details such as +the service/subset/port are encoded in the SNI value. The proxy +will forward to the upstream (Envoy) cluster (a group of +endpoints) specified by the SNI value. This server is typically +used to provide connectivity between services in disparate L3 +networks that otherwise do not have direct connectivity between +their respective endpoints. Use of this mode assumes that both the +source and the destination are using Istio mTLS to secure traffic.

+ +
+
+

ServiceEntry

+
+

ServiceEntry enables adding additional entries into Istio’s internal +service registry, so that auto-discovered services in the mesh can +access/route to these manually specified services. A service entry +describes the properties of a service (DNS name, VIPs, ports, protocols, +endpoints). These services could be external to the mesh (e.g., web +APIs) or mesh-internal services that are not part of the platform’s +service registry (e.g., a set of VMs talking to services in Kubernetes).

+ +

The following configuration adds a set of MongoDB instances running on +unmanaged VMs to Istio’s registry, so that these services can be treated +as any other service in the mesh. The associated DestinationRule is used +to initiate mTLS connections to the database instances.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-mongocluster
+spec:
+  hosts:
+  - mymongodb.somedomain # not used
+  addresses:
+  - 192.192.192.192/24 # VIPs
+  ports:
+  - number: 27018
+    name: mongodb
+    protocol: MONGO
+  location: MESH_INTERNAL
+  resolution: STATIC
+  endpoints:
+  - address: 2.2.2.2
+  - address: 3.3.3.3
+
+ +

and the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: mtls-mongocluster
+spec:
+  host: mymongodb.somedomain
+  trafficPolicy:
+    tls:
+      mode: MUTUAL
+      clientCertificate: /etc/certs/myclientcert.pem
+      privateKey: /etc/certs/client_private_key.pem
+      caCertificates: /etc/certs/rootcacerts.pem
+
+ +

The following example uses a combination of service entry and TLS +routing in virtual service to demonstrate the use of SNI routing to +forward unterminated TLS traffic from the application to external +services via the sidecar. The sidecar inspects the SNI value in the +ClientHello message to route to the appropriate external service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-https
+spec:
+  hosts:
+  - api.dropboxapi.com
+  - www.googleapis.com
+  - api.facebook.com
+  location: MESH_EXTERNAL
+  ports:
+  - number: 443
+    name: https
+    protocol: TLS
+  resolution: DNS
+
+ +

And the associated VirtualService to route based on the SNI value.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: tls-routing
+spec:
+  hosts:
+  - api.dropboxapi.com
+  - www.googleapis.com
+  - api.facebook.com
+  tls:
+  - match:
+    - port: 443
+      sniHosts:
+      - api.dropboxapi.com
+    route:
+    - destination:
+        host: api.dropboxapi.com
+  - match:
+    - port: 443
+      sniHosts:
+      - www.googleapis.com
+    route:
+    - destination:
+        host: www.googleapis.com
+  - match:
+    - port: 443
+      sniHosts:
+      - api.facebook.com
+    route:
+    - destination:
+        host: api.facebook.com
+
+
+ +

The following example demonstrates the use of a dedicated egress gateway +through which all external service traffic is forwarded. +The ‘exportTo’ field allows for control over the visibility of a service +declaration to other namespaces in the mesh. By default a service is exported +to all namespaces. The following example restricts the visibility to the +current namespace, represented by “.”, so that it cannot be used by other +namespaces.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-httpbin
+  namespace : egress
+spec:
+  hosts:
+  - httpbin.com
+  exportTo:
+  - "."
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: DNS
+
+ +

Define a gateway to handle all egress traffic.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+ name: istio-egressgateway
+ namespace: egress
+spec:
+ selector:
+   istio: egressgateway
+ servers:
+ - port:
+     number: 80
+     name: http
+     protocol: HTTP
+   hosts:
+   - "*"
+
+ +

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 +a managed middle proxy like this is a common practice.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: gateway-routing
+  namespace: egress
+spec:
+  hosts:
+  - httpbin.com
+  exportTo:
+  - *
+  gateways:
+  - mesh
+  - istio-egressgateway
+  http:
+  - match:
+    - port: 80
+      gateways:
+      - mesh
+    route:
+    - destination:
+        host: istio-egressgateway.istio-system.svc.cluster.local
+  - match:
+    - port: 80
+      gateway:
+      - istio-egressgateway
+    route:
+    - destination:
+        host: httpbin.com
+
+ +

The following example demonstrates the use of wildcards in the hosts for +external services. If the connection has to be routed to the IP address +requested by the application (i.e. application resolves DNS and attempts +to connect to a specific IP), the discovery mode must be set to NONE.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-wildcard-example
+spec:
+  hosts:
+  - "*.bar.com"
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: NONE
+
+ +

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.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: unix-domain-socket-example
+spec:
+  hosts:
+  - "example.unix.local"
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: STATIC
+  endpoints:
+  - address: unix:///var/run/example/socket
+
+ +

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 +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

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-dns
+spec:
+  hosts:
+  - foo.bar.com
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: DNS
+  endpoints:
+  - address: us.foo.bar.com
+    ports:
+      https: 8080
+  - address: uk.foo.bar.com
+    ports:
+      https: 9080
+  - address: in.foo.bar.com
+    ports:
+      https: 7080
+
+ +

With HTTP_PROXY=http://localhost/, calls from the application to +http://foo.bar.com will be load balanced across the three domains +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 +containing a subject alternate name +whose format conforms to the SPIFEE standard +https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: httpbin
+  namespace : httpbin-ns
+spec:
+  hosts:
+  - httpbin.com
+  location: MESH_INTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: STATIC
+  endpoints:
+  - address: 2.2.2.2
+  - address: 3.3.3.3
+  subjectAltNames:
+  - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hostsstring[] +

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.

+ +
addressesstring[] +

The virtual IP addresses associated with the service. Could be CIDR +prefix. For HTTP services, 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, +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 +solely based on the destination port. In such scenarios, the port on +which the service is being accessed must not be shared by any other +service in the mesh. In other words, the sidecar will behave as a +simple TCP proxy, forwarding incoming traffic on a specified port to +the specified destination endpoint IP/host. Unix domain socket +addresses are not supported in this field.

+ +
portsPort[] +

REQUIRED. The ports associated with the external service. If the +Endpoints are unix domain socket addresses, there must be exactly one +port.

+ +
locationServiceEntry.Location +

Specify whether the service should be considered external to the mesh +or part of the mesh.

+ +
resolutionServiceEntry.Resolution +

REQUIRED: Service discovery mode for the hosts. Care must be taken +when setting the resolution mode to NONE for a TCP port without +accompanying IP addresses. In such cases, traffic to any IP on +said port will be allowed (i.e. 0.0.0.0:).

+ +
endpointsServiceEntry.Endpoint[] +

One or more endpoints associated with the service.

+ +
exportTostring[] +

A list of namespaces to which this service is exported. Exporting a service +allows it to used by sidecars, gateways and virtual services defined in +other namespaces. This feature provides a mechanism for service owners +and mesh administrators to control the visibility of services across +namespace boundaries.

+ +

If no namespaces are specified then the service is exported to all +namespaces by default.

+ +

The value “.” is reserved and defines an export to the same namespace that +the service is declared in, similarly the value “*” is reserved and +defines an export to all namespaces.

+ +

For a Kubernetes Service the equivalent effect can be achieved by setting +the annotation “networking.istio.io/exportTo” to a comma-separated list +of namespace names.

+ +
subjectAltNamesstring[] +

The list of subject alternate names allowed for workloads that +implement this service. This information is used to enforce +secure-naming https://istio.io/docs/concepts/security/#secure-naming. +If specified, the proxy will verify that the server +certificate’s subject alternate name matches one of the specified values.

+ +
+
+

ServiceEntry.Endpoint

+
+

Endpoint defines a network address (IP or hostname) associated with +the mesh service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
addressstring +

REQUIRED: Address associated with the network endpoint without the +port. Domain names can be used if and only if the resolution is set +to DNS, and must be fully-qualified without wildcards. Use the form +unix:///absolute/path/to/socket for unix domain socket endpoints.

+ +
portsmap<string, uint32> +

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.

+ +
labelsmap<string, string> +

One or more labels associated with the endpoint.

+ +
networkstring +

Network enables Istio to group endpoints resident in the same L3 +domain/network. All endpoints in the same network are assumed to be +directly reachable from one another. When endpoints in different +networks cannot reach each other directly, an Istio Gateway can be +used to establish connectivity (usually using the +AUTO_PASSTHROUGH mode in a Gateway Server). This is +an advanced configuration used typically for spanning an Istio mesh +over multiple clusters.

+ +
localitystring +

The locality associated with the endpoint. A locality corresponds +to a failure domain (e.g., country/region/zone). Arbitrary failure +domain hierarchies can be represented by separating each +encapsulating failure domain by /. For example, the locality of an +an endpoint in US, in US-East-1 region, within availability zone +az-1, in data center rack r11 can be represented as +us/us-east-1/az-1/r11. Istio will configure the sidecar to route to +endpoints within the same locality as the sidecar. If none of the +endpoints in the locality are available, endpoints parent locality +(but within the same network ID) will be chosen. For example, if +there are two endpoints in same network (networkID “n1”), say e1 +with locality us/us-east-1/az-1/r11 and e2 with locality +us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality +will prefer e1 from the same locality over e2 from a different +locality. Endpoint e2 could be the IP associated with a gateway +(that bridges networks n1 and n2), or the IP associated with a +standard service endpoint.

+ +
weightuint32 +

The load balancing weight associated with the endpoint. Endpoints +with higher weights will receive proportionally higher traffic.

+ +
+
+

ServiceEntry.Location

+
+

Location specifies whether the service is part of Istio mesh or +outside the mesh. Location determines the behavior of several +features, such as service-to-service mTLS authentication, policy +enforcement, etc. When communicating with services outside the mesh, +Istio’s mTLS authentication is disabled, and policy enforcement is +performed on the client-side as opposed to server-side.

+ + + + + + + + + + + + + + + + + + +
NameDescription
MESH_EXTERNAL +

Signifies that the service is external to the mesh. Typically used +to indicate external services consumed through APIs.

+ +
MESH_INTERNAL +

Signifies that the service is part of the mesh. Typically used to +indicate services added explicitly as part of expanding the service +mesh to include unmanaged infrastructure (e.g., VMs added to a +Kubernetes based service mesh).

+ +
+
+

ServiceEntry.Resolution

+
+

Resolution determines how the proxy will resolve the IP addresses of +the network endpoints associated with the service, so that it can +route to one of them. The resolution mode specified here has no impact +on how the application resolves the IP address associated with the +service. The application may still have to use DNS to resolve the +service to an IP so that the outbound traffic can be captured by the +Proxy. Alternatively, for HTTP services, the application could +directly communicate with the proxy (e.g., by setting HTTP_PROXY) to +talk to these services.

+ + + + + + + + + + + + + + + + + + + + + + +
NameDescription
NONE +

Assume that incoming connections have already been resolved (to a +specific destination IP address). Such connections are typically +routed via the proxy using mechanisms such as IP table REDIRECT/ +eBPF. After performing any routing related transformations, the +proxy will forward the connection to the IP address to which the +connection was bound.

+ +
STATIC +

Use the static IP addresses specified in endpoints (see below) as the +backing instances associated with the service.

+ +
DNS +

Attempt to resolve the IP address by querying the ambient DNS, +during request processing. If no endpoints are specified, the proxy +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 +domain socket endpoints.

+ +
+
+

Sidecar

+
+

Sidecar describes the configuration of the sidecar proxy that mediates +inbound and outbound communication to the workload it is attached to. By +default, Istio will program all sidecar proxies in the mesh with the +necessary configuration required to reach every workload in the mesh, as +well as accept traffic on all the ports associated with the +workload. The Sidecar resource provides a way to fine tune the set of +ports, protocols that the proxy will accept when forwarding traffic to +and from the workload. In addition, it is possible to restrict the set +of services that the proxy can reach when forwarding outbound traffic +from the workload.

+ +

Services and configuration in a mesh are organized into one or more +namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar +resource in a namespace will apply to one or more workloads in the same +namespace, selected using the workloadSelector. In the absence of a +workloadSelector, it will apply to all workloads in the same +namespace. When determining the Sidecar resource to be applied to a +workload, preference will be given to the resource with a +workloadSelector that selects this workload, over a Sidecar resource +without any workloadSelector.

+ +

NOTE: Each namespace can have only one Sidecar resource without any +workload selector. The behavior of the system is undefined if more +than one selector-less Sidecar resources exist in a given namespace. The +behavior of the system is undefined if two or more Sidecar resources +with a workload selector select the same workload.

+ +

The example below declares a Sidecar resource in the prod-us1 namespace +that configures the sidecars in the namespace to allow egress traffic to +public services in the prod-us1, prod-apis, and the istio-system +namespaces.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  egress:
+  - hosts:
+    - "prod-us1/*"
+    - "prod-apis/*"
+    - "istio-system/*"
+
+ +

The example below declares a Sidecar resource in the prod-us1 namespace +that accepts inbound HTTP traffic on port 9080 and forwards +it to the attached workload listening on a unix domain socket. In the +egress direction, in addition to the istio-system namespace, the sidecar +proxies only HTTP traffic bound for port 9080 for services in the +prod-us1 namespace.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  ingress:
+  - port:
+      number: 9080
+      protocol: HTTP
+      name: somename
+    defaultEndpoint: unix:///var/run/someuds.sock
+  egress:
+  - hosts:
+    - "istio-system/*"
+  - port:
+      number: 9080
+      protocol: HTTP
+      name: egresshttp
+    hosts:
+    - "prod-us1/*"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
workloadSelectorWorkloadSelector +

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.

+ +
ingressIstioIngressListener[] +

Ingress specifies the configuration of the sidecar for processing +inbound traffic to the attached workload. If omitted, Istio will +autoconfigure the sidecar based on the information about the workload +obtained from the orchestration platform (e.g., exposed ports, services, +etc.).

+ +
egressIstioEgressListener[] +

Egress specifies the configuration of the sidecar for processing +outbound traffic from the attached workload to other services in the +mesh. If omitted, Istio will autoconfigure the sidecar to be able to +reach every service in the mesh that is visible to this namespace.

+ +
+
+

StringMatch

+
+

Describes how to match a given string in HTTP headers. Match is +case-sensitive.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
exactstring (oneof) +

exact string match

+ +
prefixstring (oneof) +

prefix-based match

+ +
regexstring (oneof) +

ECMAscript style regex-based match

+ +
+
+

Subset

+
+

A subset of endpoints of a service. Subsets can be used for scenarios +like A/B testing, or routing to a specific version of a service. Refer +to VirtualService documentation for examples of using +subsets in these scenarios. In addition, traffic policies defined at the +service-level can be overridden at a subset-level. The following rule +uses a round robin load balancing policy for all traffic going to a +subset named testversion that is composed of endpoints (e.g., pods) with +labels (version:v3).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+  subsets:
+  - name: testversion
+    labels:
+      version: v3
+    trafficPolicy:
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

Note: Policies specified for subsets will not take effect until +a route rule explicitly sends traffic to this subset.

+ +

One or more labels are typically required to identify the subset destination, +however, when the corresponding DestinationRule represents a host that +supports multiple SNI hosts (e.g., an egress gateway), a subset without labels +may be meaningful. In this case a traffic policy with TLSSettings +can be used to identify a specific SNI host corresponding to the named subset.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
namestring +

REQUIRED. Name of the subset. The service name and the subset name can +be used for traffic splitting in a route rule.

+ +
labelsmap<string, string> +

Labels apply a filter over the endpoints of a service in the +service registry. See route rules for examples of usage.

+ +
trafficPolicyTrafficPolicy +

Traffic policies that apply to this subset. Subsets inherit the +traffic policies specified at the DestinationRule level. Settings +specified at the subset level will override the corresponding settings +specified at the DestinationRule level.

+ +
+
+

TCPRoute

+
+

Describes match conditions and actions for routing TCP traffic. The +following routing rule forwards traffic arriving at port 27017 for +mongo.prod.svc.cluster.local to another Mongo server on port 5555.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-Mongo
+spec:
+  hosts:
+  - mongo.prod.svc.cluster.local
+  tcp:
+  - match:
+    - port: 27017
+    route:
+    - destination:
+        host: mongo.backup.svc.cluster.local
+        port:
+          number: 5555
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchL4MatchAttributes[] +

Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeRouteDestination[] +

The destination to which the connection should be forwarded to.

+ +
+
+

TLSMatchAttributes

+
+

TLS connection match attributes.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
sniHostsstring[] +

REQUIRED. SNI (server name indicator) to match on. Wildcard prefixes +can be used in the SNI value, e.g., *.com will match foo.example.com +as well as example.com. An SNI value must be a subset (i.e., fall +within the domain) of the corresponding virtual serivce’s hosts.

+ +
destinationSubnetsstring[] +

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., +a.b.c.d/xx form or just a.b.c.d.

+ +
portuint32 +

Specifies the port on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they +support, in these cases it is not required to explicitly select the +port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway +match is independent of sourceLabels.

+ +
+
+

TLSRoute

+
+

Describes match conditions and actions for routing unterminated TLS +traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS +traffic arriving at port 443 of gateway called “mygateway” to internal +services in the mesh based on the SNI value.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-sni
+spec:
+  hosts:
+  - "*.bookinfo.com"
+  gateways:
+  - mygateway
+  tls:
+  - match:
+    - port: 443
+      sniHosts:
+      - login.bookinfo.com
+    route:
+    - destination:
+        host: login.prod.svc.cluster.local
+  - match:
+    - port: 443
+      sniHosts:
+      - reviews.bookinfo.com
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchTLSMatchAttributes[] +

REQUIRED. Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeRouteDestination[] +

The destination to which the connection should be forwarded to.

+ +
+
+

TLSSettings

+
+

SSL/TLS related settings for upstream connections. See Envoy’s TLS +context +for more details. These settings are common to both HTTP and TCP upstreams.

+ +

For example, the following rule configures a client to use mutual TLS +for connections to upstream database cluster.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: db-mtls
+spec:
+  host: mydbserver.prod.svc.cluster.local
+  trafficPolicy:
+    tls:
+      mode: MUTUAL
+      clientCertificate: /etc/certs/myclientcert.pem
+      privateKey: /etc/certs/client_private_key.pem
+      caCertificates: /etc/certs/rootcacerts.pem
+
+ +

The following rule configures a client to use TLS when talking to a +foreign service whose domain matches *.foo.com.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: tls-foo
+spec:
+  host: "*.foo.com"
+  trafficPolicy:
+    tls:
+      mode: SIMPLE
+
+ +

The following rule configures a client to use Istio mutual TLS when talking +to rating services.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: ratings-istio-mtls
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    tls:
+      mode: ISTIO_MUTUAL
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
modeTLSSettings.TLSmode +

REQUIRED: Indicates whether connections to this port should be secured +using TLS. The value of this field determines how TLS is enforced.

+ +
clientCertificatestring +

REQUIRED if mode is MUTUAL. The path to the file holding the +client-side TLS certificate to use. +Should be empty if mode is ISTIO_MUTUAL.

+ +
privateKeystring +

REQUIRED if mode is MUTUAL. The path to the file holding the +client’s private key. +Should be empty if mode is ISTIO_MUTUAL.

+ +
caCertificatesstring +

OPTIONAL: The path to the file containing certificate authority +certificates to use in verifying a presented server certificate. If +omitted, the proxy will not verify the server’s certificate. +Should be empty if mode is ISTIO_MUTUAL.

+ +
subjectAltNamesstring[] +

A list of alternate names to verify the subject identity in the +certificate. If specified, the proxy will verify that the server +certificate’s subject alt name matches one of the specified values. +If specified, this list overrides the value of subjectaltnames +from the ServiceEntry.

+ +
snistring +

SNI string to present to the server during TLS handshake.

+ +
+
+

TLSSettings.TLSmode

+
+

TLS connection mode

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
DISABLE +

Do not setup a TLS connection to the upstream endpoint.

+ +
SIMPLE +

Originate a TLS connection to the upstream endpoint.

+ +
MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication.

+ +
ISTIO_MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication. +Compared to Mutual mode, this mode uses certificates generated +automatically by Istio for mTLS authentication. When this mode is +used, all other fields in TLSSettings should be empty.

+ +
+
+

TrafficPolicy

+
+

Traffic policies to apply for a specific destination, across all +destination ports. See DestinationRule for examples.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
loadBalancerLoadBalancerSettings +

Settings controlling the load balancer algorithms.

+ +
connectionPoolConnectionPoolSettings +

Settings controlling the volume of connections to an upstream service

+ +
outlierDetectionOutlierDetection +

Settings controlling eviction of unhealthy hosts from the load balancing pool

+ +
tlsTLSSettings +

TLS related settings for connections to the upstream service.

+ +
portLevelSettingsTrafficPolicy.PortTrafficPolicy[] +

Traffic policies specific to individual ports. Note that port level +settings will override the destination-level settings. Traffic +settings specified at the destination-level will not be inherited when +overridden by port-level settings, i.e. default values will be applied +to fields omitted in port-level traffic policies.

+ +
+
+

TrafficPolicy.PortTrafficPolicy

+
+

Traffic policies that apply to specific ports of the service

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPortSelector +

Specifies the port name or number of a port on the destination service +on which this policy is being applied.

+ +

Names must comply with DNS label syntax (rfc1035) and therefore cannot +collide with numbers. If there are multiple ports on a service with +the same protocol the names should be of the form -.

+ +
loadBalancerLoadBalancerSettings +

Settings controlling the load balancer algorithms.

+ +
connectionPoolConnectionPoolSettings +

Settings controlling the volume of connections to an upstream service

+ +
outlierDetectionOutlierDetection +

Settings controlling eviction of unhealthy hosts from the load balancing pool

+ +
tlsTLSSettings +

TLS related settings for connections to the upstream service.

+ +
+
+

VirtualService

+
+

A VirtualService defines a set of traffic routing rules to apply when a host is +addressed. Each routing rule defines matching criteria for traffic of a specific +protocol. If the traffic is matched, then it is sent to a named destination service +(or subset/version of it) defined in the registry.

+ +

The source of traffic can also be matched in a routing rule. This allows routing +to be customized for specific client contexts.

+ +

The following example on Kubernetes, routes all HTTP traffic by default to +pods of the reviews service with label “version: v1”. In addition, +HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will +be rewritten to /newcatalog and sent to pods with label “version: v2”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: "/wpcatalog"
+    - uri:
+        prefix: "/consumercatalog"
+    rewrite:
+      uri: "/newcatalog"
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v2
+  - route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+
+ +

A subset/version of a route destination is identified with a reference +to a named service subset which must be declared in a corresponding +DestinationRule.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+spec:
+  host: reviews.prod.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hostsstring[] +

REQUIRED. The destination hosts to which traffic is being sent. Could +be a DNS name with wildcard prefix or an IP address. Depending on the +platform, short-names can also be used instead of a FQDN (i.e. has no +dots in the name). In such a scenario, the FQDN of the host would be +derived based on the underlying platform.

+ +

A host name can be defined by only one VirtualService. A single +VirtualService can be used to describe traffic properties for multiple +HTTP and TCP ports.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +

The hosts field applies to both HTTP and TCP services. Service inside +the mesh, i.e., those found in the service registry, must always be +referred to using their alphanumeric names. IP addresses are allowed +only for services defined via the Gateway.

+ +
gatewaysstring[] +

The names of gateways and sidecars that should apply these routes. A +single VirtualService is used for sidecars inside the mesh as well as +for one or more gateways. The selection condition imposed by this +field can be overridden using the source field in the match conditions +of protocol-specific routes. The reserved word mesh is used to imply +all the sidecars in the mesh. When this field is omitted, the default +gateway (mesh) will be used, which would apply the rule to all +sidecars in the mesh. If a list of gateway names is provided, the +rules will apply only to the gateways. To apply the rules to both +gateways and sidecars, specify mesh as one of the gateway names.

+ +
httpHTTPRoute[] +

An ordered list of route rules for HTTP traffic. HTTP routes will be +applied to platform service ports named ‘http-’/‘http2-’/‘grpc-*’, gateway +ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service +entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching +an incoming request is used.

+ +
tlsTLSRoute[] +

An ordered list of route rule for non-terminated TLS & HTTPS +traffic. Routing is typically performed using the SNI value presented +by the ClientHello message. TLS routes will be applied to platform +service ports named ‘https-’, ‘tls-’, unterminated gateway ports using +HTTPS/TLS protocols (i.e. with “passthrough” TLS mode) and service +entry ports using HTTPS/TLS protocols. The first rule matching an +incoming request is used. NOTE: Traffic ‘https-’ or ‘tls-’ ports +without associated virtual service will be treated as opaque TCP +traffic.

+ +
tcpTCPRoute[] +

An ordered list of route rules for opaque TCP traffic. TCP routes will +be applied to any port that is not a HTTP or TLS port. The first rule +matching an incoming request is used.

+ +
exportTostring[] +

A list of namespaces to which this virtual service is exported. Exporting a +virtual service allows it to used by sidecars and gateways defined in +other namespaces. This feature provides a mechanism for service owners +and mesh administrators to control the visibility of virtual services +across namespace boundaries.

+ +

If no namespaces are specified then the virtual service is exported to all +namespaces by default.

+ +

The value “.” is reserved and defines an export to the same namespace that +the virtual service is declared in, similarly the value “*” is reserved and +defines an export to all namespaces.

+ +
+
+

WorkloadSelector

+
+

WorkloadSelector specifies the criteria used to determine if the Gateway +or Sidecar resource can be applied to a proxy. The matching criteria +includes the metadata associated with a proxy, workload info such as +labels attached to the pod/VM, or any other info that the proxy provides +to Istio during the initial handshake. If multiple conditions are +specified, all conditions need to match in order for the workload to be +selected. Currently, only label based selection mechanism is supported.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
labelsmap<string, string> +

REQUIRED: One or more labels that indicate a specific set of pods/VMs +on which this sidecar configuration should be applied. The scope of +label search is restricted to the configuration namespace in which the +the resource is present.

+ +
+
diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 9a36a4be6f4..091d09a45a7 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -99,6 +99,312 @@ func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { return fileDescriptorServiceEntry, []int{0, 1} } +// `ServiceEntry` enables adding additional entries into Istio's internal +// service registry, so that auto-discovered services in the mesh can +// access/route to these manually specified services. A service entry +// describes the properties of a service (DNS name, VIPs, ports, protocols, +// endpoints). These services could be external to the mesh (e.g., web +// APIs) or mesh-internal services that are not part of the platform's +// service registry (e.g., a set of VMs talking to services in Kubernetes). +// +// The following configuration adds a set of MongoDB instances running on +// unmanaged VMs to Istio's registry, so that these services can be treated +// as any other service in the mesh. The associated DestinationRule is used +// to initiate mTLS connections to the database instances. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-mongocluster +// spec: +// hosts: +// - mymongodb.somedomain # not used +// addresses: +// - 192.192.192.192/24 # VIPs +// ports: +// - number: 27018 +// name: mongodb +// protocol: MONGO +// location: MESH_INTERNAL +// resolution: STATIC +// endpoints: +// - address: 2.2.2.2 +// - address: 3.3.3.3 +// ``` +// +// and the associated DestinationRule +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: mtls-mongocluster +// spec: +// host: mymongodb.somedomain +// trafficPolicy: +// tls: +// mode: MUTUAL +// clientCertificate: /etc/certs/myclientcert.pem +// privateKey: /etc/certs/client_private_key.pem +// caCertificates: /etc/certs/rootcacerts.pem +// ``` +// +// The following example uses a combination of service entry and TLS +// routing in virtual service to demonstrate the use of SNI routing to +// forward unterminated TLS traffic from the application to external +// services via the sidecar. The sidecar inspects the SNI value in the +// ClientHello message to route to the appropriate external service. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-https +// spec: +// hosts: +// - api.dropboxapi.com +// - www.googleapis.com +// - api.facebook.com +// location: MESH_EXTERNAL +// ports: +// - number: 443 +// name: https +// protocol: TLS +// resolution: DNS +// ``` +// +// And the associated VirtualService to route based on the SNI value. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: VirtualService +// metadata: +// name: tls-routing +// spec: +// hosts: +// - api.dropboxapi.com +// - www.googleapis.com +// - api.facebook.com +// tls: +// - match: +// - port: 443 +// sniHosts: +// - api.dropboxapi.com +// route: +// - destination: +// host: api.dropboxapi.com +// - match: +// - port: 443 +// sniHosts: +// - www.googleapis.com +// route: +// - destination: +// host: www.googleapis.com +// - match: +// - port: 443 +// sniHosts: +// - api.facebook.com +// route: +// - destination: +// host: api.facebook.com +// +// ``` +// +// The following example demonstrates the use of a dedicated egress gateway +// through which all external service traffic is forwarded. +// The 'exportTo' field allows for control over the visibility of a service +// declaration to other namespaces in the mesh. By default a service is exported +// to all namespaces. The following example restricts the visibility to the +// current namespace, represented by ".", so that it cannot be used by other +// namespaces. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-httpbin +// namespace : egress +// spec: +// hosts: +// - httpbin.com +// exportTo: +// - "." +// location: MESH_EXTERNAL +// ports: +// - number: 80 +// name: http +// protocol: HTTP +// resolution: DNS +// ``` +// +// Define a gateway to handle all egress traffic. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Gateway +// metadata: +// name: istio-egressgateway +// namespace: egress +// spec: +// selector: +// istio: egressgateway +// servers: +// - port: +// number: 80 +// name: http +// protocol: HTTP +// hosts: +// - "*" +// ``` +// +// 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 +// a managed middle proxy like this is a common practice. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: VirtualService +// metadata: +// name: gateway-routing +// namespace: egress +// spec: +// hosts: +// - httpbin.com +// exportTo: +// - * +// gateways: +// - mesh +// - istio-egressgateway +// http: +// - match: +// - port: 80 +// gateways: +// - mesh +// route: +// - destination: +// host: istio-egressgateway.istio-system.svc.cluster.local +// - match: +// - port: 80 +// gateway: +// - istio-egressgateway +// route: +// - destination: +// host: httpbin.com +// ``` +// +// The following example demonstrates the use of wildcards in the hosts for +// external services. If the connection has to be routed to the IP address +// requested by the application (i.e. application resolves DNS and attempts +// to connect to a specific IP), the discovery mode must be set to `NONE`. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-wildcard-example +// spec: +// hosts: +// - "*.bar.com" +// location: MESH_EXTERNAL +// ports: +// - number: 80 +// name: http +// protocol: HTTP +// resolution: NONE +// ``` +// +// 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. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: unix-domain-socket-example +// spec: +// hosts: +// - "example.unix.local" +// location: MESH_EXTERNAL +// ports: +// - number: 80 +// name: http +// protocol: HTTP +// resolution: STATIC +// endpoints: +// - address: unix:///var/run/example/socket +// ``` +// +// 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 +// 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 +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-dns +// spec: +// hosts: +// - foo.bar.com +// location: MESH_EXTERNAL +// ports: +// - number: 80 +// name: http +// protocol: HTTP +// resolution: DNS +// endpoints: +// - address: us.foo.bar.com +// ports: +// https: 8080 +// - address: uk.foo.bar.com +// ports: +// https: 9080 +// - address: in.foo.bar.com +// ports: +// https: 7080 +// ``` +// +// With `HTTP_PROXY=http://localhost/`, calls from the application to +// `http://foo.bar.com` will be load balanced across the three domains +// 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 +// containing a subject alternate name +// whose format conforms to the SPIFEE standard +// : +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: httpbin +// namespace : httpbin-ns +// spec: +// hosts: +// - httpbin.com +// location: MESH_INTERNAL +// ports: +// - number: 80 +// name: http +// protocol: HTTP +// resolution: STATIC +// endpoints: +// - address: 2.2.2.2 +// - address: 3.3.3.3 +// subjectAltNames: +// - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account" +// ``` +// 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 @@ -155,7 +461,7 @@ type ServiceEntry struct { ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce - // [secure-naming](/docs/concepts/security/#secure-naming). + // secure-naming . // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html deleted file mode 100644 index a53b377df89..00000000000 --- a/networking/v1alpha3/service_entry.pb.html +++ /dev/null @@ -1,612 +0,0 @@ ---- -title: Service Entry -description: Configuration affecting service registry. -location: https://istio.io/docs/reference/config/networking/v1alpha3/service-entry.html -layout: protoc-gen-docs -generator: protoc-gen-docs -number_of_entries: 4 ---- -

ServiceEntry enables adding additional entries into Istio’s internal -service registry, so that auto-discovered services in the mesh can -access/route to these manually specified services. A service entry -describes the properties of a service (DNS name, VIPs, ports, protocols, -endpoints). These services could be external to the mesh (e.g., web -APIs) or mesh-internal services that are not part of the platform’s -service registry (e.g., a set of VMs talking to services in Kubernetes).

- -

The following configuration adds a set of MongoDB instances running on -unmanaged VMs to Istio’s registry, so that these services can be treated -as any other service in the mesh. The associated DestinationRule is used -to initiate mTLS connections to the database instances.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-mongocluster
-spec:
-  hosts:
-  - mymongodb.somedomain # not used
-  addresses:
-  - 192.192.192.192/24 # VIPs
-  ports:
-  - number: 27018
-    name: mongodb
-    protocol: MONGO
-  location: MESH_INTERNAL
-  resolution: STATIC
-  endpoints:
-  - address: 2.2.2.2
-  - address: 3.3.3.3
-
- -

and the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: mtls-mongocluster
-spec:
-  host: mymongodb.somedomain
-  trafficPolicy:
-    tls:
-      mode: MUTUAL
-      clientCertificate: /etc/certs/myclientcert.pem
-      privateKey: /etc/certs/client_private_key.pem
-      caCertificates: /etc/certs/rootcacerts.pem
-
- -

The following example uses a combination of service entry and TLS -routing in virtual service to demonstrate the use of SNI routing to -forward unterminated TLS traffic from the application to external -services via the sidecar. The sidecar inspects the SNI value in the -ClientHello message to route to the appropriate external service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-https
-spec:
-  hosts:
-  - api.dropboxapi.com
-  - www.googleapis.com
-  - api.facebook.com
-  location: MESH_EXTERNAL
-  ports:
-  - number: 443
-    name: https
-    protocol: TLS
-  resolution: DNS
-
- -

And the associated VirtualService to route based on the SNI value.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: tls-routing
-spec:
-  hosts:
-  - api.dropboxapi.com
-  - www.googleapis.com
-  - api.facebook.com
-  tls:
-  - match:
-    - port: 443
-      sniHosts:
-      - api.dropboxapi.com
-    route:
-    - destination:
-        host: api.dropboxapi.com
-  - match:
-    - port: 443
-      sniHosts:
-      - www.googleapis.com
-    route:
-    - destination:
-        host: www.googleapis.com
-  - match:
-    - port: 443
-      sniHosts:
-      - api.facebook.com
-    route:
-    - destination:
-        host: api.facebook.com
-
-
- -

The following example demonstrates the use of a dedicated egress gateway -through which all external service traffic is forwarded. -The ‘exportTo’ field allows for control over the visibility of a service -declaration to other namespaces in the mesh. By default a service is exported -to all namespaces. The following example restricts the visibility to the -current namespace, represented by “.”, so that it cannot be used by other -namespaces.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-httpbin
-  namespace : egress
-spec:
-  hosts:
-  - httpbin.com
-  exportTo:
-  - "."
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: DNS
-
- -

Define a gateway to handle all egress traffic.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
- name: istio-egressgateway
- namespace: egress
-spec:
- selector:
-   istio: egressgateway
- servers:
- - port:
-     number: 80
-     name: http
-     protocol: HTTP
-   hosts:
-   - "*"
-
- -

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 -a managed middle proxy like this is a common practice.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: gateway-routing
-  namespace: egress
-spec:
-  hosts:
-  - httpbin.com
-  exportTo:
-  - *
-  gateways:
-  - mesh
-  - istio-egressgateway
-  http:
-  - match:
-    - port: 80
-      gateways:
-      - mesh
-    route:
-    - destination:
-        host: istio-egressgateway.istio-system.svc.cluster.local
-  - match:
-    - port: 80
-      gateway:
-      - istio-egressgateway
-    route:
-    - destination:
-        host: httpbin.com
-
- -

The following example demonstrates the use of wildcards in the hosts for -external services. If the connection has to be routed to the IP address -requested by the application (i.e. application resolves DNS and attempts -to connect to a specific IP), the discovery mode must be set to NONE.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-wildcard-example
-spec:
-  hosts:
-  - "*.bar.com"
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: NONE
-
- -

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.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: unix-domain-socket-example
-spec:
-  hosts:
-  - "example.unix.local"
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: STATIC
-  endpoints:
-  - address: unix:///var/run/example/socket
-
- -

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 -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

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-dns
-spec:
-  hosts:
-  - foo.bar.com
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: DNS
-  endpoints:
-  - address: us.foo.bar.com
-    ports:
-      https: 8080
-  - address: uk.foo.bar.com
-    ports:
-      https: 9080
-  - address: in.foo.bar.com
-    ports:
-      https: 7080
-
- -

With HTTP_PROXY=http://localhost/, calls from the application to -http://foo.bar.com will be load balanced across the three domains -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 -containing a subject alternate name -whose format conforms to the SPIFEE standard -https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md:

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: httpbin
-  namespace : httpbin-ns
-spec:
-  hosts:
-  - httpbin.com
-  location: MESH_INTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: STATIC
-  endpoints:
-  - address: 2.2.2.2
-  - address: 3.3.3.3
-  subjectAltNames:
-  - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-
- -

ServiceEntry

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hostsstring[] -

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.

- -
addressesstring[] -

The virtual IP addresses associated with the service. Could be CIDR -prefix. For HTTP services, 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, -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 -solely based on the destination port. In such scenarios, the port on -which the service is being accessed must not be shared by any other -service in the mesh. In other words, the sidecar will behave as a -simple TCP proxy, forwarding incoming traffic on a specified port to -the specified destination endpoint IP/host. Unix domain socket -addresses are not supported in this field.

- -
portsPort[] -

REQUIRED. The ports associated with the external service. If the -Endpoints are unix domain socket addresses, there must be exactly one -port.

- -
locationServiceEntry.Location -

Specify whether the service should be considered external to the mesh -or part of the mesh.

- -
resolutionServiceEntry.Resolution -

REQUIRED: Service discovery mode for the hosts. Care must be taken -when setting the resolution mode to NONE for a TCP port without -accompanying IP addresses. In such cases, traffic to any IP on -said port will be allowed (i.e. 0.0.0.0:).

- -
endpointsServiceEntry.Endpoint[] -

One or more endpoints associated with the service.

- -
exportTostring[] -

A list of namespaces to which this service is exported. Exporting a service -allows it to used by sidecars, gateways and virtual services defined in -other namespaces. This feature provides a mechanism for service owners -and mesh administrators to control the visibility of services across -namespace boundaries.

- -

If no namespaces are specified then the service is exported to all -namespaces by default.

- -

The value “.” is reserved and defines an export to the same namespace that -the service is declared in, similarly the value “*” is reserved and -defines an export to all namespaces.

- -

For a Kubernetes Service the equivalent effect can be achieved by setting -the annotation “networking.istio.io/exportTo” to a comma-separated list -of namespace names.

- -
subjectAltNamesstring[] -

The list of subject alternate names allowed for workloads that -implement this service. This information is used to enforce -secure-naming. -If specified, the proxy will verify that the server -certificate’s subject alternate name matches one of the specified values.

- -
-
-

ServiceEntry.Endpoint

-
-

Endpoint defines a network address (IP or hostname) associated with -the mesh service.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
addressstring -

REQUIRED: Address associated with the network endpoint without the -port. Domain names can be used if and only if the resolution is set -to DNS, and must be fully-qualified without wildcards. Use the form -unix:///absolute/path/to/socket for unix domain socket endpoints.

- -
portsmap<string, uint32> -

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.

- -
labelsmap<string, string> -

One or more labels associated with the endpoint.

- -
networkstring -

Network enables Istio to group endpoints resident in the same L3 -domain/network. All endpoints in the same network are assumed to be -directly reachable from one another. When endpoints in different -networks cannot reach each other directly, an Istio Gateway can be -used to establish connectivity (usually using the -AUTO_PASSTHROUGH mode in a Gateway Server). This is -an advanced configuration used typically for spanning an Istio mesh -over multiple clusters.

- -
localitystring -

The locality associated with the endpoint. A locality corresponds -to a failure domain (e.g., country/region/zone). Arbitrary failure -domain hierarchies can be represented by separating each -encapsulating failure domain by /. For example, the locality of an -an endpoint in US, in US-East-1 region, within availability zone -az-1, in data center rack r11 can be represented as -us/us-east-1/az-1/r11. Istio will configure the sidecar to route to -endpoints within the same locality as the sidecar. If none of the -endpoints in the locality are available, endpoints parent locality -(but within the same network ID) will be chosen. For example, if -there are two endpoints in same network (networkID “n1”), say e1 -with locality us/us-east-1/az-1/r11 and e2 with locality -us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality -will prefer e1 from the same locality over e2 from a different -locality. Endpoint e2 could be the IP associated with a gateway -(that bridges networks n1 and n2), or the IP associated with a -standard service endpoint.

- -
weightuint32 -

The load balancing weight associated with the endpoint. Endpoints -with higher weights will receive proportionally higher traffic.

- -
-
-

ServiceEntry.Location

-
-

Location specifies whether the service is part of Istio mesh or -outside the mesh. Location determines the behavior of several -features, such as service-to-service mTLS authentication, policy -enforcement, etc. When communicating with services outside the mesh, -Istio’s mTLS authentication is disabled, and policy enforcement is -performed on the client-side as opposed to server-side.

- - - - - - - - - - - - - - - - - - -
NameDescription
MESH_EXTERNAL -

Signifies that the service is external to the mesh. Typically used -to indicate external services consumed through APIs.

- -
MESH_INTERNAL -

Signifies that the service is part of the mesh. Typically used to -indicate services added explicitly as part of expanding the service -mesh to include unmanaged infrastructure (e.g., VMs added to a -Kubernetes based service mesh).

- -
-
-

ServiceEntry.Resolution

-
-

Resolution determines how the proxy will resolve the IP addresses of -the network endpoints associated with the service, so that it can -route to one of them. The resolution mode specified here has no impact -on how the application resolves the IP address associated with the -service. The application may still have to use DNS to resolve the -service to an IP so that the outbound traffic can be captured by the -Proxy. Alternatively, for HTTP services, the application could -directly communicate with the proxy (e.g., by setting HTTP_PROXY) to -talk to these services.

- - - - - - - - - - - - - - - - - - - - - - -
NameDescription
NONE -

Assume that incoming connections have already been resolved (to a -specific destination IP address). Such connections are typically -routed via the proxy using mechanisms such as IP table REDIRECT/ -eBPF. After performing any routing related transformations, the -proxy will forward the connection to the IP address to which the -connection was bound.

- -
STATIC -

Use the static IP addresses specified in endpoints (see below) as the -backing instances associated with the service.

- -
DNS -

Attempt to resolve the IP address by querying the ambient DNS, -during request processing. If no endpoints are specified, the proxy -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 -domain socket endpoints.

- -
-
diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 0964ead5073..1527586f479 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; -// $title: Service Entry -// $description: Configuration affecting service registry. -// $location: https://istio.io/docs/reference/config/networking/v1alpha3/service-entry.html +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; // `ServiceEntry` enables adding additional entries into Istio's internal // service registry, so that auto-discovered services in the mesh can @@ -326,10 +326,6 @@ import "networking/v1alpha3/gateway.proto"; // - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account" // ``` // -package istio.networking.v1alpha3; - -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 @@ -494,7 +490,7 @@ message ServiceEntry { // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce - // [secure-naming](/docs/concepts/security/#secure-naming). + // secure-naming . // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. repeated string subject_alt_names = 8; diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index f2082114446..81feff98ba7 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -47,6 +47,83 @@ func (x CaptureMode) String() string { } func (CaptureMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } +// `Sidecar` describes the configuration of the sidecar proxy that mediates +// inbound and outbound communication to the workload it is attached to. By +// default, Istio will program all sidecar proxies in the mesh with the +// necessary configuration required to reach every workload in the mesh, as +// well as accept traffic on all the ports associated with the +// workload. The Sidecar resource provides a way to fine tune the set of +// ports, protocols that the proxy will accept when forwarding traffic to +// and from the workload. In addition, it is possible to restrict the set +// of services that the proxy can reach when forwarding outbound traffic +// from the workload. +// +// Services and configuration in a mesh are organized into one or more +// namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar +// resource in a namespace will apply to one or more workloads in the same +// namespace, selected using the workloadSelector. In the absence of a +// workloadSelector, it will apply to all workloads in the same +// namespace. When determining the Sidecar resource to be applied to a +// workload, preference will be given to the resource with a +// workloadSelector that selects this workload, over a Sidecar resource +// without any workloadSelector. +// +// NOTE: *_Each namespace can have only one Sidecar resource without any +// workload selector_*. The behavior of the system is undefined if more +// than one selector-less Sidecar resources exist in a given namespace. The +// behavior of the system is undefined if two or more Sidecar resources +// with a workload selector select the same workload. +// +// The example below declares a Sidecar resource in the prod-us1 namespace +// that configures the sidecars in the namespace to allow egress traffic to +// public services in the prod-us1, prod-apis, and the istio-system +// namespaces. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: default +// namespace: prod-us1 +// spec: +// egress: +// - hosts: +// - "prod-us1/*" +// - "prod-apis/*" +// - "istio-system/*" +// ``` +// +// The example below declares a Sidecar resource in the prod-us1 namespace +// that accepts inbound HTTP traffic on port 9080 and forwards +// it to the attached workload listening on a unix domain socket. In the +// egress direction, in addition to the istio-system namespace, the sidecar +// proxies only HTTP traffic bound for port 9080 for services in the +// prod-us1 namespace. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: default +// namespace: prod-us1 +// spec: +// ingress: +// - port: +// number: 9080 +// protocol: HTTP +// name: somename +// defaultEndpoint: unix:///var/run/someuds.sock +// egress: +// - hosts: +// - "istio-system/*" +// - port: +// number: 9080 +// protocol: HTTP +// name: egresshttp +// hosts: +// - "prod-us1/*" +// ``` +// 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 diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html deleted file mode 100644 index 172162066fd..00000000000 --- a/networking/v1alpha3/sidecar.pb.html +++ /dev/null @@ -1,348 +0,0 @@ ---- -title: Sidecar -description: Configuration affecting network reachability of a sidecar. -location: https://istio.io/docs/reference/config/networking/v1alpha3/sidecar.html -layout: protoc-gen-docs -generator: protoc-gen-docs -number_of_entries: 5 ---- -

Sidecar describes the configuration of the sidecar proxy that mediates -inbound and outbound communication to the workload it is attached to. By -default, Istio will program all sidecar proxies in the mesh with the -necessary configuration required to reach every workload in the mesh, as -well as accept traffic on all the ports associated with the -workload. The Sidecar resource provides a way to fine tune the set of -ports, protocols that the proxy will accept when forwarding traffic to -and from the workload. In addition, it is possible to restrict the set -of services that the proxy can reach when forwarding outbound traffic -from the workload.

- -

Services and configuration in a mesh are organized into one or more -namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar -resource in a namespace will apply to one or more workloads in the same -namespace, selected using the workloadSelector. In the absence of a -workloadSelector, it will apply to all workloads in the same -namespace. When determining the Sidecar resource to be applied to a -workload, preference will be given to the resource with a -workloadSelector that selects this workload, over a Sidecar resource -without any workloadSelector.

- -

NOTE: Each namespace can have only one Sidecar resource without any -workload selector. The behavior of the system is undefined if more -than one selector-less Sidecar resources exist in a given namespace. The -behavior of the system is undefined if two or more Sidecar resources -with a workload selector select the same workload.

- -

The example below declares a Sidecar resource in the prod-us1 namespace -that configures the sidecars in the namespace to allow egress traffic to -public services in the prod-us1, prod-apis, and the istio-system -namespaces.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Sidecar
-metadata:
-  name: default
-  namespace: prod-us1
-spec:
-  egress:
-  - hosts:
-    - "prod-us1/*"
-    - "prod-apis/*"
-    - "istio-system/*"
-
- -

The example below declares a Sidecar resource in the prod-us1 namespace -that accepts inbound HTTP traffic on port 9080 and forwards -it to the attached workload listening on a unix domain socket. In the -egress direction, in addition to the istio-system namespace, the sidecar -proxies only HTTP traffic bound for port 9080 for services in the -prod-us1 namespace.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Sidecar
-metadata:
-  name: default
-  namespace: prod-us1
-spec:
-  ingress:
-  - port:
-      number: 9080
-      protocol: HTTP
-      name: somename
-    defaultEndpoint: unix:///var/run/someuds.sock
-  egress:
-  - hosts:
-    - "istio-system/*"
-  - port:
-      number: 9080
-      protocol: HTTP
-      name: egresshttp
-    hosts:
-    - "prod-us1/*"
-
- -

CaptureMode

-
-

CaptureMode describes how traffic to a listener is expected to be -captured. Applicable only when the listener is bound to an IP.

- - - - - - - - - - - - - - - - - - - - - - -
NameDescription
DEFAULT -

The default capture mode defined by the environment

- -
IPTABLES -

Capture traffic using IPtables redirection

- -
NONE -

No traffic capture. When used in egress listener, the application is -expected to explicitly communicate with the listener port/unix -domain socket. When used in ingress listener, care needs to be taken -to ensure that the listener port is not in use by other processes on -the host.

- -
-
-

IstioEgressListener

-
-

IstioEgressListener specifies the properties of an outbound traffic -listener on the sidecar proxy attached to a workload.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

The port associated with the listener. If using unix domain socket, -use 0 as the port number, with a valid protocol. The port if -specified, will be used as the default destination port associated -with the imported hosts. If the port is omitted, Istio will infer the -listener ports based on the imported hosts. Note that when multiple -egress listeners are specified, where one or more listeners have -specific ports while others have no port, the hosts exposed on a -listener port will be based on the listener with the most specific -port.

- -
bindstring -

The ip or the unix domain socket to which the listener should be bound -to. Port MUST be specified if bind is not empty. Format: x.x.x.x or -unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If -omitted, Istio will autoconfigure the defaults based on imported -services, the workload to which this configuration is applied to and -the captureMode. If captureMode is NONE, bind will default to -127.0.0.1.

- -
captureModeCaptureMode -

When the bind address is an IP, the captureMode option dictates -how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

- -
hostsstring[] -

REQUIRED: One or more services/virtualServices exposed by the listener -in namespace/dnsName format. Publicly scoped services and -VirtualServices from remote namespaces corresponding to the specified -hosts will be imported. The service in a namespace can be a service in -the service registry (e.g., a kubernetes or cloud foundry service) or -a service specified via ServiceEntry configuration. In addition, any -publicly scoped DestinationRule associated with the imported services -will also be imported.

- -

Set the namespace to * to import a particular service from any -available namespace (e.g., “*/foo.example.com”). Set the dnsName field -to * to import all services from the specified namespace (e.g., -“prod/*”). The services should be specified using FQDN format.

- -

NOTE: Only exported services and configuration artifacts from a -namespace can be imported. Private services/configuration will not be -imported. Refer to the scope setting associated with VirtualService, -DestinationRule, ServiceEntry, etc. for details.

- -
-
-

IstioIngressListener

-
-

IstioIngressListener specifies the properties of an inbound -traffic listener on the sidecar proxy attached to a workload.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

REQUIRED. The port associated with the listener. If using -unix domain socket, use 0 as the port number, with a valid -protocol.

- -
bindstring -

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). If omitted, Istio will autoconfigure the defaults -based on imported services and the workload to which this -configuration is applied to.

- -
captureModeCaptureMode -

When the bind address is an IP, the captureMode option dictates -how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

- -
defaultEndpointstring -

REQUIRED: The loopback IP endpoint or unix domain socket to which -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

- -
-
-

Sidecar

-
- - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
workloadSelectorWorkloadSelector -

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.

- -
ingressIstioIngressListener[] -

Ingress specifies the configuration of the sidecar for processing -inbound traffic to the attached workload. If omitted, Istio will -autoconfigure the sidecar based on the information about the workload -obtained from the orchestration platform (e.g., exposed ports, services, -etc.).

- -
egressIstioEgressListener[] -

Egress specifies the configuration of the sidecar for processing -outbound traffic from the attached workload to other services in the -mesh. If omitted, Istio will autoconfigure the sidecar to be able to -reach every service in the mesh that is visible to this namespace.

- -
-
-

WorkloadSelector

-
-

WorkloadSelector specifies the criteria used to determine if the Gateway -or Sidecar resource can be applied to a proxy. The matching criteria -includes the metadata associated with a proxy, workload info such as -labels attached to the pod/VM, or any other info that the proxy provides -to Istio during the initial handshake. If multiple conditions are -specified, all conditions need to match in order for the workload to be -selected. Currently, only label based selection mechanism is supported.

- - - - - - - - - - - - - - - - -
FieldTypeDescription
labelsmap<string, string> -

REQUIRED: One or more labels that indicate a specific set of pods/VMs -on which this sidecar configuration should be applied. The scope of -label search is restricted to the configuration namespace in which the -the resource is present.

- -
-
diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index 2db96f12a93..d2e2776513c 100644 --- a/networking/v1alpha3/sidecar.proto +++ b/networking/v1alpha3/sidecar.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; -// $title: Sidecar -// $description: Configuration affecting network reachability of a sidecar. -// $location: https://istio.io/docs/reference/config/networking/v1alpha3/sidecar.html +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; // `Sidecar` describes the configuration of the sidecar proxy that mediates // inbound and outbound communication to the workload it is attached to. By @@ -97,10 +97,6 @@ import "networking/v1alpha3/gateway.proto"; // - "prod-us1/*" // ``` // -package istio.networking.v1alpha3; - -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 diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index d1a3c675e79..433763766f7 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -18,6 +18,66 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// A `VirtualService` defines a set of traffic routing rules to apply when a host is +// addressed. Each routing rule defines matching criteria for traffic of a specific +// protocol. If the traffic is matched, then it is sent to a named destination service +// (or subset/version of it) defined in the registry. +// +// The source of traffic can also be matched in a routing rule. This allows routing +// to be customized for specific client contexts. +// +// The following example on Kubernetes, routes all HTTP traffic by default to +// pods of the reviews service with label "version: v1". In addition, +// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will +// be rewritten to /newcatalog and sent to pods with label "version: v2". +// +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: VirtualService +// metadata: +// name: reviews-route +// spec: +// hosts: +// - reviews.prod.svc.cluster.local +// http: +// - match: +// - uri: +// prefix: "/wpcatalog" +// - uri: +// prefix: "/consumercatalog" +// rewrite: +// uri: "/newcatalog" +// route: +// - destination: +// host: reviews.prod.svc.cluster.local +// subset: v2 +// - route: +// - destination: +// host: reviews.prod.svc.cluster.local +// subset: v1 +// ``` +// +// A subset/version of a route destination is identified with a reference +// to a named service subset which must be declared in a corresponding +// `DestinationRule`. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: reviews-destination +// spec: +// host: reviews.prod.svc.cluster.local +// subsets: +// - name: v1 +// labels: +// version: v1 +// - name: v2 +// labels: +// version: v2 +// ``` +// type VirtualService struct { // REQUIRED. The destination hosts to which traffic is being sent. Could // be a DNS name with wildcard prefix or an IP address. Depending on the @@ -142,7 +202,7 @@ func (m *VirtualService) GetExportTo() []string { // registry. Istio's service registry is composed of all the services found // in the platform's service registry (e.g., Kubernetes services, Consul // services), as well as services declared through the -// [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry) resource. +// [ServiceEntry](#ServiceEntry) resource. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" // instead of "reviews.default.svc.cluster.local"), Istio will interpret @@ -267,7 +327,7 @@ type Destination struct { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Traffic forwarded to + // declared by [ServiceEntry](#ServiceEntry). Traffic forwarded to // destinations that are not found in either of the two, will be dropped. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html deleted file mode 100644 index c70eea2f091..00000000000 --- a/networking/v1alpha3/virtual_service.pb.html +++ /dev/null @@ -1,1759 +0,0 @@ ---- -title: Virtual Service -description: Configuration affecting label/content routing, sni routing, etc. -location: https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service.html -layout: protoc-gen-docs -generator: protoc-gen-docs -number_of_entries: 22 ---- -

Configuration affecting traffic routing. Here are a few terms useful to define -in the context of traffic routing.

- -

Service a unit of application behavior bound to a unique name in a -service registry. Services consist of multiple network endpoints -implemented by workload instances running on pods, containers, VMs etc.

- -

Service versions (a.k.a. subsets) - In a continuous deployment -scenario, for a given service, there can be distinct subsets of -instances running different variants of the application binary. These -variants are not necessarily different API versions. They could be -iterative changes to the same service, deployed in different -environments (prod, staging, dev, etc.). Common scenarios where this -occurs include A/B testing, canary rollouts, etc. The choice of a -particular version can be decided based on various criterion (headers, -url, etc.) and/or by weights assigned to each version. Each service has -a default version consisting of all its instances.

- -

Source - A downstream client calling a service.

- -

Host - The address used by a client when attempting to connect to a -service.

- -

Access model - Applications address only the destination service -(Host) without knowledge of individual service versions (subsets). The -actual choice of the version is determined by the proxy/sidecar, enabling the -application code to decouple itself from the evolution of dependent -services.

- -

A VirtualService defines a set of traffic routing rules to apply when a host is -addressed. Each routing rule defines matching criteria for traffic of a specific -protocol. If the traffic is matched, then it is sent to a named destination service -(or subset/version of it) defined in the registry.

- -

The source of traffic can also be matched in a routing rule. This allows routing -to be customized for specific client contexts.

- -

The following example on Kubernetes, routes all HTTP traffic by default to -pods of the reviews service with label “version: v1”. In addition, -HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will -be rewritten to /newcatalog and sent to pods with label “version: v2”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: "/wpcatalog"
-    - uri:
-        prefix: "/consumercatalog"
-    rewrite:
-      uri: "/newcatalog"
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v2
-  - route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-
- -

A subset/version of a route destination is identified with a reference -to a named service subset which must be declared in a corresponding -DestinationRule.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-spec:
-  host: reviews.prod.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- -

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 -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 -Access-Control-Allow-Credentials header to false. In addition, it only -exposes X-Foo-bar header and sets an expiry period of 1 day.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    corsPolicy:
-      allowOrigin:
-      - example.com
-      allowMethods:
-      - POST
-      - GET
-      allowCredentials: false
-      allowHeaders:
-      - X-Foo-Bar
-      maxAge: "1d"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
allowOriginstring[] -

The list of origins that are allowed to perform CORS requests. The -content will be serialized into the Access-Control-Allow-Origin -header. Wildcard * will allow all origins.

- -
allowMethodsstring[] -

List of HTTP methods allowed to access the resource. The content will -be serialized into the Access-Control-Allow-Methods header.

- -
allowHeadersstring[] -

List of HTTP headers that can be used when requesting the -resource. Serialized to Access-Control-Allow-Headers header.

- -
exposeHeadersstring[] -

A white list of HTTP headers that the browsers are allowed to -access. Serialized into Access-Control-Expose-Headers header.

- -
maxAgegoogle.protobuf.Duration -

Specifies how long the results of a preflight request can be -cached. Translates to the Access-Control-Max-Age header.

- -
allowCredentialsgoogle.protobuf.BoolValue -

Indicates whether the caller is allowed to send the actual request -(not the preflight) using credentials. Translates to -Access-Control-Allow-Credentials header.

- -
-
-

Destination

-
-

Destination indicates the network addressable service to which the -request/connection will be sent after processing a routing rule. The -destination.host should unambiguously refer to a service in the service -registry. Istio’s service registry is composed of all the services found -in the platform’s service registry (e.g., Kubernetes services, Consul -services), as well as services declared through the -ServiceEntry resource.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of the -actual namespace associated with the reviews service. To avoid potential -misconfigurations, it is recommended to always use fully qualified -domain names over short names.

- -

The following Kubernetes example routes all traffic by default to pods -of the reviews service with label “version: v1” (i.e., subset v1), and -some to subset v2, in a kubernetes environment.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-  namespace: foo
-spec:
-  hosts:
-  - reviews # interpreted as reviews.foo.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: "/wpcatalog"
-    - uri:
-        prefix: "/consumercatalog"
-    rewrite:
-      uri: "/newcatalog"
-    route:
-    - destination:
-        host: reviews # interpreted as reviews.foo.svc.cluster.local
-        subset: v2
-  - route:
-    - destination:
-        host: reviews # interpreted as reviews.foo.svc.cluster.local
-        subset: v1
-
- -

And the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-  namespace: foo
-spec:
-  host: reviews # interpreted as reviews.foo.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- -

The following VirtualService sets a timeout of 5s for all calls to -productpage.prod.svc.cluster.local service in Kubernetes. Notice that -there are no subsets defined in this rule. Istio will fetch all -instances of productpage.prod.svc.cluster.local service from the service -registry and populate the sidecar’s load balancing pool. Also, notice -that this rule is set in the istio-system namespace but uses the fully -qualified domain name of the productpage service, -productpage.prod.svc.cluster.local. Therefore the rule’s namespace does -not have an impact in resolving the name of the productpage service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: my-productpage-rule
-  namespace: istio-system
-spec:
-  hosts:
-  - productpage.prod.svc.cluster.local # ignores rule namespace
-  http:
-  - timeout: 5s
-    route:
-    - destination:
-        host: productpage.prod.svc.cluster.local
-
- -

To control routing for traffic bound to services outside the mesh, external -services must first be added to Istio’s internal service registry using the -ServiceEntry resource. VirtualServices can then be defined to control traffic -bound to these external services. For example, the following rules define a -Service for wikipedia.org and set a timeout of 5s for http requests.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-wikipedia
-spec:
-  hosts:
-  - wikipedia.org
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: example-http
-    protocol: HTTP
-  resolution: DNS
-
-apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: my-wiki-rule
-spec:
-  hosts:
-  - wikipedia.org
-  http:
-  - timeout: 5s
-    route:
-    - destination:
-        host: wikipedia.org
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hoststring -

REQUIRED. The name of a service from the service registry. Service -names are looked up from the platform’s service registry (e.g., -Kubernetes services, Consul services, etc.) and from the hosts -declared by ServiceEntry. Traffic forwarded to -destinations that are not found in either of the two, will be dropped.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -
subsetstring -

The name of a subset within the service. Applicable only to services -within the mesh. The subset must be defined in a corresponding -DestinationRule.

- -
portPortSelector -

Specifies the port on the host that is being addressed. If a service -exposes only a single port it is not required to explicitly select the -port.

- -
-
-

HTTPFaultInjection

-
-

HTTPFaultInjection can be used to specify one or more faults to inject -while forwarding http requests to the destination specified in a route. -Fault specification is part of a VirtualService rule. Faults include -aborting the Http request from downstream service, and/or delaying -proxying of requests. A fault rule MUST HAVE delay or abort or both.

- -

Note: Delay and abort faults are independent of one another, even if -both are specified simultaneously.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
delayHTTPFaultInjection.Delay -

Delay requests before forwarding, emulating various failures such as -network issues, overloaded upstream service, etc.

- -
abortHTTPFaultInjection.Abort -

Abort Http request attempts and return error codes back to downstream -service, giving the impression that the upstream service is faulty.

- -
-
-

HTTPFaultInjection.Abort

-
-

Abort specification is used to prematurely abort a request with a -pre-specified error code. The following example will return an HTTP 400 -error code for 1 out of every 1000 requests to the “ratings” service “v1”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    fault:
-      abort:
-        percentage:
-          value: 0.001
-        httpStatus: 400
-
- -

The httpStatus field is used to indicate the HTTP status code to -return to the caller. The optional percentage field can be used to only -abort a certain percentage of requests. If not specified, all requests are -aborted.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
percentint32 -

Percentage of requests to be aborted with the error code provided (0-100). -Use of integer percent value is deprecated. Use the double percentage -field instead.

- -
httpStatusint32 (oneof) -

REQUIRED. HTTP status code to use to abort the Http request.

- -
percentagePercent -

Percentage of requests to be aborted with the error code provided.

- -
-
-

HTTPFaultInjection.Delay

-
-

Delay specification is used to inject latency into the request -forwarding path. The following example will introduce a 5 second delay -in 1 out of every 1000 requests to the “v1” version of the “reviews” -service from all pods with label env: prod

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - match:
-    - sourceLabels:
-        env: prod
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-    fault:
-      delay:
-        percentage:
-          value: 0.001
-        fixedDelay: 5s
-
- -

The fixedDelay field is used to indicate the amount of delay in seconds. -The optional percentage field can be used to only delay a certain -percentage of requests. If left unspecified, all request will be delayed.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
percentint32 -

Percentage of requests on which the delay will be injected (0-100). -Use of integer percent value is deprecated. Use the double percentage -field instead.

- -
fixedDelaygoogle.protobuf.Duration (oneof) -

REQUIRED. Add a fixed delay before forwarding the request. Format: -1h/1m/1s/1ms. MUST be >=1ms.

- -
percentagePercent -

Percentage of requests on which the delay will be injected.

- -
-
-

HTTPMatchRequest

-
-

HttpMatchRequest specifies a set of criterion to be met in order for the -rule to be applied to the HTTP request. For example, the following -restricts the rule to match only requests where the URL path -starts with /ratings/v2/ and the request contains a custom end-user header -with value jason.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - headers:
-        end-user:
-          exact: jason
-      uri:
-        prefix: "/ratings/v2/"
-    route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-
- -

HTTPMatchRequest CANNOT be empty.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uriStringMatch -

URI to match -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
schemeStringMatch -

URI Scheme -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
methodStringMatch -

HTTP Method -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
authorityStringMatch -

HTTP Authority -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
headersmap<string, StringMatch> -

The header keys must be lowercase and use hyphen as the separator, -e.g. x-request-id.

- -

Header values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -

Note: The keys uri, scheme, method, and authority will be ignored.

- -
portuint32 -

Specifies the ports on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they support, -in these cases it is not required to explicitly select the port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway match is -independent of sourceLabels.

- -
-
-

HTTPRedirect

-
-

HTTPRedirect can be used to send a 301 redirect response to the caller, -where the Authority/Host and the URI in the response can be swapped with -the specified values. For example, the following rule redirects -requests for /v1/getProductRatings API on the ratings service to -/v1/bookRatings provided by the bookratings service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        exact: /v1/getProductRatings
-  redirect:
-    uri: /v1/bookRatings
-    authority: newratings.default.svc.cluster.local
-  ...
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uristring -

On a redirect, overwrite the Path portion of the URL with this -value. Note that the entire path will be replaced, irrespective of the -request URI being matched as an exact path or prefix.

- -
authoritystring -

On a redirect, overwrite the Authority/Host portion of the URL with -this value.

- -
-
-

HTTPRetry

-
-

Describes the retry policy to use when a HTTP request fails. For -example, the following rule sets the maximum number of retries to 3 when -calling ratings:v1 service, with a 2s timeout per retry attempt.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    retries:
-      attempts: 3
-      perTryTimeout: 2s
-      retryOn: gateway-error,connect-failure,refused-stream
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
attemptsint32 -

REQUIRED. Number of retries for a given request. The interval -between retries will be determined automatically (25ms+). Actual -number of retries attempted depends on the httpReqTimeout.

- -
perTryTimeoutgoogle.protobuf.Duration -

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

- -
retryOnstring -

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 -https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on -and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

- -
-
-

HTTPRewrite

-
-

HTTPRewrite can be used to rewrite specific parts of a HTTP request -before forwarding the request to the destination. Rewrite primitive can -be used only with HTTPRouteDestination. The following example -demonstrates how to rewrite the URL prefix for api call (/ratings) to -ratings service before making the actual API call.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: /ratings
-    rewrite:
-      uri: /v1/bookRatings
-    route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uristring -

rewrite the path (or the prefix) portion of the URI with this -value. If the original URI was matched based on prefix, the value -provided in this field will replace the corresponding matched prefix.

- -
authoritystring -

rewrite the Authority/Host header with this value.

- -
-
-

HTTPRoute

-
-

Describes match conditions and actions for routing HTTP/1.1, HTTP2, and -gRPC traffic. See VirtualService for usage examples.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchHTTPMatchRequest[] -

Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeHTTPRouteDestination[] -

A http rule can either redirect or forward (default) traffic. The -forwarding target can be one of several versions of a service (see -glossary in beginning of document). Weights associated with the -service version determine the proportion of traffic it receives.

- -
redirectHTTPRedirect -

A http rule can either redirect or forward (default) traffic. If -traffic passthrough option is specified in the rule, -route/redirect will be ignored. The redirect primitive can be used to -send a HTTP 301 redirect to a different URI or Authority.

- -
rewriteHTTPRewrite -

Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with -Redirect primitive. Rewrite will be performed before forwarding.

- -
timeoutgoogle.protobuf.Duration -

Timeout for HTTP requests.

- -
retriesHTTPRetry -

Retry policy for HTTP requests.

- -
faultHTTPFaultInjection -

Fault injection policy to apply on HTTP traffic at the client side. -Note that timeouts or retries will not be enabled when faults are -enabled on the client side.

- -
mirrorDestination -

Mirror HTTP traffic to a another destination in addition to forwarding -the requests to the intended destination. Mirrored traffic is on a -best effort basis where the sidecar/gateway will not wait for the -mirrored cluster to respond before returning the response from the -original destination. Statistics will be generated for the mirrored -destination.

- -
corsPolicyCorsPolicy -

Cross-Origin Resource Sharing policy (CORS). Refer to -CORS -for further details about cross origin resource sharing.

- -
appendHeadersmap<string, string> -

Use of append_headers is deprecated. Use the headers -field instead.

- -
removeResponseHeadersstring[] -

Use of remove_response_header is deprecated. Use the headers -field instead.

- -
appendResponseHeadersmap<string, string> -

Use of append_response_headers is deprecated. Use the headers -field instead.

- -
removeRequestHeadersstring[] -

Use of remove_request_headers is deprecated. Use the headers -field instead.

- -
appendRequestHeadersmap<string, string> -

Use of append_request_headers is deprecated. Use the headers -field instead.

- -
headersHeaders -

Header manipulation rules

- -
-
-

HTTPRouteDestination

-
-

Each routing rule is associated with one or more service versions (see -glossary in beginning of document). Weights associated with the version -determine the proportion of traffic it receives. For example, the -following rule will route 25% of traffic for the “reviews” service to -instances with the “v2” tag and the remaining traffic (i.e., 75%) to -“v1”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v2
-      weight: 25
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-      weight: 75
-
- -

And the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-spec:
-  host: reviews.prod.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- -

Traffic can also be split across two entirely different services without -having to define new subsets. For example, the following rule forwards 25% of -traffic to reviews.com to dev.reviews.com

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route-two-domains
-spec:
-  hosts:
-  - reviews.com
-  http:
-  - route:
-    - destination:
-        host: dev.reviews.com
-      weight: 25
-    - destination:
-        host: reviews.com
-      weight: 75
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationDestination -

REQUIRED. Destination uniquely identifies the instances of a service -to which the request/connection should be forwarded to.

- -
weightint32 -

REQUIRED. The proportion of traffic to be forwarded to the service -version. (0-100). Sum of weights across destinations SHOULD BE == 100. -If there is only one destination in a rule, the weight value is assumed to -be 100.

- -
removeResponseHeadersstring[] -

Use of remove_response_header is deprecated. Use the headers -field instead.

- -
appendResponseHeadersmap<string, string> -

Use of append_response_headers is deprecated. Use the headers -field instead.

- -
removeRequestHeadersstring[] -

Use of remove_request_headers is deprecated. Use the headers -field instead.

- -
appendRequestHeadersmap<string, string> -

Use of append_request_headers is deprecated. Use the headers -field instead.

- -
headersHeaders -

Header manipulation rules

- -
-
-

Headers

-
-

Header manipulation rules

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
requestHeaders.HeaderOperations -

Header manipulation rules to apply before forwarding a request -to the destination service

- -
responseHeaders.HeaderOperations -

Header manipulation rules to apply before returning a response -to the caller

- -
-
-

Headers.HeaderOperations

-
-

HeaderOperations Describes the header manipulations to apply

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
setmap<string, string> -

Overwrite the headers specified by key with the given values

- -
addmap<string, string> -

Append the given values to the headers specified by keys -(will create a comma-separated list of values)

- -
removestring[] -

Remove a the specified headers

- -
-
-

L4MatchAttributes

-
-

L4 connection match attributes. Note that L4 connection matching support -is incomplete.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationSubnetsstring[] -

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., -a.b.c.d/xx form or just a.b.c.d.

- -
portuint32 -

Specifies the port on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they support, -in these cases it is not required to explicitly select the port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway -match is independent of sourceLabels.

- -
-
-

Percent

-
-

Percent specifies a percentage in the range of [0.0, 100.0].

- - - - - - - - - - - - - - - - -
FieldTypeDescription
valuedouble -
-
-

PortSelector

-
-

PortSelector specifies the number of a port to be used for -matching or selection for final routing.

- - - - - - - - - - - - - - - - -
FieldTypeDescription
numberuint32 (oneof) -

Valid port number

- -
-
-

RouteDestination

-
-

L4 routing rule weighted destination.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationDestination -

REQUIRED. Destination uniquely identifies the instances of a service -to which the request/connection should be forwarded to.

- -
weightint32 -

REQUIRED. The proportion of traffic to be forwarded to the service -version. If there is only one destination in a rule, all traffic will be -routed to it irrespective of the weight.

- -
-
-

StringMatch

-
-

Describes how to match a given string in HTTP headers. Match is -case-sensitive.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
exactstring (oneof) -

exact string match

- -
prefixstring (oneof) -

prefix-based match

- -
regexstring (oneof) -

ECMAscript style regex-based match

- -
-
-

TCPRoute

-
-

Describes match conditions and actions for routing TCP traffic. The -following routing rule forwards traffic arriving at port 27017 for -mongo.prod.svc.cluster.local to another Mongo server on port 5555.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-Mongo
-spec:
-  hosts:
-  - mongo.prod.svc.cluster.local
-  tcp:
-  - match:
-    - port: 27017
-    route:
-    - destination:
-        host: mongo.backup.svc.cluster.local
-        port:
-          number: 5555
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchL4MatchAttributes[] -

Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeRouteDestination[] -

The destination to which the connection should be forwarded to.

- -
-
-

TLSMatchAttributes

-
-

TLS connection match attributes.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
sniHostsstring[] -

REQUIRED. SNI (server name indicator) to match on. Wildcard prefixes -can be used in the SNI value, e.g., *.com will match foo.example.com -as well as example.com. An SNI value must be a subset (i.e., fall -within the domain) of the corresponding virtual serivce’s hosts.

- -
destinationSubnetsstring[] -

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., -a.b.c.d/xx form or just a.b.c.d.

- -
portuint32 -

Specifies the port on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they -support, in these cases it is not required to explicitly select the -port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway -match is independent of sourceLabels.

- -
-
-

TLSRoute

-
-

Describes match conditions and actions for routing unterminated TLS -traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS -traffic arriving at port 443 of gateway called “mygateway” to internal -services in the mesh based on the SNI value.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-sni
-spec:
-  hosts:
-  - "*.bookinfo.com"
-  gateways:
-  - mygateway
-  tls:
-  - match:
-    - port: 443
-      sniHosts:
-      - login.bookinfo.com
-    route:
-    - destination:
-        host: login.prod.svc.cluster.local
-  - match:
-    - port: 443
-      sniHosts:
-      - reviews.bookinfo.com
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchTLSMatchAttributes[] -

REQUIRED. Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeRouteDestination[] -

The destination to which the connection should be forwarded to.

- -
-
-

VirtualService

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hostsstring[] -

REQUIRED. The destination hosts to which traffic is being sent. Could -be a DNS name with wildcard prefix or an IP address. Depending on the -platform, short-names can also be used instead of a FQDN (i.e. has no -dots in the name). In such a scenario, the FQDN of the host would be -derived based on the underlying platform.

- -

A host name can be defined by only one VirtualService. A single -VirtualService can be used to describe traffic properties for multiple -HTTP and TCP ports.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -

The hosts field applies to both HTTP and TCP services. Service inside -the mesh, i.e., those found in the service registry, must always be -referred to using their alphanumeric names. IP addresses are allowed -only for services defined via the Gateway.

- -
gatewaysstring[] -

The names of gateways and sidecars that should apply these routes. A -single VirtualService is used for sidecars inside the mesh as well as -for one or more gateways. The selection condition imposed by this -field can be overridden using the source field in the match conditions -of protocol-specific routes. The reserved word mesh is used to imply -all the sidecars in the mesh. When this field is omitted, the default -gateway (mesh) will be used, which would apply the rule to all -sidecars in the mesh. If a list of gateway names is provided, the -rules will apply only to the gateways. To apply the rules to both -gateways and sidecars, specify mesh as one of the gateway names.

- -
httpHTTPRoute[] -

An ordered list of route rules for HTTP traffic. HTTP routes will be -applied to platform service ports named ‘http-’/‘http2-’/‘grpc-*’, gateway -ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service -entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching -an incoming request is used.

- -
tlsTLSRoute[] -

An ordered list of route rule for non-terminated TLS & HTTPS -traffic. Routing is typically performed using the SNI value presented -by the ClientHello message. TLS routes will be applied to platform -service ports named ‘https-’, ‘tls-’, unterminated gateway ports using -HTTPS/TLS protocols (i.e. with “passthrough” TLS mode) and service -entry ports using HTTPS/TLS protocols. The first rule matching an -incoming request is used. NOTE: Traffic ‘https-’ or ‘tls-’ ports -without associated virtual service will be treated as opaque TCP -traffic.

- -
tcpTCPRoute[] -

An ordered list of route rules for opaque TCP traffic. TCP routes will -be applied to any port that is not a HTTP or TLS port. The first rule -matching an incoming request is used.

- -
exportTostring[] -

A list of namespaces to which this virtual service is exported. Exporting a -virtual service allows it to used by sidecars and gateways defined in -other namespaces. This feature provides a mechanism for service owners -and mesh administrators to control the visibility of virtual services -across namespace boundaries.

- -

If no namespaces are specified then the virtual service is exported to all -namespaces by default.

- -

The value “.” is reserved and defines an export to the same namespace that -the virtual service is declared in, similarly the value “*” is reserved and -defines an export to all namespaces.

- -
-
diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 823adc02bac..f9465aeaaa6 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -17,9 +17,11 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; -// $title: Virtual Service -// $description: Configuration affecting label/content routing, sni routing, etc. -// $location: https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service.html +// $title: Traffic Routing +// $description: Configuration affecting traffic routing. +// $location: https://istio.io/docs/reference/config/istio.networking.v1alpha3.html +// $aliases: +// $ - /docs/reference/config/istio.routing.v1alpha1/ // Configuration affecting traffic routing. Here are a few terms useful to define // in the context of traffic routing. @@ -49,7 +51,10 @@ import "google/protobuf/wrappers.proto"; // actual choice of the version is determined by the proxy/sidecar, enabling the // application code to decouple itself from the evolution of dependent // services. -// +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + // A `VirtualService` defines a set of traffic routing rules to apply when a host is // addressed. Each routing rule defines matching criteria for traffic of a specific // protocol. If the traffic is matched, then it is sent to a named destination service @@ -110,10 +115,6 @@ import "google/protobuf/wrappers.proto"; // version: v2 // ``` // -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; - message VirtualService { // REQUIRED. The destination hosts to which traffic is being sent. Could // be a DNS name with wildcard prefix or an IP address. Depending on the @@ -196,7 +197,7 @@ message VirtualService { // registry. Istio's service registry is composed of all the services found // in the platform's service registry (e.g., Kubernetes services, Consul // services), as well as services declared through the -// [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry) resource. +// [ServiceEntry](#ServiceEntry) resource. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" // instead of "reviews.default.svc.cluster.local"), Istio will interpret @@ -321,7 +322,7 @@ message Destination { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Traffic forwarded to + // declared by [ServiceEntry](#ServiceEntry). Traffic forwarded to // destinations that are not found in either of the two, will be dropped. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" From 231fadc5783337951976d20eb14d07f41b87f99f Mon Sep 17 00:00:00 2001 From: mtail Date: Sat, 23 Feb 2019 22:07:50 -0800 Subject: [PATCH 08/34] Update to latest tools. --- .circleci/config.yml | 2 +- Makefile | 4 +- mesh/v1alpha1/config.pb.go | 800 +++++-- mesh/v1alpha1/network.pb.go | 374 +++- mesh/v1alpha1/proxy.pb.go | 552 +++-- networking/v1alpha3/destination_rule.pb.go | 1256 ++++++++--- networking/v1alpha3/envoy_filter.pb.go | 442 +++- networking/v1alpha3/gateway.pb.go | 468 +++- networking/v1alpha3/service_entry.pb.go | 320 ++- networking/v1alpha3/sidecar.pb.go | 405 +++- networking/v1alpha3/virtual_service.pb.go | 2246 ++++++++++++++++---- tools/all/Dockerfile | 2 +- 12 files changed, 5286 insertions(+), 1585 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a3edfcf89f0..26ed9e5ed41 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 defaults: &defaults working_directory: /src/istio.io/api docker: - - image: gcr.io/istio-testing/api-build-tools:2018-10-31 + - image: gcr.io/istio-testing/api-build-tools:2019-02-23 environment: GOPATH: /go OUT_PATH: /src diff --git a/Makefile b/Makefile index 5d804e31ac5..9dbaa491a7f 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,9 @@ out_path = $(OUT_PATH) docker_lock = protolock docker_tool = prototool else -gen_img := gcr.io/istio-testing/protoc:2018-06-12 +gen_img := gcr.io/istio-testing/protoc:2019-02-23 lock_img := gcr.io/istio-testing/protolock:2018-10-23 -all_img := gcr.io/istio-testing/api-build-tools:2018-10-31 +all_img := gcr.io/istio-testing/api-build-tools:2019-02-23 pwd := $(shell pwd) mount_dir := /src repo_dir := istio.io/api diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 06a61fd9bf0..19ae37cb2c2 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -1,34 +1,18 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mesh/v1alpha1/config.proto -/* - Package v1alpha1 is a generated protocol buffer package. - - Configuration affecting the service mesh as a whole. - - It is generated from these files: - mesh/v1alpha1/config.proto - mesh/v1alpha1/network.proto - mesh/v1alpha1/proxy.proto - - It has these top-level messages: - MeshConfig - ConfigSource - LocalityLoadBalancerSetting - Network - MeshNetworks - Tracing - ProxyConfig -*/ -package v1alpha1 +// Configuration affecting the service mesh as a whole. -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import istio_networking_v1alpha31 "istio.io/api/networking/v1alpha3" +package v1alpha1 -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + v1alpha3 "istio.io/api/networking/v1alpha3" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -65,6 +49,7 @@ var MeshConfig_IngressControllerMode_name = map[int32]string{ 1: "DEFAULT", 2: "STRICT", } + var MeshConfig_IngressControllerMode_value = map[string]int32{ "OFF": 0, "DEFAULT": 1, @@ -74,8 +59,9 @@ var MeshConfig_IngressControllerMode_value = map[string]int32{ func (x MeshConfig_IngressControllerMode) String() string { return proto.EnumName(MeshConfig_IngressControllerMode_name, int32(x)) } + func (MeshConfig_IngressControllerMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 0} } // $hide_from_docs @@ -90,6 +76,7 @@ var MeshConfig_AuthPolicy_name = map[int32]string{ 0: "NONE", 1: "MUTUAL_TLS", } + var MeshConfig_AuthPolicy_value = map[string]int32{ "NONE": 0, "MUTUAL_TLS": 1, @@ -98,8 +85,9 @@ var MeshConfig_AuthPolicy_value = map[string]int32{ func (x MeshConfig_AuthPolicy) String() string { return proto.EnumName(MeshConfig_AuthPolicy_name, int32(x)) } + func (MeshConfig_AuthPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 1} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 1} } type MeshConfig_AccessLogEncoding int32 @@ -113,6 +101,7 @@ var MeshConfig_AccessLogEncoding_name = map[int32]string{ 0: "TEXT", 1: "JSON", } + var MeshConfig_AccessLogEncoding_value = map[string]int32{ "TEXT": 0, "JSON": 1, @@ -121,8 +110,9 @@ var MeshConfig_AccessLogEncoding_value = map[string]int32{ func (x MeshConfig_AccessLogEncoding) String() string { return proto.EnumName(MeshConfig_AccessLogEncoding_name, int32(x)) } + func (MeshConfig_AccessLogEncoding) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 2} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 2} } type MeshConfig_OutboundTrafficPolicy_Mode int32 @@ -140,6 +130,7 @@ var MeshConfig_OutboundTrafficPolicy_Mode_name = map[int32]string{ 0: "REGISTRY_ONLY", 1: "ALLOW_ANY", } + var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{ "REGISTRY_ONLY": 0, "ALLOW_ANY": 1, @@ -148,8 +139,9 @@ var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{ func (x MeshConfig_OutboundTrafficPolicy_Mode) String() string { return proto.EnumName(MeshConfig_OutboundTrafficPolicy_Mode_name, int32(x)) } + func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 0, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 0, 0} } // MeshConfig defines mesh-wide variables shared by all Envoy instances in the @@ -190,9 +182,9 @@ type MeshConfig struct { // Port on which Envoy should listen for HTTP PROXY requests if set. ProxyHttpPort int32 `protobuf:"varint,5,opt,name=proxy_http_port,json=proxyHttpPort,proto3" json:"proxy_http_port,omitempty"` // Connection timeout used by Envoy. (MUST BE >=1ms) - ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + ConnectTimeout *types.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. - TcpKeepalive *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` + TcpKeepalive *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` // Class of ingress resources to be processed by Istio ingress // controller. This corresponds to the value of // "kubernetes.io/ingress.class" annotation. @@ -202,9 +194,9 @@ type MeshConfig struct { // Defines whether to use Istio ingress controller for annotated or all ingress resources. IngressControllerMode MeshConfig_IngressControllerMode `protobuf:"varint,9,opt,name=ingress_controller_mode,json=ingressControllerMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_IngressControllerMode" json:"ingress_controller_mode,omitempty"` // $hide_from_docs - AuthPolicy MeshConfig_AuthPolicy `protobuf:"varint,10,opt,name=auth_policy,json=authPolicy,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AuthPolicy" json:"auth_policy,omitempty"` + AuthPolicy MeshConfig_AuthPolicy `protobuf:"varint,10,opt,name=auth_policy,json=authPolicy,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AuthPolicy" json:"auth_policy,omitempty"` // Deprecated: Do not use. // $hide_from_docs - RdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,11,opt,name=rds_refresh_delay,json=rdsRefreshDelay" json:"rds_refresh_delay,omitempty"` + RdsRefreshDelay *types.Duration `protobuf:"bytes,11,opt,name=rds_refresh_delay,json=rdsRefreshDelay,proto3" json:"rds_refresh_delay,omitempty"` // Deprecated: Do not use. // Flag to control generation of trace spans and request IDs. // Requires a trace span collector defined in the proxy configuration. EnableTracing bool `protobuf:"varint,12,opt,name=enable_tracing,json=enableTracing,proto3" json:"enable_tracing,omitempty"` @@ -222,9 +214,9 @@ type MeshConfig struct { // In case of Kubernetes, the proxy config is applied once during the injection process, // and remain constant for the duration of the pod. The rest of the mesh config can be changed // at runtime and config gets distributed dynamically. - DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig" json:"default_config,omitempty"` + DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"` // $hide_from_docs - MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"` + MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"` // Deprecated: Do not use. // Set the default behavior of the sidecar for handling outbound traffic // from the application. If your application uses one or more external // services that are not known apriori, setting the policy to ALLOW_ANY @@ -233,18 +225,18 @@ type MeshConfig struct { // encouraged to use ServiceEntries to explicitly declare any external // dependencies, instead of using allow_any, so that traffic to these // services can be monitored. - OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy" json:"outbound_traffic_policy,omitempty"` + OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy,proto3" json:"outbound_traffic_policy,omitempty"` // Enables clide side policy checks. EnableClientSidePolicyCheck bool `protobuf:"varint,19,opt,name=enable_client_side_policy_check,json=enableClientSidePolicyCheck,proto3" json:"enable_client_side_policy_check,omitempty"` // Unix Domain Socket through which envoy communicates with NodeAgent SDS to get key/cert for mTLS. // Use secret-mount files instead of SDS if set to empty. SdsUdsPath string `protobuf:"bytes,20,opt,name=sds_uds_path,json=sdsUdsPath,proto3" json:"sds_uds_path,omitempty"` // $hide_from_docs - SdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,21,opt,name=sds_refresh_delay,json=sdsRefreshDelay" json:"sds_refresh_delay,omitempty"` + SdsRefreshDelay *types.Duration `protobuf:"bytes,21,opt,name=sds_refresh_delay,json=sdsRefreshDelay,proto3" json:"sds_refresh_delay,omitempty"` // Deprecated: Do not use. // ConfigSource describes a source of configuration data for networking // rules, and other Istio configuration artifacts. Multiple data sources // can be configured for a single control plane. - ConfigSources []*ConfigSource `protobuf:"bytes,22,rep,name=config_sources,json=configSources" json:"config_sources,omitempty"` + 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 @@ -289,21 +281,21 @@ type MeshConfig struct { // // For further discussion see the reference documentation for ServiceEntry, // Sidecar, and Gateway. - DefaultServiceExportTo []string `protobuf:"bytes,31,rep,name=default_service_export_to,json=defaultServiceExportTo" json:"default_service_export_to,omitempty"` + DefaultServiceExportTo []string `protobuf:"bytes,31,rep,name=default_service_export_to,json=defaultServiceExportTo,proto3" json:"default_service_export_to,omitempty"` // $hide_from_docs // The default value for the VirtualService.export_to field. Has the same // syntax as 'default_service_export_to'. // // If not set the system will use "*" as the default value which implies that // virtual services are exported to all namespaces - DefaultVirtualServiceExportTo []string `protobuf:"bytes,32,rep,name=default_virtual_service_export_to,json=defaultVirtualServiceExportTo" json:"default_virtual_service_export_to,omitempty"` + DefaultVirtualServiceExportTo []string `protobuf:"bytes,32,rep,name=default_virtual_service_export_to,json=defaultVirtualServiceExportTo,proto3" json:"default_virtual_service_export_to,omitempty"` // $hide_from_docs // The default value for the DestinationRule.export_to field. Has the same // syntax as 'default_service_export_to'. // // If not set the system will use "*" as the default value which implies that // destination rules are exported to all namespaces - DefaultDestinationRuleExportTo []string `protobuf:"bytes,33,rep,name=default_destination_rule_export_to,json=defaultDestinationRuleExportTo" json:"default_destination_rule_export_to,omitempty"` + 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 @@ -321,13 +313,44 @@ type MeshConfig struct { // 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"` // Locality based load balancing distribution or failover settings. - LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting" json:"locality_lb_setting,omitempty"` + LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MeshConfig) Reset() { *m = MeshConfig{} } +func (m *MeshConfig) String() string { return proto.CompactTextString(m) } +func (*MeshConfig) ProtoMessage() {} +func (*MeshConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c7ece76d5d5022, []int{0} +} +func (m *MeshConfig) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshConfig.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshConfig.Merge(m, src) +} +func (m *MeshConfig) XXX_Size() int { + return m.Size() +} +func (m *MeshConfig) XXX_DiscardUnknown() { + xxx_messageInfo_MeshConfig.DiscardUnknown(m) } -func (m *MeshConfig) Reset() { *m = MeshConfig{} } -func (m *MeshConfig) String() string { return proto.CompactTextString(m) } -func (*MeshConfig) ProtoMessage() {} -func (*MeshConfig) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0} } +var xxx_messageInfo_MeshConfig proto.InternalMessageInfo func (m *MeshConfig) GetMixerCheckServer() string { if m != nil { @@ -378,14 +401,14 @@ func (m *MeshConfig) GetProxyHttpPort() int32 { return 0 } -func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration { +func (m *MeshConfig) GetConnectTimeout() *types.Duration { if m != nil { return m.ConnectTimeout } return nil } -func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive { +func (m *MeshConfig) GetTcpKeepalive() *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive { if m != nil { return m.TcpKeepalive } @@ -413,6 +436,7 @@ func (m *MeshConfig) GetIngressControllerMode() MeshConfig_IngressControllerMode return MeshConfig_OFF } +// Deprecated: Do not use. func (m *MeshConfig) GetAuthPolicy() MeshConfig_AuthPolicy { if m != nil { return m.AuthPolicy @@ -420,7 +444,8 @@ func (m *MeshConfig) GetAuthPolicy() MeshConfig_AuthPolicy { return MeshConfig_NONE } -func (m *MeshConfig) GetRdsRefreshDelay() *google_protobuf.Duration { +// Deprecated: Do not use. +func (m *MeshConfig) GetRdsRefreshDelay() *types.Duration { if m != nil { return m.RdsRefreshDelay } @@ -462,6 +487,7 @@ func (m *MeshConfig) GetDefaultConfig() *ProxyConfig { return nil } +// Deprecated: Do not use. func (m *MeshConfig) GetMixerAddress() string { if m != nil { return m.MixerAddress @@ -490,7 +516,8 @@ func (m *MeshConfig) GetSdsUdsPath() string { return "" } -func (m *MeshConfig) GetSdsRefreshDelay() *google_protobuf.Duration { +// Deprecated: Do not use. +func (m *MeshConfig) GetSdsRefreshDelay() *types.Duration { if m != nil { return m.SdsRefreshDelay } @@ -561,15 +588,44 @@ func (m *MeshConfig) GetLocalityLbSetting() *LocalityLoadBalancerSetting { } type MeshConfig_OutboundTrafficPolicy struct { - Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` + Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *MeshConfig_OutboundTrafficPolicy) Reset() { *m = MeshConfig_OutboundTrafficPolicy{} } func (m *MeshConfig_OutboundTrafficPolicy) String() string { return proto.CompactTextString(m) } func (*MeshConfig_OutboundTrafficPolicy) ProtoMessage() {} func (*MeshConfig_OutboundTrafficPolicy) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 0} +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.Merge(m, src) } +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Size() int { + return m.Size() +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_MeshConfig_OutboundTrafficPolicy proto.InternalMessageInfo func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficPolicy_Mode { if m != nil { @@ -589,13 +645,44 @@ type ConfigSource struct { // Use the tls_settings to specify the tls mode to use. If the MCP server // uses Istio MTLS and shares the root CA with Pilot, specify the TLS // mode as ISTIO_MUTUAL. - TlsSettings *istio_networking_v1alpha31.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"` + 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:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigSource) Reset() { *m = ConfigSource{} } +func (m *ConfigSource) String() string { return proto.CompactTextString(m) } +func (*ConfigSource) ProtoMessage() {} +func (*ConfigSource) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c7ece76d5d5022, []int{1} +} +func (m *ConfigSource) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConfigSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConfigSource.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConfigSource) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigSource.Merge(m, src) +} +func (m *ConfigSource) XXX_Size() int { + return m.Size() +} +func (m *ConfigSource) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigSource.DiscardUnknown(m) } -func (m *ConfigSource) Reset() { *m = ConfigSource{} } -func (m *ConfigSource) String() string { return proto.CompactTextString(m) } -func (*ConfigSource) ProtoMessage() {} -func (*ConfigSource) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{1} } +var xxx_messageInfo_ConfigSource proto.InternalMessageInfo func (m *ConfigSource) GetAddress() string { if m != nil { @@ -604,7 +691,7 @@ func (m *ConfigSource) GetAddress() string { return "" } -func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha31.TLSSettings { +func (m *ConfigSource) GetTlsSettings() *v1alpha3.TLSSettings { if m != nil { return m.TlsSettings } @@ -663,21 +750,50 @@ type LocalityLoadBalancerSetting struct { // 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) // If empty, the locality weight is set according to the endpoints number within it. - Distribute []*LocalityLoadBalancerSetting_Distribute `protobuf:"bytes,1,rep,name=distribute" json:"distribute,omitempty"` + Distribute []*LocalityLoadBalancerSetting_Distribute `protobuf:"bytes,1,rep,name=distribute,proto3" json:"distribute,omitempty"` // Optional: only failover or distribute can be set. // Explicitly specify the region traffic will land on when endpoints in local region becomes unhealthy. // Should be used together with OutlierDetection to detect unhealthy endpoints. // Note: if no OutlierDetection specified, this will not take effect. - Failover []*LocalityLoadBalancerSetting_Failover `protobuf:"bytes,2,rep,name=failover" json:"failover,omitempty"` + Failover []*LocalityLoadBalancerSetting_Failover `protobuf:"bytes,2,rep,name=failover,proto3" json:"failover,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LocalityLoadBalancerSetting) Reset() { *m = LocalityLoadBalancerSetting{} } func (m *LocalityLoadBalancerSetting) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting) ProtoMessage() {} func (*LocalityLoadBalancerSetting) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{2} + return fileDescriptor_b5c7ece76d5d5022, []int{2} +} +func (m *LocalityLoadBalancerSetting) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LocalityLoadBalancerSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LocalityLoadBalancerSetting.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LocalityLoadBalancerSetting) XXX_Merge(src proto.Message) { + xxx_messageInfo_LocalityLoadBalancerSetting.Merge(m, src) +} +func (m *LocalityLoadBalancerSetting) XXX_Size() int { + return m.Size() +} +func (m *LocalityLoadBalancerSetting) XXX_DiscardUnknown() { + xxx_messageInfo_LocalityLoadBalancerSetting.DiscardUnknown(m) } +var xxx_messageInfo_LocalityLoadBalancerSetting proto.InternalMessageInfo + func (m *LocalityLoadBalancerSetting) GetDistribute() []*LocalityLoadBalancerSetting_Distribute { if m != nil { return m.Distribute @@ -705,7 +821,10 @@ type LocalityLoadBalancerSetting_Distribute struct { // Map of upstream localities to traffic distribution weights. The sum of // all weights should be == 100. Any locality not assigned a weight will // receive no traffic. - To map[string]uint32 `protobuf:"bytes,2,rep,name=to" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + To map[string]uint32 `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LocalityLoadBalancerSetting_Distribute) Reset() { @@ -714,8 +833,34 @@ func (m *LocalityLoadBalancerSetting_Distribute) Reset() { func (m *LocalityLoadBalancerSetting_Distribute) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting_Distribute) ProtoMessage() {} func (*LocalityLoadBalancerSetting_Distribute) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{2, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{2, 0} +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Merge(src proto.Message) { + xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Merge(m, src) +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Size() int { + return m.Size() } +func (m *LocalityLoadBalancerSetting_Distribute) XXX_DiscardUnknown() { + xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.DiscardUnknown(m) +} + +var xxx_messageInfo_LocalityLoadBalancerSetting_Distribute proto.InternalMessageInfo func (m *LocalityLoadBalancerSetting_Distribute) GetFrom() string { if m != nil { @@ -743,15 +888,44 @@ type LocalityLoadBalancerSetting_Failover struct { From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` // Destination region the traffic will fail over to when endpoints in // the 'from' region becomes unhealthy. - To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` + To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LocalityLoadBalancerSetting_Failover) Reset() { *m = LocalityLoadBalancerSetting_Failover{} } func (m *LocalityLoadBalancerSetting_Failover) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting_Failover) ProtoMessage() {} func (*LocalityLoadBalancerSetting_Failover) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{2, 1} + return fileDescriptor_b5c7ece76d5d5022, []int{2, 1} +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Merge(src proto.Message) { + xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Merge(m, src) +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Size() int { + return m.Size() } +func (m *LocalityLoadBalancerSetting_Failover) XXX_DiscardUnknown() { + xxx_messageInfo_LocalityLoadBalancerSetting_Failover.DiscardUnknown(m) +} + +var xxx_messageInfo_LocalityLoadBalancerSetting_Failover proto.InternalMessageInfo func (m *LocalityLoadBalancerSetting_Failover) GetFrom() string { if m != nil { @@ -768,17 +942,117 @@ func (m *LocalityLoadBalancerSetting_Failover) GetTo() string { } func init() { + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) proto.RegisterType((*MeshConfig)(nil), "istio.mesh.v1alpha1.MeshConfig") proto.RegisterType((*MeshConfig_OutboundTrafficPolicy)(nil), "istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy") proto.RegisterType((*ConfigSource)(nil), "istio.mesh.v1alpha1.ConfigSource") proto.RegisterType((*LocalityLoadBalancerSetting)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting") proto.RegisterType((*LocalityLoadBalancerSetting_Distribute)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute") + proto.RegisterMapType((map[string]uint32)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute.ToEntry") proto.RegisterType((*LocalityLoadBalancerSetting_Failover)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Failover") - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) } + +func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptor_b5c7ece76d5d5022) } + +var fileDescriptor_b5c7ece76d5d5022 = []byte{ + // 1461 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xb8, + 0x15, 0x36, 0x65, 0x25, 0x96, 0x8f, 0x7e, 0x4c, 0xc1, 0x71, 0x96, 0x56, 0xba, 0x5e, 0x59, 0x3b, + 0x49, 0x34, 0x9e, 0x0e, 0xdd, 0xd8, 0xb3, 0x33, 0xc9, 0xf6, 0xca, 0x96, 0xe4, 0x8d, 0xbd, 0xb2, + 0xe5, 0xa1, 0xe8, 0xb4, 0x69, 0x2f, 0x50, 0x98, 0x84, 0x24, 0xd4, 0x14, 0xc1, 0x21, 0x40, 0x27, + 0x7a, 0xa7, 0x76, 0xa6, 0x8f, 0xd1, 0xcb, 0x3e, 0x42, 0x27, 0x77, 0x7d, 0x8b, 0x0e, 0x01, 0xd2, + 0x52, 0xbc, 0x9a, 0xb8, 0xe9, 0xde, 0x11, 0xdf, 0xf9, 0xce, 0x07, 0xe2, 0x9c, 0x83, 0x8f, 0x84, + 0xc6, 0x94, 0x8a, 0xc9, 0xfe, 0xed, 0x2b, 0x12, 0x44, 0x13, 0xf2, 0x6a, 0xdf, 0xe3, 0xe1, 0x88, + 0x8d, 0xed, 0x28, 0xe6, 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x76, 0xca, 0xb0, 0x73, 0x46, 0x63, + 0x67, 0xcc, 0xf9, 0x38, 0xa0, 0xfb, 0x8a, 0x72, 0x9d, 0x8c, 0xf6, 0xfd, 0x24, 0x26, 0x92, 0xf1, + 0x50, 0x27, 0x35, 0xb6, 0x3f, 0x17, 0x8c, 0x62, 0xfe, 0x71, 0x96, 0x85, 0xf6, 0x42, 0x2a, 0x3f, + 0xf0, 0xf8, 0x86, 0x85, 0xe3, 0x9c, 0x70, 0xb8, 0xef, 0x53, 0x21, 0x59, 0xa8, 0x14, 0x70, 0x9c, + 0x04, 0x54, 0x73, 0x5b, 0xff, 0x41, 0x00, 0xe7, 0x54, 0x4c, 0x3a, 0xea, 0x85, 0xd0, 0x6f, 0x01, + 0x4d, 0xd9, 0x47, 0x1a, 0x63, 0x6f, 0x42, 0xbd, 0x1b, 0x2c, 0x68, 0x7c, 0x4b, 0x63, 0xcb, 0x68, + 0x1a, 0xed, 0x75, 0xc7, 0x54, 0x91, 0x4e, 0x1a, 0x18, 0x2a, 0x1c, 0xd9, 0xb0, 0xa9, 0xd9, 0x31, + 0x8d, 0x78, 0x2c, 0x73, 0x7a, 0x41, 0xd1, 0xeb, 0x2a, 0xe4, 0xa8, 0x48, 0xc6, 0x3f, 0x80, 0x2d, + 0x9f, 0x09, 0x72, 0x1d, 0x50, 0x1c, 0xf1, 0x80, 0x79, 0x33, 0xbd, 0x8d, 0xb0, 0x56, 0x9b, 0x46, + 0xbb, 0xe4, 0x6c, 0x66, 0xc1, 0x4b, 0x15, 0x53, 0x1b, 0x09, 0x74, 0x08, 0x4f, 0x17, 0xb9, 0x78, + 0x44, 0x58, 0x80, 0x79, 0x44, 0x43, 0x6b, 0x5b, 0x27, 0x45, 0x73, 0xf6, 0x09, 0x61, 0xc1, 0x20, + 0xa2, 0x21, 0xba, 0x84, 0xe7, 0x82, 0xf9, 0xd4, 0x23, 0x31, 0x96, 0x1c, 0x4b, 0x1a, 0xd0, 0x29, + 0x95, 0xf1, 0x0c, 0x0b, 0x2a, 0x44, 0x5a, 0x00, 0x32, 0x1a, 0xb1, 0x90, 0xc9, 0x99, 0xb5, 0xa3, + 0x34, 0x76, 0x33, 0xb2, 0xcb, 0xdd, 0x9c, 0x3a, 0xd4, 0xcc, 0xa3, 0x8c, 0x88, 0xf6, 0xa0, 0xae, + 0x4a, 0x8c, 0x03, 0x26, 0x24, 0x0d, 0x71, 0x7a, 0x2a, 0xab, 0xd8, 0x34, 0xda, 0x8f, 0x9c, 0x0d, + 0x15, 0xe8, 0x2b, 0xfc, 0x92, 0xc7, 0x12, 0xbd, 0x00, 0x0d, 0xe1, 0x89, 0x94, 0x91, 0x66, 0x3e, + 0x52, 0xcc, 0xaa, 0x82, 0xdf, 0x4a, 0x19, 0x29, 0xde, 0x31, 0x6c, 0x78, 0x3c, 0x0c, 0xa9, 0x27, + 0xb1, 0x64, 0x53, 0xca, 0x13, 0x69, 0x3d, 0x6e, 0x1a, 0xed, 0xf2, 0xc1, 0xb6, 0xad, 0x9b, 0x6f, + 0xe7, 0xcd, 0xb7, 0xbb, 0x59, 0xf3, 0x9d, 0x5a, 0x96, 0xe1, 0xea, 0x04, 0xc4, 0xa1, 0x2a, 0xbd, + 0x08, 0xdf, 0x50, 0x1a, 0x91, 0x80, 0xdd, 0x52, 0xeb, 0x37, 0x4a, 0xe1, 0xcc, 0xd6, 0x33, 0x35, + 0x9f, 0x84, 0x7c, 0xb2, 0x0e, 0xed, 0x8e, 0x56, 0x60, 0x3c, 0xbc, 0xe4, 0x3c, 0x18, 0x52, 0x29, + 0x59, 0x38, 0x16, 0xb6, 0xdb, 0xb9, 0x9c, 0x3f, 0x7b, 0xd1, 0xcf, 0xb9, 0xa2, 0x53, 0x91, 0x0b, + 0x2b, 0xf4, 0x3d, 0x54, 0x59, 0x38, 0x8e, 0xa9, 0x10, 0xd8, 0x0b, 0x88, 0x10, 0xd6, 0x9a, 0xea, + 0x76, 0x25, 0x03, 0x3b, 0x29, 0x86, 0x5e, 0xc2, 0x46, 0x4e, 0x4a, 0x67, 0x82, 0x79, 0xd4, 0x2a, + 0x29, 0x5a, 0x2d, 0x83, 0x87, 0x1a, 0x45, 0x53, 0xf8, 0xe6, 0x4e, 0x8d, 0x87, 0x32, 0xe6, 0x41, + 0x40, 0x63, 0x3c, 0xe5, 0x3e, 0xb5, 0xd6, 0x9b, 0x46, 0xbb, 0x76, 0xf0, 0x83, 0xbd, 0xe4, 0x72, + 0xd8, 0xf3, 0x89, 0xb5, 0x4f, 0xb3, 0x7d, 0xef, 0xb2, 0xcf, 0xb9, 0x4f, 0x9d, 0x2d, 0xb6, 0x0c, + 0x46, 0x03, 0x28, 0x93, 0x44, 0x4e, 0xb2, 0xe9, 0xb3, 0x40, 0x6d, 0xb1, 0xf7, 0xd0, 0x16, 0x47, + 0x89, 0x9c, 0xe8, 0x99, 0x3c, 0x2e, 0x58, 0x86, 0x03, 0xe4, 0x6e, 0x8d, 0x4e, 0xa1, 0x1e, 0xfb, + 0x02, 0xc7, 0x74, 0x14, 0x53, 0x31, 0xc1, 0x3e, 0x0d, 0xc8, 0xcc, 0x2a, 0x3f, 0xd0, 0x44, 0xa5, + 0xb2, 0x11, 0xfb, 0xc2, 0xd1, 0x69, 0xdd, 0x34, 0x0b, 0x3d, 0x87, 0x1a, 0x0d, 0xd5, 0xdd, 0x90, + 0x31, 0xf1, 0x58, 0x38, 0xb6, 0x2a, 0x6a, 0x38, 0xab, 0x1a, 0x75, 0x35, 0x98, 0x0e, 0x17, 0xf1, + 0xbc, 0xb4, 0x60, 0x01, 0x1f, 0xe3, 0x11, 0x0b, 0xa8, 0x55, 0x55, 0xa5, 0xad, 0x6a, 0xb8, 0xcf, + 0xc7, 0x27, 0x2c, 0xa0, 0xe9, 0xc0, 0x2e, 0xf2, 0x78, 0x3c, 0x25, 0xd2, 0xb2, 0x14, 0x73, 0x63, + 0xce, 0x54, 0x30, 0x22, 0xb0, 0xb9, 0xc0, 0xa5, 0xa1, 0xc7, 0xfd, 0x74, 0xff, 0x67, 0xaa, 0x3c, + 0xaf, 0x1e, 0x2c, 0x4f, 0xae, 0xd6, 0xcb, 0x12, 0x9d, 0x3a, 0xb9, 0x0f, 0xa1, 0x9f, 0xa0, 0xe6, + 0xd3, 0x11, 0x49, 0x02, 0x89, 0xb5, 0xf7, 0x59, 0x35, 0x55, 0xa5, 0xe6, 0x52, 0xf5, 0xcb, 0xf4, + 0x9e, 0x68, 0x79, 0xa7, 0x9a, 0xe5, 0x65, 0x0e, 0xf5, 0x12, 0xaa, 0xda, 0x73, 0x88, 0xef, 0xa7, + 0x1d, 0xb6, 0xcc, 0xf4, 0x4c, 0xaa, 0xa4, 0x15, 0x15, 0x38, 0xd2, 0x78, 0x3a, 0x5a, 0x3c, 0x91, + 0xd7, 0x3c, 0x09, 0xfd, 0xb4, 0xa2, 0xa3, 0x11, 0xf3, 0xf2, 0xbe, 0xd7, 0xd5, 0xd6, 0x0f, 0x8e, + 0xd6, 0x20, 0x4b, 0x77, 0x75, 0xb6, 0x6e, 0xb9, 0xb3, 0xc5, 0x97, 0xc1, 0xa8, 0x0b, 0xdf, 0x65, + 0xed, 0xf3, 0x02, 0x46, 0x43, 0x89, 0x53, 0x4f, 0xf9, 0xcc, 0xe6, 0xac, 0x4d, 0xd5, 0xcf, 0x67, + 0x9a, 0xd6, 0x51, 0xac, 0x21, 0xf3, 0x17, 0xed, 0x0e, 0x35, 0xa1, 0x22, 0x7c, 0x81, 0x13, 0x5f, + 0xe0, 0x88, 0xc8, 0x89, 0xf5, 0x44, 0x35, 0x0c, 0x84, 0x2f, 0xae, 0x7c, 0x71, 0x49, 0xe4, 0x24, + 0x9d, 0x38, 0xf1, 0x8b, 0x89, 0xdb, 0xfa, 0x9f, 0x26, 0x4e, 0xdc, 0x9b, 0xb8, 0xb7, 0x50, 0xd3, + 0xbd, 0xc0, 0x82, 0x27, 0xb1, 0x47, 0x85, 0xf5, 0xb4, 0xb9, 0xda, 0x2e, 0x1f, 0xec, 0x2e, 0x2d, + 0x8c, 0x2e, 0xca, 0x50, 0x31, 0x9d, 0xaa, 0xb7, 0xb0, 0x52, 0x26, 0x9d, 0x1d, 0x3e, 0x7d, 0x37, + 0xc9, 0x6f, 0x68, 0x88, 0xa7, 0x3c, 0x09, 0xa5, 0xf5, 0x8d, 0x36, 0x69, 0x1d, 0x1d, 0xfa, 0xc2, + 0x4d, 0x63, 0xe7, 0x69, 0x08, 0xed, 0x01, 0x52, 0x67, 0x15, 0x14, 0xdf, 0xbc, 0x16, 0x58, 0x10, + 0xfc, 0xd7, 0x0f, 0xd2, 0xfa, 0x56, 0x25, 0xd4, 0xd2, 0x13, 0x0b, 0xfa, 0xf3, 0x6b, 0x31, 0x24, + 0x67, 0x1f, 0x24, 0xda, 0x85, 0x8a, 0x8c, 0x13, 0x21, 0xb1, 0xcf, 0xa7, 0x84, 0x85, 0x56, 0x43, + 0xd5, 0xa5, 0xac, 0xb0, 0xae, 0x82, 0xd0, 0x1b, 0xd8, 0xce, 0x27, 0x2c, 0xf3, 0x1c, 0x4c, 0x3f, + 0xaa, 0xcf, 0x92, 0xe4, 0xd6, 0x77, 0xcd, 0xd5, 0xf6, 0xba, 0xf3, 0x34, 0x23, 0x64, 0xee, 0xd3, + 0x53, 0x61, 0x97, 0xa3, 0xb7, 0xb0, 0x9b, 0xa7, 0xde, 0xb2, 0x58, 0x26, 0x24, 0x58, 0x22, 0xd1, + 0x54, 0x12, 0xdf, 0x66, 0xc4, 0x77, 0x9a, 0x77, 0x5f, 0xe9, 0x0c, 0x5a, 0xb9, 0xd2, 0xfd, 0x0f, + 0xee, 0x82, 0xd4, 0xae, 0x92, 0xda, 0xc9, 0x98, 0xdd, 0x39, 0xd1, 0x49, 0x82, 0xb9, 0xd6, 0x73, + 0xa8, 0xc5, 0x9c, 0x4b, 0x1c, 0x92, 0x29, 0x15, 0x11, 0xf1, 0xa8, 0xd5, 0xd2, 0x17, 0x3d, 0x45, + 0x2f, 0x72, 0x10, 0xfd, 0x05, 0x36, 0x03, 0xee, 0x91, 0x80, 0xc9, 0x19, 0x0e, 0xae, 0xb1, 0xd0, + 0x1e, 0x6e, 0x7d, 0xaf, 0x46, 0xe2, 0x77, 0x4b, 0x5b, 0xd9, 0xcf, 0xf8, 0x7d, 0x4e, 0xfc, 0x63, + 0x12, 0x90, 0xd0, 0xa3, 0x71, 0xe6, 0xfd, 0x4e, 0x3d, 0x17, 0xeb, 0x5f, 0x67, 0x50, 0xe3, 0xef, + 0x06, 0x6c, 0x2d, 0xbd, 0x0b, 0xe8, 0x02, 0x8a, 0xca, 0xab, 0x0d, 0xe5, 0x14, 0x3f, 0xfe, 0x5f, + 0x17, 0xca, 0x56, 0x86, 0xad, 0x74, 0x5a, 0x5d, 0x28, 0x2a, 0x9f, 0xae, 0x43, 0xd5, 0xe9, 0xfd, + 0x74, 0x3a, 0x74, 0x9d, 0xf7, 0x78, 0x70, 0xd1, 0x7f, 0x6f, 0xae, 0xa0, 0x2a, 0xac, 0x1f, 0xf5, + 0xfb, 0x83, 0x3f, 0xe0, 0xa3, 0x8b, 0xf7, 0xa6, 0xd1, 0x2a, 0x96, 0x0a, 0x66, 0x61, 0xef, 0xc9, + 0xbb, 0x53, 0xc7, 0xbd, 0x3a, 0xea, 0xe3, 0x61, 0xcf, 0x79, 0x77, 0xda, 0xe9, 0x29, 0x72, 0xeb, + 0x0d, 0x6c, 0x2d, 0xfd, 0x2a, 0xa0, 0x35, 0x58, 0x1d, 0x9c, 0x9c, 0x98, 0x2b, 0xa8, 0x0c, 0x6b, + 0xdd, 0xde, 0xc9, 0xd1, 0x55, 0xdf, 0x35, 0x0d, 0x04, 0xf0, 0x78, 0xe8, 0x3a, 0xa7, 0x1d, 0xd7, + 0x2c, 0xb4, 0x5e, 0x00, 0xcc, 0xdd, 0x1e, 0x95, 0xa0, 0x78, 0x31, 0xb8, 0xe8, 0x99, 0x2b, 0xa8, + 0x06, 0x70, 0x7e, 0xa5, 0x76, 0x72, 0xfb, 0x43, 0xd3, 0x68, 0xbd, 0x84, 0xfa, 0x2f, 0x6c, 0x2f, + 0xa5, 0xbb, 0xbd, 0x3f, 0xba, 0xe6, 0x4a, 0xfa, 0x74, 0x36, 0x1c, 0x5c, 0x98, 0xc6, 0x59, 0xb1, + 0xb4, 0x61, 0x9a, 0x67, 0xc5, 0x12, 0x32, 0x37, 0x5b, 0x02, 0x2a, 0x8b, 0x97, 0x08, 0x59, 0xb0, + 0x96, 0x9b, 0x98, 0xfe, 0xc3, 0xca, 0x97, 0xe8, 0x14, 0x2a, 0x32, 0x10, 0x79, 0x2f, 0x85, 0xfa, + 0xa3, 0x2a, 0x1f, 0xbc, 0xf8, 0xc2, 0x47, 0xdd, 0xed, 0x0f, 0xf3, 0xaf, 0xb7, 0x53, 0x96, 0x81, + 0xc8, 0x17, 0xad, 0x7f, 0xac, 0xc2, 0xb3, 0x2f, 0xf4, 0x1b, 0xfd, 0x19, 0xc0, 0x67, 0x42, 0xc6, + 0xec, 0x3a, 0x91, 0x69, 0x23, 0x53, 0x03, 0xf8, 0xfd, 0xd7, 0x4e, 0x8d, 0xdd, 0xbd, 0x93, 0x70, + 0x16, 0xe4, 0xd0, 0x15, 0x94, 0xd2, 0xff, 0x35, 0xae, 0xff, 0x0a, 0x53, 0xe9, 0x37, 0x5f, 0x2d, + 0x7d, 0x92, 0x09, 0x38, 0x77, 0x52, 0x8d, 0xbf, 0x19, 0x00, 0xf3, 0x1d, 0x11, 0x82, 0xe2, 0x28, + 0xe6, 0xd3, 0xac, 0x88, 0xea, 0x19, 0x0d, 0xa1, 0x20, 0x79, 0xb6, 0x67, 0xe7, 0x57, 0x1c, 0xc7, + 0x76, 0x79, 0x2f, 0x94, 0xf1, 0xcc, 0x29, 0x48, 0xde, 0xf8, 0x01, 0xd6, 0xb2, 0x25, 0x32, 0x61, + 0xf5, 0x86, 0xce, 0xb2, 0x2d, 0xd3, 0x47, 0xf4, 0x04, 0x1e, 0xdd, 0x92, 0x20, 0xa1, 0xaa, 0x59, + 0x55, 0x47, 0x2f, 0x7e, 0x2c, 0xbc, 0x36, 0x1a, 0x36, 0x94, 0xf2, 0x43, 0x2c, 0x7d, 0xd7, 0x5a, + 0xf6, 0xae, 0x29, 0x52, 0x90, 0xfc, 0xb8, 0xfd, 0xcf, 0x4f, 0x3b, 0xc6, 0xbf, 0x3e, 0xed, 0x18, + 0xff, 0xfe, 0xb4, 0x63, 0xfc, 0xa9, 0xa1, 0x5f, 0x9e, 0xf1, 0x7d, 0x12, 0xb1, 0xfd, 0xcf, 0xfe, + 0xfa, 0xaf, 0x1f, 0x2b, 0xa7, 0x3f, 0xfc, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5b, 0xff, 0xe8, + 0x08, 0x5e, 0x0c, 0x00, 0x00, +} + func (m *MeshConfig) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1114,6 +1388,9 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n7 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1137,6 +1414,9 @@ func (m *MeshConfig_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintConfig(dAtA, i, uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1171,6 +1451,9 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { } i += n8 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1213,6 +1496,9 @@ func (m *LocalityLoadBalancerSetting) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1253,6 +1539,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) MarshalTo(dAtA []byte) (int, er i = encodeVarintConfig(dAtA, i, uint64(v)) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1283,6 +1572,9 @@ func (m *LocalityLoadBalancerSetting_Failover) MarshalTo(dAtA []byte) (int, erro i = encodeVarintConfig(dAtA, i, uint64(len(m.To))) i += copy(dAtA[i:], m.To) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1296,6 +1588,9 @@ func encodeVarintConfig(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *MeshConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.MixerCheckServer) @@ -1426,19 +1721,31 @@ func (m *MeshConfig) Size() (n int) { l = m.LocalityLbSetting.Size() n += 2 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Mode != 0 { n += 1 + sovConfig(uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConfigSource) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -1449,10 +1756,16 @@ func (m *ConfigSource) Size() (n int) { l = m.TlsSettings.Size() n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LocalityLoadBalancerSetting) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Distribute) > 0 { @@ -1467,10 +1780,16 @@ func (m *LocalityLoadBalancerSetting) Size() (n int) { n += 1 + l + sovConfig(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.From) @@ -1485,10 +1804,16 @@ func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) { n += mapEntrySize + 1 + sovConfig(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.From) @@ -1499,6 +1824,9 @@ func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) { if l > 0 { n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -1530,7 +1858,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1558,7 +1886,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1568,6 +1896,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1587,7 +1918,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1597,6 +1928,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1616,7 +1950,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1636,7 +1970,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyListenPort |= (int32(b) & 0x7F) << shift + m.ProxyListenPort |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1655,7 +1989,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyHttpPort |= (int32(b) & 0x7F) << shift + m.ProxyHttpPort |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1674,7 +2008,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1683,11 +2017,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &google_protobuf.Duration{} + m.ConnectTimeout = &types.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1707,7 +2044,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1717,6 +2054,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1736,7 +2076,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1746,6 +2086,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1765,7 +2108,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.IngressControllerMode |= (MeshConfig_IngressControllerMode(b) & 0x7F) << shift + m.IngressControllerMode |= MeshConfig_IngressControllerMode(b&0x7F) << shift if b < 0x80 { break } @@ -1784,7 +2127,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AuthPolicy |= (MeshConfig_AuthPolicy(b) & 0x7F) << shift + m.AuthPolicy |= MeshConfig_AuthPolicy(b&0x7F) << shift if b < 0x80 { break } @@ -1803,7 +2146,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1812,11 +2155,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.RdsRefreshDelay == nil { - m.RdsRefreshDelay = &google_protobuf.Duration{} + m.RdsRefreshDelay = &types.Duration{} } if err := m.RdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1836,7 +2182,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1856,7 +2202,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1866,6 +2212,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1885,7 +2234,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1894,6 +2243,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1918,7 +2270,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1928,6 +2280,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1947,7 +2302,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1956,6 +2311,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1980,7 +2338,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2000,7 +2358,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2010,6 +2368,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2029,7 +2390,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2038,11 +2399,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.SdsRefreshDelay == nil { - m.SdsRefreshDelay = &google_protobuf.Duration{} + m.SdsRefreshDelay = &types.Duration{} } if err := m.SdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2062,7 +2426,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2071,6 +2435,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2093,7 +2460,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2113,7 +2480,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2123,6 +2490,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2142,7 +2512,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2162,7 +2532,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2172,6 +2542,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2191,7 +2564,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AccessLogEncoding |= (MeshConfig_AccessLogEncoding(b) & 0x7F) << shift + m.AccessLogEncoding |= MeshConfig_AccessLogEncoding(b&0x7F) << shift if b < 0x80 { break } @@ -2210,7 +2583,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2219,11 +2592,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.TcpKeepalive == nil { - m.TcpKeepalive = &istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + m.TcpKeepalive = &v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} } if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2243,7 +2619,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2263,7 +2639,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2283,7 +2659,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2293,6 +2669,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2312,7 +2691,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2322,6 +2701,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2341,7 +2723,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2351,6 +2733,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2370,7 +2755,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2380,6 +2765,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2399,7 +2787,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2408,6 +2796,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2427,9 +2818,13 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2454,7 +2849,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2482,7 +2877,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (MeshConfig_OutboundTrafficPolicy_Mode(b) & 0x7F) << shift + m.Mode |= MeshConfig_OutboundTrafficPolicy_Mode(b&0x7F) << shift if b < 0x80 { break } @@ -2496,9 +2891,13 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2523,7 +2922,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2551,7 +2950,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2561,6 +2960,9 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2580,7 +2982,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2589,11 +2991,14 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.TlsSettings == nil { - m.TlsSettings = &istio_networking_v1alpha31.TLSSettings{} + m.TlsSettings = &v1alpha3.TLSSettings{} } if err := m.TlsSettings.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2608,9 +3013,13 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2635,7 +3044,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2663,7 +3072,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2672,6 +3081,9 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2694,7 +3106,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2703,6 +3115,9 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2720,9 +3135,13 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2747,7 +3166,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2775,7 +3194,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2785,6 +3204,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2804,7 +3226,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2813,6 +3235,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2833,7 +3258,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2850,7 +3275,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2860,6 +3285,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthConfig + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -2875,7 +3303,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvalue |= (uint32(b) & 0x7F) << shift + mapvalue |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -2906,9 +3334,13 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2933,7 +3365,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2961,7 +3393,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2971,6 +3403,9 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2990,7 +3425,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3000,6 +3435,9 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3014,9 +3452,13 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3080,10 +3522,13 @@ func skipConfig(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthConfig } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } return iNdEx, nil case 3: for { @@ -3112,6 +3557,9 @@ func skipConfig(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } } return iNdEx, nil case 4: @@ -3130,101 +3578,3 @@ var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } - -var fileDescriptorConfig = []byte{ - // 1463 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xb8, - 0x15, 0x0e, 0x65, 0x27, 0x76, 0x8e, 0x7e, 0x4c, 0xc1, 0x71, 0x96, 0x51, 0xba, 0x5e, 0x59, 0x3b, - 0x49, 0x34, 0x9e, 0x8e, 0xdc, 0x38, 0xb3, 0x33, 0xc9, 0xf6, 0xca, 0x91, 0xe4, 0x8d, 0xbd, 0x8a, - 0xe5, 0xa1, 0xe8, 0xb4, 0x69, 0x2f, 0x50, 0x98, 0x84, 0x24, 0xd4, 0x14, 0xc1, 0x21, 0x40, 0x27, - 0x7a, 0xa7, 0x76, 0xa6, 0x8f, 0xd1, 0xcb, 0x3e, 0x42, 0x27, 0x77, 0x7d, 0x8b, 0x0e, 0x7e, 0x68, - 0x29, 0x59, 0xcd, 0xba, 0xdb, 0xbd, 0x23, 0xbe, 0xf3, 0x9d, 0xef, 0x00, 0xe7, 0x1c, 0xe0, 0x10, - 0x1a, 0x33, 0x2a, 0xa6, 0x07, 0xd7, 0xcf, 0x49, 0x9c, 0x4e, 0xc9, 0xf3, 0x83, 0x90, 0x27, 0x63, - 0x36, 0xe9, 0xa4, 0x19, 0x97, 0x1c, 0x6d, 0x33, 0x21, 0x19, 0xef, 0x28, 0x46, 0xa7, 0x60, 0x34, - 0x76, 0x27, 0x9c, 0x4f, 0x62, 0x7a, 0xa0, 0x29, 0x97, 0xf9, 0xf8, 0x20, 0xca, 0x33, 0x22, 0x19, - 0x4f, 0x8c, 0x53, 0xe3, 0xd1, 0xe7, 0x82, 0x69, 0xc6, 0x3f, 0xce, 0xad, 0x69, 0x3f, 0xa1, 0xf2, - 0x03, 0xcf, 0xae, 0x58, 0x32, 0x29, 0x08, 0x2f, 0x0e, 0x22, 0x2a, 0x24, 0x4b, 0xb4, 0x02, 0xce, - 0xf2, 0x98, 0x1a, 0x6e, 0xeb, 0x3f, 0x08, 0xe0, 0x2d, 0x15, 0xd3, 0xae, 0xde, 0x10, 0xfa, 0x2d, - 0xa0, 0x19, 0xfb, 0x48, 0x33, 0x1c, 0x4e, 0x69, 0x78, 0x85, 0x05, 0xcd, 0xae, 0x69, 0xe6, 0x39, - 0x4d, 0xa7, 0x7d, 0xdf, 0x77, 0xb5, 0xa5, 0xab, 0x0c, 0x23, 0x8d, 0xa3, 0x0e, 0x6c, 0x1b, 0x76, - 0x46, 0x53, 0x9e, 0xc9, 0x82, 0x5e, 0xd2, 0xf4, 0xba, 0x36, 0xf9, 0xda, 0x62, 0xf9, 0x87, 0xb0, - 0x13, 0x31, 0x41, 0x2e, 0x63, 0x8a, 0x53, 0x1e, 0xb3, 0x70, 0x6e, 0xc2, 0x08, 0x6f, 0xad, 0xe9, - 0xb4, 0x37, 0xfd, 0x6d, 0x6b, 0x3c, 0xd7, 0x36, 0x1d, 0x48, 0xa0, 0x7d, 0xa8, 0xeb, 0xb3, 0xe1, - 0x98, 0x09, 0x49, 0x13, 0xac, 0xe4, 0xbc, 0xf5, 0xa6, 0xd3, 0xbe, 0xeb, 0x6f, 0x69, 0xc3, 0x40, - 0xe3, 0xe7, 0x3c, 0x93, 0xe8, 0x29, 0x18, 0x08, 0x4f, 0xa5, 0x4c, 0x0d, 0xf3, 0xae, 0x66, 0x56, - 0x35, 0xfc, 0x46, 0xca, 0x54, 0xf3, 0x5e, 0xc3, 0x56, 0xc8, 0x93, 0x84, 0x86, 0x12, 0x4b, 0x36, - 0xa3, 0x3c, 0x97, 0xde, 0xbd, 0xa6, 0xd3, 0x2e, 0x1f, 0x3e, 0xea, 0x98, 0xac, 0x77, 0x8a, 0xac, - 0x77, 0x7a, 0x36, 0xeb, 0x7e, 0xcd, 0x7a, 0x04, 0xc6, 0x01, 0x7d, 0x0b, 0x55, 0x96, 0x4c, 0x32, - 0x2a, 0x04, 0x0e, 0x63, 0x22, 0x84, 0xb7, 0xa1, 0x4f, 0x5d, 0xb1, 0x60, 0x57, 0x61, 0xe8, 0x19, - 0x6c, 0x15, 0x24, 0x95, 0x1b, 0x16, 0x52, 0x6f, 0x53, 0xd3, 0x6a, 0x16, 0x1e, 0x19, 0x14, 0xcd, - 0xe0, 0xab, 0x1b, 0x35, 0x9e, 0xc8, 0x8c, 0xc7, 0x31, 0xcd, 0xf0, 0x8c, 0x47, 0xd4, 0xbb, 0xdf, - 0x74, 0xda, 0xb5, 0xc3, 0xef, 0x3a, 0x2b, 0x9a, 0xa4, 0xb3, 0xa8, 0x5c, 0xe7, 0xc4, 0xc6, 0xbd, - 0xf1, 0x7e, 0xcb, 0x23, 0xea, 0xef, 0xb0, 0x55, 0x30, 0x1a, 0x42, 0x99, 0xe4, 0x72, 0x6a, 0xab, - 0xe0, 0x81, 0x0e, 0xb1, 0x7f, 0x5b, 0x88, 0xa3, 0x5c, 0x4e, 0x4d, 0x6d, 0x5e, 0x97, 0x3c, 0xc7, - 0x07, 0x72, 0xb3, 0x46, 0x27, 0x50, 0xcf, 0x22, 0x81, 0x33, 0x3a, 0xce, 0xa8, 0x98, 0xe2, 0x88, - 0xc6, 0x64, 0xee, 0x95, 0x6f, 0xc9, 0xa9, 0x56, 0xd9, 0xca, 0x22, 0xe1, 0x1b, 0xb7, 0x9e, 0xf2, - 0x42, 0x4f, 0xa0, 0x46, 0x13, 0xdd, 0x23, 0x32, 0x23, 0x21, 0x4b, 0x26, 0x5e, 0x45, 0x77, 0x47, - 0xd5, 0xa0, 0x81, 0x01, 0x55, 0xad, 0x49, 0x18, 0xaa, 0x84, 0xc5, 0x7c, 0x82, 0xc7, 0x2c, 0xa6, - 0x5e, 0x55, 0xa7, 0xb6, 0x6a, 0xe0, 0x01, 0x9f, 0x1c, 0xb3, 0x98, 0xa2, 0x1f, 0xa0, 0x16, 0xd1, - 0x31, 0xc9, 0x63, 0x89, 0xcd, 0xa5, 0xf3, 0x6a, 0x7a, 0x5b, 0xcd, 0x95, 0xa7, 0x3d, 0x57, 0x7d, - 0x62, 0x8e, 0xeb, 0x57, 0xad, 0x9f, 0xbd, 0x1a, 0xcf, 0xa0, 0x6a, 0x9a, 0x9d, 0x44, 0x91, 0x4a, - 0xa9, 0xe7, 0xaa, 0x70, 0xfa, 0x0c, 0x15, 0x6d, 0x38, 0x32, 0xb8, 0xaa, 0x25, 0xcf, 0xe5, 0x25, - 0xcf, 0x93, 0x48, 0x1d, 0x61, 0x3c, 0x66, 0x61, 0x91, 0xe8, 0xba, 0x0e, 0x7d, 0x6b, 0x2d, 0x87, - 0xd6, 0x3d, 0x30, 0xde, 0x26, 0xc7, 0xfe, 0x0e, 0x5f, 0x05, 0xa3, 0x1e, 0x7c, 0x63, 0xf3, 0x15, - 0xc6, 0x8c, 0x26, 0x12, 0x0b, 0x16, 0x7d, 0x7e, 0xbf, 0xbc, 0x6d, 0x9d, 0xc0, 0xc7, 0x86, 0xd6, - 0xd5, 0xac, 0x11, 0x8b, 0x96, 0xef, 0x19, 0x6a, 0x42, 0x45, 0x44, 0x02, 0xe7, 0x91, 0xc0, 0x29, - 0x91, 0x53, 0xef, 0x81, 0xce, 0x25, 0x88, 0x48, 0x5c, 0x44, 0xe2, 0x9c, 0xc8, 0xa9, 0x2a, 0xb1, - 0xf8, 0x49, 0x89, 0x77, 0xfe, 0xa7, 0x12, 0x8b, 0x2f, 0x4a, 0xfc, 0x06, 0x6a, 0xa6, 0x16, 0x58, - 0xf0, 0x3c, 0x0b, 0xa9, 0xf0, 0x1e, 0x36, 0xd7, 0xda, 0xe5, 0xc3, 0xbd, 0x95, 0x89, 0x31, 0x49, - 0x19, 0x69, 0xa6, 0x5f, 0x0d, 0x97, 0x56, 0x02, 0xbd, 0x80, 0x87, 0xf6, 0xf0, 0x6a, 0x6f, 0x92, - 0x5f, 0xd1, 0x04, 0xcf, 0x78, 0x9e, 0x48, 0xef, 0x2b, 0xf3, 0xa4, 0x18, 0xeb, 0x28, 0x12, 0x81, - 0xb2, 0xbd, 0x55, 0x26, 0xf5, 0xa4, 0x2c, 0xb7, 0x0e, 0xcf, 0x66, 0x44, 0x7a, 0x9e, 0x3e, 0xf0, - 0xd6, 0xa2, 0x79, 0x34, 0xac, 0x02, 0x2c, 0xa7, 0x12, 0x8f, 0x09, 0x8b, 0x31, 0x4f, 0x69, 0xe2, - 0x3d, 0x32, 0x01, 0xd2, 0x45, 0x12, 0x8f, 0x09, 0x8b, 0x87, 0x29, 0x4d, 0xd0, 0x1e, 0x54, 0x64, - 0x96, 0x0b, 0x89, 0x23, 0x3e, 0x23, 0x2c, 0xf1, 0x1a, 0x5a, 0xbb, 0xac, 0xb1, 0x9e, 0x86, 0x10, - 0x81, 0xed, 0xa5, 0x3d, 0xd0, 0x24, 0xe4, 0x91, 0x6a, 0xf5, 0xc7, 0xfa, 0x26, 0x3e, 0xbf, 0xf5, - 0x26, 0x16, 0xbb, 0xec, 0x5b, 0x47, 0xbf, 0x4e, 0xbe, 0x84, 0x10, 0x87, 0xaa, 0x0c, 0x53, 0x7c, - 0x45, 0x69, 0x4a, 0x62, 0x76, 0x4d, 0xbd, 0xdf, 0xe8, 0x62, 0x9d, 0x5a, 0xf1, 0xc5, 0x90, 0x28, - 0x42, 0xbc, 0x50, 0xa9, 0x56, 0x6f, 0x1c, 0xe3, 0xc9, 0x39, 0xe7, 0xf1, 0x88, 0x4a, 0xc9, 0x92, - 0x89, 0xe8, 0x04, 0xdd, 0xf3, 0xc5, 0x77, 0x98, 0xfe, 0x58, 0x28, 0xfa, 0x15, 0xb9, 0xb4, 0x42, - 0xfb, 0x80, 0x74, 0x0f, 0x09, 0x8a, 0xaf, 0x5e, 0x0a, 0x2c, 0x08, 0xfe, 0xeb, 0x07, 0xe9, 0x7d, - 0xad, 0xf3, 0x54, 0x53, 0x9d, 0x24, 0xe8, 0x8f, 0x2f, 0xc5, 0x88, 0x9c, 0x7e, 0x90, 0xe8, 0x1c, - 0x9e, 0xa8, 0x3e, 0x0d, 0x49, 0x86, 0x25, 0xc7, 0x92, 0xc6, 0x74, 0x46, 0x65, 0x36, 0xc7, 0x82, - 0x0a, 0xa1, 0x46, 0x94, 0xea, 0xf0, 0x84, 0xc9, 0xb9, 0xb7, 0xab, 0xdd, 0xf7, 0x2c, 0x39, 0xe0, - 0x41, 0x41, 0x1d, 0x19, 0xe6, 0x91, 0x25, 0xa2, 0x57, 0xf0, 0xa8, 0xb8, 0xe8, 0xf6, 0xad, 0xc5, - 0xf4, 0xa3, 0x1e, 0x4b, 0x92, 0x7b, 0xdf, 0x34, 0xd7, 0xda, 0xf7, 0xfd, 0x87, 0x96, 0x60, 0x5f, - 0xdd, 0xbe, 0x36, 0x07, 0x1c, 0xbd, 0x81, 0xbd, 0xc2, 0xf5, 0x9a, 0x65, 0x32, 0x27, 0xf1, 0x0a, - 0x89, 0xa6, 0x96, 0xf8, 0xda, 0x12, 0xdf, 0x19, 0xde, 0x97, 0x4a, 0xa7, 0xd0, 0x2a, 0x94, 0xbe, - 0x1c, 0xb8, 0x4b, 0x52, 0x7b, 0x5a, 0x6a, 0xd7, 0x32, 0x7b, 0x0b, 0xa2, 0x9f, 0xc7, 0x0b, 0xad, - 0x27, 0x50, 0xcb, 0x38, 0x97, 0x38, 0x21, 0x33, 0x2a, 0x52, 0x12, 0x52, 0xaf, 0x65, 0x1e, 0x38, - 0x85, 0x9e, 0x15, 0x20, 0xfa, 0x0b, 0x6c, 0xc7, 0x3c, 0x24, 0x31, 0x93, 0x73, 0x1c, 0x5f, 0x62, - 0x61, 0x0a, 0xe5, 0x7d, 0xab, 0x8b, 0xfd, 0xbb, 0x95, 0x9d, 0x34, 0xb0, 0xfc, 0x01, 0x27, 0xd1, - 0x6b, 0x12, 0x93, 0x24, 0xa4, 0x99, 0x2d, 0xb0, 0x5f, 0x2f, 0xc4, 0x06, 0x97, 0x16, 0x6a, 0xfc, - 0xdd, 0x81, 0x9d, 0x95, 0x4f, 0x12, 0x3a, 0x83, 0x75, 0x3d, 0xa3, 0x1c, 0xdd, 0xb6, 0xdf, 0xff, - 0x5f, 0xef, 0x5a, 0x47, 0x0f, 0x2a, 0xad, 0xd3, 0xea, 0xc1, 0xba, 0x9e, 0x4f, 0x75, 0xa8, 0xfa, - 0xfd, 0x1f, 0x4e, 0x46, 0x81, 0xff, 0x1e, 0x0f, 0xcf, 0x06, 0xef, 0xdd, 0x3b, 0xa8, 0x0a, 0xf7, - 0x8f, 0x06, 0x83, 0xe1, 0x1f, 0xf0, 0xd1, 0xd9, 0x7b, 0xd7, 0x69, 0xad, 0x6f, 0x96, 0xdc, 0xd2, - 0xfe, 0x83, 0x77, 0x27, 0x7e, 0x70, 0x71, 0x34, 0xc0, 0xa3, 0xbe, 0xff, 0xee, 0xa4, 0xdb, 0xd7, - 0xe4, 0xd6, 0x2b, 0xd8, 0x59, 0x39, 0x0d, 0xd1, 0x06, 0xac, 0x0d, 0x8f, 0x8f, 0xdd, 0x3b, 0xa8, - 0x0c, 0x1b, 0xbd, 0xfe, 0xf1, 0xd1, 0xc5, 0x20, 0x70, 0x1d, 0x04, 0x70, 0x6f, 0x14, 0xf8, 0x27, - 0xdd, 0xc0, 0x2d, 0xb5, 0x9e, 0x02, 0x2c, 0xa6, 0x1c, 0xda, 0x84, 0xf5, 0xb3, 0xe1, 0x59, 0xdf, - 0xbd, 0x83, 0x6a, 0x00, 0x6f, 0x2f, 0x74, 0xa4, 0x60, 0x30, 0x72, 0x9d, 0xd6, 0x33, 0xa8, 0xff, - 0xe4, 0x0e, 0x2a, 0x7a, 0xd0, 0xff, 0x63, 0xe0, 0xde, 0x51, 0x5f, 0xa7, 0xa3, 0xe1, 0x99, 0xeb, - 0x9c, 0xae, 0x6f, 0x6e, 0xb9, 0xee, 0xe9, 0xfa, 0x26, 0x72, 0xb7, 0x5b, 0x02, 0x2a, 0xcb, 0x6f, - 0x19, 0xf2, 0x60, 0xa3, 0x98, 0x25, 0xe6, 0x0f, 0xab, 0x58, 0xa2, 0x13, 0xa8, 0xc8, 0x58, 0x14, - 0xb5, 0x14, 0xfa, 0x8f, 0xaa, 0x7c, 0xf8, 0xf4, 0x67, 0x6e, 0x6e, 0x30, 0x18, 0x15, 0x57, 0xd4, - 0x2f, 0xcb, 0x58, 0x14, 0x8b, 0xd6, 0x3f, 0xd6, 0xe0, 0xf1, 0xcf, 0xd4, 0x1b, 0xfd, 0x19, 0x20, - 0x62, 0x42, 0x66, 0xec, 0x32, 0x97, 0xaa, 0x90, 0xea, 0x1d, 0xfe, 0xfd, 0x2f, 0xed, 0x9a, 0x4e, - 0xef, 0x46, 0xc2, 0x5f, 0x92, 0x43, 0x17, 0xb0, 0xa9, 0x1e, 0x4c, 0x6e, 0xfe, 0x0a, 0x95, 0xf4, - 0xab, 0x5f, 0x2c, 0x7d, 0x6c, 0x05, 0xfc, 0x1b, 0xa9, 0xc6, 0xdf, 0x1c, 0x80, 0x45, 0x44, 0x84, - 0x60, 0x7d, 0x9c, 0xf1, 0x99, 0x4d, 0xa2, 0xfe, 0x46, 0x23, 0x28, 0x49, 0x6e, 0x63, 0x76, 0x7f, - 0xc5, 0x71, 0x3a, 0x01, 0xef, 0x27, 0x32, 0x9b, 0xfb, 0x25, 0xc9, 0x1b, 0xdf, 0xc1, 0x86, 0x5d, - 0x22, 0x17, 0xd6, 0xae, 0xe8, 0xdc, 0x86, 0x54, 0x9f, 0xe8, 0x01, 0xdc, 0xbd, 0x26, 0x71, 0x4e, - 0x75, 0xb1, 0xaa, 0xbe, 0x59, 0x7c, 0x5f, 0x7a, 0xe9, 0x34, 0x3a, 0xb0, 0x59, 0x1c, 0x62, 0xe5, - 0x5e, 0x6b, 0x76, 0xaf, 0x0a, 0x29, 0x49, 0xfe, 0xba, 0xfd, 0xcf, 0x4f, 0xbb, 0xce, 0xbf, 0x3e, - 0xed, 0x3a, 0xff, 0xfe, 0xb4, 0xeb, 0xfc, 0xa9, 0x61, 0x36, 0xcf, 0xf8, 0x01, 0x49, 0xd9, 0xc1, - 0x67, 0x7f, 0xfd, 0x97, 0xf7, 0xf4, 0xc0, 0x7d, 0xf1, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, - 0xc5, 0xfa, 0x45, 0x5e, 0x0c, 0x00, 0x00, -} diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go index 6c7f002b4ff..d29f114fd78 100644 --- a/mesh/v1alpha1/network.pb.go +++ b/mesh/v1alpha1/network.pb.go @@ -3,17 +3,24 @@ package v1alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Network provides information about the endpoints in a routable L3 // network. A single routable L3 network can have one or more service // registries. Note that the network has no relation to the locality of the @@ -23,15 +30,46 @@ type Network struct { // REQUIRED: The list of endpoints in the network (obtained through the // constituent service registries or from CIDR ranges). All endpoints in // the network are directly accessible to one another. - Endpoints []*Network_NetworkEndpoints `protobuf:"bytes,2,rep,name=endpoints" json:"endpoints,omitempty"` + Endpoints []*Network_NetworkEndpoints `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // REQUIRED: Set of gateways associated with the network. - Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways" json:"gateways,omitempty"` + Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Network) Reset() { *m = Network{} } +func (m *Network) String() string { return proto.CompactTextString(m) } +func (*Network) ProtoMessage() {} +func (*Network) Descriptor() ([]byte, []int) { + return fileDescriptor_a15df2a96e10cd86, []int{0} +} +func (m *Network) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Network) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Network.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Network) XXX_Merge(src proto.Message) { + xxx_messageInfo_Network.Merge(m, src) +} +func (m *Network) XXX_Size() int { + return m.Size() +} +func (m *Network) XXX_DiscardUnknown() { + xxx_messageInfo_Network.DiscardUnknown(m) } -func (m *Network) Reset() { *m = Network{} } -func (m *Network) String() string { return proto.CompactTextString(m) } -func (*Network) ProtoMessage() {} -func (*Network) Descriptor() ([]byte, []int) { return fileDescriptorNetwork, []int{0} } +var xxx_messageInfo_Network proto.InternalMessageInfo func (m *Network) GetEndpoints() []*Network_NetworkEndpoints { if m != nil { @@ -71,15 +109,44 @@ type Network_NetworkEndpoints struct { // Types that are valid to be assigned to Ne: // *Network_NetworkEndpoints_FromCidr // *Network_NetworkEndpoints_FromRegistry - Ne isNetwork_NetworkEndpoints_Ne `protobuf_oneof:"ne"` + Ne isNetwork_NetworkEndpoints_Ne `protobuf_oneof:"ne"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Network_NetworkEndpoints) Reset() { *m = Network_NetworkEndpoints{} } func (m *Network_NetworkEndpoints) String() string { return proto.CompactTextString(m) } func (*Network_NetworkEndpoints) ProtoMessage() {} func (*Network_NetworkEndpoints) Descriptor() ([]byte, []int) { - return fileDescriptorNetwork, []int{0, 0} + return fileDescriptor_a15df2a96e10cd86, []int{0, 0} +} +func (m *Network_NetworkEndpoints) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Network_NetworkEndpoints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Network_NetworkEndpoints.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Network_NetworkEndpoints) XXX_Merge(src proto.Message) { + xxx_messageInfo_Network_NetworkEndpoints.Merge(m, src) +} +func (m *Network_NetworkEndpoints) XXX_Size() int { + return m.Size() } +func (m *Network_NetworkEndpoints) XXX_DiscardUnknown() { + xxx_messageInfo_Network_NetworkEndpoints.DiscardUnknown(m) +} + +var xxx_messageInfo_Network_NetworkEndpoints proto.InternalMessageInfo type isNetwork_NetworkEndpoints_Ne interface { isNetwork_NetworkEndpoints_Ne() @@ -170,11 +237,11 @@ func _Network_NetworkEndpoints_OneofSizer(msg proto.Message) (n int) { // ne switch x := m.Ne.(type) { case *Network_NetworkEndpoints_FromCidr: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.FromCidr))) n += len(x.FromCidr) case *Network_NetworkEndpoints_FromRegistry: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.FromRegistry))) n += len(x.FromRegistry) case nil: @@ -195,16 +262,45 @@ type Network_IstioNetworkGateway struct { // REQUIRED: The port associated with the gateway. Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // The locality associated with an explicitly specified gateway (i.e. ip) - Locality string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` + Locality string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Network_IstioNetworkGateway) Reset() { *m = Network_IstioNetworkGateway{} } func (m *Network_IstioNetworkGateway) String() string { return proto.CompactTextString(m) } func (*Network_IstioNetworkGateway) ProtoMessage() {} func (*Network_IstioNetworkGateway) Descriptor() ([]byte, []int) { - return fileDescriptorNetwork, []int{0, 1} + return fileDescriptor_a15df2a96e10cd86, []int{0, 1} +} +func (m *Network_IstioNetworkGateway) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Network_IstioNetworkGateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Network_IstioNetworkGateway.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Network_IstioNetworkGateway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Network_IstioNetworkGateway.Merge(m, src) +} +func (m *Network_IstioNetworkGateway) XXX_Size() int { + return m.Size() +} +func (m *Network_IstioNetworkGateway) XXX_DiscardUnknown() { + xxx_messageInfo_Network_IstioNetworkGateway.DiscardUnknown(m) } +var xxx_messageInfo_Network_IstioNetworkGateway proto.InternalMessageInfo + type isNetwork_IstioNetworkGateway_Gw interface { isNetwork_IstioNetworkGateway_Gw() MarshalTo([]byte) (int, error) @@ -308,11 +404,11 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) { // gw switch x := m.Gw.(type) { case *Network_IstioNetworkGateway_RegistryServiceName: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.RegistryServiceName))) n += len(x.RegistryServiceName) case *Network_IstioNetworkGateway_Address: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Address))) n += len(x.Address) case nil: @@ -339,13 +435,44 @@ 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 // the network as well as the gateways associated with the network. - Networks map[string]*Network `protobuf:"bytes,1,rep,name=networks" json:"networks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Networks map[string]*Network `protobuf:"bytes,1,rep,name=networks,proto3" json:"networks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MeshNetworks) Reset() { *m = MeshNetworks{} } -func (m *MeshNetworks) String() string { return proto.CompactTextString(m) } -func (*MeshNetworks) ProtoMessage() {} -func (*MeshNetworks) Descriptor() ([]byte, []int) { return fileDescriptorNetwork, []int{1} } +func (m *MeshNetworks) Reset() { *m = MeshNetworks{} } +func (m *MeshNetworks) String() string { return proto.CompactTextString(m) } +func (*MeshNetworks) ProtoMessage() {} +func (*MeshNetworks) Descriptor() ([]byte, []int) { + return fileDescriptor_a15df2a96e10cd86, []int{1} +} +func (m *MeshNetworks) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshNetworks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshNetworks.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshNetworks) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshNetworks.Merge(m, src) +} +func (m *MeshNetworks) XXX_Size() int { + return m.Size() +} +func (m *MeshNetworks) XXX_DiscardUnknown() { + xxx_messageInfo_MeshNetworks.DiscardUnknown(m) +} + +var xxx_messageInfo_MeshNetworks proto.InternalMessageInfo func (m *MeshNetworks) GetNetworks() map[string]*Network { if m != nil { @@ -359,7 +486,41 @@ func init() { proto.RegisterType((*Network_NetworkEndpoints)(nil), "istio.mesh.v1alpha1.Network.NetworkEndpoints") proto.RegisterType((*Network_IstioNetworkGateway)(nil), "istio.mesh.v1alpha1.Network.IstioNetworkGateway") proto.RegisterType((*MeshNetworks)(nil), "istio.mesh.v1alpha1.MeshNetworks") + proto.RegisterMapType((map[string]*Network)(nil), "istio.mesh.v1alpha1.MeshNetworks.NetworksEntry") +} + +func init() { proto.RegisterFile("mesh/v1alpha1/network.proto", fileDescriptor_a15df2a96e10cd86) } + +var fileDescriptor_a15df2a96e10cd86 = []byte{ + // 403 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x8e, 0xda, 0x30, + 0x10, 0xc6, 0xeb, 0x84, 0x96, 0x30, 0x80, 0x84, 0x8c, 0x2a, 0x45, 0x69, 0x8b, 0x10, 0x52, 0xa5, + 0x5c, 0x9a, 0x14, 0xda, 0x43, 0xd5, 0x23, 0x15, 0x6a, 0x2b, 0x5a, 0x0e, 0xee, 0xa9, 0x3d, 0x14, + 0xb9, 0xc4, 0x05, 0x8b, 0x24, 0x8e, 0x6c, 0x2f, 0x28, 0x0f, 0xb3, 0xb7, 0x7d, 0x86, 0x7d, 0x86, + 0x3d, 0xee, 0x23, 0xac, 0x78, 0x92, 0x55, 0xfe, 0xee, 0xb2, 0x42, 0x9c, 0x6c, 0xcf, 0xf7, 0xfd, + 0x66, 0xc6, 0x63, 0xc3, 0xab, 0x88, 0xa9, 0x8d, 0xbf, 0x1b, 0xd3, 0x30, 0xd9, 0xd0, 0xb1, 0x1f, + 0x33, 0xbd, 0x17, 0x72, 0xeb, 0x25, 0x52, 0x68, 0x81, 0xfb, 0x5c, 0x69, 0x2e, 0xbc, 0xcc, 0xe2, + 0x55, 0x96, 0xd1, 0x95, 0x09, 0xcd, 0x45, 0x61, 0xc3, 0x73, 0x68, 0xb1, 0x38, 0x48, 0x04, 0x8f, + 0xb5, 0xb2, 0x8d, 0xa1, 0xe9, 0xb6, 0x27, 0xef, 0xbc, 0x13, 0x90, 0x57, 0x02, 0xd5, 0x3a, 0xab, + 0x20, 0xf2, 0xc0, 0xe3, 0x1f, 0x60, 0xad, 0xa9, 0x66, 0x7b, 0x9a, 0x2a, 0xdb, 0xcc, 0x73, 0xbd, + 0x3f, 0x9b, 0xeb, 0x7b, 0xa6, 0x95, 0x87, 0xaf, 0x05, 0x48, 0xea, 0x0c, 0xce, 0x5f, 0xe8, 0x3d, + 0x2d, 0x86, 0xdf, 0x40, 0xeb, 0xbf, 0x14, 0xd1, 0x72, 0xc5, 0x03, 0x69, 0xa3, 0x21, 0x72, 0x5b, + 0xdf, 0x9e, 0x11, 0x2b, 0x0b, 0x7d, 0xe1, 0x81, 0xc4, 0x6f, 0xa1, 0x9b, 0xcb, 0x92, 0xad, 0xb9, + 0xd2, 0x32, 0xb5, 0x8d, 0xd2, 0xd2, 0xc9, 0xc2, 0xa4, 0x8c, 0x4e, 0x1b, 0x60, 0xc4, 0xcc, 0xb9, + 0x44, 0xd0, 0x3f, 0xd1, 0x01, 0xfe, 0x08, 0x2f, 0x2b, 0x7e, 0xa9, 0x98, 0xdc, 0xf1, 0x15, 0x5b, + 0xc6, 0x34, 0x62, 0x75, 0xbd, 0x7e, 0x25, 0xff, 0x2a, 0xd4, 0x05, 0x8d, 0x18, 0x76, 0xa0, 0x49, + 0x83, 0x40, 0x32, 0xa5, 0xea, 0xa2, 0x55, 0x00, 0x63, 0x68, 0x24, 0x42, 0x6a, 0xdb, 0x1c, 0x22, + 0xb7, 0x4b, 0xf2, 0x3d, 0x76, 0xc0, 0x0a, 0xc5, 0x8a, 0x86, 0x5c, 0xa7, 0x76, 0x23, 0x03, 0x48, + 0x7d, 0xce, 0xfa, 0x5b, 0xef, 0x47, 0xd7, 0x08, 0x3a, 0x3f, 0x99, 0xda, 0x94, 0xed, 0x29, 0x3c, + 0x07, 0xab, 0x7c, 0x5d, 0x65, 0xa3, 0x7c, 0xbc, 0xfe, 0xc9, 0xf1, 0x3e, 0x86, 0xaa, 0x59, 0xab, + 0x59, 0xac, 0x65, 0x4a, 0xea, 0x04, 0xce, 0x6f, 0xe8, 0x1e, 0x49, 0xb8, 0x07, 0xe6, 0x96, 0xa5, + 0xc5, 0x25, 0x49, 0xb6, 0xc5, 0x13, 0x78, 0xbe, 0xa3, 0xe1, 0x05, 0xcb, 0x2f, 0xd4, 0x9e, 0xbc, + 0x3e, 0xf7, 0x96, 0xa4, 0xb0, 0x7e, 0x36, 0x3e, 0xa1, 0xa9, 0x7b, 0x73, 0x18, 0xa0, 0xdb, 0xc3, + 0x00, 0xdd, 0x1d, 0x06, 0xe8, 0x8f, 0x53, 0x50, 0x5c, 0xf8, 0x34, 0xe1, 0xfe, 0xd1, 0x67, 0xfd, + 0xf7, 0x22, 0xff, 0xa5, 0x1f, 0xee, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x70, 0x44, 0x24, 0xc4, + 0x02, 0x00, 0x00, } + func (m *Network) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -399,6 +560,9 @@ func (m *Network) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -424,6 +588,9 @@ func (m *Network_NetworkEndpoints) MarshalTo(dAtA []byte) (int, error) { } i += nn1 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -476,6 +643,9 @@ func (m *Network_IstioNetworkGateway) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintNetwork(dAtA, i, uint64(len(m.Locality))) i += copy(dAtA[i:], m.Locality) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -538,6 +708,9 @@ func (m *MeshNetworks) MarshalTo(dAtA []byte) (int, error) { } } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -551,6 +724,9 @@ func encodeVarintNetwork(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Network) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Endpoints) > 0 { @@ -565,19 +741,31 @@ func (m *Network) Size() (n int) { n += 1 + l + sovNetwork(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Network_NetworkEndpoints) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Ne != nil { n += m.Ne.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Network_NetworkEndpoints_FromCidr) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.FromCidr) @@ -585,6 +773,9 @@ func (m *Network_NetworkEndpoints_FromCidr) Size() (n int) { return n } func (m *Network_NetworkEndpoints_FromRegistry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.FromRegistry) @@ -592,6 +783,9 @@ func (m *Network_NetworkEndpoints_FromRegistry) Size() (n int) { return n } func (m *Network_IstioNetworkGateway) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Gw != nil { @@ -604,10 +798,16 @@ func (m *Network_IstioNetworkGateway) Size() (n int) { if l > 0 { n += 1 + l + sovNetwork(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Network_IstioNetworkGateway_RegistryServiceName) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.RegistryServiceName) @@ -615,6 +815,9 @@ func (m *Network_IstioNetworkGateway_RegistryServiceName) Size() (n int) { return n } func (m *Network_IstioNetworkGateway_Address) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -622,6 +825,9 @@ func (m *Network_IstioNetworkGateway_Address) Size() (n int) { return n } func (m *MeshNetworks) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Networks) > 0 { @@ -637,6 +843,9 @@ func (m *MeshNetworks) Size() (n int) { n += mapEntrySize + 1 + sovNetwork(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -668,7 +877,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -696,7 +905,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -705,6 +914,9 @@ func (m *Network) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -727,7 +939,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -736,6 +948,9 @@ func (m *Network) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -753,9 +968,13 @@ func (m *Network) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -780,7 +999,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -808,7 +1027,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -818,6 +1037,9 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -837,7 +1059,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -847,6 +1069,9 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -861,9 +1086,13 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -888,7 +1117,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -916,7 +1145,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -926,6 +1155,9 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -945,7 +1177,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -955,6 +1187,9 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -974,7 +1209,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -993,7 +1228,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1003,6 +1238,9 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1017,9 +1255,13 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1044,7 +1286,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1072,7 +1314,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1081,6 +1323,9 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1101,7 +1346,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1118,7 +1363,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1128,6 +1373,9 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthNetwork + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1144,7 +1392,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1153,7 +1401,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthNetwork } if postmsgIndex > l { @@ -1190,9 +1438,13 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1256,10 +1508,13 @@ func skipNetwork(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthNetwork } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthNetwork + } return iNdEx, nil case 3: for { @@ -1288,6 +1543,9 @@ func skipNetwork(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthNetwork + } } return iNdEx, nil case 4: @@ -1306,35 +1564,3 @@ var ( ErrInvalidLengthNetwork = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowNetwork = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mesh/v1alpha1/network.proto", fileDescriptorNetwork) } - -var fileDescriptorNetwork = []byte{ - // 403 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x8e, 0xda, 0x30, - 0x10, 0xc6, 0xeb, 0x84, 0x96, 0x30, 0x80, 0x84, 0x8c, 0x2a, 0x45, 0x69, 0x8b, 0x10, 0x52, 0xa5, - 0x5c, 0x9a, 0x14, 0xda, 0x43, 0xd5, 0x23, 0x15, 0x6a, 0x2b, 0x5a, 0x0e, 0xee, 0xa9, 0x3d, 0x14, - 0xb9, 0xc4, 0x05, 0x8b, 0x24, 0x8e, 0x6c, 0x2f, 0x28, 0x0f, 0xb3, 0xb7, 0x7d, 0x86, 0x7d, 0x86, - 0x3d, 0xee, 0x23, 0xac, 0x78, 0x92, 0x55, 0xfe, 0xee, 0xb2, 0x42, 0x9c, 0x6c, 0xcf, 0xf7, 0xfd, - 0x66, 0xc6, 0x63, 0xc3, 0xab, 0x88, 0xa9, 0x8d, 0xbf, 0x1b, 0xd3, 0x30, 0xd9, 0xd0, 0xb1, 0x1f, - 0x33, 0xbd, 0x17, 0x72, 0xeb, 0x25, 0x52, 0x68, 0x81, 0xfb, 0x5c, 0x69, 0x2e, 0xbc, 0xcc, 0xe2, - 0x55, 0x96, 0xd1, 0x95, 0x09, 0xcd, 0x45, 0x61, 0xc3, 0x73, 0x68, 0xb1, 0x38, 0x48, 0x04, 0x8f, - 0xb5, 0xb2, 0x8d, 0xa1, 0xe9, 0xb6, 0x27, 0xef, 0xbc, 0x13, 0x90, 0x57, 0x02, 0xd5, 0x3a, 0xab, - 0x20, 0xf2, 0xc0, 0xe3, 0x1f, 0x60, 0xad, 0xa9, 0x66, 0x7b, 0x9a, 0x2a, 0xdb, 0xcc, 0x73, 0xbd, - 0x3f, 0x9b, 0xeb, 0x7b, 0xa6, 0x95, 0x87, 0xaf, 0x05, 0x48, 0xea, 0x0c, 0xce, 0x5f, 0xe8, 0x3d, - 0x2d, 0x86, 0xdf, 0x40, 0xeb, 0xbf, 0x14, 0xd1, 0x72, 0xc5, 0x03, 0x69, 0xa3, 0x21, 0x72, 0x5b, - 0xdf, 0x9e, 0x11, 0x2b, 0x0b, 0x7d, 0xe1, 0x81, 0xc4, 0x6f, 0xa1, 0x9b, 0xcb, 0x92, 0xad, 0xb9, - 0xd2, 0x32, 0xb5, 0x8d, 0xd2, 0xd2, 0xc9, 0xc2, 0xa4, 0x8c, 0x4e, 0x1b, 0x60, 0xc4, 0xcc, 0xb9, - 0x44, 0xd0, 0x3f, 0xd1, 0x01, 0xfe, 0x08, 0x2f, 0x2b, 0x7e, 0xa9, 0x98, 0xdc, 0xf1, 0x15, 0x5b, - 0xc6, 0x34, 0x62, 0x75, 0xbd, 0x7e, 0x25, 0xff, 0x2a, 0xd4, 0x05, 0x8d, 0x18, 0x76, 0xa0, 0x49, - 0x83, 0x40, 0x32, 0xa5, 0xea, 0xa2, 0x55, 0x00, 0x63, 0x68, 0x24, 0x42, 0x6a, 0xdb, 0x1c, 0x22, - 0xb7, 0x4b, 0xf2, 0x3d, 0x76, 0xc0, 0x0a, 0xc5, 0x8a, 0x86, 0x5c, 0xa7, 0x76, 0x23, 0x03, 0x48, - 0x7d, 0xce, 0xfa, 0x5b, 0xef, 0x47, 0xd7, 0x08, 0x3a, 0x3f, 0x99, 0xda, 0x94, 0xed, 0x29, 0x3c, - 0x07, 0xab, 0x7c, 0x5d, 0x65, 0xa3, 0x7c, 0xbc, 0xfe, 0xc9, 0xf1, 0x3e, 0x86, 0xaa, 0x59, 0xab, - 0x59, 0xac, 0x65, 0x4a, 0xea, 0x04, 0xce, 0x6f, 0xe8, 0x1e, 0x49, 0xb8, 0x07, 0xe6, 0x96, 0xa5, - 0xc5, 0x25, 0x49, 0xb6, 0xc5, 0x13, 0x78, 0xbe, 0xa3, 0xe1, 0x05, 0xcb, 0x2f, 0xd4, 0x9e, 0xbc, - 0x3e, 0xf7, 0x96, 0xa4, 0xb0, 0x7e, 0x36, 0x3e, 0xa1, 0xa9, 0x7b, 0x73, 0x18, 0xa0, 0xdb, 0xc3, - 0x00, 0xdd, 0x1d, 0x06, 0xe8, 0x8f, 0x53, 0x50, 0x5c, 0xf8, 0x34, 0xe1, 0xfe, 0xd1, 0x67, 0xfd, - 0xf7, 0x22, 0xff, 0xa5, 0x1f, 0xee, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x70, 0x44, 0x24, 0xc4, - 0x02, 0x00, 0x00, -} diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index 1a5eba036dd..0056c3caf6c 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -3,18 +3,25 @@ package v1alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // AuthenticationPolicy defines authentication policy. It can be set for // different scopes (mesh, service …), and the most narrow scope with // non-INHERIT value will be used. @@ -36,6 +43,7 @@ var AuthenticationPolicy_name = map[int32]string{ 1: "MUTUAL_TLS", 1000: "INHERIT", } + var AuthenticationPolicy_value = map[string]int32{ "NONE": 0, "MUTUAL_TLS": 1, @@ -45,7 +53,10 @@ var AuthenticationPolicy_value = map[string]int32{ func (x AuthenticationPolicy) String() string { return proto.EnumName(AuthenticationPolicy_name, int32(x)) } -func (AuthenticationPolicy) EnumDescriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0} } + +func (AuthenticationPolicy) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0} +} // The mode used to redirect inbound traffic to Envoy. // This setting has no effect on outbound traffic: iptables REDIRECT is always used for @@ -67,6 +78,7 @@ var ProxyConfig_InboundInterceptionMode_name = map[int32]string{ 0: "REDIRECT", 1: "TPROXY", } + var ProxyConfig_InboundInterceptionMode_value = map[string]int32{ "REDIRECT": 0, "TPROXY": 1, @@ -75,8 +87,9 @@ var ProxyConfig_InboundInterceptionMode_value = map[string]int32{ func (x ProxyConfig_InboundInterceptionMode) String() string { return proto.EnumName(ProxyConfig_InboundInterceptionMode_name, int32(x)) } + func (ProxyConfig_InboundInterceptionMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorProxy, []int{1, 0} + return fileDescriptor_5efecd978cf3d28d, []int{1, 0} } // Tracing defines configuration for the tracing performed by Envoy instances. @@ -86,13 +99,44 @@ type Tracing struct { // Types that are valid to be assigned to Tracer: // *Tracing_Zipkin_ // *Tracing_Lightstep_ - Tracer isTracing_Tracer `protobuf_oneof:"tracer"` + Tracer isTracing_Tracer `protobuf_oneof:"tracer"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Tracing) Reset() { *m = Tracing{} } +func (m *Tracing) String() string { return proto.CompactTextString(m) } +func (*Tracing) ProtoMessage() {} +func (*Tracing) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0} +} +func (m *Tracing) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tracing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tracing.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Tracing) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tracing.Merge(m, src) +} +func (m *Tracing) XXX_Size() int { + return m.Size() +} +func (m *Tracing) XXX_DiscardUnknown() { + xxx_messageInfo_Tracing.DiscardUnknown(m) } -func (m *Tracing) Reset() { *m = Tracing{} } -func (m *Tracing) String() string { return proto.CompactTextString(m) } -func (*Tracing) ProtoMessage() {} -func (*Tracing) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0} } +var xxx_messageInfo_Tracing proto.InternalMessageInfo type isTracing_Tracer interface { isTracing_Tracer() @@ -101,10 +145,10 @@ type isTracing_Tracer interface { } type Tracing_Zipkin_ struct { - Zipkin *Tracing_Zipkin `protobuf:"bytes,1,opt,name=zipkin,oneof"` + Zipkin *Tracing_Zipkin `protobuf:"bytes,1,opt,name=zipkin,proto3,oneof"` } type Tracing_Lightstep_ struct { - Lightstep *Tracing_Lightstep `protobuf:"bytes,2,opt,name=lightstep,oneof"` + Lightstep *Tracing_Lightstep `protobuf:"bytes,2,opt,name=lightstep,proto3,oneof"` } func (*Tracing_Zipkin_) isTracing_Tracer() {} @@ -190,12 +234,12 @@ func _Tracing_OneofSizer(msg proto.Message) (n int) { switch x := m.Tracer.(type) { case *Tracing_Zipkin_: s := proto.Size(x.Zipkin) - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Tracing_Lightstep_: s := proto.Size(x.Lightstep) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -208,13 +252,44 @@ func _Tracing_OneofSizer(msg proto.Message) (n int) { // Zipkin defines configuration for a Zipkin tracer. type Tracing_Zipkin struct { // Address of the Zipkin service (e.g. _zipkin:9411_). - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Tracing_Zipkin) Reset() { *m = Tracing_Zipkin{} } +func (m *Tracing_Zipkin) String() string { return proto.CompactTextString(m) } +func (*Tracing_Zipkin) ProtoMessage() {} +func (*Tracing_Zipkin) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0, 0} +} +func (m *Tracing_Zipkin) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tracing_Zipkin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tracing_Zipkin.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Tracing_Zipkin) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tracing_Zipkin.Merge(m, src) +} +func (m *Tracing_Zipkin) XXX_Size() int { + return m.Size() +} +func (m *Tracing_Zipkin) XXX_DiscardUnknown() { + xxx_messageInfo_Tracing_Zipkin.DiscardUnknown(m) } -func (m *Tracing_Zipkin) Reset() { *m = Tracing_Zipkin{} } -func (m *Tracing_Zipkin) String() string { return proto.CompactTextString(m) } -func (*Tracing_Zipkin) ProtoMessage() {} -func (*Tracing_Zipkin) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0, 0} } +var xxx_messageInfo_Tracing_Zipkin proto.InternalMessageInfo func (m *Tracing_Zipkin) GetAddress() string { if m != nil { @@ -232,13 +307,44 @@ type Tracing_Lightstep struct { // True if a secure connection should be used when communicating with the pool. Secure bool `protobuf:"varint,3,opt,name=secure,proto3" json:"secure,omitempty"` // Path to the trusted cacert used to authenticate the pool. - CacertPath string `protobuf:"bytes,4,opt,name=cacert_path,json=cacertPath,proto3" json:"cacert_path,omitempty"` + CacertPath string `protobuf:"bytes,4,opt,name=cacert_path,json=cacertPath,proto3" json:"cacert_path,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Tracing_Lightstep) Reset() { *m = Tracing_Lightstep{} } +func (m *Tracing_Lightstep) String() string { return proto.CompactTextString(m) } +func (*Tracing_Lightstep) ProtoMessage() {} +func (*Tracing_Lightstep) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0, 1} +} +func (m *Tracing_Lightstep) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tracing_Lightstep) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tracing_Lightstep.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Tracing_Lightstep) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tracing_Lightstep.Merge(m, src) +} +func (m *Tracing_Lightstep) XXX_Size() int { + return m.Size() +} +func (m *Tracing_Lightstep) XXX_DiscardUnknown() { + xxx_messageInfo_Tracing_Lightstep.DiscardUnknown(m) } -func (m *Tracing_Lightstep) Reset() { *m = Tracing_Lightstep{} } -func (m *Tracing_Lightstep) String() string { return proto.CompactTextString(m) } -func (*Tracing_Lightstep) ProtoMessage() {} -func (*Tracing_Lightstep) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0, 1} } +var xxx_messageInfo_Tracing_Lightstep proto.InternalMessageInfo func (m *Tracing_Lightstep) GetAddress() string { if m != nil { @@ -291,20 +397,20 @@ type ProxyConfig struct { ServiceCluster string `protobuf:"bytes,3,opt,name=service_cluster,json=serviceCluster,proto3" json:"service_cluster,omitempty"` // The time in seconds that Envoy will drain connections during a hot // restart. MUST be >=1s (e.g., _1s/1m/1h_) - DrainDuration *google_protobuf.Duration `protobuf:"bytes,4,opt,name=drain_duration,json=drainDuration" json:"drain_duration,omitempty"` + DrainDuration *types.Duration `protobuf:"bytes,4,opt,name=drain_duration,json=drainDuration,proto3" json:"drain_duration,omitempty"` // The time in seconds that Envoy will wait before shutting down the // parent process during a hot restart. MUST be >=1s (e.g., _1s/1m/1h_). // MUST BE greater than _drain_duration_ parameter. - ParentShutdownDuration *google_protobuf.Duration `protobuf:"bytes,5,opt,name=parent_shutdown_duration,json=parentShutdownDuration" json:"parent_shutdown_duration,omitempty"` + ParentShutdownDuration *types.Duration `protobuf:"bytes,5,opt,name=parent_shutdown_duration,json=parentShutdownDuration,proto3" json:"parent_shutdown_duration,omitempty"` // Address of the discovery service exposing xDS with mTLS connection. DiscoveryAddress string `protobuf:"bytes,6,opt,name=discovery_address,json=discoveryAddress,proto3" json:"discovery_address,omitempty"` // $hide_from_docs - DiscoveryRefreshDelay *google_protobuf.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay" json:"discovery_refresh_delay,omitempty"` + DiscoveryRefreshDelay *types.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay,proto3" json:"discovery_refresh_delay,omitempty"` // Deprecated: Do not use. // Address of the Zipkin service (e.g. _zipkin:9411_). // DEPRECATED: Use [tracing][istio.mesh.v1alpha1.ProxyConfig.tracing] instead. - ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"` + ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"` // Deprecated: Do not use. // Connection timeout used by Envoy for supporting services. (MUST BE >=1ms) - ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,9,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + ConnectTimeout *types.Duration `protobuf:"bytes,9,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // 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). @@ -314,7 +420,7 @@ type ProxyConfig struct { // Port on which Envoy should listen for administrative commands. ProxyAdminPort int32 `protobuf:"varint,11,opt,name=proxy_admin_port,json=proxyAdminPort,proto3" json:"proxy_admin_port,omitempty"` // $hide_from_docs - AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"` + AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"` // Deprecated: Do not use. // Authentication policy defines the global switch to control authentication // for Envoy-to-Envoy communication for istio components Mixer and Pilot. ControlPlaneAuthPolicy AuthenticationPolicy `protobuf:"varint,13,opt,name=control_plane_auth_policy,json=controlPlaneAuthPolicy,proto3,enum=istio.mesh.v1alpha1.AuthenticationPolicy" json:"control_plane_auth_policy,omitempty"` @@ -334,13 +440,44 @@ type ProxyConfig struct { // The mode used to redirect inbound traffic to Envoy. InterceptionMode ProxyConfig_InboundInterceptionMode `protobuf:"varint,18,opt,name=interception_mode,json=interceptionMode,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode" json:"interception_mode,omitempty"` // Tracing configuration to be used by the proxy. - Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing" json:"tracing,omitempty"` + Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProxyConfig) Reset() { *m = ProxyConfig{} } +func (m *ProxyConfig) String() string { return proto.CompactTextString(m) } +func (*ProxyConfig) ProtoMessage() {} +func (*ProxyConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{1} +} +func (m *ProxyConfig) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProxyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProxyConfig.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProxyConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProxyConfig.Merge(m, src) +} +func (m *ProxyConfig) XXX_Size() int { + return m.Size() +} +func (m *ProxyConfig) XXX_DiscardUnknown() { + xxx_messageInfo_ProxyConfig.DiscardUnknown(m) } -func (m *ProxyConfig) Reset() { *m = ProxyConfig{} } -func (m *ProxyConfig) String() string { return proto.CompactTextString(m) } -func (*ProxyConfig) ProtoMessage() {} -func (*ProxyConfig) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{1} } +var xxx_messageInfo_ProxyConfig proto.InternalMessageInfo func (m *ProxyConfig) GetConfigPath() string { if m != nil { @@ -363,14 +500,14 @@ func (m *ProxyConfig) GetServiceCluster() string { return "" } -func (m *ProxyConfig) GetDrainDuration() *google_protobuf.Duration { +func (m *ProxyConfig) GetDrainDuration() *types.Duration { if m != nil { return m.DrainDuration } return nil } -func (m *ProxyConfig) GetParentShutdownDuration() *google_protobuf.Duration { +func (m *ProxyConfig) GetParentShutdownDuration() *types.Duration { if m != nil { return m.ParentShutdownDuration } @@ -384,13 +521,15 @@ func (m *ProxyConfig) GetDiscoveryAddress() string { return "" } -func (m *ProxyConfig) GetDiscoveryRefreshDelay() *google_protobuf.Duration { +// Deprecated: Do not use. +func (m *ProxyConfig) GetDiscoveryRefreshDelay() *types.Duration { if m != nil { return m.DiscoveryRefreshDelay } return nil } +// Deprecated: Do not use. func (m *ProxyConfig) GetZipkinAddress() string { if m != nil { return m.ZipkinAddress @@ -398,7 +537,7 @@ func (m *ProxyConfig) GetZipkinAddress() string { return "" } -func (m *ProxyConfig) GetConnectTimeout() *google_protobuf.Duration { +func (m *ProxyConfig) GetConnectTimeout() *types.Duration { if m != nil { return m.ConnectTimeout } @@ -426,6 +565,7 @@ func (m *ProxyConfig) GetProxyAdminPort() int32 { return 0 } +// Deprecated: Do not use. func (m *ProxyConfig) GetAvailabilityZone() string { if m != nil { return m.AvailabilityZone @@ -483,13 +623,76 @@ func (m *ProxyConfig) GetTracing() *Tracing { } func init() { + proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) + proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) proto.RegisterType((*Tracing)(nil), "istio.mesh.v1alpha1.Tracing") proto.RegisterType((*Tracing_Zipkin)(nil), "istio.mesh.v1alpha1.Tracing.Zipkin") proto.RegisterType((*Tracing_Lightstep)(nil), "istio.mesh.v1alpha1.Tracing.Lightstep") proto.RegisterType((*ProxyConfig)(nil), "istio.mesh.v1alpha1.ProxyConfig") - proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) - proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) } + +func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptor_5efecd978cf3d28d) } + +var fileDescriptor_5efecd978cf3d28d = []byte{ + // 890 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xe3, 0xc4, + 0x17, 0xad, 0xfb, 0xdb, 0xcd, 0x9f, 0x9b, 0x36, 0x75, 0x67, 0xf7, 0xd7, 0x75, 0x23, 0x28, 0xa1, + 0x48, 0x90, 0x05, 0xe4, 0x68, 0xbb, 0x12, 0xe2, 0x05, 0x44, 0xd2, 0x76, 0xd5, 0x48, 0x6d, 0x37, + 0x72, 0x53, 0x09, 0xfa, 0x32, 0x9a, 0xd8, 0xb7, 0xf1, 0x68, 0x9d, 0x19, 0x6b, 0x3c, 0x0e, 0x64, + 0xdf, 0xf8, 0x6a, 0x48, 0x48, 0x3c, 0xf2, 0x11, 0x50, 0x9f, 0xf8, 0x18, 0xc8, 0x33, 0x76, 0x36, + 0xa0, 0xee, 0xf6, 0x2d, 0x73, 0xee, 0x39, 0x67, 0xee, 0x1f, 0xdf, 0x09, 0xec, 0xcf, 0x31, 0x8b, + 0xfb, 0x8b, 0x17, 0x2c, 0x49, 0x63, 0xf6, 0xa2, 0x9f, 0x2a, 0xf9, 0xcb, 0xd2, 0x4f, 0x95, 0xd4, + 0x92, 0x3c, 0xe1, 0x99, 0xe6, 0xd2, 0x2f, 0x08, 0x7e, 0x45, 0xe8, 0x1c, 0xcc, 0xa4, 0x9c, 0x25, + 0xd8, 0x37, 0x94, 0x69, 0x7e, 0xdb, 0x8f, 0x72, 0xc5, 0x34, 0x97, 0xc2, 0x8a, 0x0e, 0x7f, 0xdb, + 0x84, 0xfa, 0x44, 0xb1, 0x90, 0x8b, 0x19, 0xf9, 0x0e, 0x6a, 0x6f, 0x79, 0xfa, 0x86, 0x0b, 0xcf, + 0xe9, 0x3a, 0xbd, 0xd6, 0xd1, 0x67, 0xfe, 0x3d, 0x8e, 0x7e, 0xc9, 0xf6, 0x6f, 0x0c, 0xf5, 0x6c, + 0x23, 0x28, 0x45, 0xe4, 0x15, 0x34, 0x13, 0x3e, 0x8b, 0x75, 0xa6, 0x31, 0xf5, 0x36, 0x8d, 0xc3, + 0xe7, 0x1f, 0x74, 0x38, 0xaf, 0xd8, 0x67, 0x1b, 0xc1, 0x3b, 0x69, 0xe7, 0x10, 0x6a, 0xd6, 0x9b, + 0x78, 0x50, 0x67, 0x51, 0xa4, 0x30, 0xcb, 0x4c, 0x46, 0xcd, 0xa0, 0x3a, 0x76, 0x7e, 0x75, 0xa0, + 0xb9, 0x92, 0xbf, 0x9f, 0x47, 0x3e, 0x85, 0x2d, 0x16, 0x86, 0x98, 0x65, 0x54, 0xcb, 0x37, 0x28, + 0x4c, 0x5a, 0xcd, 0xa0, 0x65, 0xb1, 0x49, 0x01, 0x91, 0x3d, 0xa8, 0x65, 0x18, 0xe6, 0x0a, 0xbd, + 0xff, 0x75, 0x9d, 0x5e, 0x23, 0x28, 0x4f, 0xe4, 0x13, 0x68, 0x85, 0x2c, 0x44, 0xa5, 0x69, 0xca, + 0x74, 0xec, 0x3d, 0x32, 0x4a, 0xb0, 0xd0, 0x98, 0xe9, 0x78, 0xd8, 0x80, 0x9a, 0x56, 0xc5, 0xf1, + 0xf0, 0xf7, 0x26, 0xb4, 0xc6, 0xc5, 0x24, 0x8e, 0xa5, 0xb8, 0xe5, 0x33, 0x23, 0x35, 0xbf, 0xac, + 0xd4, 0x29, 0xa5, 0x06, 0x2a, 0xa4, 0x05, 0x61, 0xca, 0x05, 0x53, 0x4b, 0x4b, 0xb0, 0x59, 0x81, + 0x85, 0x0c, 0xe1, 0x0b, 0xd8, 0xc9, 0x50, 0x2d, 0x78, 0x88, 0x34, 0x4c, 0xf2, 0x4c, 0xa3, 0x32, + 0xd9, 0x35, 0x83, 0x76, 0x09, 0x1f, 0x5b, 0x94, 0xfc, 0x00, 0xed, 0x48, 0x31, 0x2e, 0x68, 0x35, + 0x57, 0x93, 0x68, 0xeb, 0x68, 0xdf, 0xb7, 0x83, 0xf7, 0xab, 0xc1, 0xfb, 0x27, 0x25, 0x21, 0xd8, + 0x36, 0x82, 0xea, 0x48, 0xae, 0xc0, 0x4b, 0x99, 0x42, 0xa1, 0x69, 0x16, 0xe7, 0x3a, 0x92, 0x3f, + 0xaf, 0x79, 0x3d, 0x7e, 0xc8, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xca, 0xf4, 0x2b, 0xd8, 0x8d, + 0x78, 0x16, 0xca, 0x05, 0xaa, 0x25, 0xad, 0x66, 0x53, 0x33, 0x15, 0xb8, 0xab, 0xc0, 0xa0, 0x1c, + 0xd2, 0x35, 0x3c, 0x7b, 0x47, 0x56, 0x78, 0xab, 0x30, 0x8b, 0x69, 0x84, 0x09, 0x5b, 0x7a, 0xf5, + 0x07, 0x12, 0x18, 0x6e, 0x7a, 0x4e, 0xf0, 0xff, 0x95, 0x3a, 0xb0, 0xe2, 0x93, 0x42, 0x4b, 0x9e, + 0x43, 0xdb, 0x7e, 0x99, 0xab, 0x04, 0x1a, 0x45, 0x02, 0x46, 0xb2, 0x6d, 0x23, 0x55, 0x06, 0x43, + 0xd8, 0x09, 0xa5, 0x10, 0x18, 0x6a, 0xaa, 0xf9, 0x1c, 0x65, 0xae, 0xbd, 0xe6, 0x43, 0xa5, 0xb7, + 0x4b, 0xc5, 0xc4, 0x0a, 0xc8, 0xd7, 0x40, 0x32, 0xcd, 0x74, 0x16, 0xd1, 0x3c, 0x4a, 0x57, 0x57, + 0x82, 0xad, 0xd9, 0x46, 0xae, 0xa3, 0xb4, 0xba, 0x71, 0x00, 0x1f, 0xa3, 0x58, 0xc8, 0x25, 0x9d, + 0xa3, 0x56, 0x3c, 0xcc, 0x68, 0x35, 0xee, 0x4a, 0xf8, 0xd4, 0x08, 0x3b, 0x86, 0x74, 0x61, 0x39, + 0x57, 0x96, 0x52, 0x59, 0xf4, 0xc0, 0x35, 0xeb, 0x4f, 0x59, 0x34, 0xe7, 0x82, 0xa6, 0x52, 0x69, + 0xaf, 0xd5, 0x75, 0x7a, 0x8f, 0x83, 0xb6, 0xc1, 0x07, 0x05, 0x3c, 0x96, 0x4a, 0x93, 0x3e, 0xec, + 0xb2, 0x05, 0xe3, 0x09, 0x9b, 0xf2, 0x84, 0xeb, 0x25, 0x7d, 0x2b, 0x05, 0x7a, 0x5b, 0xab, 0x66, + 0xb8, 0xeb, 0xc1, 0x1b, 0x29, 0x90, 0x44, 0xb0, 0x1f, 0x4a, 0xa1, 0x95, 0x4c, 0x68, 0x9a, 0x30, + 0x81, 0x94, 0xe5, 0x3a, 0xa6, 0xa9, 0x4c, 0x78, 0xb8, 0xf4, 0xb6, 0xbb, 0x4e, 0xaf, 0x7d, 0xf4, + 0xfc, 0xde, 0xd5, 0x1e, 0xe4, 0x3a, 0x46, 0xa1, 0x79, 0x68, 0x7a, 0x34, 0x36, 0x82, 0x60, 0xaf, + 0xf4, 0x1a, 0x17, 0x56, 0x05, 0xc3, 0xe2, 0x45, 0xc7, 0xc2, 0x3c, 0xd3, 0x72, 0x4e, 0xcb, 0x6d, + 0xb9, 0xe5, 0x09, 0x7a, 0x6d, 0xdb, 0x31, 0x1b, 0xb1, 0x0b, 0xf5, 0x8a, 0x27, 0x58, 0x94, 0x5b, + 0x74, 0x91, 0x0a, 0x36, 0x47, 0x9a, 0xa0, 0x98, 0xe9, 0xd8, 0xdb, 0xb1, 0xe5, 0x16, 0xf8, 0x25, + 0x9b, 0xe3, 0xb9, 0x41, 0x49, 0xd7, 0xac, 0x5f, 0x98, 0x2b, 0x85, 0x22, 0x5c, 0x7a, 0xae, 0x21, + 0xad, 0x43, 0x45, 0xf7, 0x6d, 0xeb, 0xa6, 0x52, 0xea, 0x4c, 0x2b, 0x96, 0x52, 0x8d, 0xf3, 0x34, + 0x61, 0x1a, 0xed, 0x46, 0xee, 0xda, 0xee, 0x1b, 0xd2, 0xb0, 0xe2, 0x4c, 0x4a, 0x8a, 0xd9, 0x50, + 0x84, 0x5d, 0x2e, 0x34, 0xaa, 0x10, 0xd3, 0xa2, 0x54, 0x3a, 0x97, 0x11, 0x7a, 0xc4, 0xb4, 0xe6, + 0xdb, 0x7b, 0x5b, 0xb3, 0xf6, 0x40, 0xf8, 0x23, 0x31, 0x95, 0xb9, 0x88, 0x46, 0x6b, 0x06, 0x17, + 0x32, 0xc2, 0xc0, 0xe5, 0xff, 0x41, 0xc8, 0x37, 0x50, 0xd7, 0xf6, 0xb9, 0xf4, 0x9e, 0x98, 0x2f, + 0xf2, 0xa3, 0x0f, 0x3d, 0xa9, 0x41, 0x45, 0x3e, 0x7c, 0x09, 0xcf, 0xde, 0x73, 0x09, 0xd9, 0x82, + 0x46, 0x70, 0x7a, 0x32, 0x0a, 0x4e, 0x8f, 0x27, 0xee, 0x06, 0x01, 0xa8, 0x4d, 0xc6, 0xc1, 0xeb, + 0x1f, 0x7f, 0x72, 0x9d, 0x2f, 0xbf, 0x87, 0xa7, 0xf7, 0x0d, 0x90, 0x34, 0xe0, 0xd1, 0xe5, 0xeb, + 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, 0xbf, 0x72, + 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, 0xbd, 0x3f, + 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0x4d, 0x94, 0xcb, + 0x3e, 0x4b, 0x79, 0xff, 0x5f, 0xff, 0x5b, 0xd3, 0x9a, 0xd9, 0xa7, 0x97, 0xff, 0x04, 0x00, 0x00, + 0xff, 0xff, 0x92, 0x7b, 0x1a, 0x92, 0xcf, 0x06, 0x00, 0x00, +} + func (m *Tracing) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -512,6 +715,9 @@ func (m *Tracing) MarshalTo(dAtA []byte) (int, error) { } i += nn1 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -564,6 +770,9 @@ func (m *Tracing_Zipkin) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.Address))) i += copy(dAtA[i:], m.Address) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -610,6 +819,9 @@ func (m *Tracing_Lightstep) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.CacertPath))) i += copy(dAtA[i:], m.CacertPath) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -773,6 +985,9 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.EnvoyMetricsServiceAddress))) i += copy(dAtA[i:], m.EnvoyMetricsServiceAddress) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -786,15 +1001,24 @@ func encodeVarintProxy(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Tracing) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Tracer != nil { n += m.Tracer.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Tracing_Zipkin_) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Zipkin != nil { @@ -804,6 +1028,9 @@ func (m *Tracing_Zipkin_) Size() (n int) { return n } func (m *Tracing_Lightstep_) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Lightstep != nil { @@ -813,16 +1040,25 @@ func (m *Tracing_Lightstep_) Size() (n int) { return n } func (m *Tracing_Zipkin) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) if l > 0 { n += 1 + l + sovProxy(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Tracing_Lightstep) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -840,10 +1076,16 @@ func (m *Tracing_Lightstep) Size() (n int) { if l > 0 { n += 1 + l + sovProxy(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ProxyConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.ConfigPath) @@ -921,6 +1163,9 @@ func (m *ProxyConfig) Size() (n int) { if l > 0 { n += 2 + l + sovProxy(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -952,7 +1197,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -980,7 +1225,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -989,6 +1234,9 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1012,7 +1260,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1021,6 +1269,9 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1039,9 +1290,13 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1066,7 +1321,7 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1094,7 +1349,7 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1104,6 +1359,9 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1118,9 +1376,13 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1145,7 +1407,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1173,7 +1435,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1183,6 +1445,9 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1202,7 +1467,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1212,6 +1477,9 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1231,7 +1499,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1251,7 +1519,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1261,6 +1529,9 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1275,9 +1546,13 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1302,7 +1577,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1330,7 +1605,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1340,6 +1615,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1359,7 +1637,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1369,6 +1647,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1388,7 +1669,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1398,6 +1679,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1417,7 +1701,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1426,11 +1710,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.DrainDuration == nil { - m.DrainDuration = &google_protobuf.Duration{} + m.DrainDuration = &types.Duration{} } if err := m.DrainDuration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1450,7 +1737,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1459,11 +1746,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ParentShutdownDuration == nil { - m.ParentShutdownDuration = &google_protobuf.Duration{} + m.ParentShutdownDuration = &types.Duration{} } if err := m.ParentShutdownDuration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1483,7 +1773,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1493,6 +1783,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1512,7 +1805,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1521,11 +1814,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.DiscoveryRefreshDelay == nil { - m.DiscoveryRefreshDelay = &google_protobuf.Duration{} + m.DiscoveryRefreshDelay = &types.Duration{} } if err := m.DiscoveryRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1545,7 +1841,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1555,6 +1851,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1574,7 +1873,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1583,11 +1882,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &google_protobuf.Duration{} + m.ConnectTimeout = &types.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1607,7 +1909,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1617,6 +1919,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1636,7 +1941,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyAdminPort |= (int32(b) & 0x7F) << shift + m.ProxyAdminPort |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1655,7 +1960,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1665,6 +1970,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1684,7 +1992,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ControlPlaneAuthPolicy |= (AuthenticationPolicy(b) & 0x7F) << shift + m.ControlPlaneAuthPolicy |= AuthenticationPolicy(b&0x7F) << shift if b < 0x80 { break } @@ -1703,7 +2011,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1713,6 +2021,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1732,7 +2043,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.StatNameLength |= (int32(b) & 0x7F) << shift + m.StatNameLength |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1751,7 +2062,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Concurrency |= (int32(b) & 0x7F) << shift + m.Concurrency |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1770,7 +2081,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1780,6 +2091,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1799,7 +2113,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.InterceptionMode |= (ProxyConfig_InboundInterceptionMode(b) & 0x7F) << shift + m.InterceptionMode |= ProxyConfig_InboundInterceptionMode(b&0x7F) << shift if b < 0x80 { break } @@ -1818,7 +2132,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1827,6 +2141,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1851,7 +2168,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1861,6 +2178,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1875,9 +2195,13 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1941,10 +2265,13 @@ func skipProxy(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthProxy } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthProxy + } return iNdEx, nil case 3: for { @@ -1973,6 +2300,9 @@ func skipProxy(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthProxy + } } return iNdEx, nil case 4: @@ -1991,65 +2321,3 @@ var ( ErrInvalidLengthProxy = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProxy = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptorProxy) } - -var fileDescriptorProxy = []byte{ - // 892 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xdb, 0xb6, - 0x17, 0x8d, 0xf2, 0x6b, 0xfd, 0xe7, 0x3a, 0x71, 0x14, 0xb6, 0xbf, 0x54, 0x31, 0xb6, 0xcc, 0xcb, - 0x80, 0xcd, 0xdd, 0x06, 0x19, 0x4d, 0x81, 0x61, 0x2f, 0x1b, 0x66, 0x27, 0x29, 0x62, 0x20, 0x49, - 0x0d, 0xc5, 0x01, 0xb6, 0xbc, 0x10, 0xb4, 0x74, 0x63, 0x11, 0x95, 0x49, 0x81, 0xa2, 0xbc, 0xb9, - 0x6f, 0xfb, 0x6a, 0x03, 0x06, 0xec, 0x71, 0x1f, 0x61, 0xc8, 0xd3, 0x3e, 0xc6, 0x20, 0x52, 0x72, - 0xbd, 0x21, 0x6d, 0xde, 0xcc, 0xc3, 0x73, 0xae, 0xce, 0x21, 0xef, 0xa5, 0x61, 0x7f, 0x8e, 0x59, - 0xdc, 0x5f, 0xbc, 0x60, 0x49, 0x1a, 0xb3, 0x17, 0xfd, 0x54, 0xc9, 0x5f, 0x96, 0x7e, 0xaa, 0xa4, - 0x96, 0xe4, 0x09, 0xcf, 0x34, 0x97, 0x7e, 0x41, 0xf0, 0x2b, 0x42, 0xe7, 0x60, 0x26, 0xe5, 0x2c, - 0xc1, 0xbe, 0xa1, 0x4c, 0xf3, 0xdb, 0x7e, 0x94, 0x2b, 0xa6, 0xb9, 0x14, 0x56, 0x74, 0xf8, 0xdb, - 0x26, 0xd4, 0x27, 0x8a, 0x85, 0x5c, 0xcc, 0xc8, 0x77, 0x50, 0x7b, 0xcb, 0xd3, 0x37, 0x5c, 0x78, - 0x4e, 0xd7, 0xe9, 0xb5, 0x8e, 0x3e, 0xf3, 0xef, 0xa9, 0xe8, 0x97, 0x6c, 0xff, 0xc6, 0x50, 0xcf, - 0x36, 0x82, 0x52, 0x44, 0x5e, 0x41, 0x33, 0xe1, 0xb3, 0x58, 0x67, 0x1a, 0x53, 0x6f, 0xd3, 0x54, - 0xf8, 0xfc, 0x83, 0x15, 0xce, 0x2b, 0xf6, 0xd9, 0x46, 0xf0, 0x4e, 0xda, 0x39, 0x84, 0x9a, 0xad, - 0x4d, 0x3c, 0xa8, 0xb3, 0x28, 0x52, 0x98, 0x65, 0xc6, 0x51, 0x33, 0xa8, 0x96, 0x9d, 0x5f, 0x1d, - 0x68, 0xae, 0xe4, 0xef, 0xe7, 0x91, 0x4f, 0x61, 0x8b, 0x85, 0x21, 0x66, 0x19, 0xd5, 0xf2, 0x0d, - 0x0a, 0x63, 0xab, 0x19, 0xb4, 0x2c, 0x36, 0x29, 0x20, 0xb2, 0x07, 0xb5, 0x0c, 0xc3, 0x5c, 0xa1, - 0xf7, 0xbf, 0xae, 0xd3, 0x6b, 0x04, 0xe5, 0x8a, 0x7c, 0x02, 0xad, 0x90, 0x85, 0xa8, 0x34, 0x4d, - 0x99, 0x8e, 0xbd, 0x47, 0x46, 0x09, 0x16, 0x1a, 0x33, 0x1d, 0x0f, 0x1b, 0x50, 0xd3, 0xaa, 0x58, - 0x1e, 0xfe, 0xde, 0x84, 0xd6, 0xb8, 0xb8, 0x89, 0x63, 0x29, 0x6e, 0xf9, 0xcc, 0x48, 0xcd, 0x2f, - 0x2b, 0x75, 0x4a, 0xa9, 0x81, 0x0a, 0x69, 0x41, 0x98, 0x72, 0xc1, 0xd4, 0xd2, 0x12, 0xac, 0x2b, - 0xb0, 0x90, 0x21, 0x7c, 0x01, 0x3b, 0x19, 0xaa, 0x05, 0x0f, 0x91, 0x86, 0x49, 0x9e, 0x69, 0x54, - 0xc6, 0x5d, 0x33, 0x68, 0x97, 0xf0, 0xb1, 0x45, 0xc9, 0x0f, 0xd0, 0x8e, 0x14, 0xe3, 0x82, 0x56, - 0xf7, 0x6a, 0x8c, 0xb6, 0x8e, 0xf6, 0x7d, 0x7b, 0xf1, 0x7e, 0x75, 0xf1, 0xfe, 0x49, 0x49, 0x08, - 0xb6, 0x8d, 0xa0, 0x5a, 0x92, 0x2b, 0xf0, 0x52, 0xa6, 0x50, 0x68, 0x9a, 0xc5, 0xb9, 0x8e, 0xe4, - 0xcf, 0x6b, 0xb5, 0x1e, 0x3f, 0x54, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xaa, 0xe8, 0x57, 0xb0, - 0x1b, 0xf1, 0x2c, 0x94, 0x0b, 0x54, 0x4b, 0x5a, 0xdd, 0x4d, 0xcd, 0x24, 0x70, 0x57, 0x1b, 0x83, - 0xf2, 0x92, 0xae, 0xe1, 0xd9, 0x3b, 0xb2, 0xc2, 0x5b, 0x85, 0x59, 0x4c, 0x23, 0x4c, 0xd8, 0xd2, - 0xab, 0x3f, 0x60, 0x60, 0xb8, 0xe9, 0x39, 0xc1, 0xff, 0x57, 0xea, 0xc0, 0x8a, 0x4f, 0x0a, 0x2d, - 0x79, 0x0e, 0x6d, 0xdb, 0x99, 0x2b, 0x03, 0x8d, 0xc2, 0x80, 0x91, 0x6c, 0xdb, 0x9d, 0xca, 0xc1, - 0x10, 0x76, 0x42, 0x29, 0x04, 0x86, 0x9a, 0x6a, 0x3e, 0x47, 0x99, 0x6b, 0xaf, 0xf9, 0x50, 0xf4, - 0x76, 0xa9, 0x98, 0x58, 0x01, 0xf9, 0x1a, 0x48, 0xa6, 0x99, 0xce, 0x22, 0x9a, 0x47, 0xe9, 0xea, - 0x93, 0x60, 0x33, 0xdb, 0x9d, 0xeb, 0x28, 0xad, 0xbe, 0xd8, 0x03, 0xd7, 0xcc, 0x2e, 0x65, 0xd1, - 0x9c, 0x0b, 0x9a, 0x4a, 0xa5, 0xbd, 0x56, 0xd7, 0xe9, 0x3d, 0x0e, 0xda, 0x06, 0x1f, 0x14, 0xf0, - 0x58, 0x2a, 0x4d, 0xfa, 0xb0, 0xcb, 0x16, 0x8c, 0x27, 0x6c, 0xca, 0x13, 0xae, 0x97, 0xf4, 0xad, - 0x14, 0xe8, 0x6d, 0xad, 0x92, 0xb8, 0xeb, 0x9b, 0x37, 0x52, 0x20, 0x89, 0x60, 0x3f, 0x94, 0x42, - 0x2b, 0x99, 0xd0, 0x34, 0x61, 0x02, 0x29, 0xcb, 0x75, 0x4c, 0x53, 0x99, 0xf0, 0x70, 0xe9, 0x6d, - 0x77, 0x9d, 0x5e, 0xfb, 0xe8, 0xf9, 0xbd, 0x73, 0x39, 0xc8, 0x75, 0x8c, 0x42, 0xf3, 0xd0, 0x04, - 0x1c, 0x1b, 0x41, 0xb0, 0x57, 0xd6, 0x1a, 0x17, 0xa5, 0x0a, 0x86, 0xc5, 0x8b, 0xb8, 0x61, 0x9e, - 0x69, 0x39, 0xa7, 0x65, 0xab, 0xdf, 0xf2, 0x04, 0xbd, 0xb6, 0x8d, 0x6b, 0x77, 0xec, 0x34, 0xbc, - 0xe2, 0x09, 0x16, 0x71, 0x8b, 0x23, 0xa0, 0x82, 0xcd, 0x91, 0x26, 0x28, 0x66, 0x3a, 0xf6, 0x76, - 0x6c, 0xdc, 0x02, 0xbf, 0x64, 0x73, 0x3c, 0x37, 0x28, 0xe9, 0x9a, 0xd9, 0x09, 0x73, 0xa5, 0x50, - 0x84, 0x4b, 0xcf, 0x35, 0xa4, 0x75, 0x88, 0x0c, 0xe0, 0x63, 0x7b, 0x74, 0x53, 0x29, 0x75, 0xa6, - 0x15, 0x4b, 0xa9, 0xc6, 0x79, 0x9a, 0x30, 0x8d, 0x76, 0x9c, 0x76, 0x8d, 0x89, 0x8e, 0x21, 0x0d, - 0x2b, 0xce, 0xa4, 0xa4, 0x98, 0xf1, 0x42, 0xd8, 0xe5, 0x42, 0xa3, 0x0a, 0x31, 0x2d, 0xa2, 0xd2, - 0xb9, 0x8c, 0xd0, 0x23, 0xe6, 0x68, 0xbe, 0xbd, 0xf7, 0x68, 0xd6, 0xa6, 0xdb, 0x1f, 0x89, 0xa9, - 0xcc, 0x45, 0x34, 0x5a, 0x2b, 0x70, 0x21, 0x23, 0x0c, 0x5c, 0xfe, 0x1f, 0x84, 0x7c, 0x03, 0x75, - 0x6d, 0xdf, 0x3a, 0xef, 0x89, 0x69, 0xa7, 0x8f, 0x3e, 0xf4, 0x1e, 0x06, 0x15, 0xb9, 0x48, 0x88, - 0x62, 0x21, 0x97, 0x74, 0x8e, 0x5a, 0xf1, 0x30, 0xa3, 0xd5, 0x5b, 0x50, 0x75, 0xd5, 0x53, 0x9b, - 0xd0, 0x90, 0x2e, 0x2c, 0xe7, 0xca, 0x52, 0xca, 0xfe, 0x3a, 0x7c, 0x09, 0xcf, 0xde, 0xe3, 0x93, - 0x6c, 0x41, 0x23, 0x38, 0x3d, 0x19, 0x05, 0xa7, 0xc7, 0x13, 0x77, 0x83, 0x00, 0xd4, 0x26, 0xe3, - 0xe0, 0xf5, 0x8f, 0x3f, 0xb9, 0xce, 0x97, 0xdf, 0xc3, 0xd3, 0xfb, 0x7a, 0x80, 0x34, 0xe0, 0xd1, - 0xe5, 0xeb, 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, - 0xbf, 0x72, 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, - 0xbd, 0x3f, 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0xcd, - 0xca, 0x65, 0x9f, 0xa5, 0xbc, 0xff, 0xaf, 0xff, 0xad, 0x69, 0xcd, 0xcc, 0xd3, 0xcb, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0x3f, 0x0f, 0x26, 0x61, 0xcf, 0x06, 0x00, 0x00, -} diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 9b263002db7..9a0d61a14ea 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -1,67 +1,18 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/destination_rule.proto -/* - Package v1alpha3 is a generated protocol buffer package. - - It is generated from these files: - networking/v1alpha3/destination_rule.proto - networking/v1alpha3/envoy_filter.proto - networking/v1alpha3/gateway.proto - networking/v1alpha3/service_entry.proto - networking/v1alpha3/sidecar.proto - networking/v1alpha3/virtual_service.proto - - It has these top-level messages: - DestinationRule - TrafficPolicy - Subset - LoadBalancerSettings - ConnectionPoolSettings - OutlierDetection - TLSSettings - EnvoyFilter - Gateway - Server - Port - ServiceEntry - Sidecar - IstioIngressListener - IstioEgressListener - WorkloadSelector - VirtualService - Destination - HTTPRoute - Headers - TLSRoute - TCPRoute - HTTPMatchRequest - HTTPRouteDestination - RouteDestination - L4MatchAttributes - TLSMatchAttributes - HTTPRedirect - HTTPRewrite - StringMatch - HTTPRetry - CorsPolicy - HTTPFaultInjection - PortSelector - Percent -*/ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import _ "github.com/gogo/protobuf/gogoproto" - -import time "time" - -import types "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + io "io" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -103,6 +54,7 @@ var LoadBalancerSettings_SimpleLB_name = map[int32]string{ 2: "RANDOM", 3: "PASSTHROUGH", } + var LoadBalancerSettings_SimpleLB_value = map[string]int32{ "ROUND_ROBIN": 0, "LEAST_CONN": 1, @@ -113,8 +65,9 @@ var LoadBalancerSettings_SimpleLB_value = map[string]int32{ func (x LoadBalancerSettings_SimpleLB) String() string { return proto.EnumName(LoadBalancerSettings_SimpleLB_name, int32(x)) } + func (LoadBalancerSettings_SimpleLB) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3, 0} + return fileDescriptor_12899beb695152c8, []int{3, 0} } // TLS connection mode @@ -142,6 +95,7 @@ var TLSSettings_TLSmode_name = map[int32]string{ 2: "MUTUAL", 3: "ISTIO_MUTUAL", } + var TLSSettings_TLSmode_value = map[string]int32{ "DISABLE": 0, "SIMPLE": 1, @@ -152,8 +106,9 @@ var TLSSettings_TLSmode_value = map[string]int32{ func (x TLSSettings_TLSmode) String() string { return proto.EnumName(TLSSettings_TLSmode_name, int32(x)) } + func (TLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{6, 0} + return fileDescriptor_12899beb695152c8, []int{6, 0} } // `DestinationRule` defines policies that apply to traffic intended for a @@ -246,20 +201,51 @@ type DestinationRule struct { Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // Traffic policies to apply (load balancing policy, connection pool // sizes, outlier detection). - TrafficPolicy *TrafficPolicy `protobuf:"bytes,2,opt,name=traffic_policy,json=trafficPolicy" json:"traffic_policy,omitempty"` + TrafficPolicy *TrafficPolicy `protobuf:"bytes,2,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"` // One or more named sets that represent individual versions of a // service. Traffic policies can be overridden at subset level. - Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets" json:"subsets,omitempty"` + Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets,proto3" json:"subsets,omitempty"` // The resolution of a DestinationRule to apply to a service occurs in the // context of a hierarchy of namespaces. This rule controls whether those // namespaces are allowed to select this rule. - ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` + ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DestinationRule) Reset() { *m = DestinationRule{} } +func (m *DestinationRule) String() string { return proto.CompactTextString(m) } +func (*DestinationRule) ProtoMessage() {} +func (*DestinationRule) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{0} +} +func (m *DestinationRule) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DestinationRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DestinationRule.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DestinationRule) XXX_Merge(src proto.Message) { + xxx_messageInfo_DestinationRule.Merge(m, src) +} +func (m *DestinationRule) XXX_Size() int { + return m.Size() +} +func (m *DestinationRule) XXX_DiscardUnknown() { + xxx_messageInfo_DestinationRule.DiscardUnknown(m) } -func (m *DestinationRule) Reset() { *m = DestinationRule{} } -func (m *DestinationRule) String() string { return proto.CompactTextString(m) } -func (*DestinationRule) ProtoMessage() {} -func (*DestinationRule) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{0} } +var xxx_messageInfo_DestinationRule proto.InternalMessageInfo func (m *DestinationRule) GetHost() string { if m != nil { @@ -293,25 +279,56 @@ func (m *DestinationRule) GetExportTo() []string { // destination ports. See DestinationRule for examples. type TrafficPolicy struct { // Settings controlling the load balancer algorithms. - LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer" json:"load_balancer,omitempty"` + LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"` // Settings controlling the volume of connections to an upstream service - ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,2,opt,name=connection_pool,json=connectionPool" json:"connection_pool,omitempty"` + ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,2,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"` // Settings controlling eviction of unhealthy hosts from the load balancing pool - OutlierDetection *OutlierDetection `protobuf:"bytes,3,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"` + OutlierDetection *OutlierDetection `protobuf:"bytes,3,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // TLS related settings for connections to the upstream service. - Tls *TLSSettings `protobuf:"bytes,4,opt,name=tls" json:"tls,omitempty"` + Tls *TLSSettings `protobuf:"bytes,4,opt,name=tls,proto3" json:"tls,omitempty"` // Traffic policies specific to individual ports. Note that port level // settings will override the destination-level settings. Traffic // settings specified at the destination-level will not be inherited when // overridden by port-level settings, i.e. default values will be applied // to fields omitted in port-level traffic policies. - PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings" json:"port_level_settings,omitempty"` + PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings,proto3" json:"port_level_settings,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} } +func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) } +func (*TrafficPolicy) ProtoMessage() {} +func (*TrafficPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{1} +} +func (m *TrafficPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TrafficPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TrafficPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_TrafficPolicy.Merge(m, src) +} +func (m *TrafficPolicy) XXX_Size() int { + return m.Size() +} +func (m *TrafficPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_TrafficPolicy.DiscardUnknown(m) } -func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} } -func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) } -func (*TrafficPolicy) ProtoMessage() {} -func (*TrafficPolicy) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{1} } +var xxx_messageInfo_TrafficPolicy proto.InternalMessageInfo func (m *TrafficPolicy) GetLoadBalancer() *LoadBalancerSettings { if m != nil { @@ -357,23 +374,52 @@ type TrafficPolicy_PortTrafficPolicy struct { // collide with numbers. If there are multiple ports on a service with // the same protocol the names should be of the form -. - Port *PortSelector `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // Settings controlling the load balancer algorithms. - LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer" json:"load_balancer,omitempty"` + LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"` // Settings controlling the volume of connections to an upstream service - ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool" json:"connection_pool,omitempty"` + ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"` // Settings controlling eviction of unhealthy hosts from the load balancing pool - OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"` + OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // TLS related settings for connections to the upstream service. - Tls *TLSSettings `protobuf:"bytes,5,opt,name=tls" json:"tls,omitempty"` + Tls *TLSSettings `protobuf:"bytes,5,opt,name=tls,proto3" json:"tls,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TrafficPolicy_PortTrafficPolicy) Reset() { *m = TrafficPolicy_PortTrafficPolicy{} } func (m *TrafficPolicy_PortTrafficPolicy) String() string { return proto.CompactTextString(m) } func (*TrafficPolicy_PortTrafficPolicy) ProtoMessage() {} func (*TrafficPolicy_PortTrafficPolicy) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{1, 0} + return fileDescriptor_12899beb695152c8, []int{1, 0} } +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Merge(m, src) +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Size() int { + return m.Size() +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_TrafficPolicy_PortTrafficPolicy proto.InternalMessageInfo func (m *TrafficPolicy_PortTrafficPolicy) GetPort() *PortSelector { if m != nil { @@ -452,18 +498,49 @@ type Subset struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Labels apply a filter over the endpoints of a service in the // service registry. See route rules for examples of usage. - Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Traffic policies that apply to this subset. Subsets inherit the // traffic policies specified at the DestinationRule level. Settings // specified at the subset level will override the corresponding settings // specified at the DestinationRule level. - TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy" json:"traffic_policy,omitempty"` + TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Subset) Reset() { *m = Subset{} } -func (m *Subset) String() string { return proto.CompactTextString(m) } -func (*Subset) ProtoMessage() {} -func (*Subset) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{2} } +func (m *Subset) Reset() { *m = Subset{} } +func (m *Subset) String() string { return proto.CompactTextString(m) } +func (*Subset) ProtoMessage() {} +func (*Subset) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{2} +} +func (m *Subset) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Subset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Subset.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Subset) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subset.Merge(m, src) +} +func (m *Subset) XXX_Size() int { + return m.Size() +} +func (m *Subset) XXX_DiscardUnknown() { + xxx_messageInfo_Subset.DiscardUnknown(m) +} + +var xxx_messageInfo_Subset proto.InternalMessageInfo func (m *Subset) GetName() string { if m != nil { @@ -531,16 +608,45 @@ type LoadBalancerSettings struct { // Types that are valid to be assigned to LbPolicy: // *LoadBalancerSettings_Simple // *LoadBalancerSettings_ConsistentHash - LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"` + LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LoadBalancerSettings) Reset() { *m = LoadBalancerSettings{} } func (m *LoadBalancerSettings) String() string { return proto.CompactTextString(m) } func (*LoadBalancerSettings) ProtoMessage() {} func (*LoadBalancerSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3} + return fileDescriptor_12899beb695152c8, []int{3} +} +func (m *LoadBalancerSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LoadBalancerSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LoadBalancerSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LoadBalancerSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoadBalancerSettings.Merge(m, src) +} +func (m *LoadBalancerSettings) XXX_Size() int { + return m.Size() +} +func (m *LoadBalancerSettings) XXX_DiscardUnknown() { + xxx_messageInfo_LoadBalancerSettings.DiscardUnknown(m) } +var xxx_messageInfo_LoadBalancerSettings proto.InternalMessageInfo + type isLoadBalancerSettings_LbPolicy interface { isLoadBalancerSettings_LbPolicy() MarshalTo([]byte) (int, error) @@ -551,7 +657,7 @@ type LoadBalancerSettings_Simple struct { Simple LoadBalancerSettings_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB,oneof"` } type LoadBalancerSettings_ConsistentHash struct { - ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,oneof"` + ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof"` } func (*LoadBalancerSettings_Simple) isLoadBalancerSettings_LbPolicy() {} @@ -633,11 +739,11 @@ func _LoadBalancerSettings_OneofSizer(msg proto.Message) (n int) { // lb_policy switch x := m.LbPolicy.(type) { case *LoadBalancerSettings_Simple: - n += proto.SizeVarint(1<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Simple)) case *LoadBalancerSettings_ConsistentHash: s := proto.Size(x.ConsistentHash) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -666,15 +772,44 @@ type LoadBalancerSettings_ConsistentHashLB struct { // load distributions. If the number of hosts in the load balancing // pool is larger than the ring size, each host will be assigned a // single virtual node. - MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` + MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LoadBalancerSettings_ConsistentHashLB) Reset() { *m = LoadBalancerSettings_ConsistentHashLB{} } func (m *LoadBalancerSettings_ConsistentHashLB) String() string { return proto.CompactTextString(m) } func (*LoadBalancerSettings_ConsistentHashLB) ProtoMessage() {} func (*LoadBalancerSettings_ConsistentHashLB) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3, 0} + return fileDescriptor_12899beb695152c8, []int{3, 0} +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Merge(m, src) +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Size() int { + return m.Size() +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_DiscardUnknown() { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.DiscardUnknown(m) +} + +var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB proto.InternalMessageInfo type isLoadBalancerSettings_ConsistentHashLB_HashKey interface { isLoadBalancerSettings_ConsistentHashLB_HashKey() @@ -686,7 +821,7 @@ type LoadBalancerSettings_ConsistentHashLB_HttpHeaderName struct { HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof"` } type LoadBalancerSettings_ConsistentHashLB_HttpCookie struct { - HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,oneof"` + HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof"` } type LoadBalancerSettings_ConsistentHashLB_UseSourceIp struct { UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof"` @@ -804,16 +939,16 @@ func _LoadBalancerSettings_ConsistentHashLB_OneofSizer(msg proto.Message) (n int // hash_key switch x := m.HashKey.(type) { case *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.HttpHeaderName))) n += len(x.HttpHeaderName) case *LoadBalancerSettings_ConsistentHashLB_HttpCookie: s := proto.Size(x.HttpCookie) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *LoadBalancerSettings_ConsistentHashLB_UseSourceIp: - n += proto.SizeVarint(3<<3 | proto.WireVarint) + n += 1 // tag and wire n += 1 case nil: default: @@ -831,7 +966,10 @@ type LoadBalancerSettings_ConsistentHashLB_HTTPCookie struct { // Path to set for the cookie. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // REQUIRED. Lifetime of the cookie. - Ttl *time.Duration `protobuf:"bytes,3,opt,name=ttl,stdduration" json:"ttl,omitempty"` + Ttl *time.Duration `protobuf:"bytes,3,opt,name=ttl,proto3,stdduration" json:"ttl,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Reset() { @@ -842,8 +980,34 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) String() string { } func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoMessage() {} func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3, 0, 0} + return fileDescriptor_12899beb695152c8, []int{3, 0, 0} +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Merge(m, src) +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Size() int { + return m.Size() } +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_DiscardUnknown() { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.DiscardUnknown(m) +} + +var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie proto.InternalMessageInfo func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetName() string { if m != nil { @@ -893,17 +1057,46 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *time.Durati // ``` type ConnectionPoolSettings struct { // Settings common to both HTTP and TCP upstream connections. - Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp" json:"tcp,omitempty"` + Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"` // HTTP connection pool settings. - Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http" json:"http,omitempty"` + Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings) Reset() { *m = ConnectionPoolSettings{} } func (m *ConnectionPoolSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings) ProtoMessage() {} func (*ConnectionPoolSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4} + return fileDescriptor_12899beb695152c8, []int{4} +} +func (m *ConnectionPoolSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } } +func (m *ConnectionPoolSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings.Merge(m, src) +} +func (m *ConnectionPoolSettings) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings.DiscardUnknown(m) +} + +var xxx_messageInfo_ConnectionPoolSettings proto.InternalMessageInfo func (m *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings { if m != nil { @@ -924,18 +1117,47 @@ type ConnectionPoolSettings_TCPSettings struct { // Maximum number of HTTP1 /TCP connections to a destination host. MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // TCP connection timeout. - ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + ConnectTimeout *types.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. - TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` + TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} } func (m *ConnectionPoolSettings_TCPSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings_TCPSettings) ProtoMessage() {} func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4, 0} + return fileDescriptor_12899beb695152c8, []int{4, 0} +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Merge(m, src) +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings.DiscardUnknown(m) } +var xxx_messageInfo_ConnectionPoolSettings_TCPSettings proto.InternalMessageInfo + func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 { if m != nil { return m.MaxConnections @@ -943,7 +1165,7 @@ func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 { return 0 } -func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *google_protobuf.Duration { +func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *types.Duration { if m != nil { return m.ConnectTimeout } @@ -966,11 +1188,14 @@ type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct { // The time duration a connection needs to be idle before keep-alive // probes start being sent. Default is to use the OS level configuration // (unless overridden, Linux defaults to 7200s (ie 2 hours.) - Time *google_protobuf.Duration `protobuf:"bytes,2,opt,name=time" json:"time,omitempty"` + Time *types.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"` // The time duration between keep-alive probes. // Default is to use the OS level configuration // (unless overridden, Linux defaults to 75s.) - Interval *google_protobuf.Duration `protobuf:"bytes,3,opt,name=interval" json:"interval,omitempty"` + Interval *types.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() { @@ -981,9 +1206,35 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string { } func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {} func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4, 0, 0} + return fileDescriptor_12899beb695152c8, []int{4, 0, 0} +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Merge(m, src) +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.DiscardUnknown(m) } +var xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive proto.InternalMessageInfo + func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { if m != nil { return m.Probes @@ -991,14 +1242,14 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { return 0 } -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *google_protobuf.Duration { +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *types.Duration { if m != nil { return m.Time } return nil } -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *google_protobuf.Duration { +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *types.Duration { if m != nil { return m.Interval } @@ -1016,16 +1267,45 @@ type ConnectionPoolSettings_HTTPSettings struct { MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` // Maximum number of retries that can be outstanding to all hosts in a // cluster at a given time. Defaults to 3. - MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` + MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings_HTTPSettings) Reset() { *m = ConnectionPoolSettings_HTTPSettings{} } func (m *ConnectionPoolSettings_HTTPSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage() {} func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4, 1} + return fileDescriptor_12899beb695152c8, []int{4, 1} +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Merge(m, src) +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.DiscardUnknown(m) } +var xxx_messageInfo_ConnectionPoolSettings_HTTPSettings proto.InternalMessageInfo + func (m *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32 { if m != nil { return m.Http1MaxPendingRequests @@ -1098,13 +1378,13 @@ type OutlierDetection struct { ConsecutiveErrors int32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"` // Time interval between ejection sweep analysis. format: // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s. - Interval *google_protobuf.Duration `protobuf:"bytes,2,opt,name=interval" json:"interval,omitempty"` + Interval *types.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` // Minimum ejection duration. A host will remain ejected for a period // equal to the product of minimum ejection duration and the number of // times the host has been ejected. This technique allows the system to // automatically increase the ejection period for unhealthy upstream // servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s. - BaseEjectionTime *google_protobuf.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime" json:"base_ejection_time,omitempty"` + BaseEjectionTime *types.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"` // Maximum % of hosts in the load balancing pool for the upstream // service that can be ejected. Defaults to 10%. MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` @@ -1113,13 +1393,44 @@ type OutlierDetection struct { // percentage of healthy hosts in the load balancing pool drops below this // threshold, outlier detection will be disabled and the proxy will load balance // across all hosts in the pool (healthy and unhealthy). The default is 50%. - MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"` + MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OutlierDetection) Reset() { *m = OutlierDetection{} } +func (m *OutlierDetection) String() string { return proto.CompactTextString(m) } +func (*OutlierDetection) ProtoMessage() {} +func (*OutlierDetection) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{5} +} +func (m *OutlierDetection) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OutlierDetection.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *OutlierDetection) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutlierDetection.Merge(m, src) +} +func (m *OutlierDetection) XXX_Size() int { + return m.Size() +} +func (m *OutlierDetection) XXX_DiscardUnknown() { + xxx_messageInfo_OutlierDetection.DiscardUnknown(m) } -func (m *OutlierDetection) Reset() { *m = OutlierDetection{} } -func (m *OutlierDetection) String() string { return proto.CompactTextString(m) } -func (*OutlierDetection) ProtoMessage() {} -func (*OutlierDetection) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{5} } +var xxx_messageInfo_OutlierDetection proto.InternalMessageInfo func (m *OutlierDetection) GetConsecutiveErrors() int32 { if m != nil { @@ -1128,14 +1439,14 @@ func (m *OutlierDetection) GetConsecutiveErrors() int32 { return 0 } -func (m *OutlierDetection) GetInterval() *google_protobuf.Duration { +func (m *OutlierDetection) GetInterval() *types.Duration { if m != nil { return m.Interval } return nil } -func (m *OutlierDetection) GetBaseEjectionTime() *google_protobuf.Duration { +func (m *OutlierDetection) GetBaseEjectionTime() *types.Duration { if m != nil { return m.BaseEjectionTime } @@ -1229,15 +1540,46 @@ type TLSSettings struct { // certificate's subject alt name matches one of the specified values. // If specified, this list overrides the value of subject_alt_names // from the ServiceEntry. - SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` // SNI string to present to the server during TLS handshake. - Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"` + Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TLSSettings) Reset() { *m = TLSSettings{} } +func (m *TLSSettings) String() string { return proto.CompactTextString(m) } +func (*TLSSettings) ProtoMessage() {} +func (*TLSSettings) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{6} +} +func (m *TLSSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TLSSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TLSSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TLSSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_TLSSettings.Merge(m, src) +} +func (m *TLSSettings) XXX_Size() int { + return m.Size() +} +func (m *TLSSettings) XXX_DiscardUnknown() { + xxx_messageInfo_TLSSettings.DiscardUnknown(m) } -func (m *TLSSettings) Reset() { *m = TLSSettings{} } -func (m *TLSSettings) String() string { return proto.CompactTextString(m) } -func (*TLSSettings) ProtoMessage() {} -func (*TLSSettings) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{6} } +var xxx_messageInfo_TLSSettings proto.InternalMessageInfo func (m *TLSSettings) GetMode() TLSSettings_TLSmode { if m != nil { @@ -1282,10 +1624,13 @@ func (m *TLSSettings) GetSni() string { } func init() { + proto.RegisterEnum("istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value) + proto.RegisterEnum("istio.networking.v1alpha3.TLSSettings_TLSmode", TLSSettings_TLSmode_name, TLSSettings_TLSmode_value) proto.RegisterType((*DestinationRule)(nil), "istio.networking.v1alpha3.DestinationRule") proto.RegisterType((*TrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy") proto.RegisterType((*TrafficPolicy_PortTrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy") proto.RegisterType((*Subset)(nil), "istio.networking.v1alpha3.Subset") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Subset.LabelsEntry") proto.RegisterType((*LoadBalancerSettings)(nil), "istio.networking.v1alpha3.LoadBalancerSettings") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie") @@ -1295,9 +1640,104 @@ func init() { proto.RegisterType((*ConnectionPoolSettings_HTTPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings") proto.RegisterType((*OutlierDetection)(nil), "istio.networking.v1alpha3.OutlierDetection") proto.RegisterType((*TLSSettings)(nil), "istio.networking.v1alpha3.TLSSettings") - proto.RegisterEnum("istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value) - proto.RegisterEnum("istio.networking.v1alpha3.TLSSettings_TLSmode", TLSSettings_TLSmode_name, TLSSettings_TLSmode_value) } + +func init() { + proto.RegisterFile("networking/v1alpha3/destination_rule.proto", fileDescriptor_12899beb695152c8) +} + +var fileDescriptor_12899beb695152c8 = []byte{ + // 1396 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0xb7, + 0x13, 0xb6, 0xfe, 0xc6, 0x1a, 0xd9, 0xb2, 0xcc, 0x9f, 0x91, 0x9f, 0xa2, 0x00, 0x8e, 0x2b, 0x14, + 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x10, 0xb9, 0x91, 0x2d, + 0x81, 0x92, 0x81, 0x22, 0x97, 0x05, 0xb5, 0xa2, 0x25, 0xc6, 0xab, 0xe5, 0x76, 0xc9, 0x55, 0xed, + 0x3c, 0x43, 0xcf, 0x41, 0xaf, 0xbd, 0xf4, 0x59, 0x8a, 0x9e, 0x72, 0x6d, 0x2f, 0x2d, 0xf2, 0x02, + 0x3d, 0xf5, 0xd2, 0x53, 0x41, 0x2e, 0x57, 0x92, 0x13, 0xc7, 0x8e, 0xe1, 0xe6, 0xc6, 0xe5, 0xcc, + 0xf7, 0x91, 0x9c, 0x6f, 0x38, 0xc3, 0x85, 0x3b, 0x1e, 0x95, 0xdf, 0xf3, 0xe0, 0x88, 0x79, 0x83, + 0xea, 0x78, 0x83, 0xb8, 0xfe, 0x90, 0xdc, 0xab, 0xf6, 0xa9, 0x90, 0xcc, 0x23, 0x92, 0x71, 0xcf, + 0x0e, 0x42, 0x97, 0x5a, 0x7e, 0xc0, 0x25, 0x47, 0x37, 0x98, 0x90, 0x8c, 0x5b, 0x53, 0x84, 0x15, + 0x23, 0xca, 0xab, 0x03, 0xce, 0x07, 0x2e, 0xad, 0x6a, 0xc7, 0x5e, 0x78, 0x58, 0xed, 0x87, 0x81, + 0xc6, 0x47, 0xd0, 0xf2, 0xa7, 0x67, 0x2d, 0x33, 0x66, 0x81, 0x0c, 0x89, 0x6b, 0x0b, 0x1a, 0x8c, + 0x99, 0x63, 0x56, 0x29, 0xaf, 0x0c, 0xf8, 0x80, 0xeb, 0x61, 0x55, 0x8d, 0xa2, 0xd9, 0xca, 0xab, + 0x04, 0x2c, 0xed, 0x4c, 0xb7, 0x85, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x21, 0x17, 0xb2, 0x94, 0x58, + 0x4b, 0xac, 0xe7, 0xb0, 0x1e, 0xa3, 0x16, 0x14, 0x64, 0x40, 0x0e, 0x0f, 0x99, 0x63, 0xfb, 0xdc, + 0x65, 0xce, 0x49, 0x29, 0xb9, 0x96, 0x58, 0xcf, 0x6f, 0xae, 0x5b, 0xef, 0xdc, 0xbc, 0xd5, 0x8d, + 0x00, 0x6d, 0xed, 0x8f, 0x17, 0xe5, 0xec, 0x27, 0x7a, 0x08, 0xd7, 0x44, 0xd8, 0x13, 0x54, 0x8a, + 0x52, 0x6a, 0x2d, 0xb5, 0x9e, 0xdf, 0xfc, 0xe8, 0x1c, 0xa6, 0x8e, 0xf6, 0xc4, 0x31, 0x02, 0xdd, + 0x84, 0x1c, 0x3d, 0xf6, 0x79, 0x20, 0x6d, 0xc9, 0x4b, 0xe9, 0xb5, 0xd4, 0x7a, 0x0e, 0xcf, 0x47, + 0x13, 0x5d, 0x5e, 0xf9, 0x3d, 0x0b, 0x8b, 0xa7, 0x96, 0x46, 0x5d, 0x58, 0x74, 0x39, 0xe9, 0xdb, + 0x3d, 0xe2, 0x12, 0xcf, 0xa1, 0x81, 0x3e, 0x59, 0x7e, 0xb3, 0x7a, 0xce, 0x8a, 0x4d, 0x4e, 0xfa, + 0x35, 0xe3, 0xde, 0xa1, 0x52, 0x32, 0x6f, 0x20, 0xf0, 0x82, 0x3b, 0x33, 0x8b, 0x9e, 0xc1, 0x92, + 0xc3, 0x3d, 0x8f, 0x3a, 0x5a, 0x4f, 0x9f, 0x73, 0xd7, 0xc4, 0x64, 0xe3, 0x1c, 0xde, 0xed, 0x09, + 0xa2, 0xcd, 0xb9, 0x3b, 0x61, 0x2e, 0x38, 0xa7, 0xe6, 0xd1, 0xb7, 0xb0, 0xcc, 0x43, 0xe9, 0x32, + 0x1a, 0xd8, 0x7d, 0x2a, 0x23, 0x43, 0x29, 0xa5, 0xd9, 0x3f, 0x3b, 0x87, 0xbd, 0x15, 0x61, 0x76, + 0x62, 0x08, 0x2e, 0xf2, 0x37, 0x66, 0xd0, 0x7d, 0x48, 0x49, 0x57, 0x94, 0xd2, 0x9a, 0xeb, 0x93, + 0xf3, 0xd4, 0x6b, 0x76, 0x26, 0xdb, 0x53, 0x10, 0xf4, 0x1c, 0xfe, 0xa7, 0x43, 0xee, 0xd2, 0x31, + 0x55, 0xc9, 0x15, 0xd9, 0x4a, 0x19, 0xad, 0xde, 0x83, 0xf7, 0xcd, 0x03, 0xab, 0xad, 0x54, 0x3a, + 0x95, 0x19, 0xcb, 0x8a, 0xb6, 0xa9, 0x58, 0xe3, 0x05, 0xcb, 0x2f, 0x53, 0xb0, 0xfc, 0x96, 0x23, + 0x7a, 0x08, 0x69, 0xe5, 0x6a, 0xe4, 0xbb, 0x7d, 0xce, 0x92, 0x0a, 0xdb, 0xa1, 0x2e, 0x75, 0x24, + 0x0f, 0xb0, 0x06, 0xbd, 0x9d, 0x04, 0xc9, 0x0f, 0x94, 0x04, 0xa9, 0x0f, 0x9a, 0x04, 0xe9, 0xff, + 0x30, 0x09, 0x32, 0x97, 0x4e, 0x82, 0xca, 0x5f, 0x09, 0xc8, 0x46, 0xb7, 0x51, 0x95, 0x09, 0x8f, + 0x8c, 0x68, 0x5c, 0x26, 0xd4, 0x18, 0xd5, 0x21, 0xeb, 0x92, 0x1e, 0x75, 0x45, 0x29, 0xa9, 0xd3, + 0xe2, 0xee, 0x85, 0x97, 0xda, 0x6a, 0x6a, 0xff, 0xba, 0x27, 0x83, 0x13, 0x6c, 0xc0, 0x67, 0x54, + 0x9b, 0xd4, 0x95, 0xaa, 0x4d, 0xf9, 0x2b, 0xc8, 0xcf, 0xac, 0x83, 0x8a, 0x90, 0x3a, 0xa2, 0x27, + 0x66, 0xe7, 0x6a, 0x88, 0x56, 0x20, 0x33, 0x26, 0x6e, 0x48, 0x75, 0x56, 0xe4, 0x70, 0xf4, 0xf1, + 0x20, 0x79, 0x3f, 0x51, 0xf9, 0x39, 0x03, 0x2b, 0x67, 0x25, 0x02, 0xc2, 0x90, 0x15, 0x6c, 0xe4, + 0xbb, 0x51, 0x04, 0x0a, 0x9b, 0xf7, 0x2f, 0x99, 0x49, 0x56, 0x47, 0xa3, 0x9b, 0xb5, 0xc6, 0x1c, + 0x36, 0x4c, 0xe8, 0x48, 0xa7, 0x93, 0x60, 0x42, 0x52, 0x4f, 0xda, 0x43, 0x22, 0x86, 0x26, 0x4d, + 0x1f, 0x5f, 0x96, 0x7c, 0x7b, 0x42, 0xd3, 0x20, 0x62, 0xa8, 0x17, 0x29, 0x38, 0xa7, 0xe6, 0xca, + 0x7f, 0x27, 0xa1, 0xf8, 0xa6, 0x1b, 0xba, 0x03, 0xc5, 0xa1, 0x94, 0xbe, 0x3d, 0xa4, 0xa4, 0x4f, + 0x03, 0x7b, 0xaa, 0xb0, 0x22, 0x50, 0x96, 0x86, 0x36, 0xec, 0x2b, 0xb5, 0x3d, 0xc8, 0x6b, 0x5f, + 0x87, 0xf3, 0x23, 0x46, 0xcd, 0x4e, 0x9f, 0x5e, 0x75, 0xa7, 0x56, 0xa3, 0xdb, 0x6d, 0x6f, 0x6b, + 0xca, 0xc6, 0x1c, 0x06, 0xb5, 0x42, 0xf4, 0x85, 0x3e, 0x86, 0xc5, 0x50, 0x50, 0x5b, 0xf0, 0x30, + 0x70, 0xa8, 0xcd, 0x7c, 0x9d, 0x15, 0xf3, 0x8d, 0x39, 0x9c, 0x0f, 0x05, 0xed, 0xe8, 0xd9, 0x5d, + 0x1f, 0xdd, 0x81, 0xe5, 0x11, 0xf3, 0xd8, 0x28, 0x1c, 0xd9, 0x01, 0xf3, 0x06, 0xb6, 0x60, 0x2f, + 0xa8, 0xbe, 0x36, 0x69, 0xbc, 0x64, 0x0c, 0x98, 0x79, 0x83, 0x0e, 0x7b, 0x41, 0xcb, 0x03, 0x80, + 0xe9, 0x6a, 0x67, 0x66, 0x34, 0x82, 0xb4, 0x4f, 0xe4, 0xd0, 0xe4, 0x85, 0x1e, 0xa3, 0x0d, 0x48, + 0x49, 0x19, 0x5f, 0xf4, 0x1b, 0x56, 0xd4, 0xa3, 0xad, 0xb8, 0x47, 0x5b, 0x3b, 0xa6, 0x47, 0xd7, + 0xd2, 0x3f, 0xfe, 0x71, 0x2b, 0x81, 0x95, 0x6f, 0x0d, 0x60, 0x5e, 0xa9, 0x69, 0x1f, 0xd1, 0x93, + 0x4a, 0x03, 0xe6, 0x63, 0xe9, 0xd1, 0x12, 0xe4, 0x71, 0xeb, 0x60, 0x7f, 0xc7, 0xc6, 0xad, 0xda, + 0xee, 0x7e, 0x71, 0x0e, 0x15, 0x00, 0x9a, 0xf5, 0xad, 0x4e, 0xd7, 0xde, 0x6e, 0xed, 0xef, 0x17, + 0x13, 0x08, 0x20, 0x8b, 0xb7, 0xf6, 0x77, 0x5a, 0x7b, 0xc5, 0xa4, 0x72, 0x6e, 0x6f, 0x75, 0x3a, + 0xdd, 0x06, 0x6e, 0x1d, 0x3c, 0x69, 0x14, 0x53, 0xb5, 0x3c, 0xe4, 0xdc, 0x9e, 0xb9, 0x22, 0x95, + 0x97, 0x59, 0xb8, 0x7e, 0x76, 0x65, 0x41, 0x2d, 0x48, 0x49, 0xc7, 0x37, 0x75, 0xf3, 0xd1, 0xa5, + 0x2b, 0x93, 0xd5, 0xdd, 0x6e, 0xcf, 0x94, 0x01, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x17, 0x23, 0xf9, + 0xd7, 0x97, 0x67, 0x54, 0x51, 0x9f, 0x50, 0x6a, 0xae, 0xf2, 0x3f, 0x49, 0xc8, 0xcf, 0x2c, 0x84, + 0x6e, 0xc3, 0xd2, 0x88, 0x1c, 0xdb, 0xd3, 0xa2, 0x28, 0xf4, 0x01, 0x32, 0xb8, 0x30, 0x22, 0xc7, + 0x53, 0x5a, 0x81, 0x6a, 0x93, 0x1a, 0x6c, 0x4b, 0x36, 0xa2, 0x3c, 0x94, 0x66, 0x5f, 0xef, 0x96, + 0x66, 0x52, 0x6b, 0xbb, 0x11, 0x00, 0x71, 0x58, 0x94, 0x8e, 0x6f, 0x1f, 0x51, 0xea, 0x13, 0x97, + 0x8d, 0xa9, 0x11, 0xf7, 0x9b, 0x2b, 0xc5, 0xca, 0xea, 0x3a, 0xfe, 0xd3, 0x98, 0x11, 0x2f, 0xc8, + 0x99, 0xaf, 0xf2, 0x0f, 0x09, 0x58, 0x98, 0x35, 0xa3, 0xeb, 0x90, 0xf5, 0x03, 0xde, 0xa3, 0xd1, + 0x29, 0x17, 0xb1, 0xf9, 0x42, 0x77, 0x21, 0xad, 0x4e, 0x75, 0xf1, 0x91, 0xb4, 0x1b, 0xfa, 0x12, + 0xe6, 0x99, 0x27, 0x69, 0x30, 0x26, 0x17, 0x27, 0x28, 0x9e, 0xb8, 0x96, 0x7f, 0x4b, 0xc0, 0xc2, + 0xac, 0x26, 0xe8, 0x21, 0x94, 0x95, 0x2a, 0x1b, 0xb6, 0xd2, 0xc0, 0xa7, 0x5e, 0x5f, 0x5d, 0xa5, + 0x80, 0x7e, 0x17, 0x52, 0x21, 0x63, 0x21, 0xfe, 0xaf, 0x3d, 0xf6, 0xc8, 0x71, 0x3b, 0xb2, 0x63, + 0x63, 0x46, 0x9f, 0x03, 0x52, 0xa6, 0x4d, 0x0d, 0x9e, 0x80, 0x92, 0x1a, 0xa4, 0xcb, 0xcb, 0xe6, + 0x1e, 0x39, 0x9e, 0x78, 0x3f, 0x82, 0x9b, 0xb3, 0x7e, 0xb6, 0x4f, 0x83, 0x19, 0xd5, 0xf5, 0x29, + 0x32, 0xb8, 0x34, 0x9a, 0x22, 0xda, 0x34, 0x98, 0x06, 0x1f, 0xdd, 0x82, 0x7c, 0x04, 0x97, 0x01, + 0xa3, 0xd1, 0xcb, 0x26, 0x83, 0x41, 0xbb, 0xeb, 0x99, 0xca, 0x4f, 0x49, 0x28, 0xbe, 0xd9, 0x14, + 0xd1, 0x5d, 0x40, 0xaa, 0x1c, 0x52, 0x27, 0x94, 0x6c, 0x4c, 0x6d, 0x1a, 0x04, 0x3c, 0x88, 0xcf, + 0xb5, 0x3c, 0x63, 0xa9, 0x6b, 0xc3, 0xa9, 0xb0, 0x26, 0xdf, 0x3b, 0xac, 0xe8, 0x09, 0xa0, 0x1e, + 0x11, 0xd4, 0xa6, 0xcf, 0xcd, 0x0b, 0x41, 0x4b, 0x79, 0xa1, 0x2e, 0x45, 0x05, 0xaa, 0x1b, 0x8c, + 0x4a, 0x51, 0xf4, 0x05, 0xac, 0xa8, 0x43, 0x4e, 0x78, 0x7c, 0x1a, 0x38, 0xd4, 0x93, 0xe6, 0xb4, + 0x68, 0x44, 0x8e, 0x63, 0xf7, 0x76, 0x64, 0x51, 0x1a, 0x8c, 0x98, 0xa7, 0xea, 0xb8, 0x2b, 0x87, + 0x13, 0xff, 0x4c, 0xa4, 0xc1, 0x88, 0x79, 0x0d, 0x6d, 0x30, 0xde, 0x95, 0x5f, 0xd5, 0xe5, 0x9b, + 0x36, 0x7b, 0x54, 0x83, 0xf4, 0x88, 0xf7, 0xe3, 0xd6, 0x66, 0xbd, 0xdf, 0x13, 0x41, 0x8d, 0x15, + 0x0a, 0x6b, 0xac, 0x0e, 0xb1, 0xcb, 0x54, 0x23, 0x73, 0x68, 0x20, 0xd9, 0x21, 0x73, 0x88, 0x8c, + 0x1b, 0xec, 0x72, 0x64, 0xd9, 0x9e, 0x1a, 0x94, 0x8e, 0x7e, 0xc0, 0xc6, 0x44, 0x52, 0x55, 0x25, + 0x75, 0x90, 0x72, 0x18, 0xcc, 0xd4, 0x53, 0x7a, 0xa2, 0x0a, 0x82, 0x43, 0x66, 0xb9, 0x22, 0xb1, + 0x73, 0xb8, 0xe0, 0x90, 0x19, 0x22, 0xa1, 0x3a, 0x80, 0x08, 0x7b, 0x2a, 0x1e, 0x36, 0x71, 0xa5, + 0xee, 0x61, 0xd1, 0x3b, 0x35, 0x87, 0x97, 0x8c, 0x61, 0xcb, 0x95, 0xaa, 0x85, 0x09, 0xf5, 0x14, + 0x10, 0x1e, 0x2b, 0x65, 0xa3, 0xa7, 0x80, 0xf0, 0x58, 0xe5, 0x31, 0x5c, 0x33, 0xe7, 0x40, 0x79, + 0xb8, 0xb6, 0xb3, 0xdb, 0xd9, 0xaa, 0x35, 0xeb, 0xc5, 0x39, 0x55, 0x89, 0x3b, 0xbb, 0x7b, 0xed, + 0x66, 0x3d, 0xaa, 0xca, 0x7b, 0x07, 0xdd, 0x83, 0xad, 0x66, 0x31, 0x89, 0x8a, 0xb0, 0xb0, 0xdb, + 0xe9, 0xee, 0xb6, 0x6c, 0x33, 0x93, 0xaa, 0x59, 0xbf, 0xbc, 0x5e, 0x4d, 0xbc, 0x7a, 0xbd, 0x9a, + 0xf8, 0xf3, 0xf5, 0x6a, 0xe2, 0xd9, 0x5a, 0x14, 0x3b, 0xc6, 0xab, 0xc4, 0x67, 0xd5, 0x33, 0x7e, + 0xd8, 0x7a, 0x59, 0x9d, 0x01, 0xf7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x7d, 0x30, 0x94, + 0x35, 0x0e, 0x00, 0x00, +} + func (m *DestinationRule) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1356,6 +1796,9 @@ func (m *DestinationRule) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1426,6 +1869,9 @@ func (m *TrafficPolicy) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1494,6 +1940,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { } i += n10 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1545,6 +1994,9 @@ func (m *Subset) MarshalTo(dAtA []byte) (int, error) { } i += n11 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1570,6 +2022,9 @@ func (m *LoadBalancerSettings) MarshalTo(dAtA []byte) (int, error) { } i += nn12 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1621,6 +2076,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB) MarshalTo(dAtA []byte) (int, err i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinimumRingSize)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1688,13 +2146,16 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalTo(dAtA []byte if m.Ttl != nil { dAtA[i] = 0x1a i++ - i = encodeVarintDestinationRule(dAtA, i, uint64(types.SizeOfStdDuration(*m.Ttl))) - n16, err := types.StdDurationMarshalTo(*m.Ttl, dAtA[i:]) + i = encodeVarintDestinationRule(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Ttl))) + n16, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Ttl, dAtA[i:]) if err != nil { return 0, err } i += n16 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1733,6 +2194,9 @@ func (m *ConnectionPoolSettings) MarshalTo(dAtA []byte) (int, error) { } i += n18 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1776,6 +2240,9 @@ func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) } i += n20 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1819,6 +2286,9 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) } i += n22 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1857,6 +2327,9 @@ func (m *ConnectionPoolSettings_HTTPSettings) MarshalTo(dAtA []byte) (int, error i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxRetries)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1910,6 +2383,9 @@ func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinHealthPercent)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1972,6 +2448,9 @@ func (m *TLSSettings) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Sni))) i += copy(dAtA[i:], m.Sni) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1985,6 +2464,9 @@ func encodeVarintDestinationRule(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *DestinationRule) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Host) @@ -2007,10 +2489,16 @@ func (m *DestinationRule) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TrafficPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.LoadBalancer != nil { @@ -2035,10 +2523,16 @@ func (m *TrafficPolicy) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -2061,10 +2555,16 @@ func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) { l = m.Tls.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Subset) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -2083,25 +2583,40 @@ func (m *Subset) Size() (n int) { l = m.TrafficPolicy.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LoadBalancerSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.LbPolicy != nil { n += m.LbPolicy.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LoadBalancerSettings_Simple) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovDestinationRule(uint64(m.Simple)) return n } func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ConsistentHash != nil { @@ -2111,6 +2626,9 @@ func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.HashKey != nil { @@ -2119,10 +2637,16 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) { if m.MinimumRingSize != 0 { n += 1 + sovDestinationRule(uint64(m.MinimumRingSize)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.HttpHeaderName) @@ -2130,6 +2654,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.HttpCookie != nil { @@ -2139,12 +2666,18 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 2 return n } func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -2156,13 +2689,19 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } if m.Ttl != nil { - l = types.SizeOfStdDuration(*m.Ttl) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Ttl) n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Tcp != nil { @@ -2173,10 +2712,16 @@ func (m *ConnectionPoolSettings) Size() (n int) { l = m.Http.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.MaxConnections != 0 { @@ -2190,10 +2735,16 @@ func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { l = m.TcpKeepalive.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Probes != 0 { @@ -2207,10 +2758,16 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { l = m.Interval.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Http1MaxPendingRequests != 0 { @@ -2225,10 +2782,16 @@ func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) { if m.MaxRetries != 0 { n += 1 + sovDestinationRule(uint64(m.MaxRetries)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *OutlierDetection) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ConsecutiveErrors != 0 { @@ -2248,10 +2811,16 @@ func (m *OutlierDetection) Size() (n int) { if m.MinHealthPercent != 0 { n += 1 + sovDestinationRule(uint64(m.MinHealthPercent)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TLSSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Mode != 0 { @@ -2279,6 +2848,9 @@ func (m *TLSSettings) Size() (n int) { if l > 0 { n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -2310,7 +2882,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2338,7 +2910,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2348,6 +2920,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2367,7 +2942,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2376,6 +2951,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2400,7 +2978,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2409,6 +2987,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2431,7 +3012,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2441,6 +3022,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2455,9 +3039,13 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2482,7 +3070,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2510,7 +3098,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2519,6 +3107,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2543,7 +3134,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2552,6 +3143,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2576,7 +3170,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2585,6 +3179,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2609,7 +3206,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2618,6 +3215,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2642,7 +3242,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2651,6 +3251,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2668,9 +3271,13 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2695,7 +3302,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2723,7 +3330,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2732,6 +3339,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2756,7 +3366,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2765,6 +3375,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2789,7 +3402,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2798,6 +3411,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2822,7 +3438,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2831,6 +3447,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2855,7 +3474,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2864,6 +3483,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2883,9 +3505,13 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2910,7 +3536,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2938,7 +3564,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2948,6 +3574,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2967,7 +3596,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2976,6 +3605,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2996,7 +3628,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3013,7 +3645,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3023,6 +3655,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthDestinationRule + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -3039,7 +3674,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3049,6 +3684,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthDestinationRule + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -3085,7 +3723,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3094,6 +3732,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3113,9 +3754,13 @@ func (m *Subset) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3140,7 +3785,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3168,7 +3813,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (LoadBalancerSettings_SimpleLB(b) & 0x7F) << shift + v |= LoadBalancerSettings_SimpleLB(b&0x7F) << shift if b < 0x80 { break } @@ -3188,7 +3833,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3197,6 +3842,9 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3215,9 +3863,13 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3242,7 +3894,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3270,7 +3922,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3280,6 +3932,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3299,7 +3954,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3308,6 +3963,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3331,7 +3989,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3352,7 +4010,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinimumRingSize |= (uint64(b) & 0x7F) << shift + m.MinimumRingSize |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3366,9 +4024,13 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3393,7 +4055,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3421,7 +4083,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3431,6 +4093,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3450,7 +4115,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3460,6 +4125,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3479,7 +4147,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3488,13 +4156,16 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Ttl == nil { m.Ttl = new(time.Duration) } - if err := types.StdDurationUnmarshal(m.Ttl, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Ttl, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -3507,9 +4178,13 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3534,7 +4209,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3562,7 +4237,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3571,6 +4246,9 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3595,7 +4273,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3604,6 +4282,9 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3623,9 +4304,13 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3650,7 +4335,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3678,7 +4363,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxConnections |= (int32(b) & 0x7F) << shift + m.MaxConnections |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -3697,7 +4382,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3706,11 +4391,14 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &google_protobuf.Duration{} + m.ConnectTimeout = &types.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3730,7 +4418,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3739,6 +4427,9 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3758,9 +4449,13 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3785,7 +4480,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3813,7 +4508,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - m.Probes |= (uint32(b) & 0x7F) << shift + m.Probes |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -3832,7 +4527,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3841,11 +4536,14 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Time == nil { - m.Time = &google_protobuf.Duration{} + m.Time = &types.Duration{} } if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3865,7 +4563,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3874,11 +4572,14 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Interval == nil { - m.Interval = &google_protobuf.Duration{} + m.Interval = &types.Duration{} } if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3893,9 +4594,13 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3920,7 +4625,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3948,7 +4653,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Http1MaxPendingRequests |= (int32(b) & 0x7F) << shift + m.Http1MaxPendingRequests |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -3967,7 +4672,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Http2MaxRequests |= (int32(b) & 0x7F) << shift + m.Http2MaxRequests |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -3986,7 +4691,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxRequestsPerConnection |= (int32(b) & 0x7F) << shift + m.MaxRequestsPerConnection |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4005,7 +4710,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxRetries |= (int32(b) & 0x7F) << shift + m.MaxRetries |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4019,9 +4724,13 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4046,7 +4755,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4074,7 +4783,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ConsecutiveErrors |= (int32(b) & 0x7F) << shift + m.ConsecutiveErrors |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4093,7 +4802,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4102,11 +4811,14 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Interval == nil { - m.Interval = &google_protobuf.Duration{} + m.Interval = &types.Duration{} } if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4126,7 +4838,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4135,11 +4847,14 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.BaseEjectionTime == nil { - m.BaseEjectionTime = &google_protobuf.Duration{} + m.BaseEjectionTime = &types.Duration{} } if err := m.BaseEjectionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4159,7 +4874,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxEjectionPercent |= (int32(b) & 0x7F) << shift + m.MaxEjectionPercent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4178,7 +4893,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinHealthPercent |= (int32(b) & 0x7F) << shift + m.MinHealthPercent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4192,9 +4907,13 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4219,7 +4938,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4247,7 +4966,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (TLSSettings_TLSmode(b) & 0x7F) << shift + m.Mode |= TLSSettings_TLSmode(b&0x7F) << shift if b < 0x80 { break } @@ -4266,7 +4985,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4276,6 +4995,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4295,7 +5017,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4305,6 +5027,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4324,7 +5049,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4334,6 +5059,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4353,7 +5081,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4363,6 +5091,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4382,7 +5113,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4392,6 +5123,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4406,9 +5140,13 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4472,10 +5210,13 @@ func skipDestinationRule(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthDestinationRule } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthDestinationRule + } return iNdEx, nil case 3: for { @@ -4504,6 +5245,9 @@ func skipDestinationRule(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthDestinationRule + } } return iNdEx, nil case 4: @@ -4522,99 +5266,3 @@ var ( ErrInvalidLengthDestinationRule = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowDestinationRule = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("networking/v1alpha3/destination_rule.proto", fileDescriptorDestinationRule) -} - -var fileDescriptorDestinationRule = []byte{ - // 1396 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0xb7, - 0x13, 0xb6, 0xfe, 0xc6, 0x1a, 0xd9, 0xb2, 0xcc, 0x9f, 0x91, 0x9f, 0xa2, 0x00, 0x8e, 0x2b, 0x14, - 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x10, 0xb9, 0x91, 0x2d, - 0x81, 0x92, 0x81, 0x22, 0x97, 0x05, 0xb5, 0xa2, 0x25, 0xc6, 0xab, 0xe5, 0x76, 0xc9, 0x55, 0xed, - 0x3c, 0x43, 0xcf, 0x41, 0xaf, 0xbd, 0xf4, 0x59, 0x8a, 0x9e, 0x72, 0x6d, 0x2f, 0x2d, 0xf2, 0x02, - 0x3d, 0xf5, 0xd2, 0x53, 0x41, 0x2e, 0x57, 0x92, 0x13, 0xc7, 0x8e, 0xe1, 0xe6, 0xc6, 0xe5, 0xcc, - 0xf7, 0x91, 0x9c, 0x6f, 0x38, 0xc3, 0x85, 0x3b, 0x1e, 0x95, 0xdf, 0xf3, 0xe0, 0x88, 0x79, 0x83, - 0xea, 0x78, 0x83, 0xb8, 0xfe, 0x90, 0xdc, 0xab, 0xf6, 0xa9, 0x90, 0xcc, 0x23, 0x92, 0x71, 0xcf, - 0x0e, 0x42, 0x97, 0x5a, 0x7e, 0xc0, 0x25, 0x47, 0x37, 0x98, 0x90, 0x8c, 0x5b, 0x53, 0x84, 0x15, - 0x23, 0xca, 0xab, 0x03, 0xce, 0x07, 0x2e, 0xad, 0x6a, 0xc7, 0x5e, 0x78, 0x58, 0xed, 0x87, 0x81, - 0xc6, 0x47, 0xd0, 0xf2, 0xa7, 0x67, 0x2d, 0x33, 0x66, 0x81, 0x0c, 0x89, 0x6b, 0x0b, 0x1a, 0x8c, - 0x99, 0x63, 0x56, 0x29, 0xaf, 0x0c, 0xf8, 0x80, 0xeb, 0x61, 0x55, 0x8d, 0xa2, 0xd9, 0xca, 0xab, - 0x04, 0x2c, 0xed, 0x4c, 0xb7, 0x85, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x21, 0x17, 0xb2, 0x94, 0x58, - 0x4b, 0xac, 0xe7, 0xb0, 0x1e, 0xa3, 0x16, 0x14, 0x64, 0x40, 0x0e, 0x0f, 0x99, 0x63, 0xfb, 0xdc, - 0x65, 0xce, 0x49, 0x29, 0xb9, 0x96, 0x58, 0xcf, 0x6f, 0xae, 0x5b, 0xef, 0xdc, 0xbc, 0xd5, 0x8d, - 0x00, 0x6d, 0xed, 0x8f, 0x17, 0xe5, 0xec, 0x27, 0x7a, 0x08, 0xd7, 0x44, 0xd8, 0x13, 0x54, 0x8a, - 0x52, 0x6a, 0x2d, 0xb5, 0x9e, 0xdf, 0xfc, 0xe8, 0x1c, 0xa6, 0x8e, 0xf6, 0xc4, 0x31, 0x02, 0xdd, - 0x84, 0x1c, 0x3d, 0xf6, 0x79, 0x20, 0x6d, 0xc9, 0x4b, 0xe9, 0xb5, 0xd4, 0x7a, 0x0e, 0xcf, 0x47, - 0x13, 0x5d, 0x5e, 0xf9, 0x3d, 0x0b, 0x8b, 0xa7, 0x96, 0x46, 0x5d, 0x58, 0x74, 0x39, 0xe9, 0xdb, - 0x3d, 0xe2, 0x12, 0xcf, 0xa1, 0x81, 0x3e, 0x59, 0x7e, 0xb3, 0x7a, 0xce, 0x8a, 0x4d, 0x4e, 0xfa, - 0x35, 0xe3, 0xde, 0xa1, 0x52, 0x32, 0x6f, 0x20, 0xf0, 0x82, 0x3b, 0x33, 0x8b, 0x9e, 0xc1, 0x92, - 0xc3, 0x3d, 0x8f, 0x3a, 0x5a, 0x4f, 0x9f, 0x73, 0xd7, 0xc4, 0x64, 0xe3, 0x1c, 0xde, 0xed, 0x09, - 0xa2, 0xcd, 0xb9, 0x3b, 0x61, 0x2e, 0x38, 0xa7, 0xe6, 0xd1, 0xb7, 0xb0, 0xcc, 0x43, 0xe9, 0x32, - 0x1a, 0xd8, 0x7d, 0x2a, 0x23, 0x43, 0x29, 0xa5, 0xd9, 0x3f, 0x3b, 0x87, 0xbd, 0x15, 0x61, 0x76, - 0x62, 0x08, 0x2e, 0xf2, 0x37, 0x66, 0xd0, 0x7d, 0x48, 0x49, 0x57, 0x94, 0xd2, 0x9a, 0xeb, 0x93, - 0xf3, 0xd4, 0x6b, 0x76, 0x26, 0xdb, 0x53, 0x10, 0xf4, 0x1c, 0xfe, 0xa7, 0x43, 0xee, 0xd2, 0x31, - 0x55, 0xc9, 0x15, 0xd9, 0x4a, 0x19, 0xad, 0xde, 0x83, 0xf7, 0xcd, 0x03, 0xab, 0xad, 0x54, 0x3a, - 0x95, 0x19, 0xcb, 0x8a, 0xb6, 0xa9, 0x58, 0xe3, 0x05, 0xcb, 0x2f, 0x53, 0xb0, 0xfc, 0x96, 0x23, - 0x7a, 0x08, 0x69, 0xe5, 0x6a, 0xe4, 0xbb, 0x7d, 0xce, 0x92, 0x0a, 0xdb, 0xa1, 0x2e, 0x75, 0x24, - 0x0f, 0xb0, 0x06, 0xbd, 0x9d, 0x04, 0xc9, 0x0f, 0x94, 0x04, 0xa9, 0x0f, 0x9a, 0x04, 0xe9, 0xff, - 0x30, 0x09, 0x32, 0x97, 0x4e, 0x82, 0xca, 0x5f, 0x09, 0xc8, 0x46, 0xb7, 0x51, 0x95, 0x09, 0x8f, - 0x8c, 0x68, 0x5c, 0x26, 0xd4, 0x18, 0xd5, 0x21, 0xeb, 0x92, 0x1e, 0x75, 0x45, 0x29, 0xa9, 0xd3, - 0xe2, 0xee, 0x85, 0x97, 0xda, 0x6a, 0x6a, 0xff, 0xba, 0x27, 0x83, 0x13, 0x6c, 0xc0, 0x67, 0x54, - 0x9b, 0xd4, 0x95, 0xaa, 0x4d, 0xf9, 0x2b, 0xc8, 0xcf, 0xac, 0x83, 0x8a, 0x90, 0x3a, 0xa2, 0x27, - 0x66, 0xe7, 0x6a, 0x88, 0x56, 0x20, 0x33, 0x26, 0x6e, 0x48, 0x75, 0x56, 0xe4, 0x70, 0xf4, 0xf1, - 0x20, 0x79, 0x3f, 0x51, 0xf9, 0x39, 0x03, 0x2b, 0x67, 0x25, 0x02, 0xc2, 0x90, 0x15, 0x6c, 0xe4, - 0xbb, 0x51, 0x04, 0x0a, 0x9b, 0xf7, 0x2f, 0x99, 0x49, 0x56, 0x47, 0xa3, 0x9b, 0xb5, 0xc6, 0x1c, - 0x36, 0x4c, 0xe8, 0x48, 0xa7, 0x93, 0x60, 0x42, 0x52, 0x4f, 0xda, 0x43, 0x22, 0x86, 0x26, 0x4d, - 0x1f, 0x5f, 0x96, 0x7c, 0x7b, 0x42, 0xd3, 0x20, 0x62, 0xa8, 0x17, 0x29, 0x38, 0xa7, 0xe6, 0xca, - 0x7f, 0x27, 0xa1, 0xf8, 0xa6, 0x1b, 0xba, 0x03, 0xc5, 0xa1, 0x94, 0xbe, 0x3d, 0xa4, 0xa4, 0x4f, - 0x03, 0x7b, 0xaa, 0xb0, 0x22, 0x50, 0x96, 0x86, 0x36, 0xec, 0x2b, 0xb5, 0x3d, 0xc8, 0x6b, 0x5f, - 0x87, 0xf3, 0x23, 0x46, 0xcd, 0x4e, 0x9f, 0x5e, 0x75, 0xa7, 0x56, 0xa3, 0xdb, 0x6d, 0x6f, 0x6b, - 0xca, 0xc6, 0x1c, 0x06, 0xb5, 0x42, 0xf4, 0x85, 0x3e, 0x86, 0xc5, 0x50, 0x50, 0x5b, 0xf0, 0x30, - 0x70, 0xa8, 0xcd, 0x7c, 0x9d, 0x15, 0xf3, 0x8d, 0x39, 0x9c, 0x0f, 0x05, 0xed, 0xe8, 0xd9, 0x5d, - 0x1f, 0xdd, 0x81, 0xe5, 0x11, 0xf3, 0xd8, 0x28, 0x1c, 0xd9, 0x01, 0xf3, 0x06, 0xb6, 0x60, 0x2f, - 0xa8, 0xbe, 0x36, 0x69, 0xbc, 0x64, 0x0c, 0x98, 0x79, 0x83, 0x0e, 0x7b, 0x41, 0xcb, 0x03, 0x80, - 0xe9, 0x6a, 0x67, 0x66, 0x34, 0x82, 0xb4, 0x4f, 0xe4, 0xd0, 0xe4, 0x85, 0x1e, 0xa3, 0x0d, 0x48, - 0x49, 0x19, 0x5f, 0xf4, 0x1b, 0x56, 0xd4, 0xa3, 0xad, 0xb8, 0x47, 0x5b, 0x3b, 0xa6, 0x47, 0xd7, - 0xd2, 0x3f, 0xfe, 0x71, 0x2b, 0x81, 0x95, 0x6f, 0x0d, 0x60, 0x5e, 0xa9, 0x69, 0x1f, 0xd1, 0x93, - 0x4a, 0x03, 0xe6, 0x63, 0xe9, 0xd1, 0x12, 0xe4, 0x71, 0xeb, 0x60, 0x7f, 0xc7, 0xc6, 0xad, 0xda, - 0xee, 0x7e, 0x71, 0x0e, 0x15, 0x00, 0x9a, 0xf5, 0xad, 0x4e, 0xd7, 0xde, 0x6e, 0xed, 0xef, 0x17, - 0x13, 0x08, 0x20, 0x8b, 0xb7, 0xf6, 0x77, 0x5a, 0x7b, 0xc5, 0xa4, 0x72, 0x6e, 0x6f, 0x75, 0x3a, - 0xdd, 0x06, 0x6e, 0x1d, 0x3c, 0x69, 0x14, 0x53, 0xb5, 0x3c, 0xe4, 0xdc, 0x9e, 0xb9, 0x22, 0x95, - 0x97, 0x59, 0xb8, 0x7e, 0x76, 0x65, 0x41, 0x2d, 0x48, 0x49, 0xc7, 0x37, 0x75, 0xf3, 0xd1, 0xa5, - 0x2b, 0x93, 0xd5, 0xdd, 0x6e, 0xcf, 0x94, 0x01, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x17, 0x23, 0xf9, - 0xd7, 0x97, 0x67, 0x54, 0x51, 0x9f, 0x50, 0x6a, 0xae, 0xf2, 0x3f, 0x49, 0xc8, 0xcf, 0x2c, 0x84, - 0x6e, 0xc3, 0xd2, 0x88, 0x1c, 0xdb, 0xd3, 0xa2, 0x28, 0xf4, 0x01, 0x32, 0xb8, 0x30, 0x22, 0xc7, - 0x53, 0x5a, 0x81, 0x6a, 0x93, 0x1a, 0x6c, 0x4b, 0x36, 0xa2, 0x3c, 0x94, 0x66, 0x5f, 0xef, 0x96, - 0x66, 0x52, 0x6b, 0xbb, 0x11, 0x00, 0x71, 0x58, 0x94, 0x8e, 0x6f, 0x1f, 0x51, 0xea, 0x13, 0x97, - 0x8d, 0xa9, 0x11, 0xf7, 0x9b, 0x2b, 0xc5, 0xca, 0xea, 0x3a, 0xfe, 0xd3, 0x98, 0x11, 0x2f, 0xc8, - 0x99, 0xaf, 0xf2, 0x0f, 0x09, 0x58, 0x98, 0x35, 0xa3, 0xeb, 0x90, 0xf5, 0x03, 0xde, 0xa3, 0xd1, - 0x29, 0x17, 0xb1, 0xf9, 0x42, 0x77, 0x21, 0xad, 0x4e, 0x75, 0xf1, 0x91, 0xb4, 0x1b, 0xfa, 0x12, - 0xe6, 0x99, 0x27, 0x69, 0x30, 0x26, 0x17, 0x27, 0x28, 0x9e, 0xb8, 0x96, 0x7f, 0x4b, 0xc0, 0xc2, - 0xac, 0x26, 0xe8, 0x21, 0x94, 0x95, 0x2a, 0x1b, 0xb6, 0xd2, 0xc0, 0xa7, 0x5e, 0x5f, 0x5d, 0xa5, - 0x80, 0x7e, 0x17, 0x52, 0x21, 0x63, 0x21, 0xfe, 0xaf, 0x3d, 0xf6, 0xc8, 0x71, 0x3b, 0xb2, 0x63, - 0x63, 0x46, 0x9f, 0x03, 0x52, 0xa6, 0x4d, 0x0d, 0x9e, 0x80, 0x92, 0x1a, 0xa4, 0xcb, 0xcb, 0xe6, - 0x1e, 0x39, 0x9e, 0x78, 0x3f, 0x82, 0x9b, 0xb3, 0x7e, 0xb6, 0x4f, 0x83, 0x19, 0xd5, 0xf5, 0x29, - 0x32, 0xb8, 0x34, 0x9a, 0x22, 0xda, 0x34, 0x98, 0x06, 0x1f, 0xdd, 0x82, 0x7c, 0x04, 0x97, 0x01, - 0xa3, 0xd1, 0xcb, 0x26, 0x83, 0x41, 0xbb, 0xeb, 0x99, 0xca, 0x4f, 0x49, 0x28, 0xbe, 0xd9, 0x14, - 0xd1, 0x5d, 0x40, 0xaa, 0x1c, 0x52, 0x27, 0x94, 0x6c, 0x4c, 0x6d, 0x1a, 0x04, 0x3c, 0x88, 0xcf, - 0xb5, 0x3c, 0x63, 0xa9, 0x6b, 0xc3, 0xa9, 0xb0, 0x26, 0xdf, 0x3b, 0xac, 0xe8, 0x09, 0xa0, 0x1e, - 0x11, 0xd4, 0xa6, 0xcf, 0xcd, 0x0b, 0x41, 0x4b, 0x79, 0xa1, 0x2e, 0x45, 0x05, 0xaa, 0x1b, 0x8c, - 0x4a, 0x51, 0xf4, 0x05, 0xac, 0xa8, 0x43, 0x4e, 0x78, 0x7c, 0x1a, 0x38, 0xd4, 0x93, 0xe6, 0xb4, - 0x68, 0x44, 0x8e, 0x63, 0xf7, 0x76, 0x64, 0x51, 0x1a, 0x8c, 0x98, 0xa7, 0xea, 0xb8, 0x2b, 0x87, - 0x13, 0xff, 0x4c, 0xa4, 0xc1, 0x88, 0x79, 0x0d, 0x6d, 0x30, 0xde, 0x95, 0x5f, 0xd5, 0xe5, 0x9b, - 0x36, 0x7b, 0x54, 0x83, 0xf4, 0x88, 0xf7, 0xe3, 0xd6, 0x66, 0xbd, 0xdf, 0x13, 0x41, 0x8d, 0x15, - 0x0a, 0x6b, 0xac, 0x0e, 0xb1, 0xcb, 0x54, 0x23, 0x73, 0x68, 0x20, 0xd9, 0x21, 0x73, 0x88, 0x8c, - 0x1b, 0xec, 0x72, 0x64, 0xd9, 0x9e, 0x1a, 0x94, 0x8e, 0x7e, 0xc0, 0xc6, 0x44, 0x52, 0x55, 0x25, - 0x75, 0x90, 0x72, 0x18, 0xcc, 0xd4, 0x53, 0x7a, 0xa2, 0x0a, 0x82, 0x43, 0x66, 0xb9, 0x22, 0xb1, - 0x73, 0xb8, 0xe0, 0x90, 0x19, 0x22, 0xa1, 0x3a, 0x80, 0x08, 0x7b, 0x2a, 0x1e, 0x36, 0x71, 0xa5, - 0xee, 0x61, 0xd1, 0x3b, 0x35, 0x87, 0x97, 0x8c, 0x61, 0xcb, 0x95, 0xaa, 0x85, 0x09, 0xf5, 0x14, - 0x10, 0x1e, 0x2b, 0x65, 0xa3, 0xa7, 0x80, 0xf0, 0x58, 0xe5, 0x31, 0x5c, 0x33, 0xe7, 0x40, 0x79, - 0xb8, 0xb6, 0xb3, 0xdb, 0xd9, 0xaa, 0x35, 0xeb, 0xc5, 0x39, 0x55, 0x89, 0x3b, 0xbb, 0x7b, 0xed, - 0x66, 0x3d, 0xaa, 0xca, 0x7b, 0x07, 0xdd, 0x83, 0xad, 0x66, 0x31, 0x89, 0x8a, 0xb0, 0xb0, 0xdb, - 0xe9, 0xee, 0xb6, 0x6c, 0x33, 0x93, 0xaa, 0x59, 0xbf, 0xbc, 0x5e, 0x4d, 0xbc, 0x7a, 0xbd, 0x9a, - 0xf8, 0xf3, 0xf5, 0x6a, 0xe2, 0xd9, 0x5a, 0x14, 0x3b, 0xc6, 0xab, 0xc4, 0x67, 0xd5, 0x33, 0x7e, - 0xd8, 0x7a, 0x59, 0x9d, 0x01, 0xf7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x7d, 0x30, 0x94, - 0x35, 0x0e, 0x00, 0x00, -} diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index f71ab80395d..3d3c9450534 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -3,18 +3,25 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf3 "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + type EnvoyFilter_ListenerMatch_ListenerType int32 const ( @@ -34,6 +41,7 @@ var EnvoyFilter_ListenerMatch_ListenerType_name = map[int32]string{ 2: "SIDECAR_OUTBOUND", 3: "GATEWAY", } + var EnvoyFilter_ListenerMatch_ListenerType_value = map[string]int32{ "ANY": 0, "SIDECAR_INBOUND": 1, @@ -44,8 +52,9 @@ var EnvoyFilter_ListenerMatch_ListenerType_value = map[string]int32{ func (x EnvoyFilter_ListenerMatch_ListenerType) String() string { return proto.EnumName(EnvoyFilter_ListenerMatch_ListenerType_name, int32(x)) } + func (EnvoyFilter_ListenerMatch_ListenerType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 1, 0} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1, 0} } type EnvoyFilter_ListenerMatch_ListenerProtocol int32 @@ -64,6 +73,7 @@ var EnvoyFilter_ListenerMatch_ListenerProtocol_name = map[int32]string{ 1: "HTTP", 2: "TCP", } + var EnvoyFilter_ListenerMatch_ListenerProtocol_value = map[string]int32{ "ALL": 0, "HTTP": 1, @@ -73,8 +83,9 @@ var EnvoyFilter_ListenerMatch_ListenerProtocol_value = map[string]int32{ func (x EnvoyFilter_ListenerMatch_ListenerProtocol) String() string { return proto.EnumName(EnvoyFilter_ListenerMatch_ListenerProtocol_name, int32(x)) } + func (EnvoyFilter_ListenerMatch_ListenerProtocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 1, 1} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1, 1} } // Index/position in the filter chain. @@ -97,6 +108,7 @@ var EnvoyFilter_InsertPosition_Index_name = map[int32]string{ 2: "BEFORE", 3: "AFTER", } + var EnvoyFilter_InsertPosition_Index_value = map[string]int32{ "FIRST": 0, "LAST": 1, @@ -107,8 +119,9 @@ var EnvoyFilter_InsertPosition_Index_value = map[string]int32{ func (x EnvoyFilter_InsertPosition_Index) String() string { return proto.EnumName(EnvoyFilter_InsertPosition_Index_name, int32(x)) } + func (EnvoyFilter_InsertPosition_Index) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 2, 0} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2, 0} } type EnvoyFilter_Filter_FilterType int32 @@ -127,6 +140,7 @@ var EnvoyFilter_Filter_FilterType_name = map[int32]string{ 1: "HTTP", 2: "NETWORK", } + var EnvoyFilter_Filter_FilterType_value = map[string]int32{ "INVALID": 0, "HTTP": 1, @@ -136,8 +150,9 @@ var EnvoyFilter_Filter_FilterType_value = map[string]int32{ func (x EnvoyFilter_Filter_FilterType) String() string { return proto.EnumName(EnvoyFilter_Filter_FilterType_name, int32(x)) } + func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 3, 0} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3, 0} } // `EnvoyFilter` describes Envoy proxy-specific filters that can be used to @@ -187,18 +202,49 @@ type EnvoyFilter struct { // 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" json:"workload_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + 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 // should be taken to ensure that the filter is added before // envoy.http_connection_manager. - Filters []*EnvoyFilter_Filter `protobuf:"bytes,2,rep,name=filters" json:"filters,omitempty"` + Filters []*EnvoyFilter_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *EnvoyFilter) Reset() { *m = EnvoyFilter{} } -func (m *EnvoyFilter) String() string { return proto.CompactTextString(m) } -func (*EnvoyFilter) ProtoMessage() {} -func (*EnvoyFilter) Descriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0} } +func (m *EnvoyFilter) Reset() { *m = EnvoyFilter{} } +func (m *EnvoyFilter) String() string { return proto.CompactTextString(m) } +func (*EnvoyFilter) ProtoMessage() {} +func (*EnvoyFilter) Descriptor() ([]byte, []int) { + return fileDescriptor_16d9b2922bd3e4a9, []int{0} +} +func (m *EnvoyFilter) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnvoyFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter.Merge(m, src) +} +func (m *EnvoyFilter) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter.DiscardUnknown(m) +} + +var xxx_messageInfo_EnvoyFilter proto.InternalMessageInfo func (m *EnvoyFilter) GetWorkloadLabels() map[string]string { if m != nil { @@ -239,16 +285,45 @@ type EnvoyFilter_ListenerMatch struct { 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. - Address []string `protobuf:"bytes,5,rep,name=address" json:"address,omitempty"` + Address []string `protobuf:"bytes,5,rep,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *EnvoyFilter_ListenerMatch) Reset() { *m = EnvoyFilter_ListenerMatch{} } func (m *EnvoyFilter_ListenerMatch) String() string { return proto.CompactTextString(m) } func (*EnvoyFilter_ListenerMatch) ProtoMessage() {} func (*EnvoyFilter_ListenerMatch) Descriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 1} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1} +} +func (m *EnvoyFilter_ListenerMatch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnvoyFilter_ListenerMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter_ListenerMatch.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter_ListenerMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter_ListenerMatch.Merge(m, src) +} +func (m *EnvoyFilter_ListenerMatch) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter_ListenerMatch) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter_ListenerMatch.DiscardUnknown(m) } +var xxx_messageInfo_EnvoyFilter_ListenerMatch proto.InternalMessageInfo + func (m *EnvoyFilter_ListenerMatch) GetPortNumber() uint32 { if m != nil { return m.PortNumber @@ -290,15 +365,44 @@ type EnvoyFilter_InsertPosition struct { Index EnvoyFilter_InsertPosition_Index `protobuf:"varint,1,opt,name=index,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index" json:"index,omitempty"` // If BEFORE or AFTER position is specified, specify the name of the // filter relative to which this filter should be inserted. - RelativeTo string `protobuf:"bytes,2,opt,name=relative_to,json=relativeTo,proto3" json:"relative_to,omitempty"` + RelativeTo string `protobuf:"bytes,2,opt,name=relative_to,json=relativeTo,proto3" json:"relative_to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *EnvoyFilter_InsertPosition) Reset() { *m = EnvoyFilter_InsertPosition{} } func (m *EnvoyFilter_InsertPosition) String() string { return proto.CompactTextString(m) } func (*EnvoyFilter_InsertPosition) ProtoMessage() {} func (*EnvoyFilter_InsertPosition) Descriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 2} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2} +} +func (m *EnvoyFilter_InsertPosition) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *EnvoyFilter_InsertPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter_InsertPosition.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter_InsertPosition) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter_InsertPosition.Merge(m, src) +} +func (m *EnvoyFilter_InsertPosition) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter_InsertPosition) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter_InsertPosition.DiscardUnknown(m) +} + +var xxx_messageInfo_EnvoyFilter_InsertPosition proto.InternalMessageInfo func (m *EnvoyFilter_InsertPosition) GetIndex() EnvoyFilter_InsertPosition_Index { if m != nil { @@ -318,9 +422,9 @@ func (m *EnvoyFilter_InsertPosition) GetRelativeTo() string { 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. - ListenerMatch *EnvoyFilter_ListenerMatch `protobuf:"bytes,1,opt,name=listener_match,json=listenerMatch" json:"listener_match,omitempty"` + 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" json:"insert_position,omitempty"` + InsertPosition *EnvoyFilter_InsertPosition `protobuf:"bytes,2,opt,name=insert_position,json=insertPosition,proto3" json:"insert_position,omitempty"` // REQUIRED: The type of filter to instantiate. FilterType EnvoyFilter_Filter_FilterType `protobuf:"varint,3,opt,name=filter_type,json=filterType,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType" json:"filter_type,omitempty"` // REQUIRED: The name of the filter to instantiate. The name must match a supported @@ -328,13 +432,44 @@ type EnvoyFilter_Filter struct { FilterName string `protobuf:"bytes,4,opt,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"` // REQUIRED: Filter specific configuration which depends on the filter being // instantiated. - FilterConfig *google_protobuf3.Struct `protobuf:"bytes,5,opt,name=filter_config,json=filterConfig" json:"filter_config,omitempty"` + FilterConfig *types.Struct `protobuf:"bytes,5,opt,name=filter_config,json=filterConfig,proto3" json:"filter_config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EnvoyFilter_Filter) Reset() { *m = EnvoyFilter_Filter{} } +func (m *EnvoyFilter_Filter) String() string { return proto.CompactTextString(m) } +func (*EnvoyFilter_Filter) ProtoMessage() {} +func (*EnvoyFilter_Filter) Descriptor() ([]byte, []int) { + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3} +} +func (m *EnvoyFilter_Filter) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnvoyFilter_Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter_Filter.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter_Filter) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter_Filter.Merge(m, src) +} +func (m *EnvoyFilter_Filter) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter_Filter) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter_Filter.DiscardUnknown(m) } -func (m *EnvoyFilter_Filter) Reset() { *m = EnvoyFilter_Filter{} } -func (m *EnvoyFilter_Filter) String() string { return proto.CompactTextString(m) } -func (*EnvoyFilter_Filter) ProtoMessage() {} -func (*EnvoyFilter_Filter) Descriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0, 3} } +var xxx_messageInfo_EnvoyFilter_Filter proto.InternalMessageInfo func (m *EnvoyFilter_Filter) GetListenerMatch() *EnvoyFilter_ListenerMatch { if m != nil { @@ -364,7 +499,7 @@ func (m *EnvoyFilter_Filter) GetFilterName() string { return "" } -func (m *EnvoyFilter_Filter) GetFilterConfig() *google_protobuf3.Struct { +func (m *EnvoyFilter_Filter) GetFilterConfig() *types.Struct { if m != nil { return m.FilterConfig } @@ -372,15 +507,70 @@ func (m *EnvoyFilter_Filter) GetFilterConfig() *google_protobuf3.Struct { } func init() { - proto.RegisterType((*EnvoyFilter)(nil), "istio.networking.v1alpha3.EnvoyFilter") - proto.RegisterType((*EnvoyFilter_ListenerMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch") - proto.RegisterType((*EnvoyFilter_InsertPosition)(nil), "istio.networking.v1alpha3.EnvoyFilter.InsertPosition") - proto.RegisterType((*EnvoyFilter_Filter)(nil), "istio.networking.v1alpha3.EnvoyFilter.Filter") proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerType", EnvoyFilter_ListenerMatch_ListenerType_name, EnvoyFilter_ListenerMatch_ListenerType_value) proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerProtocol", EnvoyFilter_ListenerMatch_ListenerProtocol_name, EnvoyFilter_ListenerMatch_ListenerProtocol_value) proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index", EnvoyFilter_InsertPosition_Index_name, EnvoyFilter_InsertPosition_Index_value) proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType", EnvoyFilter_Filter_FilterType_name, EnvoyFilter_Filter_FilterType_value) + proto.RegisterType((*EnvoyFilter)(nil), "istio.networking.v1alpha3.EnvoyFilter") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.EnvoyFilter.WorkloadLabelsEntry") + proto.RegisterType((*EnvoyFilter_ListenerMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch") + proto.RegisterType((*EnvoyFilter_InsertPosition)(nil), "istio.networking.v1alpha3.EnvoyFilter.InsertPosition") + proto.RegisterType((*EnvoyFilter_Filter)(nil), "istio.networking.v1alpha3.EnvoyFilter.Filter") +} + +func init() { + proto.RegisterFile("networking/v1alpha3/envoy_filter.proto", fileDescriptor_16d9b2922bd3e4a9) } + +var fileDescriptor_16d9b2922bd3e4a9 = []byte{ + // 706 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6f, 0xda, 0x4c, + 0x10, 0x8d, 0x71, 0x08, 0x1f, 0xe3, 0x40, 0xfc, 0x6d, 0x22, 0xd5, 0x45, 0x55, 0x8a, 0x38, 0x54, + 0x5c, 0x6a, 0x5a, 0xd2, 0x4a, 0x51, 0xda, 0x8b, 0x93, 0x98, 0x14, 0x95, 0x02, 0x5d, 0x9c, 0x46, + 0x69, 0xa5, 0x5a, 0x06, 0x16, 0xb2, 0x8a, 0xf1, 0x5a, 0xf6, 0x42, 0xc2, 0xcf, 0xea, 0xb1, 0xd7, + 0x9e, 0x7a, 0x6c, 0xff, 0x41, 0x95, 0x5f, 0x52, 0x79, 0x6d, 0x08, 0x44, 0xa9, 0x94, 0xa6, 0x27, + 0x7b, 0x9f, 0xde, 0xbc, 0x99, 0xd9, 0x79, 0xb3, 0xf0, 0xc4, 0x23, 0xfc, 0x82, 0x05, 0xe7, 0xd4, + 0x1b, 0x56, 0x26, 0xcf, 0x1d, 0xd7, 0x3f, 0x73, 0x76, 0x2a, 0xc4, 0x9b, 0xb0, 0xa9, 0x3d, 0xa0, + 0x2e, 0x27, 0x81, 0xee, 0x07, 0x8c, 0x33, 0xf4, 0x90, 0x86, 0x9c, 0x32, 0xfd, 0x9a, 0xad, 0xcf, + 0xd8, 0x85, 0x47, 0x43, 0xc6, 0x86, 0x2e, 0xa9, 0x08, 0x62, 0x77, 0x3c, 0xa8, 0x84, 0x3c, 0x18, + 0xf7, 0x78, 0x1c, 0x58, 0xfa, 0x06, 0xa0, 0x98, 0x91, 0x5e, 0x4d, 0xc8, 0xa1, 0x1e, 0x6c, 0x44, + 0x0a, 0x2e, 0x73, 0xfa, 0xb6, 0xeb, 0x74, 0x89, 0x1b, 0x6a, 0x52, 0x51, 0x2e, 0x2b, 0xd5, 0x3d, + 0xfd, 0x8f, 0x29, 0xf4, 0x05, 0x01, 0xfd, 0x24, 0x89, 0x6e, 0x88, 0x60, 0xd3, 0xe3, 0xc1, 0x14, + 0xe7, 0x2f, 0x96, 0x40, 0x74, 0x04, 0x99, 0xb8, 0xfa, 0x50, 0x4b, 0x09, 0xf1, 0xa7, 0x77, 0x14, + 0x8f, 0x3f, 0x78, 0x16, 0x5d, 0x30, 0x60, 0xf3, 0x96, 0x7c, 0x48, 0x05, 0xf9, 0x9c, 0x4c, 0x35, + 0xa9, 0x28, 0x95, 0xb3, 0x38, 0xfa, 0x45, 0x5b, 0x90, 0x9e, 0x38, 0xee, 0x98, 0x68, 0x29, 0x81, + 0xc5, 0x87, 0xbd, 0xd4, 0xae, 0x54, 0xf8, 0x29, 0x43, 0xae, 0x41, 0x43, 0x4e, 0x3c, 0x12, 0xbc, + 0x73, 0x78, 0xef, 0x0c, 0x3d, 0x06, 0xc5, 0x67, 0x01, 0xb7, 0xbd, 0xf1, 0xa8, 0x4b, 0x02, 0xa1, + 0x92, 0xc3, 0x10, 0x41, 0x4d, 0x81, 0xa0, 0x32, 0xa8, 0x31, 0xc1, 0x19, 0x11, 0xdb, 0x0f, 0xc8, + 0x80, 0x5e, 0x26, 0xba, 0x79, 0xc1, 0x72, 0x46, 0xa4, 0x2d, 0x50, 0x34, 0x80, 0x9c, 0x9b, 0x68, + 0xdb, 0x7c, 0xea, 0x13, 0x4d, 0x2e, 0x4a, 0xe5, 0x7c, 0xd5, 0xb8, 0x63, 0xbb, 0x4b, 0x75, 0xcd, + 0x4f, 0xd6, 0xd4, 0x27, 0x78, 0xdd, 0x5d, 0x38, 0xa1, 0x00, 0xfe, 0x9f, 0xe7, 0x11, 0x73, 0xed, + 0x31, 0x57, 0x5b, 0x15, 0xb9, 0xcc, 0x7f, 0xca, 0xd5, 0x4e, 0xc4, 0xb0, 0xea, 0xde, 0x40, 0x90, + 0x06, 0x19, 0xa7, 0xdf, 0x0f, 0x48, 0x18, 0x6a, 0xe9, 0xa2, 0x5c, 0xce, 0xe2, 0xd9, 0xb1, 0xd4, + 0x82, 0xf5, 0xc5, 0x5a, 0x51, 0x06, 0x64, 0xa3, 0x79, 0xaa, 0xae, 0xa0, 0x4d, 0xd8, 0xe8, 0xd4, + 0x0f, 0xcd, 0x03, 0x03, 0xdb, 0xf5, 0xe6, 0x7e, 0xeb, 0xb8, 0x79, 0xa8, 0x4a, 0x68, 0x0b, 0xd4, + 0x19, 0xd8, 0x3a, 0xb6, 0x62, 0x34, 0x85, 0x14, 0xc8, 0x1c, 0x19, 0x96, 0x79, 0x62, 0x9c, 0xaa, + 0x72, 0x49, 0x07, 0xf5, 0x66, 0x41, 0x42, 0xb4, 0xd1, 0x50, 0x57, 0xd0, 0x7f, 0xb0, 0xfa, 0xc6, + 0xb2, 0xda, 0xaa, 0x14, 0x41, 0xd6, 0x41, 0x5b, 0x4d, 0x15, 0xbe, 0x4a, 0x90, 0xaf, 0x7b, 0x21, + 0x09, 0x78, 0x9b, 0x85, 0x94, 0x53, 0xe6, 0xa1, 0xf7, 0x90, 0xa6, 0x5e, 0x9f, 0x5c, 0x8a, 0x71, + 0xe6, 0xab, 0xaf, 0xee, 0x78, 0x2b, 0xcb, 0x2a, 0x7a, 0x3d, 0x92, 0xc0, 0xb1, 0x52, 0xe4, 0x93, + 0x80, 0xb8, 0x0e, 0xa7, 0x13, 0x62, 0x73, 0x96, 0x38, 0x00, 0x66, 0x90, 0xc5, 0x4a, 0x3b, 0x90, + 0x16, 0x01, 0x28, 0x0b, 0xe9, 0x5a, 0x1d, 0x77, 0xac, 0xb8, 0xda, 0x86, 0xd1, 0xb1, 0x54, 0x09, + 0x01, 0xac, 0xed, 0x9b, 0xb5, 0x16, 0x36, 0xd5, 0x54, 0x44, 0x30, 0x6a, 0x96, 0x89, 0x55, 0xb9, + 0xf0, 0x45, 0x86, 0xb5, 0x64, 0x17, 0x3f, 0x41, 0x7e, 0x3e, 0xd5, 0x51, 0x34, 0x16, 0x51, 0xbc, + 0x52, 0x7d, 0x71, 0x9f, 0x91, 0xe2, 0xb9, 0x13, 0x63, 0x97, 0x7f, 0x86, 0x0d, 0x2a, 0x9a, 0xb3, + 0xfd, 0xa4, 0x3b, 0xd1, 0x81, 0x52, 0x7d, 0x79, 0xaf, 0xab, 0xc1, 0x79, 0xba, 0x7c, 0xe1, 0xa7, + 0xa0, 0xc4, 0x5b, 0xba, 0x68, 0xfc, 0xdd, 0xbf, 0xda, 0xf3, 0xe4, 0x23, 0xfc, 0x0e, 0x83, 0xf9, + 0x7f, 0x74, 0xf1, 0x89, 0x74, 0xb4, 0x81, 0xc2, 0xe7, 0xd9, 0x19, 0x21, 0x5a, 0x3e, 0xf4, 0x1a, + 0x72, 0x09, 0xa1, 0xc7, 0xbc, 0x01, 0x1d, 0x6a, 0x69, 0xd1, 0xd9, 0x03, 0x3d, 0x7e, 0x0a, 0xf5, + 0xd9, 0x53, 0xa8, 0x77, 0xc4, 0x53, 0x88, 0xd7, 0x63, 0xf6, 0x81, 0x20, 0x97, 0x9e, 0x01, 0x5c, + 0x27, 0x8e, 0x8c, 0x58, 0x6f, 0x7e, 0x30, 0x1a, 0xf5, 0xc3, 0x25, 0xaf, 0x29, 0x90, 0x69, 0x9a, + 0xd6, 0x49, 0x0b, 0xbf, 0x55, 0x53, 0xfb, 0xfa, 0xf7, 0xab, 0x6d, 0xe9, 0xc7, 0xd5, 0xb6, 0xf4, + 0xeb, 0x6a, 0x5b, 0xfa, 0x58, 0x8c, 0x7b, 0xa4, 0xac, 0xe2, 0xf8, 0xb4, 0x72, 0xcb, 0x03, 0xde, + 0x5d, 0x13, 0x05, 0xec, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x26, 0x48, 0xc9, 0xfc, 0xde, 0x05, + 0x00, 0x00, +} + func (m *EnvoyFilter) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -425,6 +615,9 @@ func (m *EnvoyFilter) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -479,6 +672,9 @@ func (m *EnvoyFilter_ListenerMatch) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -508,6 +704,9 @@ func (m *EnvoyFilter_InsertPosition) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.RelativeTo))) i += copy(dAtA[i:], m.RelativeTo) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -567,6 +766,9 @@ func (m *EnvoyFilter_Filter) MarshalTo(dAtA []byte) (int, error) { } i += n3 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -580,6 +782,9 @@ func encodeVarintEnvoyFilter(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *EnvoyFilter) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.WorkloadLabels) > 0 { @@ -596,10 +801,16 @@ func (m *EnvoyFilter) Size() (n int) { n += 1 + l + sovEnvoyFilter(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *EnvoyFilter_ListenerMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.PortNumber != 0 { @@ -621,10 +832,16 @@ func (m *EnvoyFilter_ListenerMatch) Size() (n int) { n += 1 + l + sovEnvoyFilter(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *EnvoyFilter_InsertPosition) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Index != 0 { @@ -634,10 +851,16 @@ func (m *EnvoyFilter_InsertPosition) Size() (n int) { if l > 0 { n += 1 + l + sovEnvoyFilter(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *EnvoyFilter_Filter) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ListenerMatch != nil { @@ -659,6 +882,9 @@ func (m *EnvoyFilter_Filter) Size() (n int) { l = m.FilterConfig.Size() n += 1 + l + sovEnvoyFilter(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -690,7 +916,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -718,7 +944,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -727,6 +953,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -747,7 +976,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -764,7 +993,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -774,6 +1003,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthEnvoyFilter + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -790,7 +1022,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -800,6 +1032,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthEnvoyFilter + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -836,7 +1071,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -845,6 +1080,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -862,9 +1100,13 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -889,7 +1131,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -917,7 +1159,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.PortNumber |= (uint32(b) & 0x7F) << shift + m.PortNumber |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -936,7 +1178,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -946,6 +1188,9 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -965,7 +1210,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ListenerType |= (EnvoyFilter_ListenerMatch_ListenerType(b) & 0x7F) << shift + m.ListenerType |= EnvoyFilter_ListenerMatch_ListenerType(b&0x7F) << shift if b < 0x80 { break } @@ -984,7 +1229,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ListenerProtocol |= (EnvoyFilter_ListenerMatch_ListenerProtocol(b) & 0x7F) << shift + m.ListenerProtocol |= EnvoyFilter_ListenerMatch_ListenerProtocol(b&0x7F) << shift if b < 0x80 { break } @@ -1003,7 +1248,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1013,6 +1258,9 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1027,9 +1275,13 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1054,7 +1306,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1082,7 +1334,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Index |= (EnvoyFilter_InsertPosition_Index(b) & 0x7F) << shift + m.Index |= EnvoyFilter_InsertPosition_Index(b&0x7F) << shift if b < 0x80 { break } @@ -1101,7 +1353,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1111,6 +1363,9 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1125,9 +1380,13 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1152,7 +1411,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1180,7 +1439,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1189,6 +1448,9 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1213,7 +1475,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1222,6 +1484,9 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1246,7 +1511,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FilterType |= (EnvoyFilter_Filter_FilterType(b) & 0x7F) << shift + m.FilterType |= EnvoyFilter_Filter_FilterType(b&0x7F) << shift if b < 0x80 { break } @@ -1265,7 +1530,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1275,6 +1540,9 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1294,7 +1562,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1303,11 +1571,14 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } if m.FilterConfig == nil { - m.FilterConfig = &google_protobuf3.Struct{} + m.FilterConfig = &types.Struct{} } if err := m.FilterConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1322,9 +1593,13 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1388,10 +1663,13 @@ func skipEnvoyFilter(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthEnvoyFilter } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthEnvoyFilter + } return iNdEx, nil case 3: for { @@ -1420,6 +1698,9 @@ func skipEnvoyFilter(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthEnvoyFilter + } } return iNdEx, nil case 4: @@ -1438,54 +1719,3 @@ var ( ErrInvalidLengthEnvoyFilter = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEnvoyFilter = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/envoy_filter.proto", fileDescriptorEnvoyFilter) } - -var fileDescriptorEnvoyFilter = []byte{ - // 706 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6f, 0xda, 0x4c, - 0x10, 0x8d, 0x71, 0x08, 0x1f, 0xe3, 0x40, 0xfc, 0x6d, 0x22, 0xd5, 0x45, 0x55, 0x8a, 0x38, 0x54, - 0x5c, 0x6a, 0x5a, 0xd2, 0x4a, 0x51, 0xda, 0x8b, 0x93, 0x98, 0x14, 0x95, 0x02, 0x5d, 0x9c, 0x46, - 0x69, 0xa5, 0x5a, 0x06, 0x16, 0xb2, 0x8a, 0xf1, 0x5a, 0xf6, 0x42, 0xc2, 0xcf, 0xea, 0xb1, 0xd7, - 0x9e, 0x7a, 0x6c, 0xff, 0x41, 0x95, 0x5f, 0x52, 0x79, 0x6d, 0x08, 0x44, 0xa9, 0x94, 0xa6, 0x27, - 0x7b, 0x9f, 0xde, 0xbc, 0x99, 0xd9, 0x79, 0xb3, 0xf0, 0xc4, 0x23, 0xfc, 0x82, 0x05, 0xe7, 0xd4, - 0x1b, 0x56, 0x26, 0xcf, 0x1d, 0xd7, 0x3f, 0x73, 0x76, 0x2a, 0xc4, 0x9b, 0xb0, 0xa9, 0x3d, 0xa0, - 0x2e, 0x27, 0x81, 0xee, 0x07, 0x8c, 0x33, 0xf4, 0x90, 0x86, 0x9c, 0x32, 0xfd, 0x9a, 0xad, 0xcf, - 0xd8, 0x85, 0x47, 0x43, 0xc6, 0x86, 0x2e, 0xa9, 0x08, 0x62, 0x77, 0x3c, 0xa8, 0x84, 0x3c, 0x18, - 0xf7, 0x78, 0x1c, 0x58, 0xfa, 0x06, 0xa0, 0x98, 0x91, 0x5e, 0x4d, 0xc8, 0xa1, 0x1e, 0x6c, 0x44, - 0x0a, 0x2e, 0x73, 0xfa, 0xb6, 0xeb, 0x74, 0x89, 0x1b, 0x6a, 0x52, 0x51, 0x2e, 0x2b, 0xd5, 0x3d, - 0xfd, 0x8f, 0x29, 0xf4, 0x05, 0x01, 0xfd, 0x24, 0x89, 0x6e, 0x88, 0x60, 0xd3, 0xe3, 0xc1, 0x14, - 0xe7, 0x2f, 0x96, 0x40, 0x74, 0x04, 0x99, 0xb8, 0xfa, 0x50, 0x4b, 0x09, 0xf1, 0xa7, 0x77, 0x14, - 0x8f, 0x3f, 0x78, 0x16, 0x5d, 0x30, 0x60, 0xf3, 0x96, 0x7c, 0x48, 0x05, 0xf9, 0x9c, 0x4c, 0x35, - 0xa9, 0x28, 0x95, 0xb3, 0x38, 0xfa, 0x45, 0x5b, 0x90, 0x9e, 0x38, 0xee, 0x98, 0x68, 0x29, 0x81, - 0xc5, 0x87, 0xbd, 0xd4, 0xae, 0x54, 0xf8, 0x29, 0x43, 0xae, 0x41, 0x43, 0x4e, 0x3c, 0x12, 0xbc, - 0x73, 0x78, 0xef, 0x0c, 0x3d, 0x06, 0xc5, 0x67, 0x01, 0xb7, 0xbd, 0xf1, 0xa8, 0x4b, 0x02, 0xa1, - 0x92, 0xc3, 0x10, 0x41, 0x4d, 0x81, 0xa0, 0x32, 0xa8, 0x31, 0xc1, 0x19, 0x11, 0xdb, 0x0f, 0xc8, - 0x80, 0x5e, 0x26, 0xba, 0x79, 0xc1, 0x72, 0x46, 0xa4, 0x2d, 0x50, 0x34, 0x80, 0x9c, 0x9b, 0x68, - 0xdb, 0x7c, 0xea, 0x13, 0x4d, 0x2e, 0x4a, 0xe5, 0x7c, 0xd5, 0xb8, 0x63, 0xbb, 0x4b, 0x75, 0xcd, - 0x4f, 0xd6, 0xd4, 0x27, 0x78, 0xdd, 0x5d, 0x38, 0xa1, 0x00, 0xfe, 0x9f, 0xe7, 0x11, 0x73, 0xed, - 0x31, 0x57, 0x5b, 0x15, 0xb9, 0xcc, 0x7f, 0xca, 0xd5, 0x4e, 0xc4, 0xb0, 0xea, 0xde, 0x40, 0x90, - 0x06, 0x19, 0xa7, 0xdf, 0x0f, 0x48, 0x18, 0x6a, 0xe9, 0xa2, 0x5c, 0xce, 0xe2, 0xd9, 0xb1, 0xd4, - 0x82, 0xf5, 0xc5, 0x5a, 0x51, 0x06, 0x64, 0xa3, 0x79, 0xaa, 0xae, 0xa0, 0x4d, 0xd8, 0xe8, 0xd4, - 0x0f, 0xcd, 0x03, 0x03, 0xdb, 0xf5, 0xe6, 0x7e, 0xeb, 0xb8, 0x79, 0xa8, 0x4a, 0x68, 0x0b, 0xd4, - 0x19, 0xd8, 0x3a, 0xb6, 0x62, 0x34, 0x85, 0x14, 0xc8, 0x1c, 0x19, 0x96, 0x79, 0x62, 0x9c, 0xaa, - 0x72, 0x49, 0x07, 0xf5, 0x66, 0x41, 0x42, 0xb4, 0xd1, 0x50, 0x57, 0xd0, 0x7f, 0xb0, 0xfa, 0xc6, - 0xb2, 0xda, 0xaa, 0x14, 0x41, 0xd6, 0x41, 0x5b, 0x4d, 0x15, 0xbe, 0x4a, 0x90, 0xaf, 0x7b, 0x21, - 0x09, 0x78, 0x9b, 0x85, 0x94, 0x53, 0xe6, 0xa1, 0xf7, 0x90, 0xa6, 0x5e, 0x9f, 0x5c, 0x8a, 0x71, - 0xe6, 0xab, 0xaf, 0xee, 0x78, 0x2b, 0xcb, 0x2a, 0x7a, 0x3d, 0x92, 0xc0, 0xb1, 0x52, 0xe4, 0x93, - 0x80, 0xb8, 0x0e, 0xa7, 0x13, 0x62, 0x73, 0x96, 0x38, 0x00, 0x66, 0x90, 0xc5, 0x4a, 0x3b, 0x90, - 0x16, 0x01, 0x28, 0x0b, 0xe9, 0x5a, 0x1d, 0x77, 0xac, 0xb8, 0xda, 0x86, 0xd1, 0xb1, 0x54, 0x09, - 0x01, 0xac, 0xed, 0x9b, 0xb5, 0x16, 0x36, 0xd5, 0x54, 0x44, 0x30, 0x6a, 0x96, 0x89, 0x55, 0xb9, - 0xf0, 0x45, 0x86, 0xb5, 0x64, 0x17, 0x3f, 0x41, 0x7e, 0x3e, 0xd5, 0x51, 0x34, 0x16, 0x51, 0xbc, - 0x52, 0x7d, 0x71, 0x9f, 0x91, 0xe2, 0xb9, 0x13, 0x63, 0x97, 0x7f, 0x86, 0x0d, 0x2a, 0x9a, 0xb3, - 0xfd, 0xa4, 0x3b, 0xd1, 0x81, 0x52, 0x7d, 0x79, 0xaf, 0xab, 0xc1, 0x79, 0xba, 0x7c, 0xe1, 0xa7, - 0xa0, 0xc4, 0x5b, 0xba, 0x68, 0xfc, 0xdd, 0xbf, 0xda, 0xf3, 0xe4, 0x23, 0xfc, 0x0e, 0x83, 0xf9, - 0x7f, 0x74, 0xf1, 0x89, 0x74, 0xb4, 0x81, 0xc2, 0xe7, 0xd9, 0x19, 0x21, 0x5a, 0x3e, 0xf4, 0x1a, - 0x72, 0x09, 0xa1, 0xc7, 0xbc, 0x01, 0x1d, 0x6a, 0x69, 0xd1, 0xd9, 0x03, 0x3d, 0x7e, 0x0a, 0xf5, - 0xd9, 0x53, 0xa8, 0x77, 0xc4, 0x53, 0x88, 0xd7, 0x63, 0xf6, 0x81, 0x20, 0x97, 0x9e, 0x01, 0x5c, - 0x27, 0x8e, 0x8c, 0x58, 0x6f, 0x7e, 0x30, 0x1a, 0xf5, 0xc3, 0x25, 0xaf, 0x29, 0x90, 0x69, 0x9a, - 0xd6, 0x49, 0x0b, 0xbf, 0x55, 0x53, 0xfb, 0xfa, 0xf7, 0xab, 0x6d, 0xe9, 0xc7, 0xd5, 0xb6, 0xf4, - 0xeb, 0x6a, 0x5b, 0xfa, 0x58, 0x8c, 0x7b, 0xa4, 0xac, 0xe2, 0xf8, 0xb4, 0x72, 0xcb, 0x03, 0xde, - 0x5d, 0x13, 0x05, 0xec, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x26, 0x48, 0xc9, 0xfc, 0xde, 0x05, - 0x00, 0x00, -} diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 0bb2c9e736f..62fc8b17826 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -3,17 +3,24 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // TLS modes enforced by the proxy type Server_TLSOptions_TLSmode int32 @@ -46,6 +53,7 @@ var Server_TLSOptions_TLSmode_name = map[int32]string{ 2: "MUTUAL", 3: "AUTO_PASSTHROUGH", } + var Server_TLSOptions_TLSmode_value = map[string]int32{ "PASSTHROUGH": 0, "SIMPLE": 1, @@ -56,8 +64,9 @@ var Server_TLSOptions_TLSmode_value = map[string]int32{ func (x Server_TLSOptions_TLSmode) String() string { return proto.EnumName(Server_TLSOptions_TLSmode_name, int32(x)) } + func (Server_TLSOptions_TLSmode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorGateway, []int{1, 0, 0} + return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 0} } // TLS protocol versions. @@ -83,6 +92,7 @@ var Server_TLSOptions_TLSProtocol_name = map[int32]string{ 3: "TLSV1_2", 4: "TLSV1_3", } + var Server_TLSOptions_TLSProtocol_value = map[string]int32{ "TLS_AUTO": 0, "TLSV1_0": 1, @@ -94,8 +104,9 @@ var Server_TLSOptions_TLSProtocol_value = map[string]int32{ func (x Server_TLSOptions_TLSProtocol) String() string { return proto.EnumName(Server_TLSOptions_TLSProtocol_name, int32(x)) } + func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptorGateway, []int{1, 0, 1} + return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 1} } // `Gateway` describes a load balancer operating at the edge of the mesh @@ -235,19 +246,50 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // ``` type Gateway struct { // REQUIRED: A list of server specifications. - Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` + Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` // REQUIRED: One or more labels that indicate a specific set of pods/VMs // on which this gateway configuration should be applied. The scope of // label search is restricted to the configuration namespace in which the // the resource is present. In other words, the Gateway resource must // reside in the same namespace as the gateway workload. - Selector map[string]string `protobuf:"bytes,2,rep,name=selector" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Gateway) Reset() { *m = Gateway{} } +func (m *Gateway) String() string { return proto.CompactTextString(m) } +func (*Gateway) ProtoMessage() {} +func (*Gateway) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{0} +} +func (m *Gateway) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Gateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Gateway.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Gateway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Gateway.Merge(m, src) +} +func (m *Gateway) XXX_Size() int { + return m.Size() +} +func (m *Gateway) XXX_DiscardUnknown() { + xxx_messageInfo_Gateway.DiscardUnknown(m) } -func (m *Gateway) Reset() { *m = Gateway{} } -func (m *Gateway) String() string { return proto.CompactTextString(m) } -func (*Gateway) ProtoMessage() {} -func (*Gateway) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{0} } +var xxx_messageInfo_Gateway proto.InternalMessageInfo func (m *Gateway) GetServers() []*Server { if m != nil { @@ -328,7 +370,7 @@ type Server struct { // REQUIRED: The Port on which the proxy should listen for incoming // connections. If using unix domain socket, use 0 as the port number, // with a valid protocol and port name, along with the bind parameter. - Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // $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 @@ -348,21 +390,52 @@ type Server struct { // VirtualServices with hosts dev.example.com, prod.example.com will // match. However, VirtualServices with hosts example.com or // newexample.com will not match. - Hosts []string `protobuf:"bytes,2,rep,name=hosts" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // Set of TLS related options that govern the server's behavior. Use // these options to control if all http requests should be redirected to // https, and the TLS modes to use. - Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls" json:"tls,omitempty"` + Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // The loopback IP endpoint or unix domain socket to which traffic should // be forwarded to by default. Format should be 127.0.0.1:PORT or // unix:///path/to/socket or unix://@foobar (Linux abstract namespace). - DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Server) Reset() { *m = Server{} } +func (m *Server) String() string { return proto.CompactTextString(m) } +func (*Server) ProtoMessage() {} +func (*Server) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{1} +} +func (m *Server) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Server.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Server) XXX_Merge(src proto.Message) { + xxx_messageInfo_Server.Merge(m, src) +} +func (m *Server) XXX_Size() int { + return m.Size() +} +func (m *Server) XXX_DiscardUnknown() { + xxx_messageInfo_Server.DiscardUnknown(m) } -func (m *Server) Reset() { *m = Server{} } -func (m *Server) String() string { return proto.CompactTextString(m) } -func (*Server) ProtoMessage() {} -func (*Server) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1} } +var xxx_messageInfo_Server proto.InternalMessageInfo func (m *Server) GetPort() *Port { if m != nil { @@ -433,20 +506,51 @@ type Server_TLSOptions struct { CredentialName string `protobuf:"bytes,10,opt,name=credential_name,json=credentialName,proto3" json:"credential_name,omitempty"` // A list of alternate names to verify the subject identity in the // certificate presented by the client. - SubjectAltNames []string `protobuf:"bytes,6,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,6,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` // Optional: Minimum TLS protocol version. MinProtocolVersion Server_TLSOptions_TLSProtocol `protobuf:"varint,7,opt,name=min_protocol_version,json=minProtocolVersion,proto3,enum=istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol" json:"min_protocol_version,omitempty"` // Optional: Maximum TLS protocol version. MaxProtocolVersion Server_TLSOptions_TLSProtocol `protobuf:"varint,8,opt,name=max_protocol_version,json=maxProtocolVersion,proto3,enum=istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol" json:"max_protocol_version,omitempty"` // Optional: If specified, only support the specified cipher list. // Otherwise default to the default cipher list supported by Envoy. - CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites" json:"cipher_suites,omitempty"` + CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Server_TLSOptions) Reset() { *m = Server_TLSOptions{} } -func (m *Server_TLSOptions) String() string { return proto.CompactTextString(m) } -func (*Server_TLSOptions) ProtoMessage() {} -func (*Server_TLSOptions) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1, 0} } +func (m *Server_TLSOptions) Reset() { *m = Server_TLSOptions{} } +func (m *Server_TLSOptions) String() string { return proto.CompactTextString(m) } +func (*Server_TLSOptions) ProtoMessage() {} +func (*Server_TLSOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{1, 0} +} +func (m *Server_TLSOptions) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Server_TLSOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Server_TLSOptions.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Server_TLSOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_Server_TLSOptions.Merge(m, src) +} +func (m *Server_TLSOptions) XXX_Size() int { + return m.Size() +} +func (m *Server_TLSOptions) XXX_DiscardUnknown() { + xxx_messageInfo_Server_TLSOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_Server_TLSOptions proto.InternalMessageInfo func (m *Server_TLSOptions) GetHttpsRedirect() bool { if m != nil { @@ -528,13 +632,44 @@ type Port struct { // the destination without terminating the TLS connection. Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` // Label assigned to the port. - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Port) Reset() { *m = Port{} } +func (m *Port) String() string { return proto.CompactTextString(m) } +func (*Port) ProtoMessage() {} +func (*Port) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{2} +} +func (m *Port) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Port.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Port) XXX_Merge(src proto.Message) { + xxx_messageInfo_Port.Merge(m, src) +} +func (m *Port) XXX_Size() int { + return m.Size() +} +func (m *Port) XXX_DiscardUnknown() { + xxx_messageInfo_Port.DiscardUnknown(m) } -func (m *Port) Reset() { *m = Port{} } -func (m *Port) String() string { return proto.CompactTextString(m) } -func (*Port) ProtoMessage() {} -func (*Port) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{2} } +var xxx_messageInfo_Port proto.InternalMessageInfo func (m *Port) GetNumber() uint32 { if m != nil { @@ -558,13 +693,64 @@ func (m *Port) GetName() string { } func init() { + proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSmode", Server_TLSOptions_TLSmode_name, Server_TLSOptions_TLSmode_value) + proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol", Server_TLSOptions_TLSProtocol_name, Server_TLSOptions_TLSProtocol_value) proto.RegisterType((*Gateway)(nil), "istio.networking.v1alpha3.Gateway") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Gateway.SelectorEntry") proto.RegisterType((*Server)(nil), "istio.networking.v1alpha3.Server") proto.RegisterType((*Server_TLSOptions)(nil), "istio.networking.v1alpha3.Server.TLSOptions") proto.RegisterType((*Port)(nil), "istio.networking.v1alpha3.Port") - proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSmode", Server_TLSOptions_TLSmode_name, Server_TLSOptions_TLSmode_value) - proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol", Server_TLSOptions_TLSProtocol_name, Server_TLSOptions_TLSProtocol_value) } + +func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptor_067d98d02f84cc0b) } + +var fileDescriptor_067d98d02f84cc0b = []byte{ + // 674 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x5d, 0x4f, 0x1a, 0x4d, + 0x14, 0x76, 0x01, 0xf9, 0x38, 0x88, 0xac, 0x13, 0xf3, 0x66, 0x5f, 0x2f, 0xfc, 0xa0, 0x69, 0x6a, + 0x9b, 0x76, 0x51, 0xe8, 0x85, 0xa9, 0x49, 0x13, 0xda, 0x18, 0x69, 0x8a, 0x42, 0x76, 0xc1, 0x8b, + 0xde, 0x6c, 0x86, 0x65, 0x94, 0xd1, 0x65, 0x67, 0x33, 0x33, 0xa0, 0xfc, 0xb3, 0xfe, 0x84, 0x5e, + 0xb6, 0xff, 0xa0, 0xb1, 0x7f, 0xa4, 0xd9, 0xd9, 0x41, 0xe8, 0x97, 0x8d, 0xe9, 0xdd, 0x39, 0xcf, + 0x3c, 0xcf, 0x73, 0xe6, 0x9c, 0xf9, 0x80, 0x9d, 0x90, 0xc8, 0x6b, 0xc6, 0xaf, 0x68, 0x78, 0x51, + 0x9d, 0xec, 0xe3, 0x20, 0x1a, 0xe2, 0x7a, 0xf5, 0x02, 0x4b, 0x72, 0x8d, 0xa7, 0x76, 0xc4, 0x99, + 0x64, 0xe8, 0x7f, 0x2a, 0x24, 0x65, 0xf6, 0x9c, 0x68, 0xcf, 0x88, 0x95, 0x2f, 0x06, 0xe4, 0x8e, + 0x13, 0x32, 0x3a, 0x84, 0x9c, 0x20, 0x7c, 0x42, 0xb8, 0xb0, 0x8c, 0xed, 0xf4, 0x6e, 0xb1, 0xb6, + 0x63, 0xff, 0x51, 0x68, 0xbb, 0x8a, 0xe9, 0xcc, 0x14, 0xa8, 0x05, 0x79, 0x41, 0x02, 0xe2, 0x4b, + 0xc6, 0xad, 0x94, 0x52, 0xef, 0xdd, 0xa3, 0xd6, 0x25, 0x6d, 0x57, 0x4b, 0x8e, 0x42, 0xc9, 0xa7, + 0xce, 0x9d, 0xc3, 0xc6, 0x21, 0x94, 0x7e, 0x58, 0x42, 0x26, 0xa4, 0xaf, 0xc8, 0xd4, 0x32, 0xb6, + 0x8d, 0xdd, 0x82, 0x13, 0x87, 0x68, 0x1d, 0x96, 0x27, 0x38, 0x18, 0x13, 0x2b, 0xa5, 0xb0, 0x24, + 0x79, 0x95, 0x3a, 0x30, 0x2a, 0x1f, 0x73, 0x90, 0x4d, 0xb6, 0x87, 0xea, 0x90, 0x89, 0x18, 0x97, + 0x4a, 0x57, 0xac, 0x6d, 0xdd, 0xb3, 0xa3, 0x0e, 0xe3, 0xd2, 0x51, 0x64, 0x84, 0x20, 0xd3, 0xa7, + 0xe1, 0xc0, 0xca, 0x28, 0x63, 0x15, 0xc7, 0xd5, 0x86, 0x4c, 0x48, 0xa1, 0x7a, 0x2b, 0x38, 0x49, + 0x82, 0x5e, 0x43, 0x5a, 0x06, 0xc2, 0x4a, 0x2b, 0xf7, 0xe7, 0x7f, 0x9d, 0x96, 0xdd, 0x6d, 0xb9, + 0xed, 0x48, 0x52, 0x16, 0x0a, 0x27, 0x16, 0xa2, 0xa7, 0x60, 0x0e, 0xc8, 0x39, 0x1e, 0x07, 0xd2, + 0x23, 0xe1, 0x20, 0x62, 0x34, 0x94, 0xd6, 0xb2, 0xaa, 0x5a, 0xd6, 0xf8, 0x91, 0x86, 0x37, 0xbe, + 0x2d, 0x03, 0xcc, 0xe5, 0xe8, 0x31, 0xac, 0x0e, 0xa5, 0x8c, 0x84, 0xc7, 0xc9, 0x80, 0x72, 0xe2, + 0x27, 0x2d, 0xe6, 0x9d, 0x92, 0x42, 0x1d, 0x0d, 0xa2, 0x26, 0x64, 0x46, 0x6c, 0x90, 0xcc, 0x68, + 0xb5, 0xf6, 0xf2, 0x21, 0x3b, 0x8c, 0xc3, 0x58, 0xeb, 0x28, 0x07, 0xf4, 0x02, 0x50, 0x72, 0xd4, + 0x9e, 0x4f, 0xb8, 0xa4, 0xe7, 0xd4, 0xc7, 0x92, 0xa8, 0xce, 0x0b, 0xce, 0x5a, 0xb2, 0xf2, 0x76, + 0xbe, 0x80, 0xb6, 0xa0, 0x18, 0x71, 0x3a, 0xc1, 0x92, 0x78, 0xf1, 0xb9, 0x25, 0xa3, 0x04, 0x0d, + 0xbd, 0x27, 0x53, 0xf4, 0x04, 0xca, 0x3e, 0x5e, 0xf4, 0x12, 0xba, 0xf3, 0x55, 0x1f, 0x2f, 0x18, + 0x09, 0x45, 0xe4, 0x64, 0x40, 0x42, 0x49, 0x71, 0xe0, 0x85, 0x78, 0x44, 0x2c, 0xd0, 0xc4, 0x3b, + 0xf8, 0x14, 0x8f, 0x08, 0x7a, 0x06, 0x6b, 0x62, 0xdc, 0xbf, 0x24, 0xbe, 0xf4, 0x70, 0x20, 0x15, + 0x53, 0x58, 0x59, 0x75, 0x5c, 0x65, 0xbd, 0xd0, 0x08, 0x64, 0x4c, 0x15, 0xe8, 0x12, 0xd6, 0x47, + 0x34, 0xf4, 0xd4, 0xf3, 0xf0, 0x59, 0xe0, 0xc5, 0x57, 0x98, 0xb2, 0xd0, 0xca, 0xa9, 0x39, 0x1d, + 0x3c, 0x74, 0x4e, 0x1d, 0xed, 0xe3, 0xa0, 0x11, 0x0d, 0x67, 0xc9, 0x59, 0xe2, 0xa9, 0x6a, 0xe1, + 0x9b, 0x5f, 0x6b, 0xe5, 0xff, 0xb9, 0x16, 0xbe, 0xf9, 0xb9, 0xd6, 0x23, 0x28, 0xf9, 0x34, 0x1a, + 0x12, 0xee, 0x89, 0x31, 0x8d, 0x67, 0x5a, 0x50, 0xfd, 0xaf, 0x24, 0xa0, 0xab, 0xb0, 0x4a, 0x13, + 0x72, 0xfa, 0x6c, 0x51, 0x19, 0x8a, 0x9d, 0x86, 0xeb, 0x76, 0x9b, 0x4e, 0xbb, 0x77, 0xdc, 0x34, + 0x97, 0x10, 0x40, 0xd6, 0x7d, 0x77, 0xd2, 0x69, 0x1d, 0x99, 0x46, 0x1c, 0x9f, 0xf4, 0xba, 0xbd, + 0x46, 0xcb, 0x4c, 0xa1, 0x75, 0x30, 0x1b, 0xbd, 0x6e, 0xdb, 0x5b, 0x64, 0xa7, 0x2b, 0x6d, 0x28, + 0x2e, 0xec, 0x08, 0xad, 0x40, 0xbe, 0xdb, 0x72, 0xbd, 0x98, 0x68, 0x2e, 0xa1, 0xa2, 0x2a, 0x73, + 0xb6, 0xef, 0xed, 0x99, 0xc6, 0x3c, 0xd9, 0x37, 0x53, 0xf3, 0xa4, 0x66, 0xa6, 0xe7, 0x49, 0xdd, + 0xcc, 0x54, 0x4e, 0x21, 0x13, 0x3f, 0x44, 0xf4, 0x1f, 0x64, 0xc3, 0xf1, 0xa8, 0x4f, 0xb8, 0xba, + 0xd6, 0x25, 0x47, 0x67, 0x68, 0x03, 0xf2, 0xb3, 0x39, 0xea, 0x77, 0x7f, 0x97, 0xc7, 0xcf, 0x56, + 0xdd, 0x8e, 0xe4, 0x4e, 0xaa, 0xf8, 0x8d, 0xfd, 0xe9, 0x76, 0xd3, 0xf8, 0x7c, 0xbb, 0x69, 0x7c, + 0xbd, 0xdd, 0x34, 0x3e, 0x6c, 0x27, 0xa3, 0xa6, 0xac, 0x8a, 0x23, 0x5a, 0xfd, 0xcd, 0xbf, 0xd9, + 0xcf, 0x2a, 0xb7, 0xfa, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x11, 0xfe, 0x50, 0x55, 0x05, + 0x00, 0x00, +} + func (m *Gateway) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -609,6 +795,9 @@ func (m *Gateway) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -674,6 +863,9 @@ func (m *Server) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.DefaultEndpoint))) i += copy(dAtA[i:], m.DefaultEndpoint) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -771,6 +963,9 @@ func (m *Server_TLSOptions) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.CredentialName))) i += copy(dAtA[i:], m.CredentialName) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -806,6 +1001,9 @@ func (m *Port) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.Name))) i += copy(dAtA[i:], m.Name) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -819,6 +1017,9 @@ func encodeVarintGateway(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Gateway) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Servers) > 0 { @@ -835,10 +1036,16 @@ func (m *Gateway) Size() (n int) { n += mapEntrySize + 1 + sovGateway(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Server) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -863,10 +1070,16 @@ func (m *Server) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Server_TLSOptions) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.HttpsRedirect { @@ -909,10 +1122,16 @@ func (m *Server_TLSOptions) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Port) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Number != 0 { @@ -926,6 +1145,9 @@ func (m *Port) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -957,7 +1179,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -985,7 +1207,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -994,6 +1216,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1016,7 +1241,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1025,6 +1250,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1045,7 +1273,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1062,7 +1290,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1072,6 +1300,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthGateway + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1088,7 +1319,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1098,6 +1329,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthGateway + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1129,9 +1363,13 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1156,7 +1394,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1184,7 +1422,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1193,6 +1431,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1217,7 +1458,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1227,6 +1468,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1246,7 +1490,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1255,6 +1499,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1279,7 +1526,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1289,6 +1536,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1308,7 +1558,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1318,6 +1568,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1332,9 +1585,13 @@ func (m *Server) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1359,7 +1616,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1387,7 +1644,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1407,7 +1664,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (Server_TLSOptions_TLSmode(b) & 0x7F) << shift + m.Mode |= Server_TLSOptions_TLSmode(b&0x7F) << shift if b < 0x80 { break } @@ -1426,7 +1683,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1436,6 +1693,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1455,7 +1715,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1465,6 +1725,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1484,7 +1747,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1494,6 +1757,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1513,7 +1779,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1523,6 +1789,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1542,7 +1811,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinProtocolVersion |= (Server_TLSOptions_TLSProtocol(b) & 0x7F) << shift + m.MinProtocolVersion |= Server_TLSOptions_TLSProtocol(b&0x7F) << shift if b < 0x80 { break } @@ -1561,7 +1830,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxProtocolVersion |= (Server_TLSOptions_TLSProtocol(b) & 0x7F) << shift + m.MaxProtocolVersion |= Server_TLSOptions_TLSProtocol(b&0x7F) << shift if b < 0x80 { break } @@ -1580,7 +1849,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1590,6 +1859,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1609,7 +1881,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1619,6 +1891,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1633,9 +1908,13 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1660,7 +1939,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1688,7 +1967,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Number |= (uint32(b) & 0x7F) << shift + m.Number |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -1707,7 +1986,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1717,6 +1996,9 @@ func (m *Port) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1736,7 +2018,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1746,6 +2028,9 @@ func (m *Port) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1760,9 +2045,13 @@ func (m *Port) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1826,10 +2115,13 @@ func skipGateway(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthGateway } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthGateway + } return iNdEx, nil case 3: for { @@ -1858,6 +2150,9 @@ func skipGateway(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthGateway + } } return iNdEx, nil case 4: @@ -1876,52 +2171,3 @@ var ( ErrInvalidLengthGateway = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGateway = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptorGateway) } - -var fileDescriptorGateway = []byte{ - // 674 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xdb, 0x4e, 0xdb, 0x4c, - 0x10, 0xc6, 0x49, 0xc8, 0x61, 0x42, 0x88, 0x59, 0xa1, 0x5f, 0xfe, 0xb9, 0xe0, 0x90, 0xaa, 0x2a, - 0xad, 0x5a, 0x07, 0x92, 0x5e, 0xa0, 0x22, 0x55, 0x4a, 0x2b, 0x44, 0xaa, 0x06, 0x12, 0xd9, 0x09, - 0x17, 0xbd, 0xb1, 0x36, 0xce, 0x42, 0x16, 0x1c, 0xaf, 0xb5, 0xbb, 0x09, 0xe4, 0xcd, 0xfa, 0x08, - 0xbd, 0x6c, 0xdf, 0xa0, 0xa2, 0x2f, 0x52, 0xed, 0xda, 0x21, 0xe9, 0x89, 0x0a, 0xf5, 0x6e, 0xe6, - 0x9b, 0x99, 0x6f, 0x66, 0xbe, 0x59, 0x1b, 0x76, 0x42, 0x22, 0xaf, 0x19, 0xbf, 0xa2, 0xe1, 0x45, - 0x75, 0xb2, 0x8f, 0x83, 0x68, 0x88, 0xeb, 0xd5, 0x0b, 0x2c, 0xc9, 0x35, 0x9e, 0xda, 0x11, 0x67, - 0x92, 0xa1, 0xff, 0xa9, 0x90, 0x94, 0xd9, 0xf3, 0x44, 0x7b, 0x96, 0x58, 0xf9, 0x62, 0x40, 0xee, - 0x38, 0x4e, 0x46, 0x87, 0x90, 0x13, 0x84, 0x4f, 0x08, 0x17, 0x96, 0xb1, 0x9d, 0xde, 0x2d, 0xd6, - 0x76, 0xec, 0x3f, 0x16, 0xda, 0xae, 0xce, 0x74, 0x66, 0x15, 0xa8, 0x05, 0x79, 0x41, 0x02, 0xe2, - 0x4b, 0xc6, 0xad, 0x94, 0xae, 0xde, 0xbb, 0xa7, 0x3a, 0x69, 0x69, 0xbb, 0x49, 0xc9, 0x51, 0x28, - 0xf9, 0xd4, 0xb9, 0x63, 0xd8, 0x38, 0x84, 0xd2, 0x0f, 0x21, 0x64, 0x42, 0xfa, 0x8a, 0x4c, 0x2d, - 0x63, 0xdb, 0xd8, 0x2d, 0x38, 0xca, 0x44, 0xeb, 0xb0, 0x3c, 0xc1, 0xc1, 0x98, 0x58, 0x29, 0x8d, - 0xc5, 0xce, 0xab, 0xd4, 0x81, 0x51, 0xf9, 0x98, 0x83, 0x6c, 0x3c, 0x1e, 0xaa, 0x43, 0x26, 0x62, - 0x5c, 0xea, 0xba, 0x62, 0x6d, 0xeb, 0x9e, 0x89, 0x3a, 0x8c, 0x4b, 0x47, 0x27, 0x2b, 0xe6, 0x21, - 0x13, 0x52, 0xe8, 0x3d, 0x0a, 0x4e, 0xec, 0xa0, 0xd7, 0x90, 0x96, 0x81, 0xb0, 0xd2, 0x9a, 0xe9, - 0xf9, 0x5f, 0x95, 0xb1, 0xbb, 0x2d, 0xb7, 0x1d, 0x49, 0xca, 0x42, 0xe1, 0xa8, 0x42, 0x84, 0x20, - 0xd3, 0xa7, 0xe1, 0xc0, 0xca, 0xe8, 0x71, 0xb5, 0x8d, 0x9e, 0x82, 0x39, 0x20, 0xe7, 0x78, 0x1c, - 0x48, 0x8f, 0x84, 0x83, 0x88, 0xd1, 0x50, 0x5a, 0xcb, 0x3a, 0x5e, 0x4e, 0xf0, 0xa3, 0x04, 0xde, - 0xf8, 0xb6, 0x0c, 0x30, 0xa7, 0x44, 0x8f, 0x61, 0x75, 0x28, 0x65, 0x24, 0x3c, 0x4e, 0x06, 0x94, - 0x13, 0x3f, 0x5e, 0x31, 0xef, 0x94, 0x34, 0xea, 0x24, 0x20, 0x6a, 0x42, 0x66, 0xc4, 0x06, 0xb1, - 0x46, 0xab, 0xb5, 0x97, 0x0f, 0x99, 0x5a, 0x99, 0xaa, 0xd6, 0xd1, 0x0c, 0xe8, 0x05, 0xa0, 0xf8, - 0xd4, 0x9e, 0x4f, 0xb8, 0xa4, 0xe7, 0xd4, 0xc7, 0x92, 0x68, 0x35, 0x0a, 0xce, 0x5a, 0x1c, 0x79, - 0x3b, 0x0f, 0xa0, 0x2d, 0x28, 0x46, 0x9c, 0x4e, 0xb0, 0x24, 0x9e, 0xba, 0x5b, 0xbc, 0x34, 0x24, - 0xd0, 0x7b, 0x32, 0x45, 0x4f, 0xa0, 0xec, 0xe3, 0x45, 0x2e, 0x91, 0x6c, 0xbe, 0xea, 0xe3, 0x05, - 0x22, 0x81, 0x9e, 0xc1, 0x9a, 0x18, 0xf7, 0x2f, 0x89, 0x2f, 0x3d, 0x1c, 0x48, 0x2f, 0xc4, 0x23, - 0x22, 0xac, 0xac, 0xbe, 0x4c, 0x39, 0x09, 0x34, 0x02, 0x79, 0xaa, 0x60, 0x74, 0x09, 0xeb, 0x23, - 0x1a, 0x7a, 0xfa, 0xd5, 0xfb, 0x2c, 0xf0, 0xd4, 0xcb, 0xa4, 0x2c, 0xb4, 0x72, 0x7a, 0xfd, 0x83, - 0x87, 0xae, 0xdf, 0x49, 0x78, 0x1c, 0x34, 0xa2, 0xe1, 0xcc, 0x39, 0x8b, 0x39, 0x75, 0x2f, 0x7c, - 0xf3, 0x6b, 0xaf, 0xfc, 0x3f, 0xf7, 0xc2, 0x37, 0x3f, 0xf7, 0x7a, 0x04, 0x25, 0x9f, 0x46, 0x43, - 0xc2, 0x3d, 0x31, 0xa6, 0x4a, 0xaa, 0x82, 0xde, 0x7f, 0x25, 0x06, 0x5d, 0x8d, 0x69, 0x45, 0x39, - 0x19, 0x90, 0x50, 0x52, 0x1c, 0x68, 0x9d, 0x2c, 0x48, 0x14, 0xbd, 0x83, 0x95, 0x4c, 0x95, 0x26, - 0xe4, 0x92, 0xdb, 0xa2, 0x32, 0x14, 0x3b, 0x0d, 0xd7, 0xed, 0x36, 0x9d, 0x76, 0xef, 0xb8, 0x69, - 0x2e, 0x21, 0x80, 0xac, 0xfb, 0xee, 0xa4, 0xd3, 0x3a, 0x32, 0x0d, 0x65, 0x9f, 0xf4, 0xba, 0xbd, - 0x46, 0xcb, 0x4c, 0xa1, 0x75, 0x30, 0x1b, 0xbd, 0x6e, 0xdb, 0x5b, 0xcc, 0x4e, 0x57, 0xda, 0x50, - 0x5c, 0x18, 0x1d, 0xad, 0x40, 0xbe, 0xdb, 0x72, 0x3d, 0x95, 0x68, 0x2e, 0xa1, 0xa2, 0x6e, 0x73, - 0xb6, 0xef, 0xed, 0x99, 0xc6, 0xdc, 0xd9, 0x37, 0x53, 0x73, 0xa7, 0x66, 0xa6, 0xe7, 0x4e, 0xdd, - 0xcc, 0x54, 0x4e, 0x21, 0xa3, 0x3e, 0x44, 0xf4, 0x1f, 0x64, 0xc3, 0xf1, 0xa8, 0x4f, 0xb8, 0x7e, - 0xd6, 0x25, 0x27, 0xf1, 0xd0, 0x06, 0xe4, 0x67, 0x82, 0x27, 0xdf, 0xfd, 0x9d, 0xaf, 0x3e, 0x30, - 0xbd, 0x74, 0xfc, 0x26, 0xb5, 0xfd, 0xc6, 0xfe, 0x74, 0xbb, 0x69, 0x7c, 0xbe, 0xdd, 0x34, 0xbe, - 0xde, 0x6e, 0x1a, 0x1f, 0xb6, 0xe3, 0x9b, 0x50, 0x56, 0xc5, 0x11, 0xad, 0xfe, 0xe6, 0xbf, 0xd9, - 0xcf, 0x6a, 0xb6, 0xfa, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaa, 0xbd, 0x84, 0xff, 0x55, 0x05, - 0x00, 0x00, -} diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 091d09a45a7..d34c55bc909 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -3,17 +3,24 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Location specifies whether the service is part of Istio mesh or // outside the mesh. Location determines the behavior of several // features, such as service-to-service mTLS authentication, policy @@ -37,6 +44,7 @@ var ServiceEntry_Location_name = map[int32]string{ 0: "MESH_EXTERNAL", 1: "MESH_INTERNAL", } + var ServiceEntry_Location_value = map[string]int32{ "MESH_EXTERNAL": 0, "MESH_INTERNAL": 1, @@ -45,8 +53,9 @@ var ServiceEntry_Location_value = map[string]int32{ func (x ServiceEntry_Location) String() string { return proto.EnumName(ServiceEntry_Location_name, int32(x)) } + func (ServiceEntry_Location) EnumDescriptor() ([]byte, []int) { - return fileDescriptorServiceEntry, []int{0, 0} + return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} } // Resolution determines how the proxy will resolve the IP addresses of @@ -86,6 +95,7 @@ var ServiceEntry_Resolution_name = map[int32]string{ 1: "STATIC", 2: "DNS", } + var ServiceEntry_Resolution_value = map[string]int32{ "NONE": 0, "STATIC": 1, @@ -95,8 +105,9 @@ var ServiceEntry_Resolution_value = map[string]int32{ func (x ServiceEntry_Resolution) String() string { return proto.EnumName(ServiceEntry_Resolution_name, int32(x)) } + func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { - return fileDescriptorServiceEntry, []int{0, 1} + return fileDescriptor_9220e0fa673c4bf8, []int{0, 1} } // `ServiceEntry` enables adding additional entries into Istio's internal @@ -412,7 +423,7 @@ type ServiceEntry struct { // 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. - Hosts []string `protobuf:"bytes,1,rep,name=hosts" json:"hosts,omitempty"` + 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 // the destination will be identified based on the HTTP Host/Authority @@ -427,11 +438,11 @@ type ServiceEntry struct { // simple TCP proxy, forwarding incoming traffic on a specified port to // the specified destination endpoint IP/host. Unix domain socket // addresses are not supported in this field. - Addresses []string `protobuf:"bytes,2,rep,name=addresses" json:"addresses,omitempty"` + Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"` // REQUIRED. The ports associated with the external service. If the // Endpoints are unix domain socket addresses, there must be exactly one // port. - Ports []*Port `protobuf:"bytes,3,rep,name=ports" json:"ports,omitempty"` + Ports []*Port `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"` // Specify whether the service should be considered external to the mesh // or part of the mesh. Location ServiceEntry_Location `protobuf:"varint,4,opt,name=location,proto3,enum=istio.networking.v1alpha3.ServiceEntry_Location" json:"location,omitempty"` @@ -441,7 +452,7 @@ type ServiceEntry struct { // said port will be allowed (i.e. 0.0.0.0:). Resolution ServiceEntry_Resolution `protobuf:"varint,5,opt,name=resolution,proto3,enum=istio.networking.v1alpha3.ServiceEntry_Resolution" json:"resolution,omitempty"` // One or more endpoints associated with the service. - Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints" json:"endpoints,omitempty"` + Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // A list of namespaces to which this service is exported. Exporting a service // allows it to used by sidecars, gateways and virtual services defined in // other namespaces. This feature provides a mechanism for service owners @@ -458,19 +469,50 @@ type ServiceEntry struct { // For a Kubernetes Service the equivalent effect can be achieved by setting // the annotation "networking.istio.io/exportTo" to a comma-separated list // of namespace names. - ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` + ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce // secure-naming . // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. - SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ServiceEntry) Reset() { *m = ServiceEntry{} } -func (m *ServiceEntry) String() string { return proto.CompactTextString(m) } -func (*ServiceEntry) ProtoMessage() {} -func (*ServiceEntry) Descriptor() ([]byte, []int) { return fileDescriptorServiceEntry, []int{0} } +func (m *ServiceEntry) Reset() { *m = ServiceEntry{} } +func (m *ServiceEntry) String() string { return proto.CompactTextString(m) } +func (*ServiceEntry) ProtoMessage() {} +func (*ServiceEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_9220e0fa673c4bf8, []int{0} +} +func (m *ServiceEntry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ServiceEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ServiceEntry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ServiceEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceEntry.Merge(m, src) +} +func (m *ServiceEntry) XXX_Size() int { + return m.Size() +} +func (m *ServiceEntry) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_ServiceEntry proto.InternalMessageInfo func (m *ServiceEntry) GetHosts() []string { if m != nil { @@ -539,9 +581,9 @@ type ServiceEntry_Endpoint struct { // 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. - Ports map[string]uint32 `protobuf:"bytes,2,rep,name=ports" json:"ports,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + 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" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + 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"` // Network enables Istio to group endpoints resident in the same L3 // domain/network. All endpoints in the same network are assumed to be // directly reachable from one another. When endpoints in different @@ -571,15 +613,44 @@ type ServiceEntry_Endpoint struct { Locality string `protobuf:"bytes,5,opt,name=locality,proto3" json:"locality,omitempty"` // The load balancing weight associated with the endpoint. Endpoints // with higher weights will receive proportionally higher traffic. - Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` + Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ServiceEntry_Endpoint) Reset() { *m = ServiceEntry_Endpoint{} } func (m *ServiceEntry_Endpoint) String() string { return proto.CompactTextString(m) } func (*ServiceEntry_Endpoint) ProtoMessage() {} func (*ServiceEntry_Endpoint) Descriptor() ([]byte, []int) { - return fileDescriptorServiceEntry, []int{0, 0} + return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} +} +func (m *ServiceEntry_Endpoint) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ServiceEntry_Endpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ServiceEntry_Endpoint.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ServiceEntry_Endpoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceEntry_Endpoint.Merge(m, src) +} +func (m *ServiceEntry_Endpoint) XXX_Size() int { + return m.Size() } +func (m *ServiceEntry_Endpoint) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceEntry_Endpoint.DiscardUnknown(m) +} + +var xxx_messageInfo_ServiceEntry_Endpoint proto.InternalMessageInfo func (m *ServiceEntry_Endpoint) GetAddress() string { if m != nil { @@ -624,11 +695,55 @@ func (m *ServiceEntry_Endpoint) GetWeight() uint32 { } func init() { - proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1alpha3.ServiceEntry") - proto.RegisterType((*ServiceEntry_Endpoint)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint") proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Location", ServiceEntry_Location_name, ServiceEntry_Location_value) proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Resolution", ServiceEntry_Resolution_name, ServiceEntry_Resolution_value) + proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1alpha3.ServiceEntry") + proto.RegisterType((*ServiceEntry_Endpoint)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry") + proto.RegisterMapType((map[string]uint32)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry") } + +func init() { + proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptor_9220e0fa673c4bf8) +} + +var fileDescriptor_9220e0fa673c4bf8 = []byte{ + // 527 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x8e, 0xd2, 0x40, + 0x14, 0xc6, 0x77, 0xe8, 0x52, 0xda, 0xb3, 0xae, 0xb2, 0x13, 0x63, 0x46, 0x34, 0x58, 0xb9, 0x91, + 0x68, 0x52, 0x56, 0x36, 0x26, 0xeb, 0x9f, 0x1b, 0xd4, 0x26, 0x6e, 0x82, 0x55, 0x07, 0x2e, 0x8c, + 0x37, 0x64, 0x80, 0x09, 0xd4, 0xad, 0x1d, 0xd2, 0x19, 0x40, 0xde, 0xc2, 0xa7, 0xf0, 0x59, 0xbc, + 0xf4, 0x11, 0x0c, 0x4f, 0x62, 0x3a, 0x9d, 0x02, 0x17, 0xab, 0xbb, 0x7b, 0xd7, 0x73, 0xe6, 0x7c, + 0xbf, 0x7e, 0x73, 0xce, 0x19, 0x78, 0x94, 0x70, 0xb5, 0x14, 0xe9, 0x79, 0x94, 0x4c, 0x5a, 0x8b, + 0xa7, 0x2c, 0x9e, 0x4d, 0xd9, 0x49, 0x4b, 0xf2, 0x74, 0x11, 0x8d, 0xf8, 0x80, 0x27, 0x2a, 0x5d, + 0xf9, 0xb3, 0x54, 0x28, 0x81, 0xef, 0x46, 0x52, 0x45, 0xc2, 0xdf, 0x96, 0xfb, 0x45, 0x79, 0xed, + 0xe1, 0x45, 0x8c, 0x09, 0x53, 0x7c, 0xc9, 0x8c, 0xba, 0xf1, 0xb3, 0x02, 0x37, 0x7a, 0x39, 0x35, + 0xc8, 0xa0, 0xf8, 0x36, 0x94, 0xa7, 0x42, 0x2a, 0x49, 0x90, 0x67, 0x35, 0x5d, 0x9a, 0x07, 0xf8, + 0x3e, 0xb8, 0x6c, 0x3c, 0x4e, 0xb9, 0x94, 0x5c, 0x92, 0x92, 0x3e, 0xd9, 0x26, 0xf0, 0x33, 0x28, + 0xcf, 0x44, 0xaa, 0x24, 0xb1, 0x3c, 0xab, 0x79, 0xd0, 0x7e, 0xe0, 0xff, 0xd3, 0x92, 0xff, 0x51, + 0xa4, 0x8a, 0xe6, 0xd5, 0xb8, 0x0b, 0x4e, 0x2c, 0x46, 0x4c, 0x45, 0x22, 0x21, 0xfb, 0x1e, 0x6a, + 0xde, 0x6c, 0x1f, 0xff, 0x47, 0xb9, 0xeb, 0xd2, 0xef, 0x1a, 0x1d, 0xdd, 0x10, 0x30, 0x05, 0x48, + 0xb9, 0x14, 0xf1, 0x5c, 0xf3, 0xca, 0x9a, 0xd7, 0xbe, 0x2a, 0x8f, 0x6e, 0x94, 0x74, 0x87, 0x82, + 0x43, 0x70, 0x79, 0x32, 0x9e, 0x89, 0x28, 0x51, 0x92, 0xd8, 0xfa, 0x72, 0x57, 0xb6, 0x18, 0x18, + 0x21, 0xdd, 0x22, 0xf0, 0x3d, 0x70, 0xf9, 0xf7, 0xec, 0xf2, 0x03, 0x25, 0x48, 0x45, 0xb7, 0xd1, + 0xc9, 0x13, 0x7d, 0x81, 0x1f, 0xc3, 0x91, 0x9c, 0x0f, 0xbf, 0xf2, 0x91, 0x1a, 0xb0, 0x58, 0x0d, + 0x12, 0xf6, 0x8d, 0x4b, 0xe2, 0xe8, 0xa2, 0x5b, 0xe6, 0xa0, 0x13, 0xab, 0x30, 0x4b, 0xd7, 0x7e, + 0x58, 0xe0, 0x14, 0x3f, 0xc0, 0x04, 0x2a, 0x66, 0x16, 0x04, 0x79, 0xa8, 0xe9, 0xd2, 0x22, 0xc4, + 0x9f, 0x8a, 0xc1, 0x94, 0xb4, 0xf7, 0x97, 0xd7, 0xf5, 0xae, 0xc7, 0x25, 0x75, 0xae, 0x18, 0x5a, + 0x1f, 0xec, 0x98, 0x0d, 0x79, 0x5c, 0x0c, 0xfb, 0xd5, 0xb5, 0x99, 0x5d, 0x2d, 0xcf, 0xa1, 0x86, + 0x95, 0x5d, 0xc1, 0x00, 0xf4, 0x26, 0xb8, 0xb4, 0x08, 0x71, 0x2d, 0x5f, 0x92, 0x38, 0x52, 0x2b, + 0x3d, 0x54, 0x97, 0x6e, 0x62, 0x7c, 0x07, 0xec, 0x25, 0x8f, 0x26, 0x53, 0x45, 0x6c, 0x0f, 0x35, + 0x0f, 0xa9, 0x89, 0x6a, 0xa7, 0x00, 0x5b, 0xe3, 0xb8, 0x0a, 0xd6, 0x39, 0x5f, 0x99, 0xd6, 0x64, + 0x9f, 0xd9, 0x8e, 0x2f, 0x58, 0x3c, 0xe7, 0xa4, 0xa4, 0x65, 0x79, 0xf0, 0xa2, 0x74, 0x8a, 0x6a, + 0xcf, 0xe1, 0x60, 0xc7, 0xde, 0x65, 0x52, 0x77, 0x47, 0xda, 0x38, 0x06, 0xa7, 0xd8, 0x4a, 0x7c, + 0x04, 0x87, 0xef, 0x83, 0xde, 0xbb, 0x41, 0xf0, 0xb9, 0x1f, 0xd0, 0xb0, 0xd3, 0xad, 0xee, 0x6d, + 0x52, 0x67, 0xa1, 0x49, 0xa1, 0xc6, 0x13, 0x80, 0xed, 0xde, 0x61, 0x07, 0xf6, 0xc3, 0x0f, 0x61, + 0x50, 0xdd, 0xc3, 0x00, 0x76, 0xaf, 0xdf, 0xe9, 0x9f, 0xbd, 0xa9, 0x22, 0x5c, 0x01, 0xeb, 0x6d, + 0xd8, 0xab, 0x96, 0x5e, 0xfb, 0xbf, 0xd6, 0x75, 0xf4, 0x7b, 0x5d, 0x47, 0x7f, 0xd6, 0x75, 0xf4, + 0xc5, 0xcb, 0x9b, 0x1e, 0x89, 0x16, 0x9b, 0x45, 0xad, 0x0b, 0x9e, 0xf9, 0xd0, 0xd6, 0xef, 0xfb, + 0xe4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10, 0x53, 0xa9, 0xc0, 0x48, 0x04, 0x00, 0x00, +} + func (m *ServiceEntry) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -738,6 +853,9 @@ func (m *ServiceEntry) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -812,6 +930,9 @@ func (m *ServiceEntry_Endpoint) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintServiceEntry(dAtA, i, uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -825,6 +946,9 @@ func encodeVarintServiceEntry(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *ServiceEntry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Hosts) > 0 { @@ -869,10 +993,16 @@ func (m *ServiceEntry) Size() (n int) { n += 1 + l + sovServiceEntry(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ServiceEntry_Endpoint) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -906,6 +1036,9 @@ func (m *ServiceEntry_Endpoint) Size() (n int) { if m.Weight != 0 { n += 1 + sovServiceEntry(uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -937,7 +1070,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -965,7 +1098,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -975,6 +1108,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -994,7 +1130,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1004,6 +1140,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1023,7 +1162,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1032,6 +1171,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1054,7 +1196,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Location |= (ServiceEntry_Location(b) & 0x7F) << shift + m.Location |= ServiceEntry_Location(b&0x7F) << shift if b < 0x80 { break } @@ -1073,7 +1215,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Resolution |= (ServiceEntry_Resolution(b) & 0x7F) << shift + m.Resolution |= ServiceEntry_Resolution(b&0x7F) << shift if b < 0x80 { break } @@ -1092,7 +1234,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1101,6 +1243,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1123,7 +1268,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1133,6 +1278,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1152,7 +1300,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1162,6 +1310,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1176,9 +1327,13 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthServiceEntry } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthServiceEntry + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1203,7 +1358,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1231,7 +1386,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1241,6 +1396,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1260,7 +1418,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1269,6 +1427,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1289,7 +1450,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1306,7 +1467,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1316,6 +1477,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthServiceEntry + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1331,7 +1495,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvalue |= (uint32(b) & 0x7F) << shift + mapvalue |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -1367,7 +1531,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1376,6 +1540,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1396,7 +1563,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1413,7 +1580,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1423,6 +1590,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthServiceEntry + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1439,7 +1609,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1449,6 +1619,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthServiceEntry + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1485,7 +1658,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1495,6 +1668,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1514,7 +1690,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1524,6 +1700,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1543,7 +1722,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= (uint32(b) & 0x7F) << shift + m.Weight |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -1557,9 +1736,13 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthServiceEntry } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthServiceEntry + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1623,10 +1806,13 @@ func skipServiceEntry(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthServiceEntry } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthServiceEntry + } return iNdEx, nil case 3: for { @@ -1655,6 +1841,9 @@ func skipServiceEntry(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthServiceEntry + } } return iNdEx, nil case 4: @@ -1673,42 +1862,3 @@ var ( ErrInvalidLengthServiceEntry = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowServiceEntry = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptorServiceEntry) } - -var fileDescriptorServiceEntry = []byte{ - // 527 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x8e, 0xd2, 0x40, - 0x14, 0xc6, 0x77, 0xe8, 0x52, 0xda, 0xb3, 0xae, 0xb2, 0x13, 0x63, 0x46, 0x34, 0x58, 0xb9, 0x91, - 0x68, 0x52, 0x56, 0x36, 0x26, 0xeb, 0x9f, 0x1b, 0xd4, 0x26, 0x6e, 0x82, 0x55, 0x07, 0x2e, 0x8c, - 0x37, 0x64, 0x80, 0x09, 0xd4, 0xad, 0x1d, 0xd2, 0x19, 0x40, 0xde, 0xc2, 0xa7, 0xf0, 0x59, 0xbc, - 0xf4, 0x11, 0x0c, 0x4f, 0x62, 0x3a, 0x9d, 0x02, 0x17, 0xab, 0xbb, 0x7b, 0xd7, 0x73, 0xe6, 0x7c, - 0xbf, 0x7e, 0x73, 0xce, 0x19, 0x78, 0x94, 0x70, 0xb5, 0x14, 0xe9, 0x79, 0x94, 0x4c, 0x5a, 0x8b, - 0xa7, 0x2c, 0x9e, 0x4d, 0xd9, 0x49, 0x4b, 0xf2, 0x74, 0x11, 0x8d, 0xf8, 0x80, 0x27, 0x2a, 0x5d, - 0xf9, 0xb3, 0x54, 0x28, 0x81, 0xef, 0x46, 0x52, 0x45, 0xc2, 0xdf, 0x96, 0xfb, 0x45, 0x79, 0xed, - 0xe1, 0x45, 0x8c, 0x09, 0x53, 0x7c, 0xc9, 0x8c, 0xba, 0xf1, 0xb3, 0x02, 0x37, 0x7a, 0x39, 0x35, - 0xc8, 0xa0, 0xf8, 0x36, 0x94, 0xa7, 0x42, 0x2a, 0x49, 0x90, 0x67, 0x35, 0x5d, 0x9a, 0x07, 0xf8, - 0x3e, 0xb8, 0x6c, 0x3c, 0x4e, 0xb9, 0x94, 0x5c, 0x92, 0x92, 0x3e, 0xd9, 0x26, 0xf0, 0x33, 0x28, - 0xcf, 0x44, 0xaa, 0x24, 0xb1, 0x3c, 0xab, 0x79, 0xd0, 0x7e, 0xe0, 0xff, 0xd3, 0x92, 0xff, 0x51, - 0xa4, 0x8a, 0xe6, 0xd5, 0xb8, 0x0b, 0x4e, 0x2c, 0x46, 0x4c, 0x45, 0x22, 0x21, 0xfb, 0x1e, 0x6a, - 0xde, 0x6c, 0x1f, 0xff, 0x47, 0xb9, 0xeb, 0xd2, 0xef, 0x1a, 0x1d, 0xdd, 0x10, 0x30, 0x05, 0x48, - 0xb9, 0x14, 0xf1, 0x5c, 0xf3, 0xca, 0x9a, 0xd7, 0xbe, 0x2a, 0x8f, 0x6e, 0x94, 0x74, 0x87, 0x82, - 0x43, 0x70, 0x79, 0x32, 0x9e, 0x89, 0x28, 0x51, 0x92, 0xd8, 0xfa, 0x72, 0x57, 0xb6, 0x18, 0x18, - 0x21, 0xdd, 0x22, 0xf0, 0x3d, 0x70, 0xf9, 0xf7, 0xec, 0xf2, 0x03, 0x25, 0x48, 0x45, 0xb7, 0xd1, - 0xc9, 0x13, 0x7d, 0x81, 0x1f, 0xc3, 0x91, 0x9c, 0x0f, 0xbf, 0xf2, 0x91, 0x1a, 0xb0, 0x58, 0x0d, - 0x12, 0xf6, 0x8d, 0x4b, 0xe2, 0xe8, 0xa2, 0x5b, 0xe6, 0xa0, 0x13, 0xab, 0x30, 0x4b, 0xd7, 0x7e, - 0x58, 0xe0, 0x14, 0x3f, 0xc0, 0x04, 0x2a, 0x66, 0x16, 0x04, 0x79, 0xa8, 0xe9, 0xd2, 0x22, 0xc4, - 0x9f, 0x8a, 0xc1, 0x94, 0xb4, 0xf7, 0x97, 0xd7, 0xf5, 0xae, 0xc7, 0x25, 0x75, 0xae, 0x18, 0x5a, - 0x1f, 0xec, 0x98, 0x0d, 0x79, 0x5c, 0x0c, 0xfb, 0xd5, 0xb5, 0x99, 0x5d, 0x2d, 0xcf, 0xa1, 0x86, - 0x95, 0x5d, 0xc1, 0x00, 0xf4, 0x26, 0xb8, 0xb4, 0x08, 0x71, 0x2d, 0x5f, 0x92, 0x38, 0x52, 0x2b, - 0x3d, 0x54, 0x97, 0x6e, 0x62, 0x7c, 0x07, 0xec, 0x25, 0x8f, 0x26, 0x53, 0x45, 0x6c, 0x0f, 0x35, - 0x0f, 0xa9, 0x89, 0x6a, 0xa7, 0x00, 0x5b, 0xe3, 0xb8, 0x0a, 0xd6, 0x39, 0x5f, 0x99, 0xd6, 0x64, - 0x9f, 0xd9, 0x8e, 0x2f, 0x58, 0x3c, 0xe7, 0xa4, 0xa4, 0x65, 0x79, 0xf0, 0xa2, 0x74, 0x8a, 0x6a, - 0xcf, 0xe1, 0x60, 0xc7, 0xde, 0x65, 0x52, 0x77, 0x47, 0xda, 0x38, 0x06, 0xa7, 0xd8, 0x4a, 0x7c, - 0x04, 0x87, 0xef, 0x83, 0xde, 0xbb, 0x41, 0xf0, 0xb9, 0x1f, 0xd0, 0xb0, 0xd3, 0xad, 0xee, 0x6d, - 0x52, 0x67, 0xa1, 0x49, 0xa1, 0xc6, 0x13, 0x80, 0xed, 0xde, 0x61, 0x07, 0xf6, 0xc3, 0x0f, 0x61, - 0x50, 0xdd, 0xc3, 0x00, 0x76, 0xaf, 0xdf, 0xe9, 0x9f, 0xbd, 0xa9, 0x22, 0x5c, 0x01, 0xeb, 0x6d, - 0xd8, 0xab, 0x96, 0x5e, 0xfb, 0xbf, 0xd6, 0x75, 0xf4, 0x7b, 0x5d, 0x47, 0x7f, 0xd6, 0x75, 0xf4, - 0xc5, 0xcb, 0x9b, 0x1e, 0x89, 0x16, 0x9b, 0x45, 0xad, 0x0b, 0x9e, 0xf9, 0xd0, 0xd6, 0xef, 0xfb, - 0xe4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10, 0x53, 0xa9, 0xc0, 0x48, 0x04, 0x00, 0x00, -} diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index 81feff98ba7..70b52cdf959 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -3,17 +3,24 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // CaptureMode describes how traffic to a listener is expected to be // captured. Applicable only when the listener is bound to an IP. type CaptureMode int32 @@ -36,6 +43,7 @@ var CaptureMode_name = map[int32]string{ 1: "IPTABLES", 2: "NONE", } + var CaptureMode_value = map[string]int32{ "DEFAULT": 0, "IPTABLES": 1, @@ -45,7 +53,10 @@ var CaptureMode_value = map[string]int32{ func (x CaptureMode) String() string { return proto.EnumName(CaptureMode_name, int32(x)) } -func (CaptureMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } + +func (CaptureMode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{0} +} // `Sidecar` describes the configuration of the sidecar proxy that mediates // inbound and outbound communication to the workload it is attached to. By @@ -129,24 +140,55 @@ type Sidecar struct { // sidecar configuration should be applied. If omitted, the sidecar // configuration will be applied to all workloads in the same config // namespace. - WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector" json:"workload_selector,omitempty"` + 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 // autoconfigure the sidecar based on the information about the workload // obtained from the orchestration platform (e.g., exposed ports, services, // etc.). - Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress" json:"ingress,omitempty"` + Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress,proto3" json:"ingress,omitempty"` // Egress specifies the configuration of the sidecar for processing // outbound traffic from the attached workload to other services in the // mesh. If omitted, Istio will autoconfigure the sidecar to be able to // reach every service in the mesh that is visible to this namespace. - Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress" json:"egress,omitempty"` + Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress,proto3" json:"egress,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Sidecar) Reset() { *m = Sidecar{} } +func (m *Sidecar) String() string { return proto.CompactTextString(m) } +func (*Sidecar) ProtoMessage() {} +func (*Sidecar) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{0} +} +func (m *Sidecar) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Sidecar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Sidecar.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Sidecar) XXX_Merge(src proto.Message) { + xxx_messageInfo_Sidecar.Merge(m, src) +} +func (m *Sidecar) XXX_Size() int { + return m.Size() +} +func (m *Sidecar) XXX_DiscardUnknown() { + xxx_messageInfo_Sidecar.DiscardUnknown(m) } -func (m *Sidecar) Reset() { *m = Sidecar{} } -func (m *Sidecar) String() string { return proto.CompactTextString(m) } -func (*Sidecar) ProtoMessage() {} -func (*Sidecar) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } +var xxx_messageInfo_Sidecar proto.InternalMessageInfo func (m *Sidecar) GetWorkloadSelector() *WorkloadSelector { if m != nil { @@ -175,7 +217,7 @@ type IstioIngressListener struct { // REQUIRED. The port associated with the listener. If using // unix domain socket, use 0 as the port number, with a valid // protocol. - Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // 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). If omitted, Istio will autoconfigure the defaults @@ -191,13 +233,44 @@ type IstioIngressListener struct { // 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 - DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} } -func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) } -func (*IstioIngressListener) ProtoMessage() {} -func (*IstioIngressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{1} } +func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} } +func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) } +func (*IstioIngressListener) ProtoMessage() {} +func (*IstioIngressListener) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{1} +} +func (m *IstioIngressListener) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IstioIngressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IstioIngressListener.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IstioIngressListener) XXX_Merge(src proto.Message) { + xxx_messageInfo_IstioIngressListener.Merge(m, src) +} +func (m *IstioIngressListener) XXX_Size() int { + return m.Size() +} +func (m *IstioIngressListener) XXX_DiscardUnknown() { + xxx_messageInfo_IstioIngressListener.DiscardUnknown(m) +} + +var xxx_messageInfo_IstioIngressListener proto.InternalMessageInfo func (m *IstioIngressListener) GetPort() *Port { if m != nil { @@ -239,7 +312,7 @@ type IstioEgressListener struct { // specific ports while others have no port, the hosts exposed on a // listener port will be based on the listener with the most specific // port. - Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // The ip or the unix domain socket to which the listener should be bound // to. Port MUST be specified if bind is not empty. Format: x.x.x.x or // unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If @@ -270,13 +343,44 @@ type IstioEgressListener struct { // namespace can be imported. Private services/configuration will not be // imported. Refer to the scope setting associated with VirtualService, // DestinationRule, ServiceEntry, etc. for details. - Hosts []string `protobuf:"bytes,4,rep,name=hosts" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} } -func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) } -func (*IstioEgressListener) ProtoMessage() {} -func (*IstioEgressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{2} } +func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} } +func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) } +func (*IstioEgressListener) ProtoMessage() {} +func (*IstioEgressListener) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{2} +} +func (m *IstioEgressListener) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IstioEgressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IstioEgressListener.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IstioEgressListener) XXX_Merge(src proto.Message) { + xxx_messageInfo_IstioEgressListener.Merge(m, src) +} +func (m *IstioEgressListener) XXX_Size() int { + return m.Size() +} +func (m *IstioEgressListener) XXX_DiscardUnknown() { + xxx_messageInfo_IstioEgressListener.DiscardUnknown(m) +} + +var xxx_messageInfo_IstioEgressListener proto.InternalMessageInfo func (m *IstioEgressListener) GetPort() *Port { if m != nil { @@ -318,13 +422,44 @@ type WorkloadSelector struct { // on which this sidecar configuration should be applied. The scope of // label search is restricted to the configuration namespace in which the // the resource is present. - Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } -func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } -func (*WorkloadSelector) ProtoMessage() {} -func (*WorkloadSelector) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{3} } +func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } +func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } +func (*WorkloadSelector) ProtoMessage() {} +func (*WorkloadSelector) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{3} +} +func (m *WorkloadSelector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *WorkloadSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_WorkloadSelector.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *WorkloadSelector) XXX_Merge(src proto.Message) { + xxx_messageInfo_WorkloadSelector.Merge(m, src) +} +func (m *WorkloadSelector) XXX_Size() int { + return m.Size() +} +func (m *WorkloadSelector) XXX_DiscardUnknown() { + xxx_messageInfo_WorkloadSelector.DiscardUnknown(m) +} + +var xxx_messageInfo_WorkloadSelector proto.InternalMessageInfo func (m *WorkloadSelector) GetLabels() map[string]string { if m != nil { @@ -334,12 +469,50 @@ func (m *WorkloadSelector) GetLabels() map[string]string { } func init() { + proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value) proto.RegisterType((*Sidecar)(nil), "istio.networking.v1alpha3.Sidecar") proto.RegisterType((*IstioIngressListener)(nil), "istio.networking.v1alpha3.IstioIngressListener") proto.RegisterType((*IstioEgressListener)(nil), "istio.networking.v1alpha3.IstioEgressListener") proto.RegisterType((*WorkloadSelector)(nil), "istio.networking.v1alpha3.WorkloadSelector") - proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value) + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.WorkloadSelector.LabelsEntry") +} + +func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptor_b5c11342f04ad3d1) } + +var fileDescriptor_b5c11342f04ad3d1 = []byte{ + // 465 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x6f, 0xd3, 0x30, + 0x18, 0xc6, 0x71, 0x13, 0xda, 0xf5, 0xcd, 0x04, 0xc1, 0xec, 0x10, 0x76, 0x28, 0xa1, 0x07, 0x14, + 0x40, 0x4a, 0x44, 0x7b, 0xe0, 0xcf, 0x6d, 0x83, 0x4c, 0x8a, 0x54, 0xb6, 0x29, 0x1d, 0x02, 0x71, + 0xa9, 0xdc, 0xe6, 0xa5, 0xb3, 0x16, 0xe2, 0xc8, 0x76, 0x57, 0xf5, 0xcb, 0xf0, 0x55, 0xb8, 0x72, + 0xe4, 0xc2, 0x1d, 0xf5, 0x43, 0x70, 0x46, 0x4d, 0x3c, 0x6d, 0x4c, 0xa5, 0x88, 0x1b, 0x37, 0xbf, + 0x6f, 0x9e, 0xe7, 0xf7, 0xfa, 0x89, 0x6d, 0x78, 0x50, 0xa0, 0x9e, 0x0b, 0x79, 0xc6, 0x8b, 0x69, + 0x74, 0xfe, 0x94, 0xe5, 0xe5, 0x29, 0xeb, 0x47, 0x8a, 0x67, 0x38, 0x61, 0x32, 0x2c, 0xa5, 0xd0, + 0x82, 0xde, 0xe3, 0x4a, 0x73, 0x11, 0x5e, 0x0a, 0xc3, 0x0b, 0xe1, 0xee, 0x5a, 0xf7, 0x94, 0x69, + 0x9c, 0xb3, 0x45, 0xed, 0xee, 0xfe, 0x24, 0xd0, 0x1a, 0xd6, 0x3c, 0xfa, 0x1e, 0xee, 0xac, 0xd4, + 0xb9, 0x60, 0xd9, 0x48, 0x61, 0x8e, 0x13, 0x2d, 0xa4, 0x47, 0x7c, 0x12, 0x38, 0xbd, 0x27, 0xe1, + 0x1f, 0xa7, 0x84, 0xef, 0x8c, 0x67, 0x68, 0x2c, 0xa9, 0x3b, 0xbf, 0xd6, 0xa1, 0x09, 0xb4, 0x78, + 0x31, 0x95, 0xa8, 0x94, 0xd7, 0xf0, 0xad, 0xc0, 0xe9, 0x45, 0x1b, 0x78, 0xc9, 0xea, 0x4b, 0x52, + 0xcb, 0x07, 0x5c, 0x69, 0x2c, 0x50, 0xa6, 0x17, 0x7e, 0x7a, 0x00, 0x4d, 0xac, 0x49, 0x56, 0x45, + 0x0a, 0xff, 0x46, 0x8a, 0x7f, 0x07, 0x19, 0x77, 0xf7, 0x3b, 0x81, 0x9d, 0x75, 0x93, 0x68, 0x1f, + 0xec, 0x52, 0x48, 0x6d, 0x82, 0xdf, 0xdf, 0x80, 0x3f, 0x16, 0x52, 0xa7, 0x95, 0x98, 0x52, 0xb0, + 0xc7, 0xbc, 0xc8, 0xbc, 0x86, 0x4f, 0x82, 0x76, 0x5a, 0xad, 0x69, 0x02, 0xdb, 0x13, 0x56, 0xea, + 0x99, 0xc4, 0xd1, 0x27, 0x91, 0xa1, 0x67, 0xf9, 0x24, 0xb8, 0xd5, 0x7b, 0xb8, 0x01, 0xf8, 0xaa, + 0x96, 0xbf, 0x11, 0x19, 0xa6, 0xce, 0xe4, 0xb2, 0xa0, 0x8f, 0xc0, 0xcd, 0xf0, 0x23, 0x9b, 0xe5, + 0x7a, 0x84, 0x45, 0x56, 0x0a, 0x5e, 0x68, 0xcf, 0xae, 0x46, 0xdd, 0x36, 0xfd, 0xd8, 0xb4, 0xbb, + 0x5f, 0x08, 0xdc, 0x5d, 0x93, 0xfb, 0xbf, 0x8c, 0xb5, 0x03, 0x37, 0x4f, 0x85, 0xd2, 0xca, 0xb3, + 0x7d, 0x2b, 0x68, 0xa7, 0x75, 0xd1, 0xfd, 0x4c, 0xc0, 0xbd, 0x7e, 0xa7, 0xe8, 0x11, 0x34, 0x73, + 0x36, 0xc6, 0x5c, 0x79, 0xa4, 0x3a, 0xf6, 0x67, 0xff, 0x70, 0x21, 0xc3, 0x41, 0xe5, 0x8c, 0x0b, + 0x2d, 0x17, 0xa9, 0xc1, 0xec, 0xbe, 0x00, 0xe7, 0x4a, 0x9b, 0xba, 0x60, 0x9d, 0xe1, 0xa2, 0xfa, + 0x3b, 0xed, 0x74, 0xb5, 0x5c, 0x6d, 0xee, 0x9c, 0xe5, 0x33, 0x34, 0xe1, 0xeb, 0xe2, 0x65, 0xe3, + 0x39, 0x79, 0xdc, 0x03, 0xe7, 0x4a, 0x24, 0xea, 0x40, 0xeb, 0x75, 0x7c, 0xb0, 0xf7, 0x76, 0x70, + 0xe2, 0xde, 0xa0, 0xdb, 0xb0, 0x95, 0x1c, 0x9f, 0xec, 0xed, 0x0f, 0xe2, 0xa1, 0x4b, 0xe8, 0x16, + 0xd8, 0x87, 0x47, 0x87, 0xb1, 0xdb, 0xd8, 0x0f, 0xbf, 0x2e, 0x3b, 0xe4, 0xdb, 0xb2, 0x43, 0x7e, + 0x2c, 0x3b, 0xe4, 0x83, 0x5f, 0x6f, 0x9e, 0x8b, 0x88, 0x95, 0x3c, 0x5a, 0xf3, 0x4a, 0xc7, 0xcd, + 0xea, 0x79, 0xf6, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x32, 0x9f, 0xa8, 0x1c, 0x01, 0x04, 0x00, + 0x00, } + func (m *Sidecar) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -389,6 +562,9 @@ func (m *Sidecar) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -434,6 +610,9 @@ func (m *IstioIngressListener) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintSidecar(dAtA, i, uint64(len(m.DefaultEndpoint))) i += copy(dAtA[i:], m.DefaultEndpoint) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -488,6 +667,9 @@ func (m *IstioEgressListener) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -523,6 +705,9 @@ func (m *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -536,6 +721,9 @@ func encodeVarintSidecar(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Sidecar) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.WorkloadSelector != nil { @@ -554,10 +742,16 @@ func (m *Sidecar) Size() (n int) { n += 1 + l + sovSidecar(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *IstioIngressListener) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -575,10 +769,16 @@ func (m *IstioIngressListener) Size() (n int) { if l > 0 { n += 1 + l + sovSidecar(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *IstioEgressListener) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -598,10 +798,16 @@ func (m *IstioEgressListener) Size() (n int) { n += 1 + l + sovSidecar(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *WorkloadSelector) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Labels) > 0 { @@ -612,6 +818,9 @@ func (m *WorkloadSelector) Size() (n int) { n += mapEntrySize + 1 + sovSidecar(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -643,7 +852,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -671,7 +880,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -680,6 +889,9 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -704,7 +916,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -713,6 +925,9 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -735,7 +950,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -744,6 +959,9 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -761,9 +979,13 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -788,7 +1010,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -816,7 +1038,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -825,6 +1047,9 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -849,7 +1074,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -859,6 +1084,9 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -878,7 +1106,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift + m.CaptureMode |= CaptureMode(b&0x7F) << shift if b < 0x80 { break } @@ -897,7 +1125,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -907,6 +1135,9 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -921,9 +1152,13 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -948,7 +1183,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -976,7 +1211,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -985,6 +1220,9 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1009,7 +1247,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1019,6 +1257,9 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1038,7 +1279,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift + m.CaptureMode |= CaptureMode(b&0x7F) << shift if b < 0x80 { break } @@ -1057,7 +1298,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1067,6 +1308,9 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1081,9 +1325,13 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1108,7 +1356,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1136,7 +1384,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1145,6 +1393,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1165,7 +1416,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1182,7 +1433,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1192,6 +1443,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthSidecar + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1208,7 +1462,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1218,6 +1472,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthSidecar + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1249,9 +1506,13 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1315,10 +1576,13 @@ func skipSidecar(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthSidecar } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthSidecar + } return iNdEx, nil case 3: for { @@ -1347,6 +1611,9 @@ func skipSidecar(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthSidecar + } } return iNdEx, nil case 4: @@ -1365,39 +1632,3 @@ var ( ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSidecar = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptorSidecar) } - -var fileDescriptorSidecar = []byte{ - // 465 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x6f, 0xd3, 0x30, - 0x18, 0xc6, 0x71, 0x13, 0xda, 0xf5, 0xcd, 0x04, 0xc1, 0xec, 0x10, 0x76, 0x28, 0xa1, 0x07, 0x14, - 0x40, 0x4a, 0x44, 0x7b, 0xe0, 0xcf, 0x6d, 0x83, 0x4c, 0x8a, 0x54, 0xb6, 0x29, 0x1d, 0x02, 0x71, - 0xa9, 0xdc, 0xe6, 0xa5, 0xb3, 0x16, 0xe2, 0xc8, 0x76, 0x57, 0xf5, 0xcb, 0xf0, 0x55, 0xb8, 0x72, - 0xe4, 0xc2, 0x1d, 0xf5, 0x43, 0x70, 0x46, 0x4d, 0x3c, 0x6d, 0x4c, 0xa5, 0x88, 0x1b, 0x37, 0xbf, - 0x6f, 0x9e, 0xe7, 0xf7, 0xfa, 0x89, 0x6d, 0x78, 0x50, 0xa0, 0x9e, 0x0b, 0x79, 0xc6, 0x8b, 0x69, - 0x74, 0xfe, 0x94, 0xe5, 0xe5, 0x29, 0xeb, 0x47, 0x8a, 0x67, 0x38, 0x61, 0x32, 0x2c, 0xa5, 0xd0, - 0x82, 0xde, 0xe3, 0x4a, 0x73, 0x11, 0x5e, 0x0a, 0xc3, 0x0b, 0xe1, 0xee, 0x5a, 0xf7, 0x94, 0x69, - 0x9c, 0xb3, 0x45, 0xed, 0xee, 0xfe, 0x24, 0xd0, 0x1a, 0xd6, 0x3c, 0xfa, 0x1e, 0xee, 0xac, 0xd4, - 0xb9, 0x60, 0xd9, 0x48, 0x61, 0x8e, 0x13, 0x2d, 0xa4, 0x47, 0x7c, 0x12, 0x38, 0xbd, 0x27, 0xe1, - 0x1f, 0xa7, 0x84, 0xef, 0x8c, 0x67, 0x68, 0x2c, 0xa9, 0x3b, 0xbf, 0xd6, 0xa1, 0x09, 0xb4, 0x78, - 0x31, 0x95, 0xa8, 0x94, 0xd7, 0xf0, 0xad, 0xc0, 0xe9, 0x45, 0x1b, 0x78, 0xc9, 0xea, 0x4b, 0x52, - 0xcb, 0x07, 0x5c, 0x69, 0x2c, 0x50, 0xa6, 0x17, 0x7e, 0x7a, 0x00, 0x4d, 0xac, 0x49, 0x56, 0x45, - 0x0a, 0xff, 0x46, 0x8a, 0x7f, 0x07, 0x19, 0x77, 0xf7, 0x3b, 0x81, 0x9d, 0x75, 0x93, 0x68, 0x1f, - 0xec, 0x52, 0x48, 0x6d, 0x82, 0xdf, 0xdf, 0x80, 0x3f, 0x16, 0x52, 0xa7, 0x95, 0x98, 0x52, 0xb0, - 0xc7, 0xbc, 0xc8, 0xbc, 0x86, 0x4f, 0x82, 0x76, 0x5a, 0xad, 0x69, 0x02, 0xdb, 0x13, 0x56, 0xea, - 0x99, 0xc4, 0xd1, 0x27, 0x91, 0xa1, 0x67, 0xf9, 0x24, 0xb8, 0xd5, 0x7b, 0xb8, 0x01, 0xf8, 0xaa, - 0x96, 0xbf, 0x11, 0x19, 0xa6, 0xce, 0xe4, 0xb2, 0xa0, 0x8f, 0xc0, 0xcd, 0xf0, 0x23, 0x9b, 0xe5, - 0x7a, 0x84, 0x45, 0x56, 0x0a, 0x5e, 0x68, 0xcf, 0xae, 0x46, 0xdd, 0x36, 0xfd, 0xd8, 0xb4, 0xbb, - 0x5f, 0x08, 0xdc, 0x5d, 0x93, 0xfb, 0xbf, 0x8c, 0xb5, 0x03, 0x37, 0x4f, 0x85, 0xd2, 0xca, 0xb3, - 0x7d, 0x2b, 0x68, 0xa7, 0x75, 0xd1, 0xfd, 0x4c, 0xc0, 0xbd, 0x7e, 0xa7, 0xe8, 0x11, 0x34, 0x73, - 0x36, 0xc6, 0x5c, 0x79, 0xa4, 0x3a, 0xf6, 0x67, 0xff, 0x70, 0x21, 0xc3, 0x41, 0xe5, 0x8c, 0x0b, - 0x2d, 0x17, 0xa9, 0xc1, 0xec, 0xbe, 0x00, 0xe7, 0x4a, 0x9b, 0xba, 0x60, 0x9d, 0xe1, 0xa2, 0xfa, - 0x3b, 0xed, 0x74, 0xb5, 0x5c, 0x6d, 0xee, 0x9c, 0xe5, 0x33, 0x34, 0xe1, 0xeb, 0xe2, 0x65, 0xe3, - 0x39, 0x79, 0xdc, 0x03, 0xe7, 0x4a, 0x24, 0xea, 0x40, 0xeb, 0x75, 0x7c, 0xb0, 0xf7, 0x76, 0x70, - 0xe2, 0xde, 0xa0, 0xdb, 0xb0, 0x95, 0x1c, 0x9f, 0xec, 0xed, 0x0f, 0xe2, 0xa1, 0x4b, 0xe8, 0x16, - 0xd8, 0x87, 0x47, 0x87, 0xb1, 0xdb, 0xd8, 0x0f, 0xbf, 0x2e, 0x3b, 0xe4, 0xdb, 0xb2, 0x43, 0x7e, - 0x2c, 0x3b, 0xe4, 0x83, 0x5f, 0x6f, 0x9e, 0x8b, 0x88, 0x95, 0x3c, 0x5a, 0xf3, 0x4a, 0xc7, 0xcd, - 0xea, 0x79, 0xf6, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x32, 0x9f, 0xa8, 0x1c, 0x01, 0x04, 0x00, - 0x00, -} diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 433763766f7..7ccda22babb 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -1,23 +1,57 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/virtual_service.proto -package v1alpha3 - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import google_protobuf1 "github.com/gogo/protobuf/types" +// Configuration affecting traffic routing. Here are a few terms useful to define +// in the context of traffic routing. +// +// `Service` a unit of application behavior bound to a unique name in a +// service registry. Services consist of multiple network *endpoints* +// implemented by workload instances running on pods, containers, VMs etc. +// +// `Service versions (a.k.a. subsets)` - In a continuous deployment +// scenario, for a given service, there can be distinct subsets of +// instances running different variants of the application binary. These +// variants are not necessarily different API versions. They could be +// iterative changes to the same service, deployed in different +// environments (prod, staging, dev, etc.). Common scenarios where this +// occurs include A/B testing, canary rollouts, etc. The choice of a +// particular version can be decided based on various criterion (headers, +// url, etc.) and/or by weights assigned to each version. Each service has +// a default version consisting of all its instances. +// +// `Source` - A downstream client calling a service. +// +// `Host` - The address used by a client when attempting to connect to a +// service. +// +// `Access model` - Applications address only the destination service +// (Host) without knowledge of individual service versions (subsets). The +// actual choice of the version is determined by the proxy/sidecar, enabling the +// application code to decouple itself from the evolution of dependent +// services. -import binary "encoding/binary" +package v1alpha3 -import io "io" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // A `VirtualService` defines a set of traffic routing rules to apply when a host is // addressed. Each routing rule defines matching criteria for traffic of a specific // protocol. If the traffic is matched, then it is sent to a named destination service @@ -102,7 +136,7 @@ type VirtualService struct { // the mesh, i.e., those found in the service registry, must always be // referred to using their alphanumeric names. IP addresses are allowed // only for services defined via the Gateway. - Hosts []string `protobuf:"bytes,1,rep,name=hosts" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` // The names of gateways and sidecars that should apply these routes. A // single VirtualService is used for sidecars inside the mesh as well as // for one or more gateways. The selection condition imposed by this @@ -113,13 +147,13 @@ type VirtualService struct { // sidecars in the mesh. If a list of gateway names is provided, the // rules will apply only to the gateways. To apply the rules to both // gateways and sidecars, specify `mesh` as one of the gateway names. - Gateways []string `protobuf:"bytes,2,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,2,rep,name=gateways,proto3" json:"gateways,omitempty"` // An ordered list of route rules for HTTP traffic. HTTP routes will be // applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway // ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service // entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching // an incoming request is used. - Http []*HTTPRoute `protobuf:"bytes,3,rep,name=http" json:"http,omitempty"` + Http []*HTTPRoute `protobuf:"bytes,3,rep,name=http,proto3" json:"http,omitempty"` // An ordered list of route rule for non-terminated TLS & HTTPS // traffic. Routing is typically performed using the SNI value presented // by the ClientHello message. TLS routes will be applied to platform @@ -129,11 +163,11 @@ type VirtualService struct { // incoming request is used. NOTE: Traffic 'https-*' or 'tls-*' ports // without associated virtual service will be treated as opaque TCP // traffic. - Tls []*TLSRoute `protobuf:"bytes,5,rep,name=tls" json:"tls,omitempty"` + Tls []*TLSRoute `protobuf:"bytes,5,rep,name=tls,proto3" json:"tls,omitempty"` // An ordered list of route rules for opaque TCP traffic. TCP routes will // be applied to any port that is not a HTTP or TLS port. The first rule // matching an incoming request is used. - Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp" json:"tcp,omitempty"` + Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp,proto3" json:"tcp,omitempty"` // A list of namespaces to which this virtual service is exported. Exporting a // virtual service allows it to used by sidecars and gateways defined in // other namespaces. This feature provides a mechanism for service owners @@ -146,13 +180,44 @@ type VirtualService struct { // The value "." is reserved and defines an export to the same namespace that // the virtual service is declared in, similarly the value "*" is reserved and // defines an export to all namespaces. - ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` + ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *VirtualService) Reset() { *m = VirtualService{} } +func (m *VirtualService) String() string { return proto.CompactTextString(m) } +func (*VirtualService) ProtoMessage() {} +func (*VirtualService) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{0} +} +func (m *VirtualService) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VirtualService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VirtualService.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *VirtualService) XXX_Merge(src proto.Message) { + xxx_messageInfo_VirtualService.Merge(m, src) +} +func (m *VirtualService) XXX_Size() int { + return m.Size() +} +func (m *VirtualService) XXX_DiscardUnknown() { + xxx_messageInfo_VirtualService.DiscardUnknown(m) } -func (m *VirtualService) Reset() { *m = VirtualService{} } -func (m *VirtualService) String() string { return proto.CompactTextString(m) } -func (*VirtualService) ProtoMessage() {} -func (*VirtualService) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{0} } +var xxx_messageInfo_VirtualService proto.InternalMessageInfo func (m *VirtualService) GetHosts() []string { if m != nil { @@ -346,13 +411,44 @@ type Destination struct { // Specifies the port on the host that is being addressed. If a service // exposes only a single port it is not required to explicitly select the // port. - Port *PortSelector `protobuf:"bytes,3,opt,name=port" json:"port,omitempty"` + Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Destination) Reset() { *m = Destination{} } +func (m *Destination) String() string { return proto.CompactTextString(m) } +func (*Destination) ProtoMessage() {} +func (*Destination) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{1} +} +func (m *Destination) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Destination.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Destination) XXX_Merge(src proto.Message) { + xxx_messageInfo_Destination.Merge(m, src) +} +func (m *Destination) XXX_Size() int { + return m.Size() +} +func (m *Destination) XXX_DiscardUnknown() { + xxx_messageInfo_Destination.DiscardUnknown(m) } -func (m *Destination) Reset() { *m = Destination{} } -func (m *Destination) String() string { return proto.CompactTextString(m) } -func (*Destination) ProtoMessage() {} -func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{1} } +var xxx_messageInfo_Destination proto.InternalMessageInfo func (m *Destination) GetHost() string { if m != nil { @@ -382,65 +478,96 @@ type HTTPRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*HTTPMatchRequest `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` + Match []*HTTPMatchRequest `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` // A http rule can either redirect or forward (default) traffic. The // forwarding target can be one of several versions of a service (see // glossary in beginning of document). Weights associated with the // service version determine the proportion of traffic it receives. - Route []*HTTPRouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` + Route []*HTTPRouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` // A http rule can either redirect or forward (default) traffic. If // traffic passthrough option is specified in the rule, // route/redirect will be ignored. The redirect primitive can be used to // send a HTTP 301 redirect to a different URI or Authority. - Redirect *HTTPRedirect `protobuf:"bytes,3,opt,name=redirect" json:"redirect,omitempty"` + Redirect *HTTPRedirect `protobuf:"bytes,3,opt,name=redirect,proto3" json:"redirect,omitempty"` // Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with // Redirect primitive. Rewrite will be performed before forwarding. - Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite" json:"rewrite,omitempty"` + Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite,proto3" json:"rewrite,omitempty"` // Deprecated. Websocket upgrades are done automatically starting from Istio 1.0. // $hide_from_docs WebsocketUpgrade bool `protobuf:"varint,5,opt,name=websocket_upgrade,json=websocketUpgrade,proto3" json:"websocket_upgrade,omitempty"` // Timeout for HTTP requests. - Timeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=timeout" json:"timeout,omitempty"` + Timeout *types.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"` // Retry policy for HTTP requests. - Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries" json:"retries,omitempty"` + Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"` // Fault injection policy to apply on HTTP traffic at the client side. // Note that timeouts or retries will not be enabled when faults are // enabled on the client side. - Fault *HTTPFaultInjection `protobuf:"bytes,8,opt,name=fault" json:"fault,omitempty"` + Fault *HTTPFaultInjection `protobuf:"bytes,8,opt,name=fault,proto3" json:"fault,omitempty"` // Mirror HTTP traffic to a another destination in addition to forwarding // the requests to the intended destination. Mirrored traffic is on a // best effort basis where the sidecar/gateway will not wait for the // mirrored cluster to respond before returning the response from the // original destination. Statistics will be generated for the mirrored // destination. - Mirror *Destination `protobuf:"bytes,9,opt,name=mirror" json:"mirror,omitempty"` + Mirror *Destination `protobuf:"bytes,9,opt,name=mirror,proto3" json:"mirror,omitempty"` // Cross-Origin Resource Sharing policy (CORS). Refer to // [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) // for further details about cross origin resource sharing. - CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy" json:"cors_policy,omitempty"` + CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"` // Use of `append_headers` is deprecated. Use the `headers` // field instead. - AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders,proto3" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Use of `remove_response_header` is deprecated. Use the `headers` // field instead. - RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` + RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use. // Use of `append_response_headers` is deprecated. Use the `headers` // field instead. - AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Use of `remove_request_headers` is deprecated. Use the `headers` // field instead. - RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` + RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use. // Use of `append_request_headers` is deprecated. Use the `headers` // field instead. - AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Header manipulation rules - Headers *Headers `protobuf:"bytes,16,opt,name=headers" json:"headers,omitempty"` + Headers *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRoute) Reset() { *m = HTTPRoute{} } +func (m *HTTPRoute) String() string { return proto.CompactTextString(m) } +func (*HTTPRoute) ProtoMessage() {} +func (*HTTPRoute) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{2} +} +func (m *HTTPRoute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRoute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRoute) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRoute.Merge(m, src) +} +func (m *HTTPRoute) XXX_Size() int { + return m.Size() +} +func (m *HTTPRoute) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRoute.DiscardUnknown(m) } -func (m *HTTPRoute) Reset() { *m = HTTPRoute{} } -func (m *HTTPRoute) String() string { return proto.CompactTextString(m) } -func (*HTTPRoute) ProtoMessage() {} -func (*HTTPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{2} } +var xxx_messageInfo_HTTPRoute proto.InternalMessageInfo func (m *HTTPRoute) GetMatch() []*HTTPMatchRequest { if m != nil { @@ -477,7 +604,7 @@ func (m *HTTPRoute) GetWebsocketUpgrade() bool { return false } -func (m *HTTPRoute) GetTimeout() *google_protobuf.Duration { +func (m *HTTPRoute) GetTimeout() *types.Duration { if m != nil { return m.Timeout } @@ -512,6 +639,7 @@ func (m *HTTPRoute) GetCorsPolicy() *CorsPolicy { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetAppendHeaders() map[string]string { if m != nil { return m.AppendHeaders @@ -519,6 +647,7 @@ func (m *HTTPRoute) GetAppendHeaders() map[string]string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetRemoveResponseHeaders() []string { if m != nil { return m.RemoveResponseHeaders @@ -526,6 +655,7 @@ func (m *HTTPRoute) GetRemoveResponseHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetAppendResponseHeaders() map[string]string { if m != nil { return m.AppendResponseHeaders @@ -533,6 +663,7 @@ func (m *HTTPRoute) GetAppendResponseHeaders() map[string]string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetRemoveRequestHeaders() []string { if m != nil { return m.RemoveRequestHeaders @@ -540,6 +671,7 @@ func (m *HTTPRoute) GetRemoveRequestHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetAppendRequestHeaders() map[string]string { if m != nil { return m.AppendRequestHeaders @@ -558,16 +690,47 @@ func (m *HTTPRoute) GetHeaders() *Headers { type Headers struct { // Header manipulation rules to apply before forwarding a request // to the destination service - Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request" json:"request,omitempty"` + Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` // Header manipulation rules to apply before returning a response // to the caller - Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"` + Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Headers) Reset() { *m = Headers{} } +func (m *Headers) String() string { return proto.CompactTextString(m) } +func (*Headers) ProtoMessage() {} +func (*Headers) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{3} +} +func (m *Headers) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Headers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Headers.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Headers) XXX_Merge(src proto.Message) { + xxx_messageInfo_Headers.Merge(m, src) +} +func (m *Headers) XXX_Size() int { + return m.Size() +} +func (m *Headers) XXX_DiscardUnknown() { + xxx_messageInfo_Headers.DiscardUnknown(m) } -func (m *Headers) Reset() { *m = Headers{} } -func (m *Headers) String() string { return proto.CompactTextString(m) } -func (*Headers) ProtoMessage() {} -func (*Headers) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{3} } +var xxx_messageInfo_Headers proto.InternalMessageInfo func (m *Headers) GetRequest() *Headers_HeaderOperations { if m != nil { @@ -586,20 +749,49 @@ func (m *Headers) GetResponse() *Headers_HeaderOperations { // HeaderOperations Describes the header manipulations to apply type Headers_HeaderOperations struct { // Overwrite the headers specified by key with the given values - Set map[string]string `protobuf:"bytes,1,rep,name=set" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Append the given values to the headers specified by keys // (will create a comma-separated list of values) - Add map[string]string `protobuf:"bytes,2,rep,name=add" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Remove a the specified headers - Remove []string `protobuf:"bytes,3,rep,name=remove" json:"remove,omitempty"` + Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Headers_HeaderOperations) Reset() { *m = Headers_HeaderOperations{} } func (m *Headers_HeaderOperations) String() string { return proto.CompactTextString(m) } func (*Headers_HeaderOperations) ProtoMessage() {} func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{3, 0} + return fileDescriptor_e85a9a4fa9c17a22, []int{3, 0} } +func (m *Headers_HeaderOperations) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Headers_HeaderOperations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Headers_HeaderOperations.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Headers_HeaderOperations) XXX_Merge(src proto.Message) { + xxx_messageInfo_Headers_HeaderOperations.Merge(m, src) +} +func (m *Headers_HeaderOperations) XXX_Size() int { + return m.Size() +} +func (m *Headers_HeaderOperations) XXX_DiscardUnknown() { + xxx_messageInfo_Headers_HeaderOperations.DiscardUnknown(m) +} + +var xxx_messageInfo_Headers_HeaderOperations proto.InternalMessageInfo func (m *Headers_HeaderOperations) GetSet() map[string]string { if m != nil { @@ -658,15 +850,46 @@ type TLSRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` + Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` // The destination to which the connection should be forwarded to. - Route []*RouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` + Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TLSRoute) Reset() { *m = TLSRoute{} } +func (m *TLSRoute) String() string { return proto.CompactTextString(m) } +func (*TLSRoute) ProtoMessage() {} +func (*TLSRoute) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{4} +} +func (m *TLSRoute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TLSRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TLSRoute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TLSRoute) XXX_Merge(src proto.Message) { + xxx_messageInfo_TLSRoute.Merge(m, src) +} +func (m *TLSRoute) XXX_Size() int { + return m.Size() +} +func (m *TLSRoute) XXX_DiscardUnknown() { + xxx_messageInfo_TLSRoute.DiscardUnknown(m) } -func (m *TLSRoute) Reset() { *m = TLSRoute{} } -func (m *TLSRoute) String() string { return proto.CompactTextString(m) } -func (*TLSRoute) ProtoMessage() {} -func (*TLSRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{4} } +var xxx_messageInfo_TLSRoute proto.InternalMessageInfo func (m *TLSRoute) GetMatch() []*TLSMatchAttributes { if m != nil { @@ -708,15 +931,46 @@ type TCPRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` + Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` // The destination to which the connection should be forwarded to. - Route []*RouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` + Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TCPRoute) Reset() { *m = TCPRoute{} } +func (m *TCPRoute) String() string { return proto.CompactTextString(m) } +func (*TCPRoute) ProtoMessage() {} +func (*TCPRoute) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{5} +} +func (m *TCPRoute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TCPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TCPRoute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TCPRoute) XXX_Merge(src proto.Message) { + xxx_messageInfo_TCPRoute.Merge(m, src) +} +func (m *TCPRoute) XXX_Size() int { + return m.Size() +} +func (m *TCPRoute) XXX_DiscardUnknown() { + xxx_messageInfo_TCPRoute.DiscardUnknown(m) } -func (m *TCPRoute) Reset() { *m = TCPRoute{} } -func (m *TCPRoute) String() string { return proto.CompactTextString(m) } -func (*TCPRoute) ProtoMessage() {} -func (*TCPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{5} } +var xxx_messageInfo_TCPRoute proto.InternalMessageInfo func (m *TCPRoute) GetMatch() []*L4MatchAttributes { if m != nil { @@ -769,7 +1023,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Uri *StringMatch `protobuf:"bytes,1,opt,name=uri" json:"uri,omitempty"` + Uri *StringMatch `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // URI Scheme // values are case-sensitive and formatted as follows: // @@ -779,7 +1033,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Scheme *StringMatch `protobuf:"bytes,2,opt,name=scheme" json:"scheme,omitempty"` + Scheme *StringMatch `protobuf:"bytes,2,opt,name=scheme,proto3" json:"scheme,omitempty"` // HTTP Method // values are case-sensitive and formatted as follows: // @@ -789,7 +1043,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Method *StringMatch `protobuf:"bytes,3,opt,name=method" json:"method,omitempty"` + Method *StringMatch `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` // HTTP Authority // values are case-sensitive and formatted as follows: // @@ -799,7 +1053,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Authority *StringMatch `protobuf:"bytes,4,opt,name=authority" json:"authority,omitempty"` + Authority *StringMatch `protobuf:"bytes,4,opt,name=authority,proto3" json:"authority,omitempty"` // The header keys must be lowercase and use hyphen as the separator, // e.g. _x-request-id_. // @@ -812,7 +1066,7 @@ type HTTPMatchRequest struct { // - `regex: "value"` for ECMAscript style regex-based match // // **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored. - Headers map[string]*StringMatch `protobuf:"bytes,5,rep,name=headers" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Headers map[string]*StringMatch `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies the ports on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they support, // in these cases it is not required to explicitly select the port. @@ -821,17 +1075,48 @@ type HTTPMatchRequest struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,7,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,7,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway match is // independent of sourceLabels. - Gateways []string `protobuf:"bytes,8,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,8,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} } +func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) } +func (*HTTPMatchRequest) ProtoMessage() {} +func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{6} +} +func (m *HTTPMatchRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPMatchRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPMatchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPMatchRequest.Merge(m, src) +} +func (m *HTTPMatchRequest) XXX_Size() int { + return m.Size() +} +func (m *HTTPMatchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPMatchRequest.DiscardUnknown(m) } -func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} } -func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) } -func (*HTTPMatchRequest) ProtoMessage() {} -func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{6} } +var xxx_messageInfo_HTTPMatchRequest proto.InternalMessageInfo func (m *HTTPMatchRequest) GetUri() *StringMatch { if m != nil { @@ -958,7 +1243,7 @@ func (m *HTTPMatchRequest) GetGateways() []string { type HTTPRouteDestination struct { // REQUIRED. Destination uniquely identifies the instances of a service // to which the request/connection should be forwarded to. - Destination *Destination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"` + Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` // REQUIRED. The proportion of traffic to be forwarded to the service // version. (0-100). Sum of weights across destinations SHOULD BE == 100. // If there is only one destination in a rule, the weight value is assumed to @@ -966,26 +1251,55 @@ type HTTPRouteDestination struct { Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // Use of `remove_response_header` is deprecated. Use the `headers` // field instead. - RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` + RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use. // Use of `append_response_headers` is deprecated. Use the `headers` // field instead. - AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Use of `remove_request_headers` is deprecated. Use the `headers` // field instead. - RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` + RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use. // Use of `append_request_headers` is deprecated. Use the `headers` // field instead. - AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Header manipulation rules - Headers *Headers `protobuf:"bytes,7,opt,name=headers" json:"headers,omitempty"` + Headers *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPRouteDestination) Reset() { *m = HTTPRouteDestination{} } func (m *HTTPRouteDestination) String() string { return proto.CompactTextString(m) } func (*HTTPRouteDestination) ProtoMessage() {} func (*HTTPRouteDestination) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{7} + return fileDescriptor_e85a9a4fa9c17a22, []int{7} +} +func (m *HTTPRouteDestination) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRouteDestination.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRouteDestination) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRouteDestination.Merge(m, src) } +func (m *HTTPRouteDestination) XXX_Size() int { + return m.Size() +} +func (m *HTTPRouteDestination) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRouteDestination.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPRouteDestination proto.InternalMessageInfo func (m *HTTPRouteDestination) GetDestination() *Destination { if m != nil { @@ -1001,6 +1315,7 @@ func (m *HTTPRouteDestination) GetWeight() int32 { return 0 } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetRemoveResponseHeaders() []string { if m != nil { return m.RemoveResponseHeaders @@ -1008,6 +1323,7 @@ func (m *HTTPRouteDestination) GetRemoveResponseHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetAppendResponseHeaders() map[string]string { if m != nil { return m.AppendResponseHeaders @@ -1015,6 +1331,7 @@ func (m *HTTPRouteDestination) GetAppendResponseHeaders() map[string]string { return nil } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetRemoveRequestHeaders() []string { if m != nil { return m.RemoveRequestHeaders @@ -1022,6 +1339,7 @@ func (m *HTTPRouteDestination) GetRemoveRequestHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetAppendRequestHeaders() map[string]string { if m != nil { return m.AppendRequestHeaders @@ -1040,17 +1358,48 @@ func (m *HTTPRouteDestination) GetHeaders() *Headers { type RouteDestination struct { // REQUIRED. Destination uniquely identifies the instances of a service // to which the request/connection should be forwarded to. - Destination *Destination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"` + Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` // REQUIRED. The proportion of traffic to be forwarded to the service // version. If there is only one destination in a rule, all traffic will be // routed to it irrespective of the weight. - Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RouteDestination) Reset() { *m = RouteDestination{} } +func (m *RouteDestination) String() string { return proto.CompactTextString(m) } +func (*RouteDestination) ProtoMessage() {} +func (*RouteDestination) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{8} +} +func (m *RouteDestination) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RouteDestination.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RouteDestination) XXX_Merge(src proto.Message) { + xxx_messageInfo_RouteDestination.Merge(m, src) +} +func (m *RouteDestination) XXX_Size() int { + return m.Size() +} +func (m *RouteDestination) XXX_DiscardUnknown() { + xxx_messageInfo_RouteDestination.DiscardUnknown(m) } -func (m *RouteDestination) Reset() { *m = RouteDestination{} } -func (m *RouteDestination) String() string { return proto.CompactTextString(m) } -func (*RouteDestination) ProtoMessage() {} -func (*RouteDestination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{8} } +var xxx_messageInfo_RouteDestination proto.InternalMessageInfo func (m *RouteDestination) GetDestination() *Destination { if m != nil { @@ -1071,7 +1420,7 @@ func (m *RouteDestination) GetWeight() int32 { type L4MatchAttributes struct { // IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., // a.b.c.d/xx form or just a.b.c.d. - DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets" json:"destination_subnets,omitempty"` + DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"` // Specifies the port on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they support, // in these cases it is not required to explicitly select the port. @@ -1084,17 +1433,48 @@ type L4MatchAttributes struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,4,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,4,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway // match is independent of sourceLabels. - Gateways []string `protobuf:"bytes,5,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,5,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} } +func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) } +func (*L4MatchAttributes) ProtoMessage() {} +func (*L4MatchAttributes) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{9} +} +func (m *L4MatchAttributes) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *L4MatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_L4MatchAttributes.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *L4MatchAttributes) XXX_Merge(src proto.Message) { + xxx_messageInfo_L4MatchAttributes.Merge(m, src) +} +func (m *L4MatchAttributes) XXX_Size() int { + return m.Size() +} +func (m *L4MatchAttributes) XXX_DiscardUnknown() { + xxx_messageInfo_L4MatchAttributes.DiscardUnknown(m) } -func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} } -func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) } -func (*L4MatchAttributes) ProtoMessage() {} -func (*L4MatchAttributes) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{9} } +var xxx_messageInfo_L4MatchAttributes proto.InternalMessageInfo func (m *L4MatchAttributes) GetDestinationSubnets() []string { if m != nil { @@ -1137,10 +1517,10 @@ type TLSMatchAttributes struct { // can be used in the SNI value, e.g., *.com will match foo.example.com // as well as example.com. An SNI value must be a subset (i.e., fall // within the domain) of the corresponding virtual serivce's hosts. - SniHosts []string `protobuf:"bytes,1,rep,name=sni_hosts,json=sniHosts" json:"sni_hosts,omitempty"` + SniHosts []string `protobuf:"bytes,1,rep,name=sni_hosts,json=sniHosts,proto3" json:"sni_hosts,omitempty"` // IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., // a.b.c.d/xx form or just a.b.c.d. - DestinationSubnets []string `protobuf:"bytes,2,rep,name=destination_subnets,json=destinationSubnets" json:"destination_subnets,omitempty"` + DestinationSubnets []string `protobuf:"bytes,2,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"` // Specifies the port on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they // support, in these cases it is not required to explicitly select the @@ -1154,20 +1534,49 @@ type TLSMatchAttributes struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,5,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,5,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway // match is independent of sourceLabels. - Gateways []string `protobuf:"bytes,6,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,6,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TLSMatchAttributes) Reset() { *m = TLSMatchAttributes{} } func (m *TLSMatchAttributes) String() string { return proto.CompactTextString(m) } func (*TLSMatchAttributes) ProtoMessage() {} func (*TLSMatchAttributes) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{10} + return fileDescriptor_e85a9a4fa9c17a22, []int{10} +} +func (m *TLSMatchAttributes) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TLSMatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TLSMatchAttributes.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TLSMatchAttributes) XXX_Merge(src proto.Message) { + xxx_messageInfo_TLSMatchAttributes.Merge(m, src) +} +func (m *TLSMatchAttributes) XXX_Size() int { + return m.Size() +} +func (m *TLSMatchAttributes) XXX_DiscardUnknown() { + xxx_messageInfo_TLSMatchAttributes.DiscardUnknown(m) } +var xxx_messageInfo_TLSMatchAttributes proto.InternalMessageInfo + func (m *TLSMatchAttributes) GetSniHosts() []string { if m != nil { return m.SniHosts @@ -1240,13 +1649,44 @@ type HTTPRedirect struct { Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // On a redirect, overwrite the Authority/Host portion of the URL with // this value. - Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} } +func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) } +func (*HTTPRedirect) ProtoMessage() {} +func (*HTTPRedirect) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{11} +} +func (m *HTTPRedirect) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRedirect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRedirect.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRedirect) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRedirect.Merge(m, src) +} +func (m *HTTPRedirect) XXX_Size() int { + return m.Size() +} +func (m *HTTPRedirect) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRedirect.DiscardUnknown(m) } -func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} } -func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) } -func (*HTTPRedirect) ProtoMessage() {} -func (*HTTPRedirect) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{11} } +var xxx_messageInfo_HTTPRedirect proto.InternalMessageInfo func (m *HTTPRedirect) GetUri() string { if m != nil { @@ -1294,13 +1734,44 @@ type HTTPRewrite struct { // provided in this field will replace the corresponding matched prefix. Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // rewrite the Authority/Host header with this value. - Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} } +func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) } +func (*HTTPRewrite) ProtoMessage() {} +func (*HTTPRewrite) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{12} +} +func (m *HTTPRewrite) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRewrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRewrite.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRewrite) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRewrite.Merge(m, src) +} +func (m *HTTPRewrite) XXX_Size() int { + return m.Size() +} +func (m *HTTPRewrite) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRewrite.DiscardUnknown(m) } -func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} } -func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) } -func (*HTTPRewrite) ProtoMessage() {} -func (*HTTPRewrite) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{12} } +var xxx_messageInfo_HTTPRewrite proto.InternalMessageInfo func (m *HTTPRewrite) GetUri() string { if m != nil { @@ -1323,13 +1794,44 @@ type StringMatch struct { // *StringMatch_Exact // *StringMatch_Prefix // *StringMatch_Regex - MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` + MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StringMatch) Reset() { *m = StringMatch{} } +func (m *StringMatch) String() string { return proto.CompactTextString(m) } +func (*StringMatch) ProtoMessage() {} +func (*StringMatch) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{13} +} +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 + } +} +func (m *StringMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringMatch.Merge(m, src) +} +func (m *StringMatch) XXX_Size() int { + return m.Size() +} +func (m *StringMatch) XXX_DiscardUnknown() { + xxx_messageInfo_StringMatch.DiscardUnknown(m) } -func (m *StringMatch) Reset() { *m = StringMatch{} } -func (m *StringMatch) String() string { return proto.CompactTextString(m) } -func (*StringMatch) ProtoMessage() {} -func (*StringMatch) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{13} } +var xxx_messageInfo_StringMatch proto.InternalMessageInfo type isStringMatch_MatchType interface { isStringMatch_MatchType() @@ -1442,15 +1944,15 @@ func _StringMatch_OneofSizer(msg proto.Message) (n int) { // match_type switch x := m.MatchType.(type) { case *StringMatch_Exact: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Exact))) n += len(x.Exact) case *StringMatch_Prefix: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Prefix))) n += len(x.Prefix) case *StringMatch_Regex: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Regex))) n += len(x.Regex) case nil: @@ -1489,19 +1991,50 @@ type HTTPRetry struct { // number of retries attempted depends on the httpReqTimeout. Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"` // Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms. - PerTryTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout" json:"per_try_timeout,omitempty"` + 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 - RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` + RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } +func (m *HTTPRetry) String() string { return proto.CompactTextString(m) } +func (*HTTPRetry) ProtoMessage() {} +func (*HTTPRetry) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{14} +} +func (m *HTTPRetry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRetry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRetry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRetry) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRetry.Merge(m, src) +} +func (m *HTTPRetry) XXX_Size() int { + return m.Size() +} +func (m *HTTPRetry) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRetry.DiscardUnknown(m) } -func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } -func (m *HTTPRetry) String() string { return proto.CompactTextString(m) } -func (*HTTPRetry) ProtoMessage() {} -func (*HTTPRetry) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{14} } +var xxx_messageInfo_HTTPRetry proto.InternalMessageInfo func (m *HTTPRetry) GetAttempts() int32 { if m != nil { @@ -1510,7 +2043,7 @@ func (m *HTTPRetry) GetAttempts() int32 { return 0 } -func (m *HTTPRetry) GetPerTryTimeout() *google_protobuf.Duration { +func (m *HTTPRetry) GetPerTryTimeout() *types.Duration { if m != nil { return m.PerTryTimeout } @@ -1562,29 +2095,60 @@ type CorsPolicy struct { // The list of origins that are allowed to perform CORS requests. The // content will be serialized into the Access-Control-Allow-Origin // header. Wildcard * will allow all origins. - AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin" json:"allow_origin,omitempty"` + AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"` // List of HTTP methods allowed to access the resource. The content will // be serialized into the Access-Control-Allow-Methods header. - AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods" json:"allow_methods,omitempty"` + AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"` // List of HTTP headers that can be used when requesting the // resource. Serialized to Access-Control-Allow-Headers header. - AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders" json:"allow_headers,omitempty"` + AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"` // A white list of HTTP headers that the browsers are allowed to // access. Serialized into Access-Control-Expose-Headers header. - ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders" json:"expose_headers,omitempty"` + ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"` // Specifies how long the results of a preflight request can be // cached. Translates to the `Access-Control-Max-Age` header. - MaxAge *google_protobuf.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge" json:"max_age,omitempty"` + MaxAge *types.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` // Indicates whether the caller is allowed to send the actual request // (not the preflight) using credentials. Translates to // `Access-Control-Allow-Credentials` header. - AllowCredentials *google_protobuf1.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials" json:"allow_credentials,omitempty"` + AllowCredentials *types.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CorsPolicy) Reset() { *m = CorsPolicy{} } +func (m *CorsPolicy) String() string { return proto.CompactTextString(m) } +func (*CorsPolicy) ProtoMessage() {} +func (*CorsPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{15} +} +func (m *CorsPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CorsPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CorsPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_CorsPolicy.Merge(m, src) +} +func (m *CorsPolicy) XXX_Size() int { + return m.Size() +} +func (m *CorsPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_CorsPolicy.DiscardUnknown(m) } -func (m *CorsPolicy) Reset() { *m = CorsPolicy{} } -func (m *CorsPolicy) String() string { return proto.CompactTextString(m) } -func (*CorsPolicy) ProtoMessage() {} -func (*CorsPolicy) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{15} } +var xxx_messageInfo_CorsPolicy proto.InternalMessageInfo func (m *CorsPolicy) GetAllowOrigin() []string { if m != nil { @@ -1614,14 +2178,14 @@ func (m *CorsPolicy) GetExposeHeaders() []string { return nil } -func (m *CorsPolicy) GetMaxAge() *google_protobuf.Duration { +func (m *CorsPolicy) GetMaxAge() *types.Duration { if m != nil { return m.MaxAge } return nil } -func (m *CorsPolicy) GetAllowCredentials() *google_protobuf1.BoolValue { +func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue { if m != nil { return m.AllowCredentials } @@ -1639,19 +2203,48 @@ func (m *CorsPolicy) GetAllowCredentials() *google_protobuf1.BoolValue { type HTTPFaultInjection struct { // Delay requests before forwarding, emulating various failures such as // network issues, overloaded upstream service, etc. - Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay" json:"delay,omitempty"` + Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"` // Abort Http request attempts and return error codes back to downstream // service, giving the impression that the upstream service is faulty. - Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort" json:"abort,omitempty"` + Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPFaultInjection) Reset() { *m = HTTPFaultInjection{} } func (m *HTTPFaultInjection) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection) ProtoMessage() {} func (*HTTPFaultInjection) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{16} + return fileDescriptor_e85a9a4fa9c17a22, []int{16} +} +func (m *HTTPFaultInjection) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPFaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPFaultInjection.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPFaultInjection) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPFaultInjection.Merge(m, src) +} +func (m *HTTPFaultInjection) XXX_Size() int { + return m.Size() +} +func (m *HTTPFaultInjection) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPFaultInjection.DiscardUnknown(m) } +var xxx_messageInfo_HTTPFaultInjection proto.InternalMessageInfo + func (m *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay { if m != nil { return m.Delay @@ -1701,22 +2294,51 @@ type HTTPFaultInjection_Delay struct { // Percentage of requests on which the delay will be injected (0-100). // Use of integer `percent` value is deprecated. Use the double `percentage` // field instead. - Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` + Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use. // Types that are valid to be assigned to HttpDelayType: // *HTTPFaultInjection_Delay_FixedDelay // *HTTPFaultInjection_Delay_ExponentialDelay HttpDelayType isHTTPFaultInjection_Delay_HttpDelayType `protobuf_oneof:"http_delay_type"` // Percentage of requests on which the delay will be injected. - Percentage *Percent `protobuf:"bytes,5,opt,name=percentage" json:"percentage,omitempty"` + Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPFaultInjection_Delay) Reset() { *m = HTTPFaultInjection_Delay{} } func (m *HTTPFaultInjection_Delay) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Delay) ProtoMessage() {} func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{16, 0} + return fileDescriptor_e85a9a4fa9c17a22, []int{16, 0} +} +func (m *HTTPFaultInjection_Delay) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPFaultInjection_Delay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPFaultInjection_Delay.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPFaultInjection_Delay) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPFaultInjection_Delay.Merge(m, src) +} +func (m *HTTPFaultInjection_Delay) XXX_Size() int { + return m.Size() +} +func (m *HTTPFaultInjection_Delay) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPFaultInjection_Delay.DiscardUnknown(m) } +var xxx_messageInfo_HTTPFaultInjection_Delay proto.InternalMessageInfo + type isHTTPFaultInjection_Delay_HttpDelayType interface { isHTTPFaultInjection_Delay_HttpDelayType() MarshalTo([]byte) (int, error) @@ -1724,10 +2346,10 @@ type isHTTPFaultInjection_Delay_HttpDelayType interface { } type HTTPFaultInjection_Delay_FixedDelay struct { - FixedDelay *google_protobuf.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,oneof"` + FixedDelay *types.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"` } type HTTPFaultInjection_Delay_ExponentialDelay struct { - ExponentialDelay *google_protobuf.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,oneof"` + ExponentialDelay *types.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof"` } func (*HTTPFaultInjection_Delay_FixedDelay) isHTTPFaultInjection_Delay_HttpDelayType() {} @@ -1740,6 +2362,7 @@ func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay return nil } +// Deprecated: Do not use. func (m *HTTPFaultInjection_Delay) GetPercent() int32 { if m != nil { return m.Percent @@ -1747,14 +2370,14 @@ func (m *HTTPFaultInjection_Delay) GetPercent() int32 { return 0 } -func (m *HTTPFaultInjection_Delay) GetFixedDelay() *google_protobuf.Duration { +func (m *HTTPFaultInjection_Delay) GetFixedDelay() *types.Duration { if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_FixedDelay); ok { return x.FixedDelay } return nil } -func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *google_protobuf.Duration { +func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *types.Duration { if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_ExponentialDelay); ok { return x.ExponentialDelay } @@ -1804,7 +2427,7 @@ func _HTTPFaultInjection_Delay_OneofUnmarshaler(msg proto.Message, tag, wire int if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(google_protobuf.Duration) + msg := new(types.Duration) err := b.DecodeMessage(msg) m.HttpDelayType = &HTTPFaultInjection_Delay_FixedDelay{msg} return true, err @@ -1812,7 +2435,7 @@ func _HTTPFaultInjection_Delay_OneofUnmarshaler(msg proto.Message, tag, wire int if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(google_protobuf.Duration) + msg := new(types.Duration) err := b.DecodeMessage(msg) m.HttpDelayType = &HTTPFaultInjection_Delay_ExponentialDelay{msg} return true, err @@ -1827,12 +2450,12 @@ func _HTTPFaultInjection_Delay_OneofSizer(msg proto.Message) (n int) { switch x := m.HttpDelayType.(type) { case *HTTPFaultInjection_Delay_FixedDelay: s := proto.Size(x.FixedDelay) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *HTTPFaultInjection_Delay_ExponentialDelay: s := proto.Size(x.ExponentialDelay) - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -1874,22 +2497,51 @@ type HTTPFaultInjection_Abort struct { // Percentage of requests to be aborted with the error code provided (0-100). // Use of integer `percent` value is deprecated. Use the double `percentage` // field instead. - Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` + Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use. // Types that are valid to be assigned to ErrorType: // *HTTPFaultInjection_Abort_HttpStatus // *HTTPFaultInjection_Abort_GrpcStatus // *HTTPFaultInjection_Abort_Http2Error ErrorType isHTTPFaultInjection_Abort_ErrorType `protobuf_oneof:"error_type"` // Percentage of requests to be aborted with the error code provided. - Percentage *Percent `protobuf:"bytes,5,opt,name=percentage" json:"percentage,omitempty"` + Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPFaultInjection_Abort) Reset() { *m = HTTPFaultInjection_Abort{} } func (m *HTTPFaultInjection_Abort) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Abort) ProtoMessage() {} func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{16, 1} + return fileDescriptor_e85a9a4fa9c17a22, []int{16, 1} +} +func (m *HTTPFaultInjection_Abort) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *HTTPFaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPFaultInjection_Abort.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPFaultInjection_Abort) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPFaultInjection_Abort.Merge(m, src) +} +func (m *HTTPFaultInjection_Abort) XXX_Size() int { + return m.Size() +} +func (m *HTTPFaultInjection_Abort) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPFaultInjection_Abort.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPFaultInjection_Abort proto.InternalMessageInfo type isHTTPFaultInjection_Abort_ErrorType interface { isHTTPFaultInjection_Abort_ErrorType() @@ -1918,6 +2570,7 @@ func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_Err return nil } +// Deprecated: Do not use. func (m *HTTPFaultInjection_Abort) GetPercent() int32 { if m != nil { return m.Percent @@ -2016,14 +2669,14 @@ func _HTTPFaultInjection_Abort_OneofSizer(msg proto.Message) (n int) { // error_type switch x := m.ErrorType.(type) { case *HTTPFaultInjection_Abort_HttpStatus: - n += proto.SizeVarint(2<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.HttpStatus)) case *HTTPFaultInjection_Abort_GrpcStatus: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.GrpcStatus))) n += len(x.GrpcStatus) case *HTTPFaultInjection_Abort_Http2Error: - n += proto.SizeVarint(4<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Http2Error))) n += len(x.Http2Error) case nil: @@ -2039,13 +2692,44 @@ type PortSelector struct { // Types that are valid to be assigned to Port: // *PortSelector_Number // *PortSelector_Name - Port isPortSelector_Port `protobuf_oneof:"port"` + Port isPortSelector_Port `protobuf_oneof:"port"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PortSelector) Reset() { *m = PortSelector{} } +func (m *PortSelector) String() string { return proto.CompactTextString(m) } +func (*PortSelector) ProtoMessage() {} +func (*PortSelector) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{17} +} +func (m *PortSelector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PortSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PortSelector.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PortSelector) XXX_Merge(src proto.Message) { + xxx_messageInfo_PortSelector.Merge(m, src) +} +func (m *PortSelector) XXX_Size() int { + return m.Size() +} +func (m *PortSelector) XXX_DiscardUnknown() { + xxx_messageInfo_PortSelector.DiscardUnknown(m) } -func (m *PortSelector) Reset() { *m = PortSelector{} } -func (m *PortSelector) String() string { return proto.CompactTextString(m) } -func (*PortSelector) ProtoMessage() {} -func (*PortSelector) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{17} } +var xxx_messageInfo_PortSelector proto.InternalMessageInfo type isPortSelector_Port interface { isPortSelector_Port() @@ -2136,10 +2820,10 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { // port switch x := m.Port.(type) { case *PortSelector_Number: - n += proto.SizeVarint(1<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Number)) case *PortSelector_Name: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Name))) n += len(x.Name) case nil: @@ -2151,13 +2835,44 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { // Percent specifies a percentage in the range of [0.0, 100.0]. type Percent struct { - Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Percent) Reset() { *m = Percent{} } +func (m *Percent) String() string { return proto.CompactTextString(m) } +func (*Percent) ProtoMessage() {} +func (*Percent) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{18} +} +func (m *Percent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Percent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Percent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Percent) XXX_Merge(src proto.Message) { + xxx_messageInfo_Percent.Merge(m, src) +} +func (m *Percent) XXX_Size() int { + return m.Size() +} +func (m *Percent) XXX_DiscardUnknown() { + xxx_messageInfo_Percent.DiscardUnknown(m) } -func (m *Percent) Reset() { *m = Percent{} } -func (m *Percent) String() string { return proto.CompactTextString(m) } -func (*Percent) ProtoMessage() {} -func (*Percent) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{18} } +var xxx_messageInfo_Percent proto.InternalMessageInfo func (m *Percent) GetValue() float64 { if m != nil { @@ -2170,15 +2885,26 @@ func init() { proto.RegisterType((*VirtualService)(nil), "istio.networking.v1alpha3.VirtualService") proto.RegisterType((*Destination)(nil), "istio.networking.v1alpha3.Destination") proto.RegisterType((*HTTPRoute)(nil), "istio.networking.v1alpha3.HTTPRoute") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntry") proto.RegisterType((*Headers)(nil), "istio.networking.v1alpha3.Headers") proto.RegisterType((*Headers_HeaderOperations)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry") proto.RegisterType((*TLSRoute)(nil), "istio.networking.v1alpha3.TLSRoute") proto.RegisterType((*TCPRoute)(nil), "istio.networking.v1alpha3.TCPRoute") proto.RegisterType((*HTTPMatchRequest)(nil), "istio.networking.v1alpha3.HTTPMatchRequest") + proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry") proto.RegisterType((*HTTPRouteDestination)(nil), "istio.networking.v1alpha3.HTTPRouteDestination") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntry") proto.RegisterType((*RouteDestination)(nil), "istio.networking.v1alpha3.RouteDestination") proto.RegisterType((*L4MatchAttributes)(nil), "istio.networking.v1alpha3.L4MatchAttributes") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry") proto.RegisterType((*TLSMatchAttributes)(nil), "istio.networking.v1alpha3.TLSMatchAttributes") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry") proto.RegisterType((*HTTPRedirect)(nil), "istio.networking.v1alpha3.HTTPRedirect") proto.RegisterType((*HTTPRewrite)(nil), "istio.networking.v1alpha3.HTTPRewrite") proto.RegisterType((*StringMatch)(nil), "istio.networking.v1alpha3.StringMatch") @@ -2190,6 +2916,127 @@ func init() { proto.RegisterType((*PortSelector)(nil), "istio.networking.v1alpha3.PortSelector") proto.RegisterType((*Percent)(nil), "istio.networking.v1alpha3.Percent") } + +func init() { + proto.RegisterFile("networking/v1alpha3/virtual_service.proto", fileDescriptor_e85a9a4fa9c17a22) +} + +var fileDescriptor_e85a9a4fa9c17a22 = []byte{ + // 1785 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x73, 0xdb, 0x4a, + 0x15, 0xaf, 0x6c, 0xcb, 0x7f, 0x8e, 0x9d, 0xd4, 0x59, 0x72, 0x73, 0x15, 0xdf, 0x3b, 0x21, 0xd7, + 0x97, 0x0b, 0x61, 0x4a, 0xed, 0x21, 0x81, 0x92, 0x29, 0x69, 0x5a, 0x3b, 0x69, 0xeb, 0x32, 0x2d, + 0xc9, 0xc8, 0xa1, 0x0f, 0xbc, 0x68, 0x64, 0x69, 0x63, 0x8b, 0xda, 0x5a, 0xb1, 0x5a, 0x25, 0xf6, + 0xf0, 0xc8, 0xbf, 0x67, 0x18, 0x5e, 0x19, 0xbe, 0x07, 0x2f, 0xbc, 0xf2, 0xc4, 0xf0, 0x09, 0x98, + 0x4e, 0x1f, 0x78, 0xe5, 0x2b, 0x30, 0xbb, 0x2b, 0xc9, 0x4a, 0x9c, 0x58, 0x76, 0x28, 0x0c, 0x4f, + 0xf1, 0xee, 0x9e, 0xdf, 0x6f, 0xcf, 0x9e, 0xdd, 0x3d, 0xe7, 0xa7, 0x0d, 0x7c, 0xdb, 0xc5, 0xec, + 0x92, 0xd0, 0x77, 0x8e, 0xdb, 0x6f, 0x5e, 0x7c, 0xd7, 0x1c, 0x7a, 0x03, 0x73, 0xaf, 0x79, 0xe1, + 0x50, 0x16, 0x98, 0x43, 0xc3, 0xc7, 0xf4, 0xc2, 0xb1, 0x70, 0xc3, 0xa3, 0x84, 0x11, 0xb4, 0xe9, + 0xf8, 0xcc, 0x21, 0x8d, 0x29, 0xa0, 0x11, 0x01, 0x6a, 0x5b, 0x7d, 0x42, 0xfa, 0x43, 0xdc, 0x14, + 0x86, 0xbd, 0xe0, 0xbc, 0x69, 0x07, 0xd4, 0x64, 0x0e, 0x71, 0x25, 0x74, 0x76, 0xfc, 0x92, 0x9a, + 0x9e, 0x87, 0xa9, 0x2f, 0xc7, 0xeb, 0xbf, 0xcd, 0xc0, 0xea, 0x5b, 0x39, 0x69, 0x57, 0xce, 0x89, + 0xd6, 0x41, 0x1d, 0x10, 0x9f, 0xf9, 0x9a, 0xb2, 0x9d, 0xdd, 0x29, 0xe9, 0xb2, 0x81, 0x6a, 0x50, + 0xec, 0x9b, 0x0c, 0x5f, 0x9a, 0x13, 0x5f, 0xcb, 0x88, 0x81, 0xb8, 0x8d, 0xf6, 0x21, 0x37, 0x60, + 0xcc, 0xd3, 0xb2, 0xdb, 0xd9, 0x9d, 0xf2, 0xee, 0x37, 0x1a, 0xb7, 0xba, 0xdb, 0xe8, 0x9c, 0x9d, + 0x9d, 0xea, 0x24, 0x60, 0x58, 0x17, 0x08, 0xf4, 0x7d, 0xc8, 0xb2, 0xa1, 0xaf, 0xa9, 0x02, 0xf8, + 0xe5, 0x1c, 0xe0, 0xd9, 0xeb, 0xae, 0xc4, 0x71, 0x7b, 0x01, 0xb3, 0x3c, 0x2d, 0x97, 0x0e, 0x3b, + 0x3a, 0x8d, 0x60, 0x96, 0x87, 0x3e, 0x83, 0x12, 0x1e, 0x7b, 0x84, 0x32, 0x83, 0x11, 0x2d, 0x2f, + 0x17, 0x21, 0x3b, 0xce, 0x48, 0xfd, 0x02, 0xca, 0xc7, 0xd8, 0x67, 0x8e, 0x2b, 0xc2, 0x87, 0x10, + 0xe4, 0xf8, 0xc2, 0x35, 0x65, 0x5b, 0xd9, 0x29, 0xe9, 0xe2, 0x37, 0xda, 0x80, 0xbc, 0x1f, 0xf4, + 0x7c, 0xcc, 0xb4, 0x8c, 0xe8, 0x0d, 0x5b, 0xe8, 0x87, 0x90, 0xe3, 0x24, 0x5a, 0x76, 0x5b, 0xd9, + 0x29, 0xef, 0x7e, 0x6b, 0x8e, 0x3f, 0xa7, 0x84, 0xb2, 0x2e, 0x1e, 0x62, 0x8b, 0x11, 0xaa, 0x0b, + 0x50, 0xfd, 0x5f, 0x00, 0xa5, 0x38, 0x2c, 0xa8, 0x05, 0xea, 0xc8, 0x64, 0xd6, 0x40, 0x04, 0xbf, + 0xbc, 0xfb, 0x20, 0x25, 0x96, 0x6f, 0xb8, 0xad, 0x8e, 0x7f, 0x1e, 0x60, 0x9f, 0xe9, 0x12, 0x89, + 0x9e, 0x83, 0x4a, 0x39, 0x97, 0xd8, 0xa6, 0xf2, 0x6e, 0x73, 0x91, 0xed, 0x48, 0xac, 0x5c, 0x97, + 0x68, 0x74, 0x04, 0x45, 0x8a, 0x6d, 0x87, 0x62, 0x6b, 0x91, 0x85, 0x09, 0xa6, 0xd0, 0x5c, 0x8f, + 0x81, 0xe8, 0x19, 0x14, 0x28, 0xbe, 0xa4, 0x0e, 0xc3, 0x5a, 0x4e, 0x70, 0x7c, 0x33, 0x95, 0x43, + 0x58, 0xeb, 0x11, 0x0c, 0x3d, 0x80, 0xb5, 0x4b, 0xdc, 0xf3, 0x89, 0xf5, 0x0e, 0x33, 0x23, 0xf0, + 0xfa, 0xd4, 0xb4, 0xb1, 0xa6, 0x6e, 0x2b, 0x3b, 0x45, 0xbd, 0x1a, 0x0f, 0xfc, 0x44, 0xf6, 0xa3, + 0x3d, 0x28, 0x30, 0x67, 0x84, 0x49, 0xc0, 0xb4, 0xbc, 0x98, 0x6e, 0xb3, 0x21, 0xcf, 0x7f, 0x23, + 0x3a, 0xff, 0x8d, 0xe3, 0xf0, 0x7e, 0xe8, 0x91, 0x25, 0x3a, 0xe4, 0x3e, 0x32, 0xea, 0x60, 0x5f, + 0x2b, 0x08, 0x50, 0xea, 0x01, 0xc6, 0x8c, 0x4e, 0xf4, 0x08, 0x84, 0x8e, 0x40, 0x3d, 0x37, 0x83, + 0x21, 0xd3, 0x8a, 0x02, 0xfd, 0x30, 0x05, 0xfd, 0x82, 0xdb, 0xbe, 0x72, 0x7f, 0x86, 0x2d, 0x19, + 0x6d, 0x81, 0x45, 0x87, 0x90, 0x1f, 0x39, 0x94, 0x12, 0xaa, 0x95, 0x52, 0xe3, 0x94, 0xdc, 0xac, + 0x10, 0x85, 0x5e, 0x40, 0xd9, 0x22, 0xd4, 0x37, 0x3c, 0x32, 0x74, 0xac, 0x89, 0x06, 0x82, 0xe4, + 0xab, 0x39, 0x24, 0x47, 0x84, 0xfa, 0xa7, 0xc2, 0x58, 0x07, 0x2b, 0xfe, 0x8d, 0x7a, 0xb0, 0xca, + 0xf3, 0x83, 0x6b, 0x1b, 0x03, 0x6c, 0xda, 0x98, 0xfa, 0x5a, 0x59, 0x9c, 0xa2, 0x1f, 0x2c, 0x72, + 0x8a, 0x1a, 0x2d, 0x01, 0xed, 0x48, 0xe4, 0x73, 0x97, 0xd1, 0x49, 0x3b, 0xa3, 0x29, 0xfa, 0x8a, + 0x99, 0xec, 0x47, 0x8f, 0xe1, 0x53, 0x8a, 0x47, 0xe4, 0x02, 0x1b, 0x14, 0xfb, 0x1e, 0x71, 0x7d, + 0x1c, 0x4f, 0x56, 0xe1, 0x97, 0x52, 0x60, 0x3e, 0x91, 0x26, 0x7a, 0x68, 0x11, 0x61, 0x7f, 0x01, + 0x9f, 0x86, 0xfe, 0xcd, 0x60, 0x57, 0x84, 0xa3, 0x4f, 0x97, 0x70, 0xf4, 0x1a, 0xf9, 0xd4, 0xe1, + 0x4f, 0xcc, 0x9b, 0xc6, 0xd1, 0x3e, 0x6c, 0xc4, 0x8e, 0x8b, 0x2b, 0x17, 0xcf, 0xbd, 0x1a, 0xfb, + 0xbd, 0x1e, 0xf9, 0x2d, 0x0c, 0x22, 0xe4, 0x18, 0x36, 0x62, 0xb7, 0xaf, 0x22, 0xef, 0x0b, 0xaf, + 0x0f, 0x97, 0xf2, 0x3a, 0x49, 0x3d, 0x75, 0x7a, 0xdd, 0xbc, 0x61, 0x18, 0x1d, 0x40, 0x21, 0x9a, + 0xaa, 0x2a, 0x0e, 0x45, 0x7d, 0xde, 0x54, 0xd2, 0x52, 0x8f, 0x20, 0xb5, 0x67, 0x80, 0x66, 0xf7, + 0x14, 0x55, 0x21, 0xfb, 0x0e, 0x4f, 0xc2, 0xd4, 0xc8, 0x7f, 0xf2, 0x9a, 0x71, 0x61, 0x0e, 0x03, + 0x1c, 0x26, 0x46, 0xd9, 0x78, 0x9c, 0xd9, 0x57, 0x6a, 0x1d, 0xa8, 0xdd, 0x1e, 0xec, 0xa5, 0x98, + 0x5e, 0xc2, 0xe6, 0xad, 0x01, 0x58, 0x86, 0xa8, 0xfe, 0xcf, 0x2c, 0x14, 0xa2, 0xf0, 0xbc, 0xe1, + 0x97, 0x5f, 0xd0, 0x09, 0x6c, 0x79, 0x77, 0x2f, 0x3d, 0x3c, 0xe1, 0xdf, 0x13, 0x0f, 0xcb, 0x54, + 0xe2, 0xeb, 0x11, 0x07, 0x3a, 0xe1, 0x49, 0x53, 0xae, 0x53, 0xcc, 0x7b, 0x47, 0xbe, 0x98, 0xa4, + 0xf6, 0xe7, 0x0c, 0x54, 0xaf, 0x0f, 0xa3, 0x1f, 0x43, 0x96, 0x17, 0x21, 0x59, 0x22, 0x0e, 0xee, + 0x30, 0x41, 0xa3, 0x8b, 0x99, 0x88, 0x9b, 0xce, 0x89, 0x38, 0x9f, 0x69, 0xdb, 0x61, 0xbd, 0xb8, + 0x13, 0x5f, 0xcb, 0xb6, 0x43, 0x3e, 0xd3, 0xb6, 0x79, 0x9d, 0x94, 0xb7, 0x40, 0x28, 0x82, 0x92, + 0x1e, 0xb6, 0x6a, 0x8f, 0xa0, 0x18, 0x4d, 0xbc, 0xd4, 0xce, 0x3f, 0x82, 0x62, 0x34, 0xc1, 0x52, + 0x1b, 0xfd, 0x7b, 0x05, 0x8a, 0x91, 0x70, 0xe0, 0x69, 0x3a, 0x59, 0x59, 0x1f, 0xce, 0x17, 0x1b, + 0xa2, 0xb0, 0xb6, 0x18, 0xa3, 0x4e, 0x2f, 0x60, 0xd8, 0x8f, 0x6a, 0x6b, 0xeb, 0x6a, 0x6d, 0x9d, + 0x57, 0x9e, 0x6f, 0xa9, 0xab, 0xf5, 0xdf, 0x71, 0xa7, 0x42, 0x59, 0x82, 0xda, 0x57, 0x9d, 0xfa, + 0xce, 0x1c, 0xbe, 0xd7, 0xdf, 0xfb, 0xef, 0xf9, 0xf4, 0x27, 0x15, 0xaa, 0xd7, 0xe5, 0x04, 0xda, + 0x87, 0x6c, 0x40, 0x9d, 0xf0, 0x5a, 0xcc, 0xab, 0x47, 0x5d, 0x46, 0x1d, 0xb7, 0x2f, 0xb1, 0x1c, + 0xc2, 0x8b, 0x99, 0x6f, 0x0d, 0xf0, 0x28, 0xba, 0x03, 0x8b, 0x82, 0x43, 0x94, 0x28, 0x86, 0x98, + 0x0d, 0x88, 0x1d, 0x0a, 0x8f, 0x85, 0xf1, 0x12, 0x85, 0x8e, 0xa1, 0x64, 0x06, 0x6c, 0x40, 0xa8, + 0xc3, 0x26, 0x0b, 0xe8, 0x8e, 0x24, 0xc5, 0x14, 0x88, 0xf4, 0x69, 0xe6, 0x94, 0xfa, 0x74, 0x7f, + 0x09, 0x31, 0xd6, 0x48, 0x66, 0xa7, 0x38, 0x9f, 0x72, 0x55, 0x29, 0x94, 0x22, 0x57, 0x27, 0x2b, + 0x52, 0x00, 0xa2, 0x1e, 0xac, 0xf8, 0x24, 0xa0, 0x16, 0x36, 0x86, 0x66, 0x0f, 0x0f, 0xb9, 0x0a, + 0xe1, 0xb3, 0x3d, 0x59, 0x66, 0xb6, 0xae, 0x20, 0x78, 0x2d, 0xf0, 0x72, 0xca, 0x8a, 0x9f, 0xe8, + 0xba, 0xa2, 0xde, 0x8b, 0x57, 0xd5, 0x7b, 0xad, 0x07, 0x95, 0x94, 0x54, 0x7a, 0x90, 0xbc, 0x61, + 0x8b, 0xc7, 0x32, 0x71, 0x83, 0x9f, 0xc2, 0xda, 0x8c, 0x8b, 0x4b, 0x5d, 0xe5, 0xbf, 0xa9, 0xb0, + 0x7e, 0x93, 0x5a, 0x45, 0x1d, 0x28, 0xdb, 0xd3, 0xe6, 0x02, 0xa7, 0x35, 0x79, 0xfc, 0x93, 0x50, + 0x9e, 0xb5, 0x2e, 0xb1, 0xd3, 0x1f, 0x48, 0x75, 0xaf, 0xea, 0x61, 0x6b, 0x9e, 0x5c, 0xc9, 0xa6, + 0xc9, 0x95, 0xdf, 0x28, 0xb7, 0xeb, 0x15, 0xf9, 0xf5, 0xf2, 0xa3, 0x25, 0xe5, 0xf9, 0x47, 0x97, + 0x2e, 0x6a, 0x8a, 0x74, 0xf9, 0xa5, 0x72, 0xab, 0x76, 0xc9, 0x8b, 0x15, 0xbc, 0xba, 0xeb, 0x0a, + 0xee, 0x28, 0x63, 0x0a, 0xcb, 0xcb, 0x98, 0xff, 0x43, 0x11, 0xc2, 0xa0, 0xfa, 0xbf, 0x3f, 0xcb, + 0xf5, 0xbf, 0x64, 0x60, 0x6d, 0xa6, 0x90, 0xa0, 0x26, 0x7c, 0x2d, 0x01, 0x36, 0xfc, 0xa0, 0xe7, + 0xe2, 0xf8, 0xfb, 0x1f, 0x25, 0x86, 0xba, 0x72, 0x24, 0x4e, 0x63, 0x99, 0x44, 0x1a, 0xfb, 0x32, + 0x4e, 0x63, 0x12, 0x2f, 0x72, 0x77, 0x29, 0xca, 0x43, 0x12, 0x89, 0xac, 0xeb, 0xb9, 0x2e, 0x97, + 0x2a, 0x7f, 0x67, 0xdc, 0x5d, 0x2a, 0xd9, 0xa9, 0xd7, 0x92, 0xdd, 0x7f, 0x9c, 0x88, 0xfe, 0x91, + 0x01, 0x34, 0xab, 0x0f, 0xd0, 0x67, 0x50, 0xf2, 0x5d, 0xc7, 0x48, 0x3e, 0x9c, 0x14, 0x7d, 0xd7, + 0xe9, 0x88, 0xb7, 0x93, 0x5b, 0xe2, 0x9b, 0x49, 0x8d, 0x6f, 0x76, 0x5e, 0x7c, 0x73, 0x37, 0xc4, + 0xd7, 0xbe, 0x1e, 0x5f, 0x35, 0xf5, 0xa3, 0x68, 0x76, 0x31, 0x4b, 0x05, 0x38, 0xff, 0xb1, 0x03, + 0x7c, 0x08, 0x95, 0xe4, 0x63, 0x02, 0xc7, 0x46, 0x32, 0xa4, 0x24, 0xe5, 0xc5, 0xe7, 0xc9, 0xf2, + 0x2e, 0xf1, 0xd3, 0x8e, 0xfa, 0x13, 0x28, 0x27, 0x1e, 0x12, 0x96, 0x86, 0x63, 0x28, 0x27, 0x6a, + 0x18, 0xda, 0x00, 0x15, 0x8f, 0x4d, 0x2b, 0x7c, 0x07, 0xea, 0xdc, 0xd3, 0x65, 0x13, 0x69, 0x90, + 0xf7, 0x28, 0x3e, 0x77, 0xc6, 0x92, 0xa1, 0x73, 0x4f, 0x0f, 0xdb, 0x1c, 0x41, 0x71, 0x1f, 0x8f, + 0xe5, 0xf9, 0xe7, 0x08, 0xd1, 0x6c, 0x57, 0x00, 0x84, 0x5e, 0x33, 0xd8, 0xc4, 0xc3, 0xf5, 0x5f, + 0x2b, 0xe1, 0xab, 0x0f, 0xe6, 0xf1, 0xa9, 0x41, 0xd1, 0x64, 0x0c, 0x8f, 0x3c, 0x71, 0x78, 0xf8, + 0x85, 0x8d, 0xdb, 0xa8, 0x05, 0xf7, 0x3d, 0x4c, 0x0d, 0x46, 0x27, 0x46, 0xf4, 0xb6, 0x91, 0x49, + 0x7b, 0xdb, 0x58, 0xf1, 0x30, 0x3d, 0xa3, 0x93, 0xb3, 0xf0, 0x85, 0x63, 0x93, 0x7f, 0x95, 0x70, + 0x02, 0xe2, 0x86, 0xb7, 0x52, 0x3c, 0x5e, 0x4c, 0x4e, 0xdc, 0xfa, 0x1f, 0x33, 0x00, 0xd3, 0xa7, + 0x00, 0xf4, 0x05, 0x54, 0xcc, 0xe1, 0x90, 0x5c, 0x1a, 0x84, 0x3a, 0x7d, 0xc7, 0x0d, 0x4f, 0x72, + 0x59, 0xf4, 0x9d, 0x88, 0x2e, 0x7e, 0x0e, 0xa5, 0x89, 0x14, 0x5b, 0xd1, 0x31, 0x96, 0xb8, 0x37, + 0xb2, 0x6f, 0x6a, 0x74, 0xa5, 0x52, 0x86, 0x46, 0x51, 0x4e, 0xff, 0x0a, 0x56, 0xf1, 0xd8, 0x23, + 0xd7, 0x4a, 0x62, 0x49, 0x5f, 0x91, 0xbd, 0x91, 0xd9, 0x2e, 0x14, 0x46, 0xe6, 0xd8, 0x30, 0xfb, + 0xf2, 0xdd, 0x67, 0xee, 0xc2, 0xf3, 0x23, 0x73, 0xdc, 0xea, 0x63, 0xf4, 0x12, 0xd6, 0xe4, 0xfc, + 0x16, 0xc5, 0x36, 0x76, 0x99, 0x63, 0x0e, 0xfd, 0xf0, 0x49, 0xa8, 0x36, 0x83, 0x6e, 0x13, 0x32, + 0x7c, 0xcb, 0xcf, 0x9f, 0x5e, 0x15, 0xa0, 0xa3, 0x29, 0xa6, 0xfe, 0x07, 0x15, 0xd0, 0xec, 0xab, + 0x0d, 0x7a, 0x05, 0xaa, 0x8d, 0x87, 0xe6, 0x64, 0x91, 0x8f, 0xc6, 0x19, 0x74, 0xe3, 0x98, 0x43, + 0x75, 0xc9, 0xc0, 0xa9, 0xcc, 0x5e, 0x94, 0x4c, 0x97, 0xa6, 0x6a, 0x71, 0xa8, 0x2e, 0x19, 0x6a, + 0xbf, 0xca, 0x80, 0x2a, 0xb8, 0xd1, 0xe7, 0x50, 0xf0, 0x30, 0xb5, 0xb0, 0x2b, 0x0f, 0xae, 0x2a, + 0x2a, 0x6b, 0xd4, 0x85, 0x0e, 0xa0, 0x7c, 0xee, 0x8c, 0xb1, 0x6d, 0xc8, 0x35, 0xa4, 0x1d, 0xa7, + 0xce, 0x3d, 0x1d, 0x84, 0xbd, 0xe4, 0xee, 0xc0, 0x1a, 0xdf, 0x20, 0x57, 0x86, 0x28, 0xe4, 0xc8, + 0xa6, 0x73, 0x54, 0x13, 0x28, 0xc9, 0xd4, 0x06, 0x08, 0x5d, 0x9a, 0x6e, 0xee, 0xbc, 0xba, 0x7e, + 0x2a, 0x8d, 0xf5, 0x04, 0xaa, 0xbd, 0x06, 0xf7, 0x07, 0x8c, 0x79, 0xd2, 0x0d, 0x71, 0xb7, 0x6a, + 0xef, 0x15, 0x50, 0x45, 0x5c, 0x52, 0xc2, 0xf0, 0x05, 0x94, 0x05, 0xd4, 0x67, 0x26, 0x0b, 0x7c, + 0x59, 0x29, 0xf9, 0x5a, 0x79, 0x67, 0x57, 0xf4, 0x71, 0x93, 0x3e, 0xf5, 0xac, 0xc8, 0x24, 0xba, + 0xd2, 0xc0, 0x3b, 0xa7, 0x26, 0x1c, 0xb0, 0x6b, 0x60, 0xf1, 0x7c, 0x97, 0x8b, 0x4c, 0x44, 0xe7, + 0x73, 0xf1, 0x38, 0xf7, 0x31, 0xd6, 0x59, 0x01, 0x10, 0x13, 0xc8, 0xf4, 0xf1, 0x02, 0x2a, 0xc9, + 0xa7, 0x64, 0x9e, 0x8e, 0xdc, 0x60, 0xd4, 0xc3, 0x54, 0xac, 0x73, 0x85, 0xa7, 0x23, 0xd9, 0x46, + 0xeb, 0x90, 0x73, 0xcd, 0xf0, 0x4b, 0x8c, 0xfb, 0x25, 0x5a, 0xed, 0xbc, 0x2c, 0x30, 0xf5, 0xaf, + 0x43, 0x21, 0x9c, 0x6c, 0x9a, 0x91, 0x39, 0x83, 0x12, 0x66, 0xe4, 0x76, 0xe3, 0xaf, 0x1f, 0xb6, + 0x94, 0xbf, 0x7f, 0xd8, 0x52, 0xde, 0x7f, 0xd8, 0x52, 0x7e, 0xba, 0x2d, 0x7d, 0x76, 0x48, 0xd3, + 0xf4, 0x9c, 0xe6, 0x0d, 0xff, 0xc0, 0xe8, 0xe5, 0xc5, 0xce, 0xef, 0xfd, 0x3b, 0x00, 0x00, 0xff, + 0xff, 0x73, 0x7c, 0x3f, 0xb9, 0xde, 0x18, 0x00, 0x00, +} + func (m *VirtualService) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2286,6 +3133,9 @@ func (m *VirtualService) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2326,6 +3176,9 @@ func (m *Destination) MarshalTo(dAtA []byte) (int, error) { } i += n1 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2541,6 +3394,9 @@ func (m *HTTPRoute) MarshalTo(dAtA []byte) (int, error) { } i += n9 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2579,6 +3435,9 @@ func (m *Headers) MarshalTo(dAtA []byte) (int, error) { } i += n11 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2646,6 +3505,9 @@ func (m *Headers_HeaderOperations) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2688,6 +3550,9 @@ func (m *TLSRoute) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2730,6 +3595,9 @@ func (m *TCPRoute) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2853,6 +3721,9 @@ func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2960,6 +3831,9 @@ func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error) { } i += n18 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2993,6 +3867,9 @@ func (m *RouteDestination) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3069,6 +3946,9 @@ func (m *L4MatchAttributes) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3160,6 +4040,9 @@ func (m *TLSMatchAttributes) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3190,6 +4073,9 @@ func (m *HTTPRedirect) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority))) i += copy(dAtA[i:], m.Authority) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3220,6 +4106,9 @@ func (m *HTTPRewrite) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority))) i += copy(dAtA[i:], m.Authority) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3245,6 +4134,9 @@ func (m *StringMatch) MarshalTo(dAtA []byte) (int, error) { } i += nn20 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3308,6 +4200,9 @@ func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.RetryOn))) i += copy(dAtA[i:], m.RetryOn) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3406,6 +4301,9 @@ func (m *CorsPolicy) MarshalTo(dAtA []byte) (int, error) { } i += n23 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3444,6 +4342,9 @@ func (m *HTTPFaultInjection) MarshalTo(dAtA []byte) (int, error) { } i += n25 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3484,6 +4385,9 @@ func (m *HTTPFaultInjection_Delay) MarshalTo(dAtA []byte) (int, error) { } i += n27 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3552,6 +4456,9 @@ func (m *HTTPFaultInjection_Abort) MarshalTo(dAtA []byte) (int, error) { } i += n31 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3600,6 +4507,9 @@ func (m *PortSelector) MarshalTo(dAtA []byte) (int, error) { } i += nn32 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3636,9 +4546,12 @@ func (m *Percent) MarshalTo(dAtA []byte) (int, error) { if m.Value != 0 { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) i += 8 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3652,6 +4565,9 @@ func encodeVarintVirtualService(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *VirtualService) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Hosts) > 0 { @@ -3690,10 +4606,16 @@ func (m *VirtualService) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Destination) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Host) @@ -3708,10 +4630,16 @@ func (m *Destination) Size() (n int) { l = m.Port.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRoute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Match) > 0 { @@ -3797,10 +4725,16 @@ func (m *HTTPRoute) Size() (n int) { l = m.Headers.Size() n += 2 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Headers) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Request != nil { @@ -3811,10 +4745,16 @@ func (m *Headers) Size() (n int) { l = m.Response.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Headers_HeaderOperations) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Set) > 0 { @@ -3839,10 +4779,16 @@ func (m *Headers_HeaderOperations) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TLSRoute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Match) > 0 { @@ -3857,10 +4803,16 @@ func (m *TLSRoute) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TCPRoute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Match) > 0 { @@ -3875,10 +4827,16 @@ func (m *TCPRoute) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPMatchRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Uri != nil { @@ -3927,10 +4885,16 @@ func (m *HTTPMatchRequest) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRouteDestination) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Destination != nil { @@ -3972,10 +4936,16 @@ func (m *HTTPRouteDestination) Size() (n int) { l = m.Headers.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *RouteDestination) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Destination != nil { @@ -3985,10 +4955,16 @@ func (m *RouteDestination) Size() (n int) { if m.Weight != 0 { n += 1 + sovVirtualService(uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *L4MatchAttributes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.DestinationSubnets) > 0 { @@ -4018,10 +4994,16 @@ func (m *L4MatchAttributes) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TLSMatchAttributes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.SniHosts) > 0 { @@ -4057,10 +5039,16 @@ func (m *TLSMatchAttributes) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRedirect) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Uri) @@ -4071,10 +5059,16 @@ func (m *HTTPRedirect) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRewrite) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Uri) @@ -4085,19 +5079,31 @@ func (m *HTTPRewrite) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *StringMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.MatchType != nil { n += m.MatchType.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *StringMatch_Exact) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Exact) @@ -4105,6 +5111,9 @@ func (m *StringMatch_Exact) Size() (n int) { return n } func (m *StringMatch_Prefix) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Prefix) @@ -4112,6 +5121,9 @@ func (m *StringMatch_Prefix) Size() (n int) { return n } func (m *StringMatch_Regex) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Regex) @@ -4119,6 +5131,9 @@ func (m *StringMatch_Regex) Size() (n int) { return n } func (m *HTTPRetry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Attempts != 0 { @@ -4132,10 +5147,16 @@ func (m *HTTPRetry) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *CorsPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.AllowOrigin) > 0 { @@ -4170,10 +5191,16 @@ func (m *CorsPolicy) Size() (n int) { l = m.AllowCredentials.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Delay != nil { @@ -4184,10 +5211,16 @@ func (m *HTTPFaultInjection) Size() (n int) { l = m.Abort.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection_Delay) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Percent != 0 { @@ -4200,10 +5233,16 @@ func (m *HTTPFaultInjection_Delay) Size() (n int) { l = m.Percentage.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FixedDelay != nil { @@ -4213,6 +5252,9 @@ func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) { return n } func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ExponentialDelay != nil { @@ -4222,6 +5264,9 @@ func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) { return n } func (m *HTTPFaultInjection_Abort) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Percent != 0 { @@ -4234,16 +5279,25 @@ func (m *HTTPFaultInjection_Abort) Size() (n int) { l = m.Percentage.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection_Abort_HttpStatus) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovVirtualService(uint64(m.HttpStatus)) return n } func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.GrpcStatus) @@ -4251,6 +5305,9 @@ func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) { return n } func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Http2Error) @@ -4258,21 +5315,33 @@ func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) { return n } func (m *PortSelector) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { n += m.Port.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *PortSelector_Number) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovVirtualService(uint64(m.Number)) return n } func (m *PortSelector_Name) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -4280,11 +5349,17 @@ func (m *PortSelector_Name) Size() (n int) { return n } func (m *Percent) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 9 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -4316,7 +5391,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4344,7 +5419,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4354,6 +5429,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4373,7 +5451,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4383,6 +5461,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4402,7 +5483,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4411,6 +5492,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4433,7 +5517,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4442,6 +5526,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4464,7 +5551,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4473,6 +5560,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4495,7 +5585,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4505,6 +5595,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4519,9 +5612,13 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4546,7 +5643,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4574,7 +5671,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4584,6 +5681,9 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4603,7 +5703,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4613,6 +5713,9 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4632,7 +5735,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4641,6 +5744,9 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4660,9 +5766,13 @@ func (m *Destination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4687,7 +5797,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4715,7 +5825,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4724,6 +5834,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4746,7 +5859,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4755,6 +5868,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4777,7 +5893,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4786,6 +5902,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4810,7 +5929,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4819,6 +5938,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4843,7 +5965,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4863,7 +5985,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4872,11 +5994,14 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Timeout == nil { - m.Timeout = &google_protobuf.Duration{} + m.Timeout = &types.Duration{} } if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4896,7 +6021,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4905,6 +6030,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4929,7 +6057,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4938,6 +6066,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4962,7 +6093,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4971,6 +6102,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4995,7 +6129,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5004,6 +6138,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5028,7 +6165,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5037,6 +6174,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5057,7 +6197,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5074,7 +6214,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5084,6 +6224,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5100,7 +6243,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5110,6 +6253,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5146,7 +6292,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5156,6 +6302,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5175,7 +6324,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5184,6 +6333,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5204,7 +6356,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5221,7 +6373,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5231,6 +6383,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5247,7 +6402,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5257,6 +6412,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5293,7 +6451,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5303,6 +6461,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5322,7 +6483,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5331,6 +6492,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5351,7 +6515,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5368,7 +6532,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5378,6 +6542,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5394,7 +6561,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5404,6 +6571,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5440,7 +6610,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5449,6 +6619,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5468,9 +6641,13 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5495,7 +6672,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5523,7 +6700,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5532,6 +6709,9 @@ func (m *Headers) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5556,7 +6736,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5565,6 +6745,9 @@ func (m *Headers) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5584,9 +6767,13 @@ func (m *Headers) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5611,7 +6798,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5639,7 +6826,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5648,6 +6835,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5668,7 +6858,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5685,7 +6875,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5695,6 +6885,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5711,7 +6904,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5721,6 +6914,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5757,7 +6953,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5766,6 +6962,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5786,7 +6985,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5803,7 +7002,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5813,6 +7012,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5829,7 +7031,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5839,6 +7041,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5875,7 +7080,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5885,6 +7090,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5899,9 +7107,13 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5926,7 +7138,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5954,7 +7166,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5963,6 +7175,9 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5985,7 +7200,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5994,6 +7209,9 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6011,9 +7229,13 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6038,7 +7260,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6066,7 +7288,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6075,6 +7297,9 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6097,7 +7322,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6106,6 +7331,9 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6123,9 +7351,13 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6150,7 +7382,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6178,7 +7410,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6187,6 +7419,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6211,7 +7446,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6220,6 +7455,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6244,7 +7482,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6253,6 +7491,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6277,7 +7518,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6286,6 +7527,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6310,7 +7554,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6319,6 +7563,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6339,7 +7586,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6356,7 +7603,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6366,6 +7613,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6382,7 +7632,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6391,7 +7641,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthVirtualService } if postmsgIndex > l { @@ -6433,7 +7683,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -6452,7 +7702,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6461,6 +7711,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6481,7 +7734,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6498,7 +7751,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6508,6 +7761,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6524,7 +7780,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6534,6 +7790,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6570,7 +7829,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6580,6 +7839,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6594,9 +7856,13 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6621,7 +7887,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6649,7 +7915,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6658,6 +7924,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6682,7 +7951,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= (int32(b) & 0x7F) << shift + m.Weight |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -6701,7 +7970,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6711,6 +7980,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6730,7 +8002,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6739,6 +8011,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6759,7 +8034,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6776,7 +8051,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6786,6 +8061,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6802,7 +8080,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6812,6 +8090,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6848,7 +8129,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6858,6 +8139,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6877,7 +8161,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6886,6 +8170,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6906,7 +8193,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6923,7 +8210,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6933,6 +8220,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6949,7 +8239,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6959,6 +8249,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6995,7 +8288,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7004,6 +8297,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7023,9 +8319,13 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7050,7 +8350,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7078,7 +8378,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7087,6 +8387,9 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7111,7 +8414,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= (int32(b) & 0x7F) << shift + m.Weight |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -7125,9 +8428,13 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7152,7 +8459,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7180,7 +8487,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7190,6 +8497,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7209,7 +8519,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -7228,7 +8538,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7238,6 +8548,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7257,7 +8570,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7266,6 +8579,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7286,7 +8602,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7303,7 +8619,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7313,6 +8629,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -7329,7 +8648,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7339,6 +8658,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -7375,7 +8697,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7385,6 +8707,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7399,9 +8724,13 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7426,7 +8755,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7454,7 +8783,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7464,6 +8793,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7483,7 +8815,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7493,6 +8825,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7512,7 +8847,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -7531,7 +8866,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7541,6 +8876,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7560,7 +8898,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7569,6 +8907,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7589,7 +8930,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7606,7 +8947,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7616,6 +8957,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -7632,7 +8976,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7642,6 +8986,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -7678,7 +9025,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7688,6 +9035,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7702,9 +9052,13 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7729,7 +9083,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7757,7 +9111,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7767,6 +9121,9 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7786,7 +9143,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7796,6 +9153,9 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7810,9 +9170,13 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7837,7 +9201,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7865,7 +9229,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7875,6 +9239,9 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7894,7 +9261,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7904,6 +9271,9 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7918,9 +9288,13 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7945,7 +9319,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7973,7 +9347,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7983,6 +9357,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8002,7 +9379,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8012,6 +9389,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8031,7 +9411,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8041,6 +9421,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8055,9 +9438,13 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8082,7 +9469,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8110,7 +9497,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Attempts |= (int32(b) & 0x7F) << shift + m.Attempts |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8129,7 +9516,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8138,11 +9525,14 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.PerTryTimeout == nil { - m.PerTryTimeout = &google_protobuf.Duration{} + m.PerTryTimeout = &types.Duration{} } if err := m.PerTryTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8162,7 +9552,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8172,6 +9562,9 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8186,9 +9579,13 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8213,7 +9610,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8241,7 +9638,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8251,6 +9648,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8270,7 +9670,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8280,6 +9680,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8299,7 +9702,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8309,6 +9712,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8328,7 +9734,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8338,6 +9744,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8357,7 +9766,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8366,11 +9775,14 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.MaxAge == nil { - m.MaxAge = &google_protobuf.Duration{} + m.MaxAge = &types.Duration{} } if err := m.MaxAge.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8390,7 +9802,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8399,11 +9811,14 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.AllowCredentials == nil { - m.AllowCredentials = &google_protobuf1.BoolValue{} + m.AllowCredentials = &types.BoolValue{} } if err := m.AllowCredentials.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8418,9 +9833,13 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8445,7 +9864,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8473,7 +9892,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8482,6 +9901,9 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8506,7 +9928,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8515,6 +9937,9 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8534,9 +9959,13 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8561,7 +9990,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8589,7 +10018,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Percent |= (int32(b) & 0x7F) << shift + m.Percent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8608,7 +10037,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8617,10 +10046,13 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } - v := &google_protobuf.Duration{} + v := &types.Duration{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -8640,7 +10072,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8649,10 +10081,13 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } - v := &google_protobuf.Duration{} + v := &types.Duration{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -8672,7 +10107,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8681,6 +10116,9 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8700,9 +10138,13 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8727,7 +10169,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8755,7 +10197,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Percent |= (int32(b) & 0x7F) << shift + m.Percent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8774,7 +10216,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8794,7 +10236,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8804,6 +10246,9 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8823,7 +10268,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8833,6 +10278,9 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8852,7 +10300,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8861,6 +10309,9 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8880,9 +10331,13 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8907,7 +10362,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8935,7 +10390,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint32(b) & 0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -8955,7 +10410,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8965,6 +10420,9 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8979,9 +10437,13 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9006,7 +10468,7 @@ func (m *Percent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -9028,7 +10490,7 @@ func (m *Percent) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Value = float64(math.Float64frombits(v)) default: @@ -9040,9 +10502,13 @@ func (m *Percent) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9106,10 +10572,13 @@ func skipVirtualService(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthVirtualService } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthVirtualService + } return iNdEx, nil case 3: for { @@ -9138,6 +10607,9 @@ func skipVirtualService(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthVirtualService + } } return iNdEx, nil case 4: @@ -9156,123 +10628,3 @@ var ( ErrInvalidLengthVirtualService = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVirtualService = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("networking/v1alpha3/virtual_service.proto", fileDescriptorVirtualService) -} - -var fileDescriptorVirtualService = []byte{ - // 1785 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xe3, 0x48, - 0x15, 0x1f, 0xd9, 0x96, 0xff, 0x3c, 0x3b, 0x19, 0xa7, 0xc9, 0x66, 0x15, 0xef, 0x56, 0xc8, 0x7a, - 0x59, 0x08, 0xb5, 0xac, 0x5d, 0x24, 0xb0, 0xa4, 0x96, 0x6c, 0x76, 0xed, 0x64, 0x66, 0x3d, 0xd4, - 0x0c, 0x49, 0xc9, 0x61, 0x0e, 0x5c, 0x54, 0xb2, 0xd4, 0xb1, 0xc5, 0xc8, 0x6a, 0xd1, 0x6a, 0x25, - 0x76, 0x71, 0xe4, 0xdf, 0x19, 0x8a, 0x2b, 0xc5, 0xf7, 0xe0, 0xc2, 0x95, 0x13, 0xc5, 0x27, 0xa0, - 0xa6, 0xe6, 0xc0, 0x95, 0xaf, 0x40, 0x75, 0xb7, 0x24, 0x2b, 0x71, 0x62, 0xd9, 0x61, 0xa0, 0x38, - 0xc5, 0xdd, 0xfd, 0x7e, 0xbf, 0x7e, 0xfd, 0xba, 0xfb, 0xbd, 0x9f, 0x3a, 0xf0, 0x6d, 0x0f, 0xb3, - 0x6b, 0x42, 0x5f, 0x39, 0xde, 0xb0, 0x7d, 0xf5, 0x5d, 0xd3, 0xf5, 0x47, 0xe6, 0x41, 0xfb, 0xca, - 0xa1, 0x2c, 0x34, 0x5d, 0x23, 0xc0, 0xf4, 0xca, 0xb1, 0x70, 0xcb, 0xa7, 0x84, 0x11, 0xb4, 0xed, - 0x04, 0xcc, 0x21, 0xad, 0x19, 0xa0, 0x15, 0x03, 0x1a, 0x3b, 0x43, 0x42, 0x86, 0x2e, 0x6e, 0x0b, - 0xc3, 0x41, 0x78, 0xd9, 0xb6, 0x43, 0x6a, 0x32, 0x87, 0x78, 0x12, 0x3a, 0x3f, 0x7e, 0x4d, 0x4d, - 0xdf, 0xc7, 0x34, 0x90, 0xe3, 0xcd, 0xdf, 0xe6, 0x60, 0xfd, 0xa5, 0x9c, 0xb4, 0x2f, 0xe7, 0x44, - 0x9b, 0xa0, 0x8e, 0x48, 0xc0, 0x02, 0x4d, 0xd9, 0xcd, 0xef, 0x55, 0x74, 0xd9, 0x40, 0x0d, 0x28, - 0x0f, 0x4d, 0x86, 0xaf, 0xcd, 0x69, 0xa0, 0xe5, 0xc4, 0x40, 0xd2, 0x46, 0x87, 0x50, 0x18, 0x31, - 0xe6, 0x6b, 0xf9, 0xdd, 0xfc, 0x5e, 0x75, 0xff, 0x1b, 0xad, 0x7b, 0xdd, 0x6d, 0xf5, 0x2e, 0x2e, - 0xce, 0x75, 0x12, 0x32, 0xac, 0x0b, 0x04, 0xfa, 0x3e, 0xe4, 0x99, 0xe5, 0x6b, 0x05, 0x01, 0xfc, - 0x70, 0x01, 0xf0, 0xe2, 0x24, 0xc2, 0x71, 0x7b, 0x01, 0x73, 0x03, 0x4d, 0xcd, 0x86, 0x3d, 0xef, - 0xc7, 0x30, 0x37, 0x40, 0xef, 0x41, 0x05, 0x4f, 0x7c, 0x42, 0x99, 0xc1, 0x88, 0x56, 0x94, 0x8b, - 0x90, 0x1d, 0x17, 0xa4, 0x79, 0x05, 0xd5, 0x53, 0x1c, 0x30, 0xc7, 0x13, 0xe1, 0x43, 0x08, 0x0a, - 0x7c, 0xe1, 0x9a, 0xb2, 0xab, 0xec, 0x55, 0x74, 0xf1, 0x1b, 0x6d, 0x41, 0x31, 0x08, 0x07, 0x01, - 0x66, 0x5a, 0x4e, 0xf4, 0x46, 0x2d, 0xf4, 0x43, 0x28, 0x70, 0x12, 0x2d, 0xbf, 0xab, 0xec, 0x55, - 0xf7, 0xbf, 0xb5, 0xc0, 0x9f, 0x73, 0x42, 0x59, 0x1f, 0xbb, 0xd8, 0x62, 0x84, 0xea, 0x02, 0xd4, - 0xfc, 0x17, 0x40, 0x25, 0x09, 0x0b, 0xea, 0x80, 0x3a, 0x36, 0x99, 0x35, 0x12, 0xc1, 0xaf, 0xee, - 0x7f, 0x9c, 0x11, 0xcb, 0x17, 0xdc, 0x56, 0xc7, 0x3f, 0x0f, 0x71, 0xc0, 0x74, 0x89, 0x44, 0x4f, - 0x40, 0xa5, 0x9c, 0x4b, 0x6c, 0x53, 0x75, 0xbf, 0xbd, 0xcc, 0x76, 0xa4, 0x56, 0xae, 0x4b, 0x34, - 0x3a, 0x81, 0x32, 0xc5, 0xb6, 0x43, 0xb1, 0xb5, 0xcc, 0xc2, 0x04, 0x53, 0x64, 0xae, 0x27, 0x40, - 0xf4, 0x25, 0x94, 0x28, 0xbe, 0xa6, 0x0e, 0xc3, 0x5a, 0x41, 0x70, 0x7c, 0x33, 0x93, 0x43, 0x58, - 0xeb, 0x31, 0x0c, 0x7d, 0x0c, 0x1b, 0xd7, 0x78, 0x10, 0x10, 0xeb, 0x15, 0x66, 0x46, 0xe8, 0x0f, - 0xa9, 0x69, 0x63, 0x4d, 0xdd, 0x55, 0xf6, 0xca, 0x7a, 0x3d, 0x19, 0xf8, 0x89, 0xec, 0x47, 0x07, - 0x50, 0x62, 0xce, 0x18, 0x93, 0x90, 0x69, 0x45, 0x31, 0xdd, 0x76, 0x4b, 0x9e, 0xff, 0x56, 0x7c, - 0xfe, 0x5b, 0xa7, 0xd1, 0xfd, 0xd0, 0x63, 0x4b, 0x74, 0xcc, 0x7d, 0x64, 0xd4, 0xc1, 0x81, 0x56, - 0x12, 0xa0, 0xcc, 0x03, 0x8c, 0x19, 0x9d, 0xea, 0x31, 0x08, 0x9d, 0x80, 0x7a, 0x69, 0x86, 0x2e, - 0xd3, 0xca, 0x02, 0xfd, 0x49, 0x06, 0xfa, 0x29, 0xb7, 0x7d, 0xe6, 0xfd, 0x0c, 0x5b, 0x32, 0xda, - 0x02, 0x8b, 0x8e, 0xa1, 0x38, 0x76, 0x28, 0x25, 0x54, 0xab, 0x64, 0xc6, 0x29, 0xbd, 0x59, 0x11, - 0x0a, 0x3d, 0x85, 0xaa, 0x45, 0x68, 0x60, 0xf8, 0xc4, 0x75, 0xac, 0xa9, 0x06, 0x82, 0xe4, 0xa3, - 0x05, 0x24, 0x27, 0x84, 0x06, 0xe7, 0xc2, 0x58, 0x07, 0x2b, 0xf9, 0x8d, 0x06, 0xb0, 0xce, 0xf3, - 0x83, 0x67, 0x1b, 0x23, 0x6c, 0xda, 0x98, 0x06, 0x5a, 0x55, 0x9c, 0xa2, 0x1f, 0x2c, 0x73, 0x8a, - 0x5a, 0x1d, 0x01, 0xed, 0x49, 0xe4, 0x13, 0x8f, 0xd1, 0x69, 0x37, 0xa7, 0x29, 0xfa, 0x9a, 0x99, - 0xee, 0x47, 0x9f, 0xc1, 0xbb, 0x14, 0x8f, 0xc9, 0x15, 0x36, 0x28, 0x0e, 0x7c, 0xe2, 0x05, 0x38, - 0x99, 0xac, 0xc6, 0x2f, 0xa5, 0xc0, 0xbc, 0x23, 0x4d, 0xf4, 0xc8, 0x22, 0xc6, 0xfe, 0x02, 0xde, - 0x8d, 0xfc, 0x9b, 0xc3, 0xae, 0x09, 0x47, 0xbf, 0x58, 0xc1, 0xd1, 0x5b, 0xe4, 0x33, 0x87, 0xdf, - 0x31, 0xef, 0x1a, 0x47, 0x87, 0xb0, 0x95, 0x38, 0x2e, 0xae, 0x5c, 0x32, 0xf7, 0x7a, 0xe2, 0xf7, - 0x66, 0xec, 0xb7, 0x30, 0x88, 0x91, 0x13, 0xd8, 0x4a, 0xdc, 0xbe, 0x89, 0x7c, 0x2c, 0xbc, 0x3e, - 0x5e, 0xc9, 0xeb, 0x34, 0xf5, 0xcc, 0xe9, 0x4d, 0xf3, 0x8e, 0x61, 0x74, 0x04, 0xa5, 0x78, 0xaa, - 0xba, 0x38, 0x14, 0xcd, 0x45, 0x53, 0x49, 0x4b, 0x3d, 0x86, 0x34, 0xbe, 0x04, 0x34, 0xbf, 0xa7, - 0xa8, 0x0e, 0xf9, 0x57, 0x78, 0x1a, 0xa5, 0x46, 0xfe, 0x93, 0xd7, 0x8c, 0x2b, 0xd3, 0x0d, 0x71, - 0x94, 0x18, 0x65, 0xe3, 0xb3, 0xdc, 0xa1, 0xd2, 0xe8, 0x41, 0xe3, 0xfe, 0x60, 0xaf, 0xc4, 0xf4, - 0x15, 0x6c, 0xdf, 0x1b, 0x80, 0x55, 0x88, 0x9a, 0xff, 0xcc, 0x43, 0x29, 0x0e, 0xcf, 0x0b, 0x7e, - 0xf9, 0x05, 0x9d, 0xc0, 0x56, 0xf7, 0x0f, 0xb2, 0xc3, 0x13, 0xfd, 0x3d, 0xf3, 0xb1, 0x4c, 0x25, - 0x81, 0x1e, 0x73, 0xa0, 0x33, 0x9e, 0x34, 0xe5, 0x3a, 0xc5, 0xbc, 0x0f, 0xe4, 0x4b, 0x48, 0x1a, - 0x7f, 0xce, 0x41, 0xfd, 0xf6, 0x30, 0xfa, 0x31, 0xe4, 0x79, 0x11, 0x92, 0x25, 0xe2, 0xe8, 0x01, - 0x13, 0xb4, 0xfa, 0x98, 0x89, 0xb8, 0xe9, 0x9c, 0x88, 0xf3, 0x99, 0xb6, 0x1d, 0xd5, 0x8b, 0x07, - 0xf1, 0x75, 0x6c, 0x3b, 0xe2, 0x33, 0x6d, 0x9b, 0xd7, 0x49, 0x79, 0x0b, 0x84, 0x22, 0xa8, 0xe8, - 0x51, 0xab, 0xf1, 0x29, 0x94, 0xe3, 0x89, 0x57, 0xda, 0xf9, 0x4f, 0xa1, 0x1c, 0x4f, 0xb0, 0xd2, - 0x46, 0xff, 0x5e, 0x81, 0x72, 0xac, 0x00, 0x78, 0x9a, 0x4e, 0x57, 0xd6, 0x4f, 0x16, 0xab, 0x06, - 0x51, 0x58, 0x3b, 0x8c, 0x51, 0x67, 0x10, 0x32, 0x1c, 0xc4, 0xb5, 0xb5, 0x73, 0xb3, 0xb6, 0x2e, - 0x2a, 0xcf, 0xf7, 0xd4, 0xd5, 0xe6, 0xef, 0xb8, 0x53, 0x91, 0x9a, 0x41, 0xdd, 0x9b, 0x4e, 0x7d, - 0x67, 0x01, 0xdf, 0xf3, 0xef, 0xfd, 0xf7, 0x7c, 0xfa, 0x93, 0x0a, 0xf5, 0xdb, 0x72, 0x02, 0x1d, - 0x42, 0x3e, 0xa4, 0x4e, 0x74, 0x2d, 0x16, 0xd5, 0xa3, 0x3e, 0xa3, 0x8e, 0x37, 0x94, 0x58, 0x0e, - 0xe1, 0xc5, 0x2c, 0xb0, 0x46, 0x78, 0x1c, 0xdf, 0x81, 0x65, 0xc1, 0x11, 0x4a, 0x14, 0x43, 0xcc, - 0x46, 0xc4, 0x8e, 0x84, 0xc7, 0xd2, 0x78, 0x89, 0x42, 0xa7, 0x50, 0x31, 0x43, 0x36, 0x22, 0xd4, - 0x61, 0xd3, 0x25, 0x74, 0x47, 0x9a, 0x62, 0x06, 0x44, 0xfa, 0x2c, 0x73, 0x4a, 0xa1, 0x79, 0xb8, - 0x82, 0x18, 0x6b, 0xa5, 0xb3, 0x53, 0x92, 0x4f, 0xb9, 0xaa, 0x14, 0x4a, 0x91, 0xab, 0x93, 0x35, - 0x29, 0x00, 0xd1, 0x00, 0xd6, 0x02, 0x12, 0x52, 0x0b, 0x1b, 0xae, 0x39, 0xc0, 0x2e, 0x57, 0x21, - 0x7c, 0xb6, 0xcf, 0x57, 0x99, 0xad, 0x2f, 0x08, 0x9e, 0x0b, 0xbc, 0x9c, 0xb2, 0x16, 0xa4, 0xba, - 0x6e, 0xa8, 0xf7, 0xf2, 0x4d, 0xf5, 0xde, 0x18, 0x40, 0x2d, 0x23, 0x95, 0x1e, 0xa5, 0x6f, 0xd8, - 0xf2, 0xb1, 0x4c, 0xdd, 0xe0, 0x2f, 0x60, 0x63, 0xce, 0xc5, 0x95, 0xae, 0xf2, 0xdf, 0x54, 0xd8, - 0xbc, 0x4b, 0xad, 0xa2, 0x1e, 0x54, 0xed, 0x59, 0x73, 0x89, 0xd3, 0x9a, 0x3e, 0xfe, 0x69, 0x28, - 0xcf, 0x5a, 0xd7, 0xd8, 0x19, 0x8e, 0xa4, 0xba, 0x57, 0xf5, 0xa8, 0xb5, 0x48, 0xae, 0xe4, 0xb3, - 0xe4, 0xca, 0x6f, 0x94, 0xfb, 0xf5, 0x8a, 0xfc, 0xe8, 0xf9, 0xd1, 0x8a, 0xf2, 0xfc, 0xad, 0x4b, - 0x17, 0x35, 0x43, 0xba, 0xfc, 0x52, 0xb9, 0x57, 0xbb, 0x14, 0xc5, 0x0a, 0x9e, 0x3d, 0x74, 0x05, - 0x0f, 0x94, 0x31, 0xa5, 0xd5, 0x65, 0xcc, 0xff, 0xa1, 0x08, 0x61, 0x50, 0xff, 0xdf, 0x9f, 0xe5, - 0xe6, 0x5f, 0x72, 0xb0, 0x31, 0x57, 0x48, 0x50, 0x1b, 0xbe, 0x96, 0x02, 0x1b, 0x41, 0x38, 0xf0, - 0x70, 0xf2, 0xfd, 0x8f, 0x52, 0x43, 0x7d, 0x39, 0x92, 0xa4, 0xb1, 0x5c, 0x2a, 0x8d, 0x7d, 0x98, - 0xa4, 0x31, 0x89, 0x17, 0xb9, 0xbb, 0x12, 0xe7, 0x21, 0x89, 0x44, 0xd6, 0xed, 0x5c, 0x57, 0xc8, - 0x94, 0xbf, 0x73, 0xee, 0xae, 0x94, 0xec, 0xd4, 0x5b, 0xc9, 0xee, 0x3f, 0x4e, 0x44, 0xff, 0xc8, - 0x01, 0x9a, 0xd7, 0x07, 0xe8, 0x3d, 0xa8, 0x04, 0x9e, 0x63, 0xa4, 0x1f, 0x4e, 0xca, 0x81, 0xe7, - 0xf4, 0xc4, 0xdb, 0xc9, 0x3d, 0xf1, 0xcd, 0x65, 0xc6, 0x37, 0xbf, 0x28, 0xbe, 0x85, 0x3b, 0xe2, - 0x6b, 0xdf, 0x8e, 0xaf, 0x9a, 0xf9, 0x51, 0x34, 0xbf, 0x98, 0x95, 0x02, 0x5c, 0x7c, 0xdb, 0x01, - 0x3e, 0x86, 0x5a, 0xfa, 0x31, 0x81, 0x63, 0x63, 0x19, 0x52, 0x91, 0xf2, 0xe2, 0xfd, 0x74, 0x79, - 0x97, 0xf8, 0x59, 0x47, 0xf3, 0x73, 0xa8, 0xa6, 0x1e, 0x12, 0x56, 0x86, 0x63, 0xa8, 0xa6, 0x6a, - 0x18, 0xda, 0x02, 0x15, 0x4f, 0x4c, 0x2b, 0x7a, 0x07, 0xea, 0x3d, 0xd2, 0x65, 0x13, 0x69, 0x50, - 0xf4, 0x29, 0xbe, 0x74, 0x26, 0x92, 0xa1, 0xf7, 0x48, 0x8f, 0xda, 0x1c, 0x41, 0xf1, 0x10, 0x4f, - 0xe4, 0xf9, 0xe7, 0x08, 0xd1, 0xec, 0xd6, 0x00, 0x84, 0x5e, 0x33, 0xd8, 0xd4, 0xc7, 0xcd, 0x5f, - 0x2b, 0xd1, 0xab, 0x0f, 0xe6, 0xf1, 0x69, 0x40, 0xd9, 0x64, 0x0c, 0x8f, 0x7d, 0x71, 0x78, 0xf8, - 0x85, 0x4d, 0xda, 0xa8, 0x03, 0x8f, 0x7d, 0x4c, 0x0d, 0x46, 0xa7, 0x46, 0xfc, 0xb6, 0x91, 0xcb, - 0x7a, 0xdb, 0x58, 0xf3, 0x31, 0xbd, 0xa0, 0xd3, 0x8b, 0xe8, 0x85, 0x63, 0x9b, 0x7f, 0x95, 0x70, - 0x02, 0xe2, 0x45, 0xb7, 0x52, 0x3c, 0x5e, 0x4c, 0xcf, 0xbc, 0xe6, 0x1f, 0x73, 0x00, 0xb3, 0xa7, - 0x00, 0xf4, 0x01, 0xd4, 0x4c, 0xd7, 0x25, 0xd7, 0x06, 0xa1, 0xce, 0xd0, 0xf1, 0xa2, 0x93, 0x5c, - 0x15, 0x7d, 0x67, 0xa2, 0x8b, 0x9f, 0x43, 0x69, 0x22, 0xc5, 0x56, 0x7c, 0x8c, 0x25, 0xee, 0x85, - 0xec, 0x9b, 0x19, 0xdd, 0xa8, 0x94, 0x91, 0x51, 0x9c, 0xd3, 0x3f, 0x82, 0x75, 0x3c, 0xf1, 0xc9, - 0xad, 0x92, 0x58, 0xd1, 0xd7, 0x64, 0x6f, 0x6c, 0xb6, 0x0f, 0xa5, 0xb1, 0x39, 0x31, 0xcc, 0xa1, - 0x7c, 0xf7, 0x59, 0xb8, 0xf0, 0xe2, 0xd8, 0x9c, 0x74, 0x86, 0x18, 0x7d, 0x05, 0x1b, 0x72, 0x7e, - 0x8b, 0x62, 0x1b, 0x7b, 0xcc, 0x31, 0xdd, 0x20, 0x7a, 0x12, 0x6a, 0xcc, 0xa1, 0xbb, 0x84, 0xb8, - 0x2f, 0xf9, 0xf9, 0xd3, 0xeb, 0x02, 0x74, 0x32, 0xc3, 0x34, 0xff, 0xa0, 0x02, 0x9a, 0x7f, 0xb5, - 0x41, 0xcf, 0x40, 0xb5, 0xb1, 0x6b, 0x4e, 0x97, 0xf9, 0x68, 0x9c, 0x43, 0xb7, 0x4e, 0x39, 0x54, - 0x97, 0x0c, 0x9c, 0xca, 0x1c, 0xc4, 0xc9, 0x74, 0x65, 0xaa, 0x0e, 0x87, 0xea, 0x92, 0xa1, 0xf1, - 0xab, 0x1c, 0xa8, 0x82, 0x1b, 0xbd, 0x0f, 0x25, 0x1f, 0x53, 0x0b, 0x7b, 0xf2, 0xe0, 0xaa, 0xa2, - 0xb2, 0xc6, 0x5d, 0xe8, 0x08, 0xaa, 0x97, 0xce, 0x04, 0xdb, 0x86, 0x5c, 0x43, 0xd6, 0x71, 0xea, - 0x3d, 0xd2, 0x41, 0xd8, 0x4b, 0xee, 0x1e, 0x6c, 0xf0, 0x0d, 0xf2, 0x64, 0x88, 0x22, 0x8e, 0x7c, - 0x36, 0x47, 0x3d, 0x85, 0x92, 0x4c, 0x5d, 0x80, 0xc8, 0xa5, 0xd9, 0xe6, 0x2e, 0xaa, 0xeb, 0xe7, - 0xd2, 0x58, 0x4f, 0xa1, 0xba, 0x1b, 0xf0, 0x78, 0xc4, 0x98, 0x2f, 0xdd, 0x10, 0x77, 0xab, 0xf1, - 0x5a, 0x01, 0x55, 0xc4, 0x25, 0x23, 0x0c, 0x1f, 0x40, 0x55, 0x40, 0x03, 0x66, 0xb2, 0x30, 0x90, - 0x95, 0x92, 0xaf, 0x95, 0x77, 0xf6, 0x45, 0x1f, 0x37, 0x19, 0x52, 0xdf, 0x8a, 0x4d, 0xe2, 0x2b, - 0x0d, 0xbc, 0x73, 0x66, 0xc2, 0x01, 0xfb, 0x06, 0x16, 0xcf, 0x77, 0x85, 0xd8, 0x44, 0x74, 0x3e, - 0x11, 0x8f, 0x73, 0x6f, 0x63, 0x9d, 0x35, 0x00, 0x31, 0x81, 0x4c, 0x1f, 0x4f, 0xa1, 0x96, 0x7e, - 0x4a, 0xe6, 0xe9, 0xc8, 0x0b, 0xc7, 0x03, 0x4c, 0xc5, 0x3a, 0xd7, 0x78, 0x3a, 0x92, 0x6d, 0xb4, - 0x09, 0x05, 0xcf, 0x8c, 0xbe, 0xc4, 0xb8, 0x5f, 0xa2, 0xd5, 0x2d, 0xca, 0x02, 0xd3, 0xfc, 0x3a, - 0x94, 0xa2, 0xc9, 0x66, 0x19, 0x99, 0x33, 0x28, 0x51, 0x46, 0xee, 0xb6, 0xfe, 0xfa, 0x66, 0x47, - 0xf9, 0xfb, 0x9b, 0x1d, 0xe5, 0xf5, 0x9b, 0x1d, 0xe5, 0xa7, 0xbb, 0xd2, 0x67, 0x87, 0xb4, 0x4d, - 0xdf, 0x69, 0xdf, 0xf1, 0x0f, 0x8c, 0x41, 0x51, 0xec, 0xfc, 0xc1, 0xbf, 0x03, 0x00, 0x00, 0xff, - 0xff, 0x3d, 0x3a, 0x29, 0x1e, 0xde, 0x18, 0x00, 0x00, -} diff --git a/tools/all/Dockerfile b/tools/all/Dockerfile index 0c8c47956e2..bbd60038fb8 100644 --- a/tools/all/Dockerfile +++ b/tools/all/Dockerfile @@ -8,7 +8,7 @@ RUN apk update && \ FROM gcr.io/istio-testing/protolock:2018-10-23 as protolock -FROM gcr.io/istio-testing/protoc:2018-06-12 +FROM gcr.io/istio-testing/protoc:2019-02-23 COPY --from=protolock \ /usr/bin/protolock \ From 70ec2edd6400cf88f150c24d7daef7bb1f538713 Mon Sep 17 00:00:00 2001 From: mtail Date: Sun, 24 Feb 2019 07:04:18 -0800 Subject: [PATCH 09/34] Revert "Update to latest tools." This reverts commit 231fadc5 which I accidentally pushed to the wrong place. --- .circleci/config.yml | 2 +- Makefile | 4 +- mesh/v1alpha1/config.pb.go | 800 ++----- mesh/v1alpha1/network.pb.go | 374 +--- mesh/v1alpha1/proxy.pb.go | 552 ++--- networking/v1alpha3/destination_rule.pb.go | 1256 +++-------- networking/v1alpha3/envoy_filter.pb.go | 442 +--- networking/v1alpha3/gateway.pb.go | 468 +--- networking/v1alpha3/service_entry.pb.go | 320 +-- networking/v1alpha3/sidecar.pb.go | 405 +--- networking/v1alpha3/virtual_service.pb.go | 2246 ++++---------------- tools/all/Dockerfile | 2 +- 12 files changed, 1585 insertions(+), 5286 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 26ed9e5ed41..a3edfcf89f0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 defaults: &defaults working_directory: /src/istio.io/api docker: - - image: gcr.io/istio-testing/api-build-tools:2019-02-23 + - image: gcr.io/istio-testing/api-build-tools:2018-10-31 environment: GOPATH: /go OUT_PATH: /src diff --git a/Makefile b/Makefile index 9dbaa491a7f..5d804e31ac5 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,9 @@ out_path = $(OUT_PATH) docker_lock = protolock docker_tool = prototool else -gen_img := gcr.io/istio-testing/protoc:2019-02-23 +gen_img := gcr.io/istio-testing/protoc:2018-06-12 lock_img := gcr.io/istio-testing/protolock:2018-10-23 -all_img := gcr.io/istio-testing/api-build-tools:2019-02-23 +all_img := gcr.io/istio-testing/api-build-tools:2018-10-31 pwd := $(shell pwd) mount_dir := /src repo_dir := istio.io/api diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 19ae37cb2c2..06a61fd9bf0 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -1,18 +1,34 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mesh/v1alpha1/config.proto -// Configuration affecting the service mesh as a whole. - +/* + Package v1alpha1 is a generated protocol buffer package. + + Configuration affecting the service mesh as a whole. + + It is generated from these files: + mesh/v1alpha1/config.proto + mesh/v1alpha1/network.proto + mesh/v1alpha1/proxy.proto + + It has these top-level messages: + MeshConfig + ConfigSource + LocalityLoadBalancerSetting + Network + MeshNetworks + Tracing + ProxyConfig +*/ package v1alpha1 -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - types "github.com/gogo/protobuf/types" - io "io" - v1alpha3 "istio.io/api/networking/v1alpha3" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import google_protobuf "github.com/gogo/protobuf/types" +import istio_networking_v1alpha31 "istio.io/api/networking/v1alpha3" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -49,7 +65,6 @@ var MeshConfig_IngressControllerMode_name = map[int32]string{ 1: "DEFAULT", 2: "STRICT", } - var MeshConfig_IngressControllerMode_value = map[string]int32{ "OFF": 0, "DEFAULT": 1, @@ -59,9 +74,8 @@ var MeshConfig_IngressControllerMode_value = map[string]int32{ func (x MeshConfig_IngressControllerMode) String() string { return proto.EnumName(MeshConfig_IngressControllerMode_name, int32(x)) } - func (MeshConfig_IngressControllerMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{0, 0} + return fileDescriptorConfig, []int{0, 0} } // $hide_from_docs @@ -76,7 +90,6 @@ var MeshConfig_AuthPolicy_name = map[int32]string{ 0: "NONE", 1: "MUTUAL_TLS", } - var MeshConfig_AuthPolicy_value = map[string]int32{ "NONE": 0, "MUTUAL_TLS": 1, @@ -85,9 +98,8 @@ var MeshConfig_AuthPolicy_value = map[string]int32{ func (x MeshConfig_AuthPolicy) String() string { return proto.EnumName(MeshConfig_AuthPolicy_name, int32(x)) } - func (MeshConfig_AuthPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{0, 1} + return fileDescriptorConfig, []int{0, 1} } type MeshConfig_AccessLogEncoding int32 @@ -101,7 +113,6 @@ var MeshConfig_AccessLogEncoding_name = map[int32]string{ 0: "TEXT", 1: "JSON", } - var MeshConfig_AccessLogEncoding_value = map[string]int32{ "TEXT": 0, "JSON": 1, @@ -110,9 +121,8 @@ var MeshConfig_AccessLogEncoding_value = map[string]int32{ func (x MeshConfig_AccessLogEncoding) String() string { return proto.EnumName(MeshConfig_AccessLogEncoding_name, int32(x)) } - func (MeshConfig_AccessLogEncoding) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{0, 2} + return fileDescriptorConfig, []int{0, 2} } type MeshConfig_OutboundTrafficPolicy_Mode int32 @@ -130,7 +140,6 @@ var MeshConfig_OutboundTrafficPolicy_Mode_name = map[int32]string{ 0: "REGISTRY_ONLY", 1: "ALLOW_ANY", } - var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{ "REGISTRY_ONLY": 0, "ALLOW_ANY": 1, @@ -139,9 +148,8 @@ var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{ func (x MeshConfig_OutboundTrafficPolicy_Mode) String() string { return proto.EnumName(MeshConfig_OutboundTrafficPolicy_Mode_name, int32(x)) } - func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{0, 0, 0} + return fileDescriptorConfig, []int{0, 0, 0} } // MeshConfig defines mesh-wide variables shared by all Envoy instances in the @@ -182,9 +190,9 @@ type MeshConfig struct { // Port on which Envoy should listen for HTTP PROXY requests if set. ProxyHttpPort int32 `protobuf:"varint,5,opt,name=proxy_http_port,json=proxyHttpPort,proto3" json:"proxy_http_port,omitempty"` // Connection timeout used by Envoy. (MUST BE >=1ms) - ConnectTimeout *types.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` + ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. - TcpKeepalive *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` + TcpKeepalive *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` // Class of ingress resources to be processed by Istio ingress // controller. This corresponds to the value of // "kubernetes.io/ingress.class" annotation. @@ -194,9 +202,9 @@ type MeshConfig struct { // Defines whether to use Istio ingress controller for annotated or all ingress resources. IngressControllerMode MeshConfig_IngressControllerMode `protobuf:"varint,9,opt,name=ingress_controller_mode,json=ingressControllerMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_IngressControllerMode" json:"ingress_controller_mode,omitempty"` // $hide_from_docs - AuthPolicy MeshConfig_AuthPolicy `protobuf:"varint,10,opt,name=auth_policy,json=authPolicy,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AuthPolicy" json:"auth_policy,omitempty"` // Deprecated: Do not use. + AuthPolicy MeshConfig_AuthPolicy `protobuf:"varint,10,opt,name=auth_policy,json=authPolicy,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AuthPolicy" json:"auth_policy,omitempty"` // $hide_from_docs - RdsRefreshDelay *types.Duration `protobuf:"bytes,11,opt,name=rds_refresh_delay,json=rdsRefreshDelay,proto3" json:"rds_refresh_delay,omitempty"` // Deprecated: Do not use. + RdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,11,opt,name=rds_refresh_delay,json=rdsRefreshDelay" json:"rds_refresh_delay,omitempty"` // Flag to control generation of trace spans and request IDs. // Requires a trace span collector defined in the proxy configuration. EnableTracing bool `protobuf:"varint,12,opt,name=enable_tracing,json=enableTracing,proto3" json:"enable_tracing,omitempty"` @@ -214,9 +222,9 @@ type MeshConfig struct { // In case of Kubernetes, the proxy config is applied once during the injection process, // and remain constant for the duration of the pod. The rest of the mesh config can be changed // at runtime and config gets distributed dynamically. - DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"` + DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig" json:"default_config,omitempty"` // $hide_from_docs - MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"` // Deprecated: Do not use. + MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"` // Set the default behavior of the sidecar for handling outbound traffic // from the application. If your application uses one or more external // services that are not known apriori, setting the policy to ALLOW_ANY @@ -225,18 +233,18 @@ type MeshConfig struct { // encouraged to use ServiceEntries to explicitly declare any external // dependencies, instead of using allow_any, so that traffic to these // services can be monitored. - OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy,proto3" json:"outbound_traffic_policy,omitempty"` + OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy" json:"outbound_traffic_policy,omitempty"` // Enables clide side policy checks. EnableClientSidePolicyCheck bool `protobuf:"varint,19,opt,name=enable_client_side_policy_check,json=enableClientSidePolicyCheck,proto3" json:"enable_client_side_policy_check,omitempty"` // Unix Domain Socket through which envoy communicates with NodeAgent SDS to get key/cert for mTLS. // Use secret-mount files instead of SDS if set to empty. SdsUdsPath string `protobuf:"bytes,20,opt,name=sds_uds_path,json=sdsUdsPath,proto3" json:"sds_uds_path,omitempty"` // $hide_from_docs - SdsRefreshDelay *types.Duration `protobuf:"bytes,21,opt,name=sds_refresh_delay,json=sdsRefreshDelay,proto3" json:"sds_refresh_delay,omitempty"` // Deprecated: Do not use. + SdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,21,opt,name=sds_refresh_delay,json=sdsRefreshDelay" json:"sds_refresh_delay,omitempty"` // ConfigSource describes a source of configuration data for networking // rules, and other Istio configuration artifacts. Multiple data sources // can be configured for a single control plane. - ConfigSources []*ConfigSource `protobuf:"bytes,22,rep,name=config_sources,json=configSources,proto3" json:"config_sources,omitempty"` + ConfigSources []*ConfigSource `protobuf:"bytes,22,rep,name=config_sources,json=configSources" 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 @@ -281,21 +289,21 @@ type MeshConfig struct { // // For further discussion see the reference documentation for ServiceEntry, // Sidecar, and Gateway. - DefaultServiceExportTo []string `protobuf:"bytes,31,rep,name=default_service_export_to,json=defaultServiceExportTo,proto3" json:"default_service_export_to,omitempty"` + DefaultServiceExportTo []string `protobuf:"bytes,31,rep,name=default_service_export_to,json=defaultServiceExportTo" json:"default_service_export_to,omitempty"` // $hide_from_docs // The default value for the VirtualService.export_to field. Has the same // syntax as 'default_service_export_to'. // // If not set the system will use "*" as the default value which implies that // virtual services are exported to all namespaces - DefaultVirtualServiceExportTo []string `protobuf:"bytes,32,rep,name=default_virtual_service_export_to,json=defaultVirtualServiceExportTo,proto3" json:"default_virtual_service_export_to,omitempty"` + DefaultVirtualServiceExportTo []string `protobuf:"bytes,32,rep,name=default_virtual_service_export_to,json=defaultVirtualServiceExportTo" json:"default_virtual_service_export_to,omitempty"` // $hide_from_docs // The default value for the DestinationRule.export_to field. Has the same // syntax as 'default_service_export_to'. // // If not set the system will use "*" as the default value which implies that // destination rules are exported to all namespaces - DefaultDestinationRuleExportTo []string `protobuf:"bytes,33,rep,name=default_destination_rule_export_to,json=defaultDestinationRuleExportTo,proto3" json:"default_destination_rule_export_to,omitempty"` + DefaultDestinationRuleExportTo []string `protobuf:"bytes,33,rep,name=default_destination_rule_export_to,json=defaultDestinationRuleExportTo" 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 @@ -313,44 +321,13 @@ type MeshConfig struct { // 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"` // Locality based load balancing distribution or failover settings. - LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MeshConfig) Reset() { *m = MeshConfig{} } -func (m *MeshConfig) String() string { return proto.CompactTextString(m) } -func (*MeshConfig) ProtoMessage() {} -func (*MeshConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{0} -} -func (m *MeshConfig) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MeshConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MeshConfig.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MeshConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_MeshConfig.Merge(m, src) -} -func (m *MeshConfig) XXX_Size() int { - return m.Size() -} -func (m *MeshConfig) XXX_DiscardUnknown() { - xxx_messageInfo_MeshConfig.DiscardUnknown(m) + LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting" json:"locality_lb_setting,omitempty"` } -var xxx_messageInfo_MeshConfig proto.InternalMessageInfo +func (m *MeshConfig) Reset() { *m = MeshConfig{} } +func (m *MeshConfig) String() string { return proto.CompactTextString(m) } +func (*MeshConfig) ProtoMessage() {} +func (*MeshConfig) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0} } func (m *MeshConfig) GetMixerCheckServer() string { if m != nil { @@ -401,14 +378,14 @@ func (m *MeshConfig) GetProxyHttpPort() int32 { return 0 } -func (m *MeshConfig) GetConnectTimeout() *types.Duration { +func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration { if m != nil { return m.ConnectTimeout } return nil } -func (m *MeshConfig) GetTcpKeepalive() *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive { +func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive { if m != nil { return m.TcpKeepalive } @@ -436,7 +413,6 @@ func (m *MeshConfig) GetIngressControllerMode() MeshConfig_IngressControllerMode return MeshConfig_OFF } -// Deprecated: Do not use. func (m *MeshConfig) GetAuthPolicy() MeshConfig_AuthPolicy { if m != nil { return m.AuthPolicy @@ -444,8 +420,7 @@ func (m *MeshConfig) GetAuthPolicy() MeshConfig_AuthPolicy { return MeshConfig_NONE } -// Deprecated: Do not use. -func (m *MeshConfig) GetRdsRefreshDelay() *types.Duration { +func (m *MeshConfig) GetRdsRefreshDelay() *google_protobuf.Duration { if m != nil { return m.RdsRefreshDelay } @@ -487,7 +462,6 @@ func (m *MeshConfig) GetDefaultConfig() *ProxyConfig { return nil } -// Deprecated: Do not use. func (m *MeshConfig) GetMixerAddress() string { if m != nil { return m.MixerAddress @@ -516,8 +490,7 @@ func (m *MeshConfig) GetSdsUdsPath() string { return "" } -// Deprecated: Do not use. -func (m *MeshConfig) GetSdsRefreshDelay() *types.Duration { +func (m *MeshConfig) GetSdsRefreshDelay() *google_protobuf.Duration { if m != nil { return m.SdsRefreshDelay } @@ -588,44 +561,15 @@ func (m *MeshConfig) GetLocalityLbSetting() *LocalityLoadBalancerSetting { } type MeshConfig_OutboundTrafficPolicy struct { - Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` } func (m *MeshConfig_OutboundTrafficPolicy) Reset() { *m = MeshConfig_OutboundTrafficPolicy{} } func (m *MeshConfig_OutboundTrafficPolicy) String() string { return proto.CompactTextString(m) } func (*MeshConfig_OutboundTrafficPolicy) ProtoMessage() {} func (*MeshConfig_OutboundTrafficPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{0, 0} -} -func (m *MeshConfig_OutboundTrafficPolicy) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MeshConfig_OutboundTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MeshConfig_OutboundTrafficPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.Merge(m, src) + return fileDescriptorConfig, []int{0, 0} } -func (m *MeshConfig_OutboundTrafficPolicy) XXX_Size() int { - return m.Size() -} -func (m *MeshConfig_OutboundTrafficPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.DiscardUnknown(m) -} - -var xxx_messageInfo_MeshConfig_OutboundTrafficPolicy proto.InternalMessageInfo func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficPolicy_Mode { if m != nil { @@ -645,44 +589,13 @@ type ConfigSource struct { // Use the tls_settings to specify the tls mode to use. If the MCP server // uses Istio MTLS and shares the root CA with Pilot, specify the TLS // 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:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigSource) Reset() { *m = ConfigSource{} } -func (m *ConfigSource) String() string { return proto.CompactTextString(m) } -func (*ConfigSource) ProtoMessage() {} -func (*ConfigSource) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{1} -} -func (m *ConfigSource) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ConfigSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ConfigSource.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ConfigSource) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigSource.Merge(m, src) -} -func (m *ConfigSource) XXX_Size() int { - return m.Size() -} -func (m *ConfigSource) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigSource.DiscardUnknown(m) + TlsSettings *istio_networking_v1alpha31.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"` } -var xxx_messageInfo_ConfigSource proto.InternalMessageInfo +func (m *ConfigSource) Reset() { *m = ConfigSource{} } +func (m *ConfigSource) String() string { return proto.CompactTextString(m) } +func (*ConfigSource) ProtoMessage() {} +func (*ConfigSource) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{1} } func (m *ConfigSource) GetAddress() string { if m != nil { @@ -691,7 +604,7 @@ func (m *ConfigSource) GetAddress() string { return "" } -func (m *ConfigSource) GetTlsSettings() *v1alpha3.TLSSettings { +func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha31.TLSSettings { if m != nil { return m.TlsSettings } @@ -750,50 +663,21 @@ type LocalityLoadBalancerSetting struct { // 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) // 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"` + Distribute []*LocalityLoadBalancerSetting_Distribute `protobuf:"bytes,1,rep,name=distribute" json:"distribute,omitempty"` // Optional: only failover or distribute can be set. // Explicitly specify the region traffic will land on when endpoints in local region becomes unhealthy. // Should be used together with OutlierDetection to detect unhealthy endpoints. // Note: if no OutlierDetection specified, this will not take effect. - Failover []*LocalityLoadBalancerSetting_Failover `protobuf:"bytes,2,rep,name=failover,proto3" json:"failover,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Failover []*LocalityLoadBalancerSetting_Failover `protobuf:"bytes,2,rep,name=failover" json:"failover,omitempty"` } func (m *LocalityLoadBalancerSetting) Reset() { *m = LocalityLoadBalancerSetting{} } func (m *LocalityLoadBalancerSetting) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting) ProtoMessage() {} func (*LocalityLoadBalancerSetting) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{2} -} -func (m *LocalityLoadBalancerSetting) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *LocalityLoadBalancerSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LocalityLoadBalancerSetting.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *LocalityLoadBalancerSetting) XXX_Merge(src proto.Message) { - xxx_messageInfo_LocalityLoadBalancerSetting.Merge(m, src) -} -func (m *LocalityLoadBalancerSetting) XXX_Size() int { - return m.Size() -} -func (m *LocalityLoadBalancerSetting) XXX_DiscardUnknown() { - xxx_messageInfo_LocalityLoadBalancerSetting.DiscardUnknown(m) + return fileDescriptorConfig, []int{2} } -var xxx_messageInfo_LocalityLoadBalancerSetting proto.InternalMessageInfo - func (m *LocalityLoadBalancerSetting) GetDistribute() []*LocalityLoadBalancerSetting_Distribute { if m != nil { return m.Distribute @@ -821,10 +705,7 @@ type LocalityLoadBalancerSetting_Distribute struct { // Map of upstream localities to traffic distribution weights. The sum of // all weights should be == 100. Any locality not assigned a weight will // receive no traffic. - To map[string]uint32 `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + To map[string]uint32 `protobuf:"bytes,2,rep,name=to" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (m *LocalityLoadBalancerSetting_Distribute) Reset() { @@ -833,34 +714,8 @@ func (m *LocalityLoadBalancerSetting_Distribute) Reset() { func (m *LocalityLoadBalancerSetting_Distribute) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting_Distribute) ProtoMessage() {} func (*LocalityLoadBalancerSetting_Distribute) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{2, 0} -} -func (m *LocalityLoadBalancerSetting_Distribute) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *LocalityLoadBalancerSetting_Distribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *LocalityLoadBalancerSetting_Distribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Merge(m, src) -} -func (m *LocalityLoadBalancerSetting_Distribute) XXX_Size() int { - return m.Size() + return fileDescriptorConfig, []int{2, 0} } -func (m *LocalityLoadBalancerSetting_Distribute) XXX_DiscardUnknown() { - xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.DiscardUnknown(m) -} - -var xxx_messageInfo_LocalityLoadBalancerSetting_Distribute proto.InternalMessageInfo func (m *LocalityLoadBalancerSetting_Distribute) GetFrom() string { if m != nil { @@ -888,44 +743,15 @@ type LocalityLoadBalancerSetting_Failover struct { From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` // Destination region the traffic will fail over to when endpoints in // the 'from' region becomes unhealthy. - To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` } func (m *LocalityLoadBalancerSetting_Failover) Reset() { *m = LocalityLoadBalancerSetting_Failover{} } func (m *LocalityLoadBalancerSetting_Failover) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting_Failover) ProtoMessage() {} func (*LocalityLoadBalancerSetting_Failover) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c7ece76d5d5022, []int{2, 1} -} -func (m *LocalityLoadBalancerSetting_Failover) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *LocalityLoadBalancerSetting_Failover) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *LocalityLoadBalancerSetting_Failover) XXX_Merge(src proto.Message) { - xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Merge(m, src) -} -func (m *LocalityLoadBalancerSetting_Failover) XXX_Size() int { - return m.Size() + return fileDescriptorConfig, []int{2, 1} } -func (m *LocalityLoadBalancerSetting_Failover) XXX_DiscardUnknown() { - xxx_messageInfo_LocalityLoadBalancerSetting_Failover.DiscardUnknown(m) -} - -var xxx_messageInfo_LocalityLoadBalancerSetting_Failover proto.InternalMessageInfo func (m *LocalityLoadBalancerSetting_Failover) GetFrom() string { if m != nil { @@ -942,117 +768,17 @@ func (m *LocalityLoadBalancerSetting_Failover) GetTo() string { } func init() { - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) proto.RegisterType((*MeshConfig)(nil), "istio.mesh.v1alpha1.MeshConfig") proto.RegisterType((*MeshConfig_OutboundTrafficPolicy)(nil), "istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy") proto.RegisterType((*ConfigSource)(nil), "istio.mesh.v1alpha1.ConfigSource") proto.RegisterType((*LocalityLoadBalancerSetting)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting") proto.RegisterType((*LocalityLoadBalancerSetting_Distribute)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute") - proto.RegisterMapType((map[string]uint32)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute.ToEntry") proto.RegisterType((*LocalityLoadBalancerSetting_Failover)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Failover") + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) } - -func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptor_b5c7ece76d5d5022) } - -var fileDescriptor_b5c7ece76d5d5022 = []byte{ - // 1461 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xb8, - 0x15, 0x36, 0x65, 0x25, 0x96, 0x8f, 0x7e, 0x4c, 0xc1, 0x71, 0x96, 0x56, 0xba, 0x5e, 0x59, 0x3b, - 0x49, 0x34, 0x9e, 0x0e, 0xdd, 0xd8, 0xb3, 0x33, 0xc9, 0xf6, 0xca, 0x96, 0xe4, 0x8d, 0xbd, 0xb2, - 0xe5, 0xa1, 0xe8, 0xb4, 0x69, 0x2f, 0x50, 0x98, 0x84, 0x24, 0xd4, 0x14, 0xc1, 0x21, 0x40, 0x27, - 0x7a, 0xa7, 0x76, 0xa6, 0x8f, 0xd1, 0xcb, 0x3e, 0x42, 0x27, 0x77, 0x7d, 0x8b, 0x0e, 0x01, 0xd2, - 0x52, 0xbc, 0x9a, 0xb8, 0xe9, 0xde, 0x11, 0xdf, 0xf9, 0xce, 0x07, 0xe2, 0x9c, 0x83, 0x8f, 0x84, - 0xc6, 0x94, 0x8a, 0xc9, 0xfe, 0xed, 0x2b, 0x12, 0x44, 0x13, 0xf2, 0x6a, 0xdf, 0xe3, 0xe1, 0x88, - 0x8d, 0xed, 0x28, 0xe6, 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x76, 0xca, 0xb0, 0x73, 0x46, 0x63, - 0x67, 0xcc, 0xf9, 0x38, 0xa0, 0xfb, 0x8a, 0x72, 0x9d, 0x8c, 0xf6, 0xfd, 0x24, 0x26, 0x92, 0xf1, - 0x50, 0x27, 0x35, 0xb6, 0x3f, 0x17, 0x8c, 0x62, 0xfe, 0x71, 0x96, 0x85, 0xf6, 0x42, 0x2a, 0x3f, - 0xf0, 0xf8, 0x86, 0x85, 0xe3, 0x9c, 0x70, 0xb8, 0xef, 0x53, 0x21, 0x59, 0xa8, 0x14, 0x70, 0x9c, - 0x04, 0x54, 0x73, 0x5b, 0xff, 0x41, 0x00, 0xe7, 0x54, 0x4c, 0x3a, 0xea, 0x85, 0xd0, 0x6f, 0x01, - 0x4d, 0xd9, 0x47, 0x1a, 0x63, 0x6f, 0x42, 0xbd, 0x1b, 0x2c, 0x68, 0x7c, 0x4b, 0x63, 0xcb, 0x68, - 0x1a, 0xed, 0x75, 0xc7, 0x54, 0x91, 0x4e, 0x1a, 0x18, 0x2a, 0x1c, 0xd9, 0xb0, 0xa9, 0xd9, 0x31, - 0x8d, 0x78, 0x2c, 0x73, 0x7a, 0x41, 0xd1, 0xeb, 0x2a, 0xe4, 0xa8, 0x48, 0xc6, 0x3f, 0x80, 0x2d, - 0x9f, 0x09, 0x72, 0x1d, 0x50, 0x1c, 0xf1, 0x80, 0x79, 0x33, 0xbd, 0x8d, 0xb0, 0x56, 0x9b, 0x46, - 0xbb, 0xe4, 0x6c, 0x66, 0xc1, 0x4b, 0x15, 0x53, 0x1b, 0x09, 0x74, 0x08, 0x4f, 0x17, 0xb9, 0x78, - 0x44, 0x58, 0x80, 0x79, 0x44, 0x43, 0x6b, 0x5b, 0x27, 0x45, 0x73, 0xf6, 0x09, 0x61, 0xc1, 0x20, - 0xa2, 0x21, 0xba, 0x84, 0xe7, 0x82, 0xf9, 0xd4, 0x23, 0x31, 0x96, 0x1c, 0x4b, 0x1a, 0xd0, 0x29, - 0x95, 0xf1, 0x0c, 0x0b, 0x2a, 0x44, 0x5a, 0x00, 0x32, 0x1a, 0xb1, 0x90, 0xc9, 0x99, 0xb5, 0xa3, - 0x34, 0x76, 0x33, 0xb2, 0xcb, 0xdd, 0x9c, 0x3a, 0xd4, 0xcc, 0xa3, 0x8c, 0x88, 0xf6, 0xa0, 0xae, - 0x4a, 0x8c, 0x03, 0x26, 0x24, 0x0d, 0x71, 0x7a, 0x2a, 0xab, 0xd8, 0x34, 0xda, 0x8f, 0x9c, 0x0d, - 0x15, 0xe8, 0x2b, 0xfc, 0x92, 0xc7, 0x12, 0xbd, 0x00, 0x0d, 0xe1, 0x89, 0x94, 0x91, 0x66, 0x3e, - 0x52, 0xcc, 0xaa, 0x82, 0xdf, 0x4a, 0x19, 0x29, 0xde, 0x31, 0x6c, 0x78, 0x3c, 0x0c, 0xa9, 0x27, - 0xb1, 0x64, 0x53, 0xca, 0x13, 0x69, 0x3d, 0x6e, 0x1a, 0xed, 0xf2, 0xc1, 0xb6, 0xad, 0x9b, 0x6f, - 0xe7, 0xcd, 0xb7, 0xbb, 0x59, 0xf3, 0x9d, 0x5a, 0x96, 0xe1, 0xea, 0x04, 0xc4, 0xa1, 0x2a, 0xbd, - 0x08, 0xdf, 0x50, 0x1a, 0x91, 0x80, 0xdd, 0x52, 0xeb, 0x37, 0x4a, 0xe1, 0xcc, 0xd6, 0x33, 0x35, - 0x9f, 0x84, 0x7c, 0xb2, 0x0e, 0xed, 0x8e, 0x56, 0x60, 0x3c, 0xbc, 0xe4, 0x3c, 0x18, 0x52, 0x29, - 0x59, 0x38, 0x16, 0xb6, 0xdb, 0xb9, 0x9c, 0x3f, 0x7b, 0xd1, 0xcf, 0xb9, 0xa2, 0x53, 0x91, 0x0b, - 0x2b, 0xf4, 0x3d, 0x54, 0x59, 0x38, 0x8e, 0xa9, 0x10, 0xd8, 0x0b, 0x88, 0x10, 0xd6, 0x9a, 0xea, - 0x76, 0x25, 0x03, 0x3b, 0x29, 0x86, 0x5e, 0xc2, 0x46, 0x4e, 0x4a, 0x67, 0x82, 0x79, 0xd4, 0x2a, - 0x29, 0x5a, 0x2d, 0x83, 0x87, 0x1a, 0x45, 0x53, 0xf8, 0xe6, 0x4e, 0x8d, 0x87, 0x32, 0xe6, 0x41, - 0x40, 0x63, 0x3c, 0xe5, 0x3e, 0xb5, 0xd6, 0x9b, 0x46, 0xbb, 0x76, 0xf0, 0x83, 0xbd, 0xe4, 0x72, - 0xd8, 0xf3, 0x89, 0xb5, 0x4f, 0xb3, 0x7d, 0xef, 0xb2, 0xcf, 0xb9, 0x4f, 0x9d, 0x2d, 0xb6, 0x0c, - 0x46, 0x03, 0x28, 0x93, 0x44, 0x4e, 0xb2, 0xe9, 0xb3, 0x40, 0x6d, 0xb1, 0xf7, 0xd0, 0x16, 0x47, - 0x89, 0x9c, 0xe8, 0x99, 0x3c, 0x2e, 0x58, 0x86, 0x03, 0xe4, 0x6e, 0x8d, 0x4e, 0xa1, 0x1e, 0xfb, - 0x02, 0xc7, 0x74, 0x14, 0x53, 0x31, 0xc1, 0x3e, 0x0d, 0xc8, 0xcc, 0x2a, 0x3f, 0xd0, 0x44, 0xa5, - 0xb2, 0x11, 0xfb, 0xc2, 0xd1, 0x69, 0xdd, 0x34, 0x0b, 0x3d, 0x87, 0x1a, 0x0d, 0xd5, 0xdd, 0x90, - 0x31, 0xf1, 0x58, 0x38, 0xb6, 0x2a, 0x6a, 0x38, 0xab, 0x1a, 0x75, 0x35, 0x98, 0x0e, 0x17, 0xf1, - 0xbc, 0xb4, 0x60, 0x01, 0x1f, 0xe3, 0x11, 0x0b, 0xa8, 0x55, 0x55, 0xa5, 0xad, 0x6a, 0xb8, 0xcf, - 0xc7, 0x27, 0x2c, 0xa0, 0xe9, 0xc0, 0x2e, 0xf2, 0x78, 0x3c, 0x25, 0xd2, 0xb2, 0x14, 0x73, 0x63, - 0xce, 0x54, 0x30, 0x22, 0xb0, 0xb9, 0xc0, 0xa5, 0xa1, 0xc7, 0xfd, 0x74, 0xff, 0x67, 0xaa, 0x3c, - 0xaf, 0x1e, 0x2c, 0x4f, 0xae, 0xd6, 0xcb, 0x12, 0x9d, 0x3a, 0xb9, 0x0f, 0xa1, 0x9f, 0xa0, 0xe6, - 0xd3, 0x11, 0x49, 0x02, 0x89, 0xb5, 0xf7, 0x59, 0x35, 0x55, 0xa5, 0xe6, 0x52, 0xf5, 0xcb, 0xf4, - 0x9e, 0x68, 0x79, 0xa7, 0x9a, 0xe5, 0x65, 0x0e, 0xf5, 0x12, 0xaa, 0xda, 0x73, 0x88, 0xef, 0xa7, - 0x1d, 0xb6, 0xcc, 0xf4, 0x4c, 0xaa, 0xa4, 0x15, 0x15, 0x38, 0xd2, 0x78, 0x3a, 0x5a, 0x3c, 0x91, - 0xd7, 0x3c, 0x09, 0xfd, 0xb4, 0xa2, 0xa3, 0x11, 0xf3, 0xf2, 0xbe, 0xd7, 0xd5, 0xd6, 0x0f, 0x8e, - 0xd6, 0x20, 0x4b, 0x77, 0x75, 0xb6, 0x6e, 0xb9, 0xb3, 0xc5, 0x97, 0xc1, 0xa8, 0x0b, 0xdf, 0x65, - 0xed, 0xf3, 0x02, 0x46, 0x43, 0x89, 0x53, 0x4f, 0xf9, 0xcc, 0xe6, 0xac, 0x4d, 0xd5, 0xcf, 0x67, - 0x9a, 0xd6, 0x51, 0xac, 0x21, 0xf3, 0x17, 0xed, 0x0e, 0x35, 0xa1, 0x22, 0x7c, 0x81, 0x13, 0x5f, - 0xe0, 0x88, 0xc8, 0x89, 0xf5, 0x44, 0x35, 0x0c, 0x84, 0x2f, 0xae, 0x7c, 0x71, 0x49, 0xe4, 0x24, - 0x9d, 0x38, 0xf1, 0x8b, 0x89, 0xdb, 0xfa, 0x9f, 0x26, 0x4e, 0xdc, 0x9b, 0xb8, 0xb7, 0x50, 0xd3, - 0xbd, 0xc0, 0x82, 0x27, 0xb1, 0x47, 0x85, 0xf5, 0xb4, 0xb9, 0xda, 0x2e, 0x1f, 0xec, 0x2e, 0x2d, - 0x8c, 0x2e, 0xca, 0x50, 0x31, 0x9d, 0xaa, 0xb7, 0xb0, 0x52, 0x26, 0x9d, 0x1d, 0x3e, 0x7d, 0x37, - 0xc9, 0x6f, 0x68, 0x88, 0xa7, 0x3c, 0x09, 0xa5, 0xf5, 0x8d, 0x36, 0x69, 0x1d, 0x1d, 0xfa, 0xc2, - 0x4d, 0x63, 0xe7, 0x69, 0x08, 0xed, 0x01, 0x52, 0x67, 0x15, 0x14, 0xdf, 0xbc, 0x16, 0x58, 0x10, - 0xfc, 0xd7, 0x0f, 0xd2, 0xfa, 0x56, 0x25, 0xd4, 0xd2, 0x13, 0x0b, 0xfa, 0xf3, 0x6b, 0x31, 0x24, - 0x67, 0x1f, 0x24, 0xda, 0x85, 0x8a, 0x8c, 0x13, 0x21, 0xb1, 0xcf, 0xa7, 0x84, 0x85, 0x56, 0x43, - 0xd5, 0xa5, 0xac, 0xb0, 0xae, 0x82, 0xd0, 0x1b, 0xd8, 0xce, 0x27, 0x2c, 0xf3, 0x1c, 0x4c, 0x3f, - 0xaa, 0xcf, 0x92, 0xe4, 0xd6, 0x77, 0xcd, 0xd5, 0xf6, 0xba, 0xf3, 0x34, 0x23, 0x64, 0xee, 0xd3, - 0x53, 0x61, 0x97, 0xa3, 0xb7, 0xb0, 0x9b, 0xa7, 0xde, 0xb2, 0x58, 0x26, 0x24, 0x58, 0x22, 0xd1, - 0x54, 0x12, 0xdf, 0x66, 0xc4, 0x77, 0x9a, 0x77, 0x5f, 0xe9, 0x0c, 0x5a, 0xb9, 0xd2, 0xfd, 0x0f, - 0xee, 0x82, 0xd4, 0xae, 0x92, 0xda, 0xc9, 0x98, 0xdd, 0x39, 0xd1, 0x49, 0x82, 0xb9, 0xd6, 0x73, - 0xa8, 0xc5, 0x9c, 0x4b, 0x1c, 0x92, 0x29, 0x15, 0x11, 0xf1, 0xa8, 0xd5, 0xd2, 0x17, 0x3d, 0x45, - 0x2f, 0x72, 0x10, 0xfd, 0x05, 0x36, 0x03, 0xee, 0x91, 0x80, 0xc9, 0x19, 0x0e, 0xae, 0xb1, 0xd0, - 0x1e, 0x6e, 0x7d, 0xaf, 0x46, 0xe2, 0x77, 0x4b, 0x5b, 0xd9, 0xcf, 0xf8, 0x7d, 0x4e, 0xfc, 0x63, - 0x12, 0x90, 0xd0, 0xa3, 0x71, 0xe6, 0xfd, 0x4e, 0x3d, 0x17, 0xeb, 0x5f, 0x67, 0x50, 0xe3, 0xef, - 0x06, 0x6c, 0x2d, 0xbd, 0x0b, 0xe8, 0x02, 0x8a, 0xca, 0xab, 0x0d, 0xe5, 0x14, 0x3f, 0xfe, 0x5f, - 0x17, 0xca, 0x56, 0x86, 0xad, 0x74, 0x5a, 0x5d, 0x28, 0x2a, 0x9f, 0xae, 0x43, 0xd5, 0xe9, 0xfd, - 0x74, 0x3a, 0x74, 0x9d, 0xf7, 0x78, 0x70, 0xd1, 0x7f, 0x6f, 0xae, 0xa0, 0x2a, 0xac, 0x1f, 0xf5, - 0xfb, 0x83, 0x3f, 0xe0, 0xa3, 0x8b, 0xf7, 0xa6, 0xd1, 0x2a, 0x96, 0x0a, 0x66, 0x61, 0xef, 0xc9, - 0xbb, 0x53, 0xc7, 0xbd, 0x3a, 0xea, 0xe3, 0x61, 0xcf, 0x79, 0x77, 0xda, 0xe9, 0x29, 0x72, 0xeb, - 0x0d, 0x6c, 0x2d, 0xfd, 0x2a, 0xa0, 0x35, 0x58, 0x1d, 0x9c, 0x9c, 0x98, 0x2b, 0xa8, 0x0c, 0x6b, - 0xdd, 0xde, 0xc9, 0xd1, 0x55, 0xdf, 0x35, 0x0d, 0x04, 0xf0, 0x78, 0xe8, 0x3a, 0xa7, 0x1d, 0xd7, - 0x2c, 0xb4, 0x5e, 0x00, 0xcc, 0xdd, 0x1e, 0x95, 0xa0, 0x78, 0x31, 0xb8, 0xe8, 0x99, 0x2b, 0xa8, - 0x06, 0x70, 0x7e, 0xa5, 0x76, 0x72, 0xfb, 0x43, 0xd3, 0x68, 0xbd, 0x84, 0xfa, 0x2f, 0x6c, 0x2f, - 0xa5, 0xbb, 0xbd, 0x3f, 0xba, 0xe6, 0x4a, 0xfa, 0x74, 0x36, 0x1c, 0x5c, 0x98, 0xc6, 0x59, 0xb1, - 0xb4, 0x61, 0x9a, 0x67, 0xc5, 0x12, 0x32, 0x37, 0x5b, 0x02, 0x2a, 0x8b, 0x97, 0x08, 0x59, 0xb0, - 0x96, 0x9b, 0x98, 0xfe, 0xc3, 0xca, 0x97, 0xe8, 0x14, 0x2a, 0x32, 0x10, 0x79, 0x2f, 0x85, 0xfa, - 0xa3, 0x2a, 0x1f, 0xbc, 0xf8, 0xc2, 0x47, 0xdd, 0xed, 0x0f, 0xf3, 0xaf, 0xb7, 0x53, 0x96, 0x81, - 0xc8, 0x17, 0xad, 0x7f, 0xac, 0xc2, 0xb3, 0x2f, 0xf4, 0x1b, 0xfd, 0x19, 0xc0, 0x67, 0x42, 0xc6, - 0xec, 0x3a, 0x91, 0x69, 0x23, 0x53, 0x03, 0xf8, 0xfd, 0xd7, 0x4e, 0x8d, 0xdd, 0xbd, 0x93, 0x70, - 0x16, 0xe4, 0xd0, 0x15, 0x94, 0xd2, 0xff, 0x35, 0xae, 0xff, 0x0a, 0x53, 0xe9, 0x37, 0x5f, 0x2d, - 0x7d, 0x92, 0x09, 0x38, 0x77, 0x52, 0x8d, 0xbf, 0x19, 0x00, 0xf3, 0x1d, 0x11, 0x82, 0xe2, 0x28, - 0xe6, 0xd3, 0xac, 0x88, 0xea, 0x19, 0x0d, 0xa1, 0x20, 0x79, 0xb6, 0x67, 0xe7, 0x57, 0x1c, 0xc7, - 0x76, 0x79, 0x2f, 0x94, 0xf1, 0xcc, 0x29, 0x48, 0xde, 0xf8, 0x01, 0xd6, 0xb2, 0x25, 0x32, 0x61, - 0xf5, 0x86, 0xce, 0xb2, 0x2d, 0xd3, 0x47, 0xf4, 0x04, 0x1e, 0xdd, 0x92, 0x20, 0xa1, 0xaa, 0x59, - 0x55, 0x47, 0x2f, 0x7e, 0x2c, 0xbc, 0x36, 0x1a, 0x36, 0x94, 0xf2, 0x43, 0x2c, 0x7d, 0xd7, 0x5a, - 0xf6, 0xae, 0x29, 0x52, 0x90, 0xfc, 0xb8, 0xfd, 0xcf, 0x4f, 0x3b, 0xc6, 0xbf, 0x3e, 0xed, 0x18, - 0xff, 0xfe, 0xb4, 0x63, 0xfc, 0xa9, 0xa1, 0x5f, 0x9e, 0xf1, 0x7d, 0x12, 0xb1, 0xfd, 0xcf, 0xfe, - 0xfa, 0xaf, 0x1f, 0x2b, 0xa7, 0x3f, 0xfc, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5b, 0xff, 0xe8, - 0x08, 0x5e, 0x0c, 0x00, 0x00, -} - func (m *MeshConfig) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1388,9 +1114,6 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n7 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1414,9 +1137,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintConfig(dAtA, i, uint64(m.Mode)) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1451,9 +1171,6 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { } i += n8 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1496,9 +1213,6 @@ func (m *LocalityLoadBalancerSetting) MarshalTo(dAtA []byte) (int, error) { i += n } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1539,9 +1253,6 @@ func (m *LocalityLoadBalancerSetting_Distribute) MarshalTo(dAtA []byte) (int, er i = encodeVarintConfig(dAtA, i, uint64(v)) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1572,9 +1283,6 @@ func (m *LocalityLoadBalancerSetting_Failover) MarshalTo(dAtA []byte) (int, erro i = encodeVarintConfig(dAtA, i, uint64(len(m.To))) i += copy(dAtA[i:], m.To) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1588,9 +1296,6 @@ func encodeVarintConfig(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *MeshConfig) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.MixerCheckServer) @@ -1721,31 +1426,19 @@ func (m *MeshConfig) Size() (n int) { l = m.LocalityLbSetting.Size() n += 2 + l + sovConfig(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Mode != 0 { n += 1 + sovConfig(uint64(m.Mode)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *ConfigSource) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Address) @@ -1756,16 +1449,10 @@ func (m *ConfigSource) Size() (n int) { l = m.TlsSettings.Size() n += 1 + l + sovConfig(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *LocalityLoadBalancerSetting) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Distribute) > 0 { @@ -1780,16 +1467,10 @@ func (m *LocalityLoadBalancerSetting) Size() (n int) { n += 1 + l + sovConfig(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.From) @@ -1804,16 +1485,10 @@ func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) { n += mapEntrySize + 1 + sovConfig(uint64(mapEntrySize)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.From) @@ -1824,9 +1499,6 @@ func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) { if l > 0 { n += 1 + l + sovConfig(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -1858,7 +1530,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1886,7 +1558,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1896,9 +1568,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1918,7 +1587,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1928,9 +1597,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1950,7 +1616,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1970,7 +1636,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyListenPort |= int32(b&0x7F) << shift + m.ProxyListenPort |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -1989,7 +1655,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyHttpPort |= int32(b&0x7F) << shift + m.ProxyHttpPort |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -2008,7 +1674,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2017,14 +1683,11 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &types.Duration{} + m.ConnectTimeout = &google_protobuf.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2044,7 +1707,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2054,9 +1717,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2076,7 +1736,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2086,9 +1746,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2108,7 +1765,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.IngressControllerMode |= MeshConfig_IngressControllerMode(b&0x7F) << shift + m.IngressControllerMode |= (MeshConfig_IngressControllerMode(b) & 0x7F) << shift if b < 0x80 { break } @@ -2127,7 +1784,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AuthPolicy |= MeshConfig_AuthPolicy(b&0x7F) << shift + m.AuthPolicy |= (MeshConfig_AuthPolicy(b) & 0x7F) << shift if b < 0x80 { break } @@ -2146,7 +1803,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2155,14 +1812,11 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } if m.RdsRefreshDelay == nil { - m.RdsRefreshDelay = &types.Duration{} + m.RdsRefreshDelay = &google_protobuf.Duration{} } if err := m.RdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2182,7 +1836,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2202,7 +1856,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2212,9 +1866,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2234,7 +1885,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2243,9 +1894,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2270,7 +1918,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2280,9 +1928,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2302,7 +1947,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2311,9 +1956,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2338,7 +1980,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2358,7 +2000,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2368,9 +2010,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2390,7 +2029,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2399,14 +2038,11 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } if m.SdsRefreshDelay == nil { - m.SdsRefreshDelay = &types.Duration{} + m.SdsRefreshDelay = &google_protobuf.Duration{} } if err := m.SdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2426,7 +2062,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2435,9 +2071,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2460,7 +2093,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2480,7 +2113,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2490,9 +2123,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2512,7 +2142,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2532,7 +2162,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2542,9 +2172,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2564,7 +2191,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AccessLogEncoding |= MeshConfig_AccessLogEncoding(b&0x7F) << shift + m.AccessLogEncoding |= (MeshConfig_AccessLogEncoding(b) & 0x7F) << shift if b < 0x80 { break } @@ -2583,7 +2210,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2592,14 +2219,11 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } if m.TcpKeepalive == nil { - m.TcpKeepalive = &v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + m.TcpKeepalive = &istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} } if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2619,7 +2243,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2639,7 +2263,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2659,7 +2283,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2669,9 +2293,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2691,7 +2312,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2701,9 +2322,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2723,7 +2341,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2733,9 +2351,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2755,7 +2370,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2765,9 +2380,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2787,7 +2399,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2796,9 +2408,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2818,13 +2427,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthConfig - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2849,7 +2454,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2877,7 +2482,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= MeshConfig_OutboundTrafficPolicy_Mode(b&0x7F) << shift + m.Mode |= (MeshConfig_OutboundTrafficPolicy_Mode(b) & 0x7F) << shift if b < 0x80 { break } @@ -2891,13 +2496,9 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthConfig - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2922,7 +2523,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2950,7 +2551,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2960,9 +2561,6 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2982,7 +2580,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2991,14 +2589,11 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } if m.TlsSettings == nil { - m.TlsSettings = &v1alpha3.TLSSettings{} + m.TlsSettings = &istio_networking_v1alpha31.TLSSettings{} } if err := m.TlsSettings.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3013,13 +2608,9 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthConfig - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3044,7 +2635,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3072,7 +2663,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3081,9 +2672,6 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3106,7 +2694,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3115,9 +2703,6 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3135,13 +2720,9 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthConfig - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3166,7 +2747,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3194,7 +2775,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3204,9 +2785,6 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3226,7 +2804,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3235,9 +2813,6 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3258,7 +2833,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3275,7 +2850,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3285,9 +2860,6 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthConfig - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -3303,7 +2875,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvalue |= uint32(b&0x7F) << shift + mapvalue |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -3334,13 +2906,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthConfig - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3365,7 +2933,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3393,7 +2961,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3403,9 +2971,6 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3425,7 +2990,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3435,9 +3000,6 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthConfig - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3452,13 +3014,9 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthConfig - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3522,11 +3080,8 @@ func skipConfig(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthConfig - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthConfig } return iNdEx, nil @@ -3557,9 +3112,6 @@ func skipConfig(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthConfig - } } return iNdEx, nil case 4: @@ -3578,3 +3130,101 @@ var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") ) + +func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } + +var fileDescriptorConfig = []byte{ + // 1463 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xb8, + 0x15, 0x0e, 0x65, 0x27, 0x76, 0x8e, 0x7e, 0x4c, 0xc1, 0x71, 0x96, 0x51, 0xba, 0x5e, 0x59, 0x3b, + 0x49, 0x34, 0x9e, 0x8e, 0xdc, 0x38, 0xb3, 0x33, 0xc9, 0xf6, 0xca, 0x91, 0xe4, 0x8d, 0xbd, 0x8a, + 0xe5, 0xa1, 0xe8, 0xb4, 0x69, 0x2f, 0x50, 0x98, 0x84, 0x24, 0xd4, 0x14, 0xc1, 0x21, 0x40, 0x27, + 0x7a, 0xa7, 0x76, 0xa6, 0x8f, 0xd1, 0xcb, 0x3e, 0x42, 0x27, 0x77, 0x7d, 0x8b, 0x0e, 0x7e, 0x68, + 0x29, 0x59, 0xcd, 0xba, 0xdb, 0xbd, 0x23, 0xbe, 0xf3, 0x9d, 0xef, 0x00, 0xe7, 0x1c, 0xe0, 0x10, + 0x1a, 0x33, 0x2a, 0xa6, 0x07, 0xd7, 0xcf, 0x49, 0x9c, 0x4e, 0xc9, 0xf3, 0x83, 0x90, 0x27, 0x63, + 0x36, 0xe9, 0xa4, 0x19, 0x97, 0x1c, 0x6d, 0x33, 0x21, 0x19, 0xef, 0x28, 0x46, 0xa7, 0x60, 0x34, + 0x76, 0x27, 0x9c, 0x4f, 0x62, 0x7a, 0xa0, 0x29, 0x97, 0xf9, 0xf8, 0x20, 0xca, 0x33, 0x22, 0x19, + 0x4f, 0x8c, 0x53, 0xe3, 0xd1, 0xe7, 0x82, 0x69, 0xc6, 0x3f, 0xce, 0xad, 0x69, 0x3f, 0xa1, 0xf2, + 0x03, 0xcf, 0xae, 0x58, 0x32, 0x29, 0x08, 0x2f, 0x0e, 0x22, 0x2a, 0x24, 0x4b, 0xb4, 0x02, 0xce, + 0xf2, 0x98, 0x1a, 0x6e, 0xeb, 0x3f, 0x08, 0xe0, 0x2d, 0x15, 0xd3, 0xae, 0xde, 0x10, 0xfa, 0x2d, + 0xa0, 0x19, 0xfb, 0x48, 0x33, 0x1c, 0x4e, 0x69, 0x78, 0x85, 0x05, 0xcd, 0xae, 0x69, 0xe6, 0x39, + 0x4d, 0xa7, 0x7d, 0xdf, 0x77, 0xb5, 0xa5, 0xab, 0x0c, 0x23, 0x8d, 0xa3, 0x0e, 0x6c, 0x1b, 0x76, + 0x46, 0x53, 0x9e, 0xc9, 0x82, 0x5e, 0xd2, 0xf4, 0xba, 0x36, 0xf9, 0xda, 0x62, 0xf9, 0x87, 0xb0, + 0x13, 0x31, 0x41, 0x2e, 0x63, 0x8a, 0x53, 0x1e, 0xb3, 0x70, 0x6e, 0xc2, 0x08, 0x6f, 0xad, 0xe9, + 0xb4, 0x37, 0xfd, 0x6d, 0x6b, 0x3c, 0xd7, 0x36, 0x1d, 0x48, 0xa0, 0x7d, 0xa8, 0xeb, 0xb3, 0xe1, + 0x98, 0x09, 0x49, 0x13, 0xac, 0xe4, 0xbc, 0xf5, 0xa6, 0xd3, 0xbe, 0xeb, 0x6f, 0x69, 0xc3, 0x40, + 0xe3, 0xe7, 0x3c, 0x93, 0xe8, 0x29, 0x18, 0x08, 0x4f, 0xa5, 0x4c, 0x0d, 0xf3, 0xae, 0x66, 0x56, + 0x35, 0xfc, 0x46, 0xca, 0x54, 0xf3, 0x5e, 0xc3, 0x56, 0xc8, 0x93, 0x84, 0x86, 0x12, 0x4b, 0x36, + 0xa3, 0x3c, 0x97, 0xde, 0xbd, 0xa6, 0xd3, 0x2e, 0x1f, 0x3e, 0xea, 0x98, 0xac, 0x77, 0x8a, 0xac, + 0x77, 0x7a, 0x36, 0xeb, 0x7e, 0xcd, 0x7a, 0x04, 0xc6, 0x01, 0x7d, 0x0b, 0x55, 0x96, 0x4c, 0x32, + 0x2a, 0x04, 0x0e, 0x63, 0x22, 0x84, 0xb7, 0xa1, 0x4f, 0x5d, 0xb1, 0x60, 0x57, 0x61, 0xe8, 0x19, + 0x6c, 0x15, 0x24, 0x95, 0x1b, 0x16, 0x52, 0x6f, 0x53, 0xd3, 0x6a, 0x16, 0x1e, 0x19, 0x14, 0xcd, + 0xe0, 0xab, 0x1b, 0x35, 0x9e, 0xc8, 0x8c, 0xc7, 0x31, 0xcd, 0xf0, 0x8c, 0x47, 0xd4, 0xbb, 0xdf, + 0x74, 0xda, 0xb5, 0xc3, 0xef, 0x3a, 0x2b, 0x9a, 0xa4, 0xb3, 0xa8, 0x5c, 0xe7, 0xc4, 0xc6, 0xbd, + 0xf1, 0x7e, 0xcb, 0x23, 0xea, 0xef, 0xb0, 0x55, 0x30, 0x1a, 0x42, 0x99, 0xe4, 0x72, 0x6a, 0xab, + 0xe0, 0x81, 0x0e, 0xb1, 0x7f, 0x5b, 0x88, 0xa3, 0x5c, 0x4e, 0x4d, 0x6d, 0x5e, 0x97, 0x3c, 0xc7, + 0x07, 0x72, 0xb3, 0x46, 0x27, 0x50, 0xcf, 0x22, 0x81, 0x33, 0x3a, 0xce, 0xa8, 0x98, 0xe2, 0x88, + 0xc6, 0x64, 0xee, 0x95, 0x6f, 0xc9, 0xa9, 0x56, 0xd9, 0xca, 0x22, 0xe1, 0x1b, 0xb7, 0x9e, 0xf2, + 0x42, 0x4f, 0xa0, 0x46, 0x13, 0xdd, 0x23, 0x32, 0x23, 0x21, 0x4b, 0x26, 0x5e, 0x45, 0x77, 0x47, + 0xd5, 0xa0, 0x81, 0x01, 0x55, 0xad, 0x49, 0x18, 0xaa, 0x84, 0xc5, 0x7c, 0x82, 0xc7, 0x2c, 0xa6, + 0x5e, 0x55, 0xa7, 0xb6, 0x6a, 0xe0, 0x01, 0x9f, 0x1c, 0xb3, 0x98, 0xa2, 0x1f, 0xa0, 0x16, 0xd1, + 0x31, 0xc9, 0x63, 0x89, 0xcd, 0xa5, 0xf3, 0x6a, 0x7a, 0x5b, 0xcd, 0x95, 0xa7, 0x3d, 0x57, 0x7d, + 0x62, 0x8e, 0xeb, 0x57, 0xad, 0x9f, 0xbd, 0x1a, 0xcf, 0xa0, 0x6a, 0x9a, 0x9d, 0x44, 0x91, 0x4a, + 0xa9, 0xe7, 0xaa, 0x70, 0xfa, 0x0c, 0x15, 0x6d, 0x38, 0x32, 0xb8, 0xaa, 0x25, 0xcf, 0xe5, 0x25, + 0xcf, 0x93, 0x48, 0x1d, 0x61, 0x3c, 0x66, 0x61, 0x91, 0xe8, 0xba, 0x0e, 0x7d, 0x6b, 0x2d, 0x87, + 0xd6, 0x3d, 0x30, 0xde, 0x26, 0xc7, 0xfe, 0x0e, 0x5f, 0x05, 0xa3, 0x1e, 0x7c, 0x63, 0xf3, 0x15, + 0xc6, 0x8c, 0x26, 0x12, 0x0b, 0x16, 0x7d, 0x7e, 0xbf, 0xbc, 0x6d, 0x9d, 0xc0, 0xc7, 0x86, 0xd6, + 0xd5, 0xac, 0x11, 0x8b, 0x96, 0xef, 0x19, 0x6a, 0x42, 0x45, 0x44, 0x02, 0xe7, 0x91, 0xc0, 0x29, + 0x91, 0x53, 0xef, 0x81, 0xce, 0x25, 0x88, 0x48, 0x5c, 0x44, 0xe2, 0x9c, 0xc8, 0xa9, 0x2a, 0xb1, + 0xf8, 0x49, 0x89, 0x77, 0xfe, 0xa7, 0x12, 0x8b, 0x2f, 0x4a, 0xfc, 0x06, 0x6a, 0xa6, 0x16, 0x58, + 0xf0, 0x3c, 0x0b, 0xa9, 0xf0, 0x1e, 0x36, 0xd7, 0xda, 0xe5, 0xc3, 0xbd, 0x95, 0x89, 0x31, 0x49, + 0x19, 0x69, 0xa6, 0x5f, 0x0d, 0x97, 0x56, 0x02, 0xbd, 0x80, 0x87, 0xf6, 0xf0, 0x6a, 0x6f, 0x92, + 0x5f, 0xd1, 0x04, 0xcf, 0x78, 0x9e, 0x48, 0xef, 0x2b, 0xf3, 0xa4, 0x18, 0xeb, 0x28, 0x12, 0x81, + 0xb2, 0xbd, 0x55, 0x26, 0xf5, 0xa4, 0x2c, 0xb7, 0x0e, 0xcf, 0x66, 0x44, 0x7a, 0x9e, 0x3e, 0xf0, + 0xd6, 0xa2, 0x79, 0x34, 0xac, 0x02, 0x2c, 0xa7, 0x12, 0x8f, 0x09, 0x8b, 0x31, 0x4f, 0x69, 0xe2, + 0x3d, 0x32, 0x01, 0xd2, 0x45, 0x12, 0x8f, 0x09, 0x8b, 0x87, 0x29, 0x4d, 0xd0, 0x1e, 0x54, 0x64, + 0x96, 0x0b, 0x89, 0x23, 0x3e, 0x23, 0x2c, 0xf1, 0x1a, 0x5a, 0xbb, 0xac, 0xb1, 0x9e, 0x86, 0x10, + 0x81, 0xed, 0xa5, 0x3d, 0xd0, 0x24, 0xe4, 0x91, 0x6a, 0xf5, 0xc7, 0xfa, 0x26, 0x3e, 0xbf, 0xf5, + 0x26, 0x16, 0xbb, 0xec, 0x5b, 0x47, 0xbf, 0x4e, 0xbe, 0x84, 0x10, 0x87, 0xaa, 0x0c, 0x53, 0x7c, + 0x45, 0x69, 0x4a, 0x62, 0x76, 0x4d, 0xbd, 0xdf, 0xe8, 0x62, 0x9d, 0x5a, 0xf1, 0xc5, 0x90, 0x28, + 0x42, 0xbc, 0x50, 0xa9, 0x56, 0x6f, 0x1c, 0xe3, 0xc9, 0x39, 0xe7, 0xf1, 0x88, 0x4a, 0xc9, 0x92, + 0x89, 0xe8, 0x04, 0xdd, 0xf3, 0xc5, 0x77, 0x98, 0xfe, 0x58, 0x28, 0xfa, 0x15, 0xb9, 0xb4, 0x42, + 0xfb, 0x80, 0x74, 0x0f, 0x09, 0x8a, 0xaf, 0x5e, 0x0a, 0x2c, 0x08, 0xfe, 0xeb, 0x07, 0xe9, 0x7d, + 0xad, 0xf3, 0x54, 0x53, 0x9d, 0x24, 0xe8, 0x8f, 0x2f, 0xc5, 0x88, 0x9c, 0x7e, 0x90, 0xe8, 0x1c, + 0x9e, 0xa8, 0x3e, 0x0d, 0x49, 0x86, 0x25, 0xc7, 0x92, 0xc6, 0x74, 0x46, 0x65, 0x36, 0xc7, 0x82, + 0x0a, 0xa1, 0x46, 0x94, 0xea, 0xf0, 0x84, 0xc9, 0xb9, 0xb7, 0xab, 0xdd, 0xf7, 0x2c, 0x39, 0xe0, + 0x41, 0x41, 0x1d, 0x19, 0xe6, 0x91, 0x25, 0xa2, 0x57, 0xf0, 0xa8, 0xb8, 0xe8, 0xf6, 0xad, 0xc5, + 0xf4, 0xa3, 0x1e, 0x4b, 0x92, 0x7b, 0xdf, 0x34, 0xd7, 0xda, 0xf7, 0xfd, 0x87, 0x96, 0x60, 0x5f, + 0xdd, 0xbe, 0x36, 0x07, 0x1c, 0xbd, 0x81, 0xbd, 0xc2, 0xf5, 0x9a, 0x65, 0x32, 0x27, 0xf1, 0x0a, + 0x89, 0xa6, 0x96, 0xf8, 0xda, 0x12, 0xdf, 0x19, 0xde, 0x97, 0x4a, 0xa7, 0xd0, 0x2a, 0x94, 0xbe, + 0x1c, 0xb8, 0x4b, 0x52, 0x7b, 0x5a, 0x6a, 0xd7, 0x32, 0x7b, 0x0b, 0xa2, 0x9f, 0xc7, 0x0b, 0xad, + 0x27, 0x50, 0xcb, 0x38, 0x97, 0x38, 0x21, 0x33, 0x2a, 0x52, 0x12, 0x52, 0xaf, 0x65, 0x1e, 0x38, + 0x85, 0x9e, 0x15, 0x20, 0xfa, 0x0b, 0x6c, 0xc7, 0x3c, 0x24, 0x31, 0x93, 0x73, 0x1c, 0x5f, 0x62, + 0x61, 0x0a, 0xe5, 0x7d, 0xab, 0x8b, 0xfd, 0xbb, 0x95, 0x9d, 0x34, 0xb0, 0xfc, 0x01, 0x27, 0xd1, + 0x6b, 0x12, 0x93, 0x24, 0xa4, 0x99, 0x2d, 0xb0, 0x5f, 0x2f, 0xc4, 0x06, 0x97, 0x16, 0x6a, 0xfc, + 0xdd, 0x81, 0x9d, 0x95, 0x4f, 0x12, 0x3a, 0x83, 0x75, 0x3d, 0xa3, 0x1c, 0xdd, 0xb6, 0xdf, 0xff, + 0x5f, 0xef, 0x5a, 0x47, 0x0f, 0x2a, 0xad, 0xd3, 0xea, 0xc1, 0xba, 0x9e, 0x4f, 0x75, 0xa8, 0xfa, + 0xfd, 0x1f, 0x4e, 0x46, 0x81, 0xff, 0x1e, 0x0f, 0xcf, 0x06, 0xef, 0xdd, 0x3b, 0xa8, 0x0a, 0xf7, + 0x8f, 0x06, 0x83, 0xe1, 0x1f, 0xf0, 0xd1, 0xd9, 0x7b, 0xd7, 0x69, 0xad, 0x6f, 0x96, 0xdc, 0xd2, + 0xfe, 0x83, 0x77, 0x27, 0x7e, 0x70, 0x71, 0x34, 0xc0, 0xa3, 0xbe, 0xff, 0xee, 0xa4, 0xdb, 0xd7, + 0xe4, 0xd6, 0x2b, 0xd8, 0x59, 0x39, 0x0d, 0xd1, 0x06, 0xac, 0x0d, 0x8f, 0x8f, 0xdd, 0x3b, 0xa8, + 0x0c, 0x1b, 0xbd, 0xfe, 0xf1, 0xd1, 0xc5, 0x20, 0x70, 0x1d, 0x04, 0x70, 0x6f, 0x14, 0xf8, 0x27, + 0xdd, 0xc0, 0x2d, 0xb5, 0x9e, 0x02, 0x2c, 0xa6, 0x1c, 0xda, 0x84, 0xf5, 0xb3, 0xe1, 0x59, 0xdf, + 0xbd, 0x83, 0x6a, 0x00, 0x6f, 0x2f, 0x74, 0xa4, 0x60, 0x30, 0x72, 0x9d, 0xd6, 0x33, 0xa8, 0xff, + 0xe4, 0x0e, 0x2a, 0x7a, 0xd0, 0xff, 0x63, 0xe0, 0xde, 0x51, 0x5f, 0xa7, 0xa3, 0xe1, 0x99, 0xeb, + 0x9c, 0xae, 0x6f, 0x6e, 0xb9, 0xee, 0xe9, 0xfa, 0x26, 0x72, 0xb7, 0x5b, 0x02, 0x2a, 0xcb, 0x6f, + 0x19, 0xf2, 0x60, 0xa3, 0x98, 0x25, 0xe6, 0x0f, 0xab, 0x58, 0xa2, 0x13, 0xa8, 0xc8, 0x58, 0x14, + 0xb5, 0x14, 0xfa, 0x8f, 0xaa, 0x7c, 0xf8, 0xf4, 0x67, 0x6e, 0x6e, 0x30, 0x18, 0x15, 0x57, 0xd4, + 0x2f, 0xcb, 0x58, 0x14, 0x8b, 0xd6, 0x3f, 0xd6, 0xe0, 0xf1, 0xcf, 0xd4, 0x1b, 0xfd, 0x19, 0x20, + 0x62, 0x42, 0x66, 0xec, 0x32, 0x97, 0xaa, 0x90, 0xea, 0x1d, 0xfe, 0xfd, 0x2f, 0xed, 0x9a, 0x4e, + 0xef, 0x46, 0xc2, 0x5f, 0x92, 0x43, 0x17, 0xb0, 0xa9, 0x1e, 0x4c, 0x6e, 0xfe, 0x0a, 0x95, 0xf4, + 0xab, 0x5f, 0x2c, 0x7d, 0x6c, 0x05, 0xfc, 0x1b, 0xa9, 0xc6, 0xdf, 0x1c, 0x80, 0x45, 0x44, 0x84, + 0x60, 0x7d, 0x9c, 0xf1, 0x99, 0x4d, 0xa2, 0xfe, 0x46, 0x23, 0x28, 0x49, 0x6e, 0x63, 0x76, 0x7f, + 0xc5, 0x71, 0x3a, 0x01, 0xef, 0x27, 0x32, 0x9b, 0xfb, 0x25, 0xc9, 0x1b, 0xdf, 0xc1, 0x86, 0x5d, + 0x22, 0x17, 0xd6, 0xae, 0xe8, 0xdc, 0x86, 0x54, 0x9f, 0xe8, 0x01, 0xdc, 0xbd, 0x26, 0x71, 0x4e, + 0x75, 0xb1, 0xaa, 0xbe, 0x59, 0x7c, 0x5f, 0x7a, 0xe9, 0x34, 0x3a, 0xb0, 0x59, 0x1c, 0x62, 0xe5, + 0x5e, 0x6b, 0x76, 0xaf, 0x0a, 0x29, 0x49, 0xfe, 0xba, 0xfd, 0xcf, 0x4f, 0xbb, 0xce, 0xbf, 0x3e, + 0xed, 0x3a, 0xff, 0xfe, 0xb4, 0xeb, 0xfc, 0xa9, 0x61, 0x36, 0xcf, 0xf8, 0x01, 0x49, 0xd9, 0xc1, + 0x67, 0x7f, 0xfd, 0x97, 0xf7, 0xf4, 0xc0, 0x7d, 0xf1, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, + 0xc5, 0xfa, 0x45, 0x5e, 0x0c, 0x00, 0x00, +} diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go index d29f114fd78..6c7f002b4ff 100644 --- a/mesh/v1alpha1/network.pb.go +++ b/mesh/v1alpha1/network.pb.go @@ -3,24 +3,17 @@ package v1alpha1 -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - // Network provides information about the endpoints in a routable L3 // network. A single routable L3 network can have one or more service // registries. Note that the network has no relation to the locality of the @@ -30,46 +23,15 @@ type Network struct { // REQUIRED: The list of endpoints in the network (obtained through the // constituent service registries or from CIDR ranges). All endpoints in // the network are directly accessible to one another. - Endpoints []*Network_NetworkEndpoints `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` + Endpoints []*Network_NetworkEndpoints `protobuf:"bytes,2,rep,name=endpoints" json:"endpoints,omitempty"` // REQUIRED: Set of gateways associated with the network. - Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways,proto3" json:"gateways,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Network) Reset() { *m = Network{} } -func (m *Network) String() string { return proto.CompactTextString(m) } -func (*Network) ProtoMessage() {} -func (*Network) Descriptor() ([]byte, []int) { - return fileDescriptor_a15df2a96e10cd86, []int{0} -} -func (m *Network) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Network) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Network.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Network) XXX_Merge(src proto.Message) { - xxx_messageInfo_Network.Merge(m, src) -} -func (m *Network) XXX_Size() int { - return m.Size() -} -func (m *Network) XXX_DiscardUnknown() { - xxx_messageInfo_Network.DiscardUnknown(m) + Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways" json:"gateways,omitempty"` } -var xxx_messageInfo_Network proto.InternalMessageInfo +func (m *Network) Reset() { *m = Network{} } +func (m *Network) String() string { return proto.CompactTextString(m) } +func (*Network) ProtoMessage() {} +func (*Network) Descriptor() ([]byte, []int) { return fileDescriptorNetwork, []int{0} } func (m *Network) GetEndpoints() []*Network_NetworkEndpoints { if m != nil { @@ -109,44 +71,15 @@ type Network_NetworkEndpoints struct { // Types that are valid to be assigned to Ne: // *Network_NetworkEndpoints_FromCidr // *Network_NetworkEndpoints_FromRegistry - Ne isNetwork_NetworkEndpoints_Ne `protobuf_oneof:"ne"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Ne isNetwork_NetworkEndpoints_Ne `protobuf_oneof:"ne"` } func (m *Network_NetworkEndpoints) Reset() { *m = Network_NetworkEndpoints{} } func (m *Network_NetworkEndpoints) String() string { return proto.CompactTextString(m) } func (*Network_NetworkEndpoints) ProtoMessage() {} func (*Network_NetworkEndpoints) Descriptor() ([]byte, []int) { - return fileDescriptor_a15df2a96e10cd86, []int{0, 0} -} -func (m *Network_NetworkEndpoints) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Network_NetworkEndpoints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Network_NetworkEndpoints.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Network_NetworkEndpoints) XXX_Merge(src proto.Message) { - xxx_messageInfo_Network_NetworkEndpoints.Merge(m, src) -} -func (m *Network_NetworkEndpoints) XXX_Size() int { - return m.Size() + return fileDescriptorNetwork, []int{0, 0} } -func (m *Network_NetworkEndpoints) XXX_DiscardUnknown() { - xxx_messageInfo_Network_NetworkEndpoints.DiscardUnknown(m) -} - -var xxx_messageInfo_Network_NetworkEndpoints proto.InternalMessageInfo type isNetwork_NetworkEndpoints_Ne interface { isNetwork_NetworkEndpoints_Ne() @@ -237,11 +170,11 @@ func _Network_NetworkEndpoints_OneofSizer(msg proto.Message) (n int) { // ne switch x := m.Ne.(type) { case *Network_NetworkEndpoints_FromCidr: - n += 1 // tag and wire + n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.FromCidr))) n += len(x.FromCidr) case *Network_NetworkEndpoints_FromRegistry: - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.FromRegistry))) n += len(x.FromRegistry) case nil: @@ -262,45 +195,16 @@ type Network_IstioNetworkGateway struct { // REQUIRED: The port associated with the gateway. Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // The locality associated with an explicitly specified gateway (i.e. ip) - Locality string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Locality string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` } func (m *Network_IstioNetworkGateway) Reset() { *m = Network_IstioNetworkGateway{} } func (m *Network_IstioNetworkGateway) String() string { return proto.CompactTextString(m) } func (*Network_IstioNetworkGateway) ProtoMessage() {} func (*Network_IstioNetworkGateway) Descriptor() ([]byte, []int) { - return fileDescriptor_a15df2a96e10cd86, []int{0, 1} -} -func (m *Network_IstioNetworkGateway) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Network_IstioNetworkGateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Network_IstioNetworkGateway.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Network_IstioNetworkGateway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Network_IstioNetworkGateway.Merge(m, src) -} -func (m *Network_IstioNetworkGateway) XXX_Size() int { - return m.Size() -} -func (m *Network_IstioNetworkGateway) XXX_DiscardUnknown() { - xxx_messageInfo_Network_IstioNetworkGateway.DiscardUnknown(m) + return fileDescriptorNetwork, []int{0, 1} } -var xxx_messageInfo_Network_IstioNetworkGateway proto.InternalMessageInfo - type isNetwork_IstioNetworkGateway_Gw interface { isNetwork_IstioNetworkGateway_Gw() MarshalTo([]byte) (int, error) @@ -404,11 +308,11 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) { // gw switch x := m.Gw.(type) { case *Network_IstioNetworkGateway_RegistryServiceName: - n += 1 // tag and wire + n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.RegistryServiceName))) n += len(x.RegistryServiceName) case *Network_IstioNetworkGateway_Address: - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Address))) n += len(x.Address) case nil: @@ -435,44 +339,13 @@ 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 // the network as well as the gateways associated with the network. - Networks map[string]*Network `protobuf:"bytes,1,rep,name=networks,proto3" json:"networks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Networks map[string]*Network `protobuf:"bytes,1,rep,name=networks" json:"networks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` } -func (m *MeshNetworks) Reset() { *m = MeshNetworks{} } -func (m *MeshNetworks) String() string { return proto.CompactTextString(m) } -func (*MeshNetworks) ProtoMessage() {} -func (*MeshNetworks) Descriptor() ([]byte, []int) { - return fileDescriptor_a15df2a96e10cd86, []int{1} -} -func (m *MeshNetworks) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MeshNetworks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MeshNetworks.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MeshNetworks) XXX_Merge(src proto.Message) { - xxx_messageInfo_MeshNetworks.Merge(m, src) -} -func (m *MeshNetworks) XXX_Size() int { - return m.Size() -} -func (m *MeshNetworks) XXX_DiscardUnknown() { - xxx_messageInfo_MeshNetworks.DiscardUnknown(m) -} - -var xxx_messageInfo_MeshNetworks proto.InternalMessageInfo +func (m *MeshNetworks) Reset() { *m = MeshNetworks{} } +func (m *MeshNetworks) String() string { return proto.CompactTextString(m) } +func (*MeshNetworks) ProtoMessage() {} +func (*MeshNetworks) Descriptor() ([]byte, []int) { return fileDescriptorNetwork, []int{1} } func (m *MeshNetworks) GetNetworks() map[string]*Network { if m != nil { @@ -486,41 +359,7 @@ func init() { proto.RegisterType((*Network_NetworkEndpoints)(nil), "istio.mesh.v1alpha1.Network.NetworkEndpoints") proto.RegisterType((*Network_IstioNetworkGateway)(nil), "istio.mesh.v1alpha1.Network.IstioNetworkGateway") proto.RegisterType((*MeshNetworks)(nil), "istio.mesh.v1alpha1.MeshNetworks") - proto.RegisterMapType((map[string]*Network)(nil), "istio.mesh.v1alpha1.MeshNetworks.NetworksEntry") -} - -func init() { proto.RegisterFile("mesh/v1alpha1/network.proto", fileDescriptor_a15df2a96e10cd86) } - -var fileDescriptor_a15df2a96e10cd86 = []byte{ - // 403 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x8e, 0xda, 0x30, - 0x10, 0xc6, 0xeb, 0x84, 0x96, 0x30, 0x80, 0x84, 0x8c, 0x2a, 0x45, 0x69, 0x8b, 0x10, 0x52, 0xa5, - 0x5c, 0x9a, 0x14, 0xda, 0x43, 0xd5, 0x23, 0x15, 0x6a, 0x2b, 0x5a, 0x0e, 0xee, 0xa9, 0x3d, 0x14, - 0xb9, 0xc4, 0x05, 0x8b, 0x24, 0x8e, 0x6c, 0x2f, 0x28, 0x0f, 0xb3, 0xb7, 0x7d, 0x86, 0x7d, 0x86, - 0x3d, 0xee, 0x23, 0xac, 0x78, 0x92, 0x55, 0xfe, 0xee, 0xb2, 0x42, 0x9c, 0x6c, 0xcf, 0xf7, 0xfd, - 0x66, 0xc6, 0x63, 0xc3, 0xab, 0x88, 0xa9, 0x8d, 0xbf, 0x1b, 0xd3, 0x30, 0xd9, 0xd0, 0xb1, 0x1f, - 0x33, 0xbd, 0x17, 0x72, 0xeb, 0x25, 0x52, 0x68, 0x81, 0xfb, 0x5c, 0x69, 0x2e, 0xbc, 0xcc, 0xe2, - 0x55, 0x96, 0xd1, 0x95, 0x09, 0xcd, 0x45, 0x61, 0xc3, 0x73, 0x68, 0xb1, 0x38, 0x48, 0x04, 0x8f, - 0xb5, 0xb2, 0x8d, 0xa1, 0xe9, 0xb6, 0x27, 0xef, 0xbc, 0x13, 0x90, 0x57, 0x02, 0xd5, 0x3a, 0xab, - 0x20, 0xf2, 0xc0, 0xe3, 0x1f, 0x60, 0xad, 0xa9, 0x66, 0x7b, 0x9a, 0x2a, 0xdb, 0xcc, 0x73, 0xbd, - 0x3f, 0x9b, 0xeb, 0x7b, 0xa6, 0x95, 0x87, 0xaf, 0x05, 0x48, 0xea, 0x0c, 0xce, 0x5f, 0xe8, 0x3d, - 0x2d, 0x86, 0xdf, 0x40, 0xeb, 0xbf, 0x14, 0xd1, 0x72, 0xc5, 0x03, 0x69, 0xa3, 0x21, 0x72, 0x5b, - 0xdf, 0x9e, 0x11, 0x2b, 0x0b, 0x7d, 0xe1, 0x81, 0xc4, 0x6f, 0xa1, 0x9b, 0xcb, 0x92, 0xad, 0xb9, - 0xd2, 0x32, 0xb5, 0x8d, 0xd2, 0xd2, 0xc9, 0xc2, 0xa4, 0x8c, 0x4e, 0x1b, 0x60, 0xc4, 0xcc, 0xb9, - 0x44, 0xd0, 0x3f, 0xd1, 0x01, 0xfe, 0x08, 0x2f, 0x2b, 0x7e, 0xa9, 0x98, 0xdc, 0xf1, 0x15, 0x5b, - 0xc6, 0x34, 0x62, 0x75, 0xbd, 0x7e, 0x25, 0xff, 0x2a, 0xd4, 0x05, 0x8d, 0x18, 0x76, 0xa0, 0x49, - 0x83, 0x40, 0x32, 0xa5, 0xea, 0xa2, 0x55, 0x00, 0x63, 0x68, 0x24, 0x42, 0x6a, 0xdb, 0x1c, 0x22, - 0xb7, 0x4b, 0xf2, 0x3d, 0x76, 0xc0, 0x0a, 0xc5, 0x8a, 0x86, 0x5c, 0xa7, 0x76, 0x23, 0x03, 0x48, - 0x7d, 0xce, 0xfa, 0x5b, 0xef, 0x47, 0xd7, 0x08, 0x3a, 0x3f, 0x99, 0xda, 0x94, 0xed, 0x29, 0x3c, - 0x07, 0xab, 0x7c, 0x5d, 0x65, 0xa3, 0x7c, 0xbc, 0xfe, 0xc9, 0xf1, 0x3e, 0x86, 0xaa, 0x59, 0xab, - 0x59, 0xac, 0x65, 0x4a, 0xea, 0x04, 0xce, 0x6f, 0xe8, 0x1e, 0x49, 0xb8, 0x07, 0xe6, 0x96, 0xa5, - 0xc5, 0x25, 0x49, 0xb6, 0xc5, 0x13, 0x78, 0xbe, 0xa3, 0xe1, 0x05, 0xcb, 0x2f, 0xd4, 0x9e, 0xbc, - 0x3e, 0xf7, 0x96, 0xa4, 0xb0, 0x7e, 0x36, 0x3e, 0xa1, 0xa9, 0x7b, 0x73, 0x18, 0xa0, 0xdb, 0xc3, - 0x00, 0xdd, 0x1d, 0x06, 0xe8, 0x8f, 0x53, 0x50, 0x5c, 0xf8, 0x34, 0xe1, 0xfe, 0xd1, 0x67, 0xfd, - 0xf7, 0x22, 0xff, 0xa5, 0x1f, 0xee, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x70, 0x44, 0x24, 0xc4, - 0x02, 0x00, 0x00, } - func (m *Network) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -560,9 +399,6 @@ func (m *Network) MarshalTo(dAtA []byte) (int, error) { i += n } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -588,9 +424,6 @@ func (m *Network_NetworkEndpoints) MarshalTo(dAtA []byte) (int, error) { } i += nn1 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -643,9 +476,6 @@ func (m *Network_IstioNetworkGateway) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintNetwork(dAtA, i, uint64(len(m.Locality))) i += copy(dAtA[i:], m.Locality) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -708,9 +538,6 @@ func (m *MeshNetworks) MarshalTo(dAtA []byte) (int, error) { } } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -724,9 +551,6 @@ func encodeVarintNetwork(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Network) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Endpoints) > 0 { @@ -741,31 +565,19 @@ func (m *Network) Size() (n int) { n += 1 + l + sovNetwork(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Network_NetworkEndpoints) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Ne != nil { n += m.Ne.Size() } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Network_NetworkEndpoints_FromCidr) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.FromCidr) @@ -773,9 +585,6 @@ func (m *Network_NetworkEndpoints_FromCidr) Size() (n int) { return n } func (m *Network_NetworkEndpoints_FromRegistry) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.FromRegistry) @@ -783,9 +592,6 @@ func (m *Network_NetworkEndpoints_FromRegistry) Size() (n int) { return n } func (m *Network_IstioNetworkGateway) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Gw != nil { @@ -798,16 +604,10 @@ func (m *Network_IstioNetworkGateway) Size() (n int) { if l > 0 { n += 1 + l + sovNetwork(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Network_IstioNetworkGateway_RegistryServiceName) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.RegistryServiceName) @@ -815,9 +615,6 @@ func (m *Network_IstioNetworkGateway_RegistryServiceName) Size() (n int) { return n } func (m *Network_IstioNetworkGateway_Address) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Address) @@ -825,9 +622,6 @@ func (m *Network_IstioNetworkGateway_Address) Size() (n int) { return n } func (m *MeshNetworks) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Networks) > 0 { @@ -843,9 +637,6 @@ func (m *MeshNetworks) Size() (n int) { n += mapEntrySize + 1 + sovNetwork(uint64(mapEntrySize)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -877,7 +668,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -905,7 +696,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -914,9 +705,6 @@ func (m *Network) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -939,7 +727,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -948,9 +736,6 @@ func (m *Network) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -968,13 +753,9 @@ func (m *Network) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthNetwork - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -999,7 +780,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1027,7 +808,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1037,9 +818,6 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1059,7 +837,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1069,9 +847,6 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1086,13 +861,9 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthNetwork - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1117,7 +888,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1145,7 +916,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1155,9 +926,6 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1177,7 +945,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1187,9 +955,6 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1209,7 +974,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= uint32(b&0x7F) << shift + m.Port |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -1228,7 +993,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1238,9 +1003,6 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1255,13 +1017,9 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthNetwork - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1286,7 +1044,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1314,7 +1072,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1323,9 +1081,6 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthNetwork - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1346,7 +1101,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1363,7 +1118,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1373,9 +1128,6 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthNetwork - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1392,7 +1144,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= int(b&0x7F) << shift + mapmsglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1401,7 +1153,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postmsgIndex := iNdEx + mapmsglen - if postmsgIndex < 0 { + if mapmsglen < 0 { return ErrInvalidLengthNetwork } if postmsgIndex > l { @@ -1438,13 +1190,9 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthNetwork - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1508,11 +1256,8 @@ func skipNetwork(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthNetwork - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthNetwork } return iNdEx, nil @@ -1543,9 +1288,6 @@ func skipNetwork(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthNetwork - } } return iNdEx, nil case 4: @@ -1564,3 +1306,35 @@ var ( ErrInvalidLengthNetwork = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowNetwork = fmt.Errorf("proto: integer overflow") ) + +func init() { proto.RegisterFile("mesh/v1alpha1/network.proto", fileDescriptorNetwork) } + +var fileDescriptorNetwork = []byte{ + // 403 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x8e, 0xda, 0x30, + 0x10, 0xc6, 0xeb, 0x84, 0x96, 0x30, 0x80, 0x84, 0x8c, 0x2a, 0x45, 0x69, 0x8b, 0x10, 0x52, 0xa5, + 0x5c, 0x9a, 0x14, 0xda, 0x43, 0xd5, 0x23, 0x15, 0x6a, 0x2b, 0x5a, 0x0e, 0xee, 0xa9, 0x3d, 0x14, + 0xb9, 0xc4, 0x05, 0x8b, 0x24, 0x8e, 0x6c, 0x2f, 0x28, 0x0f, 0xb3, 0xb7, 0x7d, 0x86, 0x7d, 0x86, + 0x3d, 0xee, 0x23, 0xac, 0x78, 0x92, 0x55, 0xfe, 0xee, 0xb2, 0x42, 0x9c, 0x6c, 0xcf, 0xf7, 0xfd, + 0x66, 0xc6, 0x63, 0xc3, 0xab, 0x88, 0xa9, 0x8d, 0xbf, 0x1b, 0xd3, 0x30, 0xd9, 0xd0, 0xb1, 0x1f, + 0x33, 0xbd, 0x17, 0x72, 0xeb, 0x25, 0x52, 0x68, 0x81, 0xfb, 0x5c, 0x69, 0x2e, 0xbc, 0xcc, 0xe2, + 0x55, 0x96, 0xd1, 0x95, 0x09, 0xcd, 0x45, 0x61, 0xc3, 0x73, 0x68, 0xb1, 0x38, 0x48, 0x04, 0x8f, + 0xb5, 0xb2, 0x8d, 0xa1, 0xe9, 0xb6, 0x27, 0xef, 0xbc, 0x13, 0x90, 0x57, 0x02, 0xd5, 0x3a, 0xab, + 0x20, 0xf2, 0xc0, 0xe3, 0x1f, 0x60, 0xad, 0xa9, 0x66, 0x7b, 0x9a, 0x2a, 0xdb, 0xcc, 0x73, 0xbd, + 0x3f, 0x9b, 0xeb, 0x7b, 0xa6, 0x95, 0x87, 0xaf, 0x05, 0x48, 0xea, 0x0c, 0xce, 0x5f, 0xe8, 0x3d, + 0x2d, 0x86, 0xdf, 0x40, 0xeb, 0xbf, 0x14, 0xd1, 0x72, 0xc5, 0x03, 0x69, 0xa3, 0x21, 0x72, 0x5b, + 0xdf, 0x9e, 0x11, 0x2b, 0x0b, 0x7d, 0xe1, 0x81, 0xc4, 0x6f, 0xa1, 0x9b, 0xcb, 0x92, 0xad, 0xb9, + 0xd2, 0x32, 0xb5, 0x8d, 0xd2, 0xd2, 0xc9, 0xc2, 0xa4, 0x8c, 0x4e, 0x1b, 0x60, 0xc4, 0xcc, 0xb9, + 0x44, 0xd0, 0x3f, 0xd1, 0x01, 0xfe, 0x08, 0x2f, 0x2b, 0x7e, 0xa9, 0x98, 0xdc, 0xf1, 0x15, 0x5b, + 0xc6, 0x34, 0x62, 0x75, 0xbd, 0x7e, 0x25, 0xff, 0x2a, 0xd4, 0x05, 0x8d, 0x18, 0x76, 0xa0, 0x49, + 0x83, 0x40, 0x32, 0xa5, 0xea, 0xa2, 0x55, 0x00, 0x63, 0x68, 0x24, 0x42, 0x6a, 0xdb, 0x1c, 0x22, + 0xb7, 0x4b, 0xf2, 0x3d, 0x76, 0xc0, 0x0a, 0xc5, 0x8a, 0x86, 0x5c, 0xa7, 0x76, 0x23, 0x03, 0x48, + 0x7d, 0xce, 0xfa, 0x5b, 0xef, 0x47, 0xd7, 0x08, 0x3a, 0x3f, 0x99, 0xda, 0x94, 0xed, 0x29, 0x3c, + 0x07, 0xab, 0x7c, 0x5d, 0x65, 0xa3, 0x7c, 0xbc, 0xfe, 0xc9, 0xf1, 0x3e, 0x86, 0xaa, 0x59, 0xab, + 0x59, 0xac, 0x65, 0x4a, 0xea, 0x04, 0xce, 0x6f, 0xe8, 0x1e, 0x49, 0xb8, 0x07, 0xe6, 0x96, 0xa5, + 0xc5, 0x25, 0x49, 0xb6, 0xc5, 0x13, 0x78, 0xbe, 0xa3, 0xe1, 0x05, 0xcb, 0x2f, 0xd4, 0x9e, 0xbc, + 0x3e, 0xf7, 0x96, 0xa4, 0xb0, 0x7e, 0x36, 0x3e, 0xa1, 0xa9, 0x7b, 0x73, 0x18, 0xa0, 0xdb, 0xc3, + 0x00, 0xdd, 0x1d, 0x06, 0xe8, 0x8f, 0x53, 0x50, 0x5c, 0xf8, 0x34, 0xe1, 0xfe, 0xd1, 0x67, 0xfd, + 0xf7, 0x22, 0xff, 0xa5, 0x1f, 0xee, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x70, 0x44, 0x24, 0xc4, + 0x02, 0x00, 0x00, +} diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index 0056c3caf6c..1a5eba036dd 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -3,25 +3,18 @@ package v1alpha1 -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - types "github.com/gogo/protobuf/types" - io "io" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import google_protobuf "github.com/gogo/protobuf/types" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - // AuthenticationPolicy defines authentication policy. It can be set for // different scopes (mesh, service …), and the most narrow scope with // non-INHERIT value will be used. @@ -43,7 +36,6 @@ var AuthenticationPolicy_name = map[int32]string{ 1: "MUTUAL_TLS", 1000: "INHERIT", } - var AuthenticationPolicy_value = map[string]int32{ "NONE": 0, "MUTUAL_TLS": 1, @@ -53,10 +45,7 @@ var AuthenticationPolicy_value = map[string]int32{ func (x AuthenticationPolicy) String() string { return proto.EnumName(AuthenticationPolicy_name, int32(x)) } - -func (AuthenticationPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_5efecd978cf3d28d, []int{0} -} +func (AuthenticationPolicy) EnumDescriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0} } // The mode used to redirect inbound traffic to Envoy. // This setting has no effect on outbound traffic: iptables REDIRECT is always used for @@ -78,7 +67,6 @@ var ProxyConfig_InboundInterceptionMode_name = map[int32]string{ 0: "REDIRECT", 1: "TPROXY", } - var ProxyConfig_InboundInterceptionMode_value = map[string]int32{ "REDIRECT": 0, "TPROXY": 1, @@ -87,9 +75,8 @@ var ProxyConfig_InboundInterceptionMode_value = map[string]int32{ func (x ProxyConfig_InboundInterceptionMode) String() string { return proto.EnumName(ProxyConfig_InboundInterceptionMode_name, int32(x)) } - func (ProxyConfig_InboundInterceptionMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_5efecd978cf3d28d, []int{1, 0} + return fileDescriptorProxy, []int{1, 0} } // Tracing defines configuration for the tracing performed by Envoy instances. @@ -99,44 +86,13 @@ type Tracing struct { // Types that are valid to be assigned to Tracer: // *Tracing_Zipkin_ // *Tracing_Lightstep_ - Tracer isTracing_Tracer `protobuf_oneof:"tracer"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Tracing) Reset() { *m = Tracing{} } -func (m *Tracing) String() string { return proto.CompactTextString(m) } -func (*Tracing) ProtoMessage() {} -func (*Tracing) Descriptor() ([]byte, []int) { - return fileDescriptor_5efecd978cf3d28d, []int{0} -} -func (m *Tracing) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Tracing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Tracing.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Tracing) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tracing.Merge(m, src) -} -func (m *Tracing) XXX_Size() int { - return m.Size() -} -func (m *Tracing) XXX_DiscardUnknown() { - xxx_messageInfo_Tracing.DiscardUnknown(m) + Tracer isTracing_Tracer `protobuf_oneof:"tracer"` } -var xxx_messageInfo_Tracing proto.InternalMessageInfo +func (m *Tracing) Reset() { *m = Tracing{} } +func (m *Tracing) String() string { return proto.CompactTextString(m) } +func (*Tracing) ProtoMessage() {} +func (*Tracing) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0} } type isTracing_Tracer interface { isTracing_Tracer() @@ -145,10 +101,10 @@ type isTracing_Tracer interface { } type Tracing_Zipkin_ struct { - Zipkin *Tracing_Zipkin `protobuf:"bytes,1,opt,name=zipkin,proto3,oneof"` + Zipkin *Tracing_Zipkin `protobuf:"bytes,1,opt,name=zipkin,oneof"` } type Tracing_Lightstep_ struct { - Lightstep *Tracing_Lightstep `protobuf:"bytes,2,opt,name=lightstep,proto3,oneof"` + Lightstep *Tracing_Lightstep `protobuf:"bytes,2,opt,name=lightstep,oneof"` } func (*Tracing_Zipkin_) isTracing_Tracer() {} @@ -234,12 +190,12 @@ func _Tracing_OneofSizer(msg proto.Message) (n int) { switch x := m.Tracer.(type) { case *Tracing_Zipkin_: s := proto.Size(x.Zipkin) - n += 1 // tag and wire + n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *Tracing_Lightstep_: s := proto.Size(x.Lightstep) - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -252,44 +208,13 @@ func _Tracing_OneofSizer(msg proto.Message) (n int) { // Zipkin defines configuration for a Zipkin tracer. type Tracing_Zipkin struct { // Address of the Zipkin service (e.g. _zipkin:9411_). - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Tracing_Zipkin) Reset() { *m = Tracing_Zipkin{} } -func (m *Tracing_Zipkin) String() string { return proto.CompactTextString(m) } -func (*Tracing_Zipkin) ProtoMessage() {} -func (*Tracing_Zipkin) Descriptor() ([]byte, []int) { - return fileDescriptor_5efecd978cf3d28d, []int{0, 0} -} -func (m *Tracing_Zipkin) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Tracing_Zipkin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Tracing_Zipkin.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Tracing_Zipkin) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tracing_Zipkin.Merge(m, src) -} -func (m *Tracing_Zipkin) XXX_Size() int { - return m.Size() -} -func (m *Tracing_Zipkin) XXX_DiscardUnknown() { - xxx_messageInfo_Tracing_Zipkin.DiscardUnknown(m) + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } -var xxx_messageInfo_Tracing_Zipkin proto.InternalMessageInfo +func (m *Tracing_Zipkin) Reset() { *m = Tracing_Zipkin{} } +func (m *Tracing_Zipkin) String() string { return proto.CompactTextString(m) } +func (*Tracing_Zipkin) ProtoMessage() {} +func (*Tracing_Zipkin) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0, 0} } func (m *Tracing_Zipkin) GetAddress() string { if m != nil { @@ -307,44 +232,13 @@ type Tracing_Lightstep struct { // True if a secure connection should be used when communicating with the pool. Secure bool `protobuf:"varint,3,opt,name=secure,proto3" json:"secure,omitempty"` // Path to the trusted cacert used to authenticate the pool. - CacertPath string `protobuf:"bytes,4,opt,name=cacert_path,json=cacertPath,proto3" json:"cacert_path,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Tracing_Lightstep) Reset() { *m = Tracing_Lightstep{} } -func (m *Tracing_Lightstep) String() string { return proto.CompactTextString(m) } -func (*Tracing_Lightstep) ProtoMessage() {} -func (*Tracing_Lightstep) Descriptor() ([]byte, []int) { - return fileDescriptor_5efecd978cf3d28d, []int{0, 1} -} -func (m *Tracing_Lightstep) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Tracing_Lightstep) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Tracing_Lightstep.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Tracing_Lightstep) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tracing_Lightstep.Merge(m, src) -} -func (m *Tracing_Lightstep) XXX_Size() int { - return m.Size() -} -func (m *Tracing_Lightstep) XXX_DiscardUnknown() { - xxx_messageInfo_Tracing_Lightstep.DiscardUnknown(m) + CacertPath string `protobuf:"bytes,4,opt,name=cacert_path,json=cacertPath,proto3" json:"cacert_path,omitempty"` } -var xxx_messageInfo_Tracing_Lightstep proto.InternalMessageInfo +func (m *Tracing_Lightstep) Reset() { *m = Tracing_Lightstep{} } +func (m *Tracing_Lightstep) String() string { return proto.CompactTextString(m) } +func (*Tracing_Lightstep) ProtoMessage() {} +func (*Tracing_Lightstep) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0, 1} } func (m *Tracing_Lightstep) GetAddress() string { if m != nil { @@ -397,20 +291,20 @@ type ProxyConfig struct { ServiceCluster string `protobuf:"bytes,3,opt,name=service_cluster,json=serviceCluster,proto3" json:"service_cluster,omitempty"` // The time in seconds that Envoy will drain connections during a hot // restart. MUST be >=1s (e.g., _1s/1m/1h_) - DrainDuration *types.Duration `protobuf:"bytes,4,opt,name=drain_duration,json=drainDuration,proto3" json:"drain_duration,omitempty"` + DrainDuration *google_protobuf.Duration `protobuf:"bytes,4,opt,name=drain_duration,json=drainDuration" json:"drain_duration,omitempty"` // The time in seconds that Envoy will wait before shutting down the // parent process during a hot restart. MUST be >=1s (e.g., _1s/1m/1h_). // MUST BE greater than _drain_duration_ parameter. - ParentShutdownDuration *types.Duration `protobuf:"bytes,5,opt,name=parent_shutdown_duration,json=parentShutdownDuration,proto3" json:"parent_shutdown_duration,omitempty"` + ParentShutdownDuration *google_protobuf.Duration `protobuf:"bytes,5,opt,name=parent_shutdown_duration,json=parentShutdownDuration" json:"parent_shutdown_duration,omitempty"` // Address of the discovery service exposing xDS with mTLS connection. DiscoveryAddress string `protobuf:"bytes,6,opt,name=discovery_address,json=discoveryAddress,proto3" json:"discovery_address,omitempty"` // $hide_from_docs - DiscoveryRefreshDelay *types.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay,proto3" json:"discovery_refresh_delay,omitempty"` // Deprecated: Do not use. + DiscoveryRefreshDelay *google_protobuf.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay" json:"discovery_refresh_delay,omitempty"` // Address of the Zipkin service (e.g. _zipkin:9411_). // DEPRECATED: Use [tracing][istio.mesh.v1alpha1.ProxyConfig.tracing] instead. - ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"` // Deprecated: Do not use. + ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"` // Connection timeout used by Envoy for supporting services. (MUST BE >=1ms) - ConnectTimeout *types.Duration `protobuf:"bytes,9,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` + ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,9,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` // 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). @@ -420,7 +314,7 @@ type ProxyConfig struct { // Port on which Envoy should listen for administrative commands. ProxyAdminPort int32 `protobuf:"varint,11,opt,name=proxy_admin_port,json=proxyAdminPort,proto3" json:"proxy_admin_port,omitempty"` // $hide_from_docs - AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"` // Deprecated: Do not use. + AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"` // Authentication policy defines the global switch to control authentication // for Envoy-to-Envoy communication for istio components Mixer and Pilot. ControlPlaneAuthPolicy AuthenticationPolicy `protobuf:"varint,13,opt,name=control_plane_auth_policy,json=controlPlaneAuthPolicy,proto3,enum=istio.mesh.v1alpha1.AuthenticationPolicy" json:"control_plane_auth_policy,omitempty"` @@ -440,44 +334,13 @@ type ProxyConfig struct { // The mode used to redirect inbound traffic to Envoy. InterceptionMode ProxyConfig_InboundInterceptionMode `protobuf:"varint,18,opt,name=interception_mode,json=interceptionMode,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode" json:"interception_mode,omitempty"` // Tracing configuration to be used by the proxy. - Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ProxyConfig) Reset() { *m = ProxyConfig{} } -func (m *ProxyConfig) String() string { return proto.CompactTextString(m) } -func (*ProxyConfig) ProtoMessage() {} -func (*ProxyConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_5efecd978cf3d28d, []int{1} -} -func (m *ProxyConfig) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ProxyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ProxyConfig.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ProxyConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProxyConfig.Merge(m, src) -} -func (m *ProxyConfig) XXX_Size() int { - return m.Size() -} -func (m *ProxyConfig) XXX_DiscardUnknown() { - xxx_messageInfo_ProxyConfig.DiscardUnknown(m) + Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing" json:"tracing,omitempty"` } -var xxx_messageInfo_ProxyConfig proto.InternalMessageInfo +func (m *ProxyConfig) Reset() { *m = ProxyConfig{} } +func (m *ProxyConfig) String() string { return proto.CompactTextString(m) } +func (*ProxyConfig) ProtoMessage() {} +func (*ProxyConfig) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{1} } func (m *ProxyConfig) GetConfigPath() string { if m != nil { @@ -500,14 +363,14 @@ func (m *ProxyConfig) GetServiceCluster() string { return "" } -func (m *ProxyConfig) GetDrainDuration() *types.Duration { +func (m *ProxyConfig) GetDrainDuration() *google_protobuf.Duration { if m != nil { return m.DrainDuration } return nil } -func (m *ProxyConfig) GetParentShutdownDuration() *types.Duration { +func (m *ProxyConfig) GetParentShutdownDuration() *google_protobuf.Duration { if m != nil { return m.ParentShutdownDuration } @@ -521,15 +384,13 @@ func (m *ProxyConfig) GetDiscoveryAddress() string { return "" } -// Deprecated: Do not use. -func (m *ProxyConfig) GetDiscoveryRefreshDelay() *types.Duration { +func (m *ProxyConfig) GetDiscoveryRefreshDelay() *google_protobuf.Duration { if m != nil { return m.DiscoveryRefreshDelay } return nil } -// Deprecated: Do not use. func (m *ProxyConfig) GetZipkinAddress() string { if m != nil { return m.ZipkinAddress @@ -537,7 +398,7 @@ func (m *ProxyConfig) GetZipkinAddress() string { return "" } -func (m *ProxyConfig) GetConnectTimeout() *types.Duration { +func (m *ProxyConfig) GetConnectTimeout() *google_protobuf.Duration { if m != nil { return m.ConnectTimeout } @@ -565,7 +426,6 @@ func (m *ProxyConfig) GetProxyAdminPort() int32 { return 0 } -// Deprecated: Do not use. func (m *ProxyConfig) GetAvailabilityZone() string { if m != nil { return m.AvailabilityZone @@ -623,76 +483,13 @@ func (m *ProxyConfig) GetTracing() *Tracing { } func init() { - proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) - proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) proto.RegisterType((*Tracing)(nil), "istio.mesh.v1alpha1.Tracing") proto.RegisterType((*Tracing_Zipkin)(nil), "istio.mesh.v1alpha1.Tracing.Zipkin") proto.RegisterType((*Tracing_Lightstep)(nil), "istio.mesh.v1alpha1.Tracing.Lightstep") proto.RegisterType((*ProxyConfig)(nil), "istio.mesh.v1alpha1.ProxyConfig") + proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) + proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) } - -func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptor_5efecd978cf3d28d) } - -var fileDescriptor_5efecd978cf3d28d = []byte{ - // 890 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xe3, 0xc4, - 0x17, 0xad, 0xfb, 0xdb, 0xcd, 0x9f, 0x9b, 0x36, 0x75, 0x67, 0xf7, 0xd7, 0x75, 0x23, 0x28, 0xa1, - 0x48, 0x90, 0x05, 0xe4, 0x68, 0xbb, 0x12, 0xe2, 0x05, 0x44, 0xd2, 0x76, 0xd5, 0x48, 0x6d, 0x37, - 0x72, 0x53, 0x09, 0xfa, 0x32, 0x9a, 0xd8, 0xb7, 0xf1, 0x68, 0x9d, 0x19, 0x6b, 0x3c, 0x0e, 0x64, - 0xdf, 0xf8, 0x6a, 0x48, 0x48, 0x3c, 0xf2, 0x11, 0x50, 0x9f, 0xf8, 0x18, 0xc8, 0x33, 0x76, 0x36, - 0xa0, 0xee, 0xf6, 0x2d, 0x73, 0xee, 0x39, 0x67, 0xee, 0x1f, 0xdf, 0x09, 0xec, 0xcf, 0x31, 0x8b, - 0xfb, 0x8b, 0x17, 0x2c, 0x49, 0x63, 0xf6, 0xa2, 0x9f, 0x2a, 0xf9, 0xcb, 0xd2, 0x4f, 0x95, 0xd4, - 0x92, 0x3c, 0xe1, 0x99, 0xe6, 0xd2, 0x2f, 0x08, 0x7e, 0x45, 0xe8, 0x1c, 0xcc, 0xa4, 0x9c, 0x25, - 0xd8, 0x37, 0x94, 0x69, 0x7e, 0xdb, 0x8f, 0x72, 0xc5, 0x34, 0x97, 0xc2, 0x8a, 0x0e, 0x7f, 0xdb, - 0x84, 0xfa, 0x44, 0xb1, 0x90, 0x8b, 0x19, 0xf9, 0x0e, 0x6a, 0x6f, 0x79, 0xfa, 0x86, 0x0b, 0xcf, - 0xe9, 0x3a, 0xbd, 0xd6, 0xd1, 0x67, 0xfe, 0x3d, 0x8e, 0x7e, 0xc9, 0xf6, 0x6f, 0x0c, 0xf5, 0x6c, - 0x23, 0x28, 0x45, 0xe4, 0x15, 0x34, 0x13, 0x3e, 0x8b, 0x75, 0xa6, 0x31, 0xf5, 0x36, 0x8d, 0xc3, - 0xe7, 0x1f, 0x74, 0x38, 0xaf, 0xd8, 0x67, 0x1b, 0xc1, 0x3b, 0x69, 0xe7, 0x10, 0x6a, 0xd6, 0x9b, - 0x78, 0x50, 0x67, 0x51, 0xa4, 0x30, 0xcb, 0x4c, 0x46, 0xcd, 0xa0, 0x3a, 0x76, 0x7e, 0x75, 0xa0, - 0xb9, 0x92, 0xbf, 0x9f, 0x47, 0x3e, 0x85, 0x2d, 0x16, 0x86, 0x98, 0x65, 0x54, 0xcb, 0x37, 0x28, - 0x4c, 0x5a, 0xcd, 0xa0, 0x65, 0xb1, 0x49, 0x01, 0x91, 0x3d, 0xa8, 0x65, 0x18, 0xe6, 0x0a, 0xbd, - 0xff, 0x75, 0x9d, 0x5e, 0x23, 0x28, 0x4f, 0xe4, 0x13, 0x68, 0x85, 0x2c, 0x44, 0xa5, 0x69, 0xca, - 0x74, 0xec, 0x3d, 0x32, 0x4a, 0xb0, 0xd0, 0x98, 0xe9, 0x78, 0xd8, 0x80, 0x9a, 0x56, 0xc5, 0xf1, - 0xf0, 0xf7, 0x26, 0xb4, 0xc6, 0xc5, 0x24, 0x8e, 0xa5, 0xb8, 0xe5, 0x33, 0x23, 0x35, 0xbf, 0xac, - 0xd4, 0x29, 0xa5, 0x06, 0x2a, 0xa4, 0x05, 0x61, 0xca, 0x05, 0x53, 0x4b, 0x4b, 0xb0, 0x59, 0x81, - 0x85, 0x0c, 0xe1, 0x0b, 0xd8, 0xc9, 0x50, 0x2d, 0x78, 0x88, 0x34, 0x4c, 0xf2, 0x4c, 0xa3, 0x32, - 0xd9, 0x35, 0x83, 0x76, 0x09, 0x1f, 0x5b, 0x94, 0xfc, 0x00, 0xed, 0x48, 0x31, 0x2e, 0x68, 0x35, - 0x57, 0x93, 0x68, 0xeb, 0x68, 0xdf, 0xb7, 0x83, 0xf7, 0xab, 0xc1, 0xfb, 0x27, 0x25, 0x21, 0xd8, - 0x36, 0x82, 0xea, 0x48, 0xae, 0xc0, 0x4b, 0x99, 0x42, 0xa1, 0x69, 0x16, 0xe7, 0x3a, 0x92, 0x3f, - 0xaf, 0x79, 0x3d, 0x7e, 0xc8, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xca, 0xf4, 0x2b, 0xd8, 0x8d, - 0x78, 0x16, 0xca, 0x05, 0xaa, 0x25, 0xad, 0x66, 0x53, 0x33, 0x15, 0xb8, 0xab, 0xc0, 0xa0, 0x1c, - 0xd2, 0x35, 0x3c, 0x7b, 0x47, 0x56, 0x78, 0xab, 0x30, 0x8b, 0x69, 0x84, 0x09, 0x5b, 0x7a, 0xf5, - 0x07, 0x12, 0x18, 0x6e, 0x7a, 0x4e, 0xf0, 0xff, 0x95, 0x3a, 0xb0, 0xe2, 0x93, 0x42, 0x4b, 0x9e, - 0x43, 0xdb, 0x7e, 0x99, 0xab, 0x04, 0x1a, 0x45, 0x02, 0x46, 0xb2, 0x6d, 0x23, 0x55, 0x06, 0x43, - 0xd8, 0x09, 0xa5, 0x10, 0x18, 0x6a, 0xaa, 0xf9, 0x1c, 0x65, 0xae, 0xbd, 0xe6, 0x43, 0xa5, 0xb7, - 0x4b, 0xc5, 0xc4, 0x0a, 0xc8, 0xd7, 0x40, 0x32, 0xcd, 0x74, 0x16, 0xd1, 0x3c, 0x4a, 0x57, 0x57, - 0x82, 0xad, 0xd9, 0x46, 0xae, 0xa3, 0xb4, 0xba, 0x71, 0x00, 0x1f, 0xa3, 0x58, 0xc8, 0x25, 0x9d, - 0xa3, 0x56, 0x3c, 0xcc, 0x68, 0x35, 0xee, 0x4a, 0xf8, 0xd4, 0x08, 0x3b, 0x86, 0x74, 0x61, 0x39, - 0x57, 0x96, 0x52, 0x59, 0xf4, 0xc0, 0x35, 0xeb, 0x4f, 0x59, 0x34, 0xe7, 0x82, 0xa6, 0x52, 0x69, - 0xaf, 0xd5, 0x75, 0x7a, 0x8f, 0x83, 0xb6, 0xc1, 0x07, 0x05, 0x3c, 0x96, 0x4a, 0x93, 0x3e, 0xec, - 0xb2, 0x05, 0xe3, 0x09, 0x9b, 0xf2, 0x84, 0xeb, 0x25, 0x7d, 0x2b, 0x05, 0x7a, 0x5b, 0xab, 0x66, - 0xb8, 0xeb, 0xc1, 0x1b, 0x29, 0x90, 0x44, 0xb0, 0x1f, 0x4a, 0xa1, 0x95, 0x4c, 0x68, 0x9a, 0x30, - 0x81, 0x94, 0xe5, 0x3a, 0xa6, 0xa9, 0x4c, 0x78, 0xb8, 0xf4, 0xb6, 0xbb, 0x4e, 0xaf, 0x7d, 0xf4, - 0xfc, 0xde, 0xd5, 0x1e, 0xe4, 0x3a, 0x46, 0xa1, 0x79, 0x68, 0x7a, 0x34, 0x36, 0x82, 0x60, 0xaf, - 0xf4, 0x1a, 0x17, 0x56, 0x05, 0xc3, 0xe2, 0x45, 0xc7, 0xc2, 0x3c, 0xd3, 0x72, 0x4e, 0xcb, 0x6d, - 0xb9, 0xe5, 0x09, 0x7a, 0x6d, 0xdb, 0x31, 0x1b, 0xb1, 0x0b, 0xf5, 0x8a, 0x27, 0x58, 0x94, 0x5b, - 0x74, 0x91, 0x0a, 0x36, 0x47, 0x9a, 0xa0, 0x98, 0xe9, 0xd8, 0xdb, 0xb1, 0xe5, 0x16, 0xf8, 0x25, - 0x9b, 0xe3, 0xb9, 0x41, 0x49, 0xd7, 0xac, 0x5f, 0x98, 0x2b, 0x85, 0x22, 0x5c, 0x7a, 0xae, 0x21, - 0xad, 0x43, 0x45, 0xf7, 0x6d, 0xeb, 0xa6, 0x52, 0xea, 0x4c, 0x2b, 0x96, 0x52, 0x8d, 0xf3, 0x34, - 0x61, 0x1a, 0xed, 0x46, 0xee, 0xda, 0xee, 0x1b, 0xd2, 0xb0, 0xe2, 0x4c, 0x4a, 0x8a, 0xd9, 0x50, - 0x84, 0x5d, 0x2e, 0x34, 0xaa, 0x10, 0xd3, 0xa2, 0x54, 0x3a, 0x97, 0x11, 0x7a, 0xc4, 0xb4, 0xe6, - 0xdb, 0x7b, 0x5b, 0xb3, 0xf6, 0x40, 0xf8, 0x23, 0x31, 0x95, 0xb9, 0x88, 0x46, 0x6b, 0x06, 0x17, - 0x32, 0xc2, 0xc0, 0xe5, 0xff, 0x41, 0xc8, 0x37, 0x50, 0xd7, 0xf6, 0xb9, 0xf4, 0x9e, 0x98, 0x2f, - 0xf2, 0xa3, 0x0f, 0x3d, 0xa9, 0x41, 0x45, 0x3e, 0x7c, 0x09, 0xcf, 0xde, 0x73, 0x09, 0xd9, 0x82, - 0x46, 0x70, 0x7a, 0x32, 0x0a, 0x4e, 0x8f, 0x27, 0xee, 0x06, 0x01, 0xa8, 0x4d, 0xc6, 0xc1, 0xeb, - 0x1f, 0x7f, 0x72, 0x9d, 0x2f, 0xbf, 0x87, 0xa7, 0xf7, 0x0d, 0x90, 0x34, 0xe0, 0xd1, 0xe5, 0xeb, - 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, 0xbf, 0x72, - 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, 0xbd, 0x3f, - 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0x4d, 0x94, 0xcb, - 0x3e, 0x4b, 0x79, 0xff, 0x5f, 0xff, 0x5b, 0xd3, 0x9a, 0xd9, 0xa7, 0x97, 0xff, 0x04, 0x00, 0x00, - 0xff, 0xff, 0x92, 0x7b, 0x1a, 0x92, 0xcf, 0x06, 0x00, 0x00, -} - func (m *Tracing) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -715,9 +512,6 @@ func (m *Tracing) MarshalTo(dAtA []byte) (int, error) { } i += nn1 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -770,9 +564,6 @@ func (m *Tracing_Zipkin) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.Address))) i += copy(dAtA[i:], m.Address) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -819,9 +610,6 @@ func (m *Tracing_Lightstep) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.CacertPath))) i += copy(dAtA[i:], m.CacertPath) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -985,9 +773,6 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.EnvoyMetricsServiceAddress))) i += copy(dAtA[i:], m.EnvoyMetricsServiceAddress) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1001,24 +786,15 @@ func encodeVarintProxy(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Tracing) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Tracer != nil { n += m.Tracer.Size() } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Tracing_Zipkin_) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Zipkin != nil { @@ -1028,9 +804,6 @@ func (m *Tracing_Zipkin_) Size() (n int) { return n } func (m *Tracing_Lightstep_) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Lightstep != nil { @@ -1040,25 +813,16 @@ func (m *Tracing_Lightstep_) Size() (n int) { return n } func (m *Tracing_Zipkin) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Address) if l > 0 { n += 1 + l + sovProxy(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Tracing_Lightstep) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Address) @@ -1076,16 +840,10 @@ func (m *Tracing_Lightstep) Size() (n int) { if l > 0 { n += 1 + l + sovProxy(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *ProxyConfig) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.ConfigPath) @@ -1163,9 +921,6 @@ func (m *ProxyConfig) Size() (n int) { if l > 0 { n += 2 + l + sovProxy(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -1197,7 +952,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1225,7 +980,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1234,9 +989,6 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1260,7 +1012,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1269,9 +1021,6 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1290,13 +1039,9 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthProxy - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1321,7 +1066,7 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1349,7 +1094,7 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1359,9 +1104,6 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1376,13 +1118,9 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthProxy - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1407,7 +1145,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1435,7 +1173,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1445,9 +1183,6 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1467,7 +1202,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1477,9 +1212,6 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1499,7 +1231,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1519,7 +1251,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1529,9 +1261,6 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1546,13 +1275,9 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthProxy - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1577,7 +1302,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1605,7 +1330,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1615,9 +1340,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1637,7 +1359,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1647,9 +1369,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1669,7 +1388,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1679,9 +1398,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1701,7 +1417,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1710,14 +1426,11 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } if m.DrainDuration == nil { - m.DrainDuration = &types.Duration{} + m.DrainDuration = &google_protobuf.Duration{} } if err := m.DrainDuration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1737,7 +1450,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1746,14 +1459,11 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } if m.ParentShutdownDuration == nil { - m.ParentShutdownDuration = &types.Duration{} + m.ParentShutdownDuration = &google_protobuf.Duration{} } if err := m.ParentShutdownDuration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1773,7 +1483,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1783,9 +1493,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1805,7 +1512,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1814,14 +1521,11 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } if m.DiscoveryRefreshDelay == nil { - m.DiscoveryRefreshDelay = &types.Duration{} + m.DiscoveryRefreshDelay = &google_protobuf.Duration{} } if err := m.DiscoveryRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1841,7 +1545,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1851,9 +1555,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1873,7 +1574,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1882,14 +1583,11 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &types.Duration{} + m.ConnectTimeout = &google_protobuf.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1909,7 +1607,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1919,9 +1617,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1941,7 +1636,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyAdminPort |= int32(b&0x7F) << shift + m.ProxyAdminPort |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -1960,7 +1655,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1970,9 +1665,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1992,7 +1684,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ControlPlaneAuthPolicy |= AuthenticationPolicy(b&0x7F) << shift + m.ControlPlaneAuthPolicy |= (AuthenticationPolicy(b) & 0x7F) << shift if b < 0x80 { break } @@ -2011,7 +1703,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2021,9 +1713,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2043,7 +1732,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.StatNameLength |= int32(b&0x7F) << shift + m.StatNameLength |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -2062,7 +1751,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Concurrency |= int32(b&0x7F) << shift + m.Concurrency |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -2081,7 +1770,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2091,9 +1780,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2113,7 +1799,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.InterceptionMode |= ProxyConfig_InboundInterceptionMode(b&0x7F) << shift + m.InterceptionMode |= (ProxyConfig_InboundInterceptionMode(b) & 0x7F) << shift if b < 0x80 { break } @@ -2132,7 +1818,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2141,9 +1827,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2168,7 +1851,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2178,9 +1861,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2195,13 +1875,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthProxy - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2265,11 +1941,8 @@ func skipProxy(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthProxy - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthProxy } return iNdEx, nil @@ -2300,9 +1973,6 @@ func skipProxy(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthProxy - } } return iNdEx, nil case 4: @@ -2321,3 +1991,65 @@ var ( ErrInvalidLengthProxy = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProxy = fmt.Errorf("proto: integer overflow") ) + +func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptorProxy) } + +var fileDescriptorProxy = []byte{ + // 892 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xdb, 0xb6, + 0x17, 0x8d, 0xf2, 0x6b, 0xfd, 0xe7, 0x3a, 0x71, 0x14, 0xb6, 0xbf, 0x54, 0x31, 0xb6, 0xcc, 0xcb, + 0x80, 0xcd, 0xdd, 0x06, 0x19, 0x4d, 0x81, 0x61, 0x2f, 0x1b, 0x66, 0x27, 0x29, 0x62, 0x20, 0x49, + 0x0d, 0xc5, 0x01, 0xb6, 0xbc, 0x10, 0xb4, 0x74, 0x63, 0x11, 0x95, 0x49, 0x81, 0xa2, 0xbc, 0xb9, + 0x6f, 0xfb, 0x6a, 0x03, 0x06, 0xec, 0x71, 0x1f, 0x61, 0xc8, 0xd3, 0x3e, 0xc6, 0x20, 0x52, 0x72, + 0xbd, 0x21, 0x6d, 0xde, 0xcc, 0xc3, 0x73, 0xae, 0xce, 0x21, 0xef, 0xa5, 0x61, 0x7f, 0x8e, 0x59, + 0xdc, 0x5f, 0xbc, 0x60, 0x49, 0x1a, 0xb3, 0x17, 0xfd, 0x54, 0xc9, 0x5f, 0x96, 0x7e, 0xaa, 0xa4, + 0x96, 0xe4, 0x09, 0xcf, 0x34, 0x97, 0x7e, 0x41, 0xf0, 0x2b, 0x42, 0xe7, 0x60, 0x26, 0xe5, 0x2c, + 0xc1, 0xbe, 0xa1, 0x4c, 0xf3, 0xdb, 0x7e, 0x94, 0x2b, 0xa6, 0xb9, 0x14, 0x56, 0x74, 0xf8, 0xdb, + 0x26, 0xd4, 0x27, 0x8a, 0x85, 0x5c, 0xcc, 0xc8, 0x77, 0x50, 0x7b, 0xcb, 0xd3, 0x37, 0x5c, 0x78, + 0x4e, 0xd7, 0xe9, 0xb5, 0x8e, 0x3e, 0xf3, 0xef, 0xa9, 0xe8, 0x97, 0x6c, 0xff, 0xc6, 0x50, 0xcf, + 0x36, 0x82, 0x52, 0x44, 0x5e, 0x41, 0x33, 0xe1, 0xb3, 0x58, 0x67, 0x1a, 0x53, 0x6f, 0xd3, 0x54, + 0xf8, 0xfc, 0x83, 0x15, 0xce, 0x2b, 0xf6, 0xd9, 0x46, 0xf0, 0x4e, 0xda, 0x39, 0x84, 0x9a, 0xad, + 0x4d, 0x3c, 0xa8, 0xb3, 0x28, 0x52, 0x98, 0x65, 0xc6, 0x51, 0x33, 0xa8, 0x96, 0x9d, 0x5f, 0x1d, + 0x68, 0xae, 0xe4, 0xef, 0xe7, 0x91, 0x4f, 0x61, 0x8b, 0x85, 0x21, 0x66, 0x19, 0xd5, 0xf2, 0x0d, + 0x0a, 0x63, 0xab, 0x19, 0xb4, 0x2c, 0x36, 0x29, 0x20, 0xb2, 0x07, 0xb5, 0x0c, 0xc3, 0x5c, 0xa1, + 0xf7, 0xbf, 0xae, 0xd3, 0x6b, 0x04, 0xe5, 0x8a, 0x7c, 0x02, 0xad, 0x90, 0x85, 0xa8, 0x34, 0x4d, + 0x99, 0x8e, 0xbd, 0x47, 0x46, 0x09, 0x16, 0x1a, 0x33, 0x1d, 0x0f, 0x1b, 0x50, 0xd3, 0xaa, 0x58, + 0x1e, 0xfe, 0xde, 0x84, 0xd6, 0xb8, 0xb8, 0x89, 0x63, 0x29, 0x6e, 0xf9, 0xcc, 0x48, 0xcd, 0x2f, + 0x2b, 0x75, 0x4a, 0xa9, 0x81, 0x0a, 0x69, 0x41, 0x98, 0x72, 0xc1, 0xd4, 0xd2, 0x12, 0xac, 0x2b, + 0xb0, 0x90, 0x21, 0x7c, 0x01, 0x3b, 0x19, 0xaa, 0x05, 0x0f, 0x91, 0x86, 0x49, 0x9e, 0x69, 0x54, + 0xc6, 0x5d, 0x33, 0x68, 0x97, 0xf0, 0xb1, 0x45, 0xc9, 0x0f, 0xd0, 0x8e, 0x14, 0xe3, 0x82, 0x56, + 0xf7, 0x6a, 0x8c, 0xb6, 0x8e, 0xf6, 0x7d, 0x7b, 0xf1, 0x7e, 0x75, 0xf1, 0xfe, 0x49, 0x49, 0x08, + 0xb6, 0x8d, 0xa0, 0x5a, 0x92, 0x2b, 0xf0, 0x52, 0xa6, 0x50, 0x68, 0x9a, 0xc5, 0xb9, 0x8e, 0xe4, + 0xcf, 0x6b, 0xb5, 0x1e, 0x3f, 0x54, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xaa, 0xe8, 0x57, 0xb0, + 0x1b, 0xf1, 0x2c, 0x94, 0x0b, 0x54, 0x4b, 0x5a, 0xdd, 0x4d, 0xcd, 0x24, 0x70, 0x57, 0x1b, 0x83, + 0xf2, 0x92, 0xae, 0xe1, 0xd9, 0x3b, 0xb2, 0xc2, 0x5b, 0x85, 0x59, 0x4c, 0x23, 0x4c, 0xd8, 0xd2, + 0xab, 0x3f, 0x60, 0x60, 0xb8, 0xe9, 0x39, 0xc1, 0xff, 0x57, 0xea, 0xc0, 0x8a, 0x4f, 0x0a, 0x2d, + 0x79, 0x0e, 0x6d, 0xdb, 0x99, 0x2b, 0x03, 0x8d, 0xc2, 0x80, 0x91, 0x6c, 0xdb, 0x9d, 0xca, 0xc1, + 0x10, 0x76, 0x42, 0x29, 0x04, 0x86, 0x9a, 0x6a, 0x3e, 0x47, 0x99, 0x6b, 0xaf, 0xf9, 0x50, 0xf4, + 0x76, 0xa9, 0x98, 0x58, 0x01, 0xf9, 0x1a, 0x48, 0xa6, 0x99, 0xce, 0x22, 0x9a, 0x47, 0xe9, 0xea, + 0x93, 0x60, 0x33, 0xdb, 0x9d, 0xeb, 0x28, 0xad, 0xbe, 0xd8, 0x03, 0xd7, 0xcc, 0x2e, 0x65, 0xd1, + 0x9c, 0x0b, 0x9a, 0x4a, 0xa5, 0xbd, 0x56, 0xd7, 0xe9, 0x3d, 0x0e, 0xda, 0x06, 0x1f, 0x14, 0xf0, + 0x58, 0x2a, 0x4d, 0xfa, 0xb0, 0xcb, 0x16, 0x8c, 0x27, 0x6c, 0xca, 0x13, 0xae, 0x97, 0xf4, 0xad, + 0x14, 0xe8, 0x6d, 0xad, 0x92, 0xb8, 0xeb, 0x9b, 0x37, 0x52, 0x20, 0x89, 0x60, 0x3f, 0x94, 0x42, + 0x2b, 0x99, 0xd0, 0x34, 0x61, 0x02, 0x29, 0xcb, 0x75, 0x4c, 0x53, 0x99, 0xf0, 0x70, 0xe9, 0x6d, + 0x77, 0x9d, 0x5e, 0xfb, 0xe8, 0xf9, 0xbd, 0x73, 0x39, 0xc8, 0x75, 0x8c, 0x42, 0xf3, 0xd0, 0x04, + 0x1c, 0x1b, 0x41, 0xb0, 0x57, 0xd6, 0x1a, 0x17, 0xa5, 0x0a, 0x86, 0xc5, 0x8b, 0xb8, 0x61, 0x9e, + 0x69, 0x39, 0xa7, 0x65, 0xab, 0xdf, 0xf2, 0x04, 0xbd, 0xb6, 0x8d, 0x6b, 0x77, 0xec, 0x34, 0xbc, + 0xe2, 0x09, 0x16, 0x71, 0x8b, 0x23, 0xa0, 0x82, 0xcd, 0x91, 0x26, 0x28, 0x66, 0x3a, 0xf6, 0x76, + 0x6c, 0xdc, 0x02, 0xbf, 0x64, 0x73, 0x3c, 0x37, 0x28, 0xe9, 0x9a, 0xd9, 0x09, 0x73, 0xa5, 0x50, + 0x84, 0x4b, 0xcf, 0x35, 0xa4, 0x75, 0x88, 0x0c, 0xe0, 0x63, 0x7b, 0x74, 0x53, 0x29, 0x75, 0xa6, + 0x15, 0x4b, 0xa9, 0xc6, 0x79, 0x9a, 0x30, 0x8d, 0x76, 0x9c, 0x76, 0x8d, 0x89, 0x8e, 0x21, 0x0d, + 0x2b, 0xce, 0xa4, 0xa4, 0x98, 0xf1, 0x42, 0xd8, 0xe5, 0x42, 0xa3, 0x0a, 0x31, 0x2d, 0xa2, 0xd2, + 0xb9, 0x8c, 0xd0, 0x23, 0xe6, 0x68, 0xbe, 0xbd, 0xf7, 0x68, 0xd6, 0xa6, 0xdb, 0x1f, 0x89, 0xa9, + 0xcc, 0x45, 0x34, 0x5a, 0x2b, 0x70, 0x21, 0x23, 0x0c, 0x5c, 0xfe, 0x1f, 0x84, 0x7c, 0x03, 0x75, + 0x6d, 0xdf, 0x3a, 0xef, 0x89, 0x69, 0xa7, 0x8f, 0x3e, 0xf4, 0x1e, 0x06, 0x15, 0xb9, 0x48, 0x88, + 0x62, 0x21, 0x97, 0x74, 0x8e, 0x5a, 0xf1, 0x30, 0xa3, 0xd5, 0x5b, 0x50, 0x75, 0xd5, 0x53, 0x9b, + 0xd0, 0x90, 0x2e, 0x2c, 0xe7, 0xca, 0x52, 0xca, 0xfe, 0x3a, 0x7c, 0x09, 0xcf, 0xde, 0xe3, 0x93, + 0x6c, 0x41, 0x23, 0x38, 0x3d, 0x19, 0x05, 0xa7, 0xc7, 0x13, 0x77, 0x83, 0x00, 0xd4, 0x26, 0xe3, + 0xe0, 0xf5, 0x8f, 0x3f, 0xb9, 0xce, 0x97, 0xdf, 0xc3, 0xd3, 0xfb, 0x7a, 0x80, 0x34, 0xe0, 0xd1, + 0xe5, 0xeb, 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, + 0xbf, 0x72, 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, + 0xbd, 0x3f, 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0xcd, + 0xca, 0x65, 0x9f, 0xa5, 0xbc, 0xff, 0xaf, 0xff, 0xad, 0x69, 0xcd, 0xcc, 0xd3, 0xcb, 0x7f, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x3f, 0x0f, 0x26, 0x61, 0xcf, 0x06, 0x00, 0x00, +} diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 9a0d61a14ea..9b263002db7 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -1,18 +1,67 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/destination_rule.proto +/* + Package v1alpha3 is a generated protocol buffer package. + + It is generated from these files: + networking/v1alpha3/destination_rule.proto + networking/v1alpha3/envoy_filter.proto + networking/v1alpha3/gateway.proto + networking/v1alpha3/service_entry.proto + networking/v1alpha3/sidecar.proto + networking/v1alpha3/virtual_service.proto + + It has these top-level messages: + DestinationRule + TrafficPolicy + Subset + LoadBalancerSettings + ConnectionPoolSettings + OutlierDetection + TLSSettings + EnvoyFilter + Gateway + Server + Port + ServiceEntry + Sidecar + IstioIngressListener + IstioEgressListener + WorkloadSelector + VirtualService + Destination + HTTPRoute + Headers + TLSRoute + TCPRoute + HTTPMatchRequest + HTTPRouteDestination + RouteDestination + L4MatchAttributes + TLSMatchAttributes + HTTPRedirect + HTTPRewrite + StringMatch + HTTPRetry + CorsPolicy + HTTPFaultInjection + PortSelector + Percent +*/ package v1alpha3 -import ( - fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - types "github.com/gogo/protobuf/types" - io "io" - math "math" - time "time" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import google_protobuf "github.com/gogo/protobuf/types" +import _ "github.com/gogo/protobuf/gogoproto" + +import time "time" + +import types "github.com/gogo/protobuf/types" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -54,7 +103,6 @@ var LoadBalancerSettings_SimpleLB_name = map[int32]string{ 2: "RANDOM", 3: "PASSTHROUGH", } - var LoadBalancerSettings_SimpleLB_value = map[string]int32{ "ROUND_ROBIN": 0, "LEAST_CONN": 1, @@ -65,9 +113,8 @@ var LoadBalancerSettings_SimpleLB_value = map[string]int32{ func (x LoadBalancerSettings_SimpleLB) String() string { return proto.EnumName(LoadBalancerSettings_SimpleLB_name, int32(x)) } - func (LoadBalancerSettings_SimpleLB) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{3, 0} + return fileDescriptorDestinationRule, []int{3, 0} } // TLS connection mode @@ -95,7 +142,6 @@ var TLSSettings_TLSmode_name = map[int32]string{ 2: "MUTUAL", 3: "ISTIO_MUTUAL", } - var TLSSettings_TLSmode_value = map[string]int32{ "DISABLE": 0, "SIMPLE": 1, @@ -106,9 +152,8 @@ var TLSSettings_TLSmode_value = map[string]int32{ func (x TLSSettings_TLSmode) String() string { return proto.EnumName(TLSSettings_TLSmode_name, int32(x)) } - func (TLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{6, 0} + return fileDescriptorDestinationRule, []int{6, 0} } // `DestinationRule` defines policies that apply to traffic intended for a @@ -201,51 +246,20 @@ type DestinationRule struct { Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // Traffic policies to apply (load balancing policy, connection pool // sizes, outlier detection). - TrafficPolicy *TrafficPolicy `protobuf:"bytes,2,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"` + TrafficPolicy *TrafficPolicy `protobuf:"bytes,2,opt,name=traffic_policy,json=trafficPolicy" json:"traffic_policy,omitempty"` // One or more named sets that represent individual versions of a // service. Traffic policies can be overridden at subset level. - Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets,proto3" json:"subsets,omitempty"` + Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets" json:"subsets,omitempty"` // The resolution of a DestinationRule to apply to a service occurs in the // context of a hierarchy of namespaces. This rule controls whether those // namespaces are allowed to select this rule. - ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DestinationRule) Reset() { *m = DestinationRule{} } -func (m *DestinationRule) String() string { return proto.CompactTextString(m) } -func (*DestinationRule) ProtoMessage() {} -func (*DestinationRule) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{0} -} -func (m *DestinationRule) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DestinationRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DestinationRule.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *DestinationRule) XXX_Merge(src proto.Message) { - xxx_messageInfo_DestinationRule.Merge(m, src) -} -func (m *DestinationRule) XXX_Size() int { - return m.Size() -} -func (m *DestinationRule) XXX_DiscardUnknown() { - xxx_messageInfo_DestinationRule.DiscardUnknown(m) + ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` } -var xxx_messageInfo_DestinationRule proto.InternalMessageInfo +func (m *DestinationRule) Reset() { *m = DestinationRule{} } +func (m *DestinationRule) String() string { return proto.CompactTextString(m) } +func (*DestinationRule) ProtoMessage() {} +func (*DestinationRule) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{0} } func (m *DestinationRule) GetHost() string { if m != nil { @@ -279,56 +293,25 @@ func (m *DestinationRule) GetExportTo() []string { // destination ports. See DestinationRule for examples. type TrafficPolicy struct { // Settings controlling the load balancer algorithms. - LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"` + LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer" json:"load_balancer,omitempty"` // Settings controlling the volume of connections to an upstream service - ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,2,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"` + ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,2,opt,name=connection_pool,json=connectionPool" json:"connection_pool,omitempty"` // Settings controlling eviction of unhealthy hosts from the load balancing pool - OutlierDetection *OutlierDetection `protobuf:"bytes,3,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` + OutlierDetection *OutlierDetection `protobuf:"bytes,3,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"` // TLS related settings for connections to the upstream service. - Tls *TLSSettings `protobuf:"bytes,4,opt,name=tls,proto3" json:"tls,omitempty"` + Tls *TLSSettings `protobuf:"bytes,4,opt,name=tls" json:"tls,omitempty"` // Traffic policies specific to individual ports. Note that port level // settings will override the destination-level settings. Traffic // settings specified at the destination-level will not be inherited when // overridden by port-level settings, i.e. default values will be applied // to fields omitted in port-level traffic policies. - PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings,proto3" json:"port_level_settings,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} } -func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) } -func (*TrafficPolicy) ProtoMessage() {} -func (*TrafficPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{1} -} -func (m *TrafficPolicy) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TrafficPolicy.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TrafficPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficPolicy.Merge(m, src) -} -func (m *TrafficPolicy) XXX_Size() int { - return m.Size() -} -func (m *TrafficPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficPolicy.DiscardUnknown(m) + PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings" json:"port_level_settings,omitempty"` } -var xxx_messageInfo_TrafficPolicy proto.InternalMessageInfo +func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} } +func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) } +func (*TrafficPolicy) ProtoMessage() {} +func (*TrafficPolicy) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{1} } func (m *TrafficPolicy) GetLoadBalancer() *LoadBalancerSettings { if m != nil { @@ -374,52 +357,23 @@ type TrafficPolicy_PortTrafficPolicy struct { // collide with numbers. If there are multiple ports on a service with // the same protocol the names should be of the form -. - Port *PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + Port *PortSelector `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` // Settings controlling the load balancer algorithms. - LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"` + LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer" json:"load_balancer,omitempty"` // Settings controlling the volume of connections to an upstream service - ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"` + ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool" json:"connection_pool,omitempty"` // Settings controlling eviction of unhealthy hosts from the load balancing pool - OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` + OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"` // TLS related settings for connections to the upstream service. - Tls *TLSSettings `protobuf:"bytes,5,opt,name=tls,proto3" json:"tls,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Tls *TLSSettings `protobuf:"bytes,5,opt,name=tls" json:"tls,omitempty"` } func (m *TrafficPolicy_PortTrafficPolicy) Reset() { *m = TrafficPolicy_PortTrafficPolicy{} } func (m *TrafficPolicy_PortTrafficPolicy) String() string { return proto.CompactTextString(m) } func (*TrafficPolicy_PortTrafficPolicy) ProtoMessage() {} func (*TrafficPolicy_PortTrafficPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{1, 0} + return fileDescriptorDestinationRule, []int{1, 0} } -func (m *TrafficPolicy_PortTrafficPolicy) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TrafficPolicy_PortTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TrafficPolicy_PortTrafficPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Merge(m, src) -} -func (m *TrafficPolicy_PortTrafficPolicy) XXX_Size() int { - return m.Size() -} -func (m *TrafficPolicy_PortTrafficPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.DiscardUnknown(m) -} - -var xxx_messageInfo_TrafficPolicy_PortTrafficPolicy proto.InternalMessageInfo func (m *TrafficPolicy_PortTrafficPolicy) GetPort() *PortSelector { if m != nil { @@ -498,49 +452,18 @@ type Subset struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Labels apply a filter over the endpoints of a service in the // service registry. See route rules for examples of usage. - Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Traffic policies that apply to this subset. Subsets inherit the // traffic policies specified at the DestinationRule level. Settings // specified at the subset level will override the corresponding settings // specified at the DestinationRule level. - TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy" json:"traffic_policy,omitempty"` } -func (m *Subset) Reset() { *m = Subset{} } -func (m *Subset) String() string { return proto.CompactTextString(m) } -func (*Subset) ProtoMessage() {} -func (*Subset) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{2} -} -func (m *Subset) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Subset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Subset.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Subset) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subset.Merge(m, src) -} -func (m *Subset) XXX_Size() int { - return m.Size() -} -func (m *Subset) XXX_DiscardUnknown() { - xxx_messageInfo_Subset.DiscardUnknown(m) -} - -var xxx_messageInfo_Subset proto.InternalMessageInfo +func (m *Subset) Reset() { *m = Subset{} } +func (m *Subset) String() string { return proto.CompactTextString(m) } +func (*Subset) ProtoMessage() {} +func (*Subset) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{2} } func (m *Subset) GetName() string { if m != nil { @@ -608,45 +531,16 @@ type LoadBalancerSettings struct { // Types that are valid to be assigned to LbPolicy: // *LoadBalancerSettings_Simple // *LoadBalancerSettings_ConsistentHash - LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"` } func (m *LoadBalancerSettings) Reset() { *m = LoadBalancerSettings{} } func (m *LoadBalancerSettings) String() string { return proto.CompactTextString(m) } func (*LoadBalancerSettings) ProtoMessage() {} func (*LoadBalancerSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{3} -} -func (m *LoadBalancerSettings) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *LoadBalancerSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LoadBalancerSettings.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *LoadBalancerSettings) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoadBalancerSettings.Merge(m, src) -} -func (m *LoadBalancerSettings) XXX_Size() int { - return m.Size() -} -func (m *LoadBalancerSettings) XXX_DiscardUnknown() { - xxx_messageInfo_LoadBalancerSettings.DiscardUnknown(m) + return fileDescriptorDestinationRule, []int{3} } -var xxx_messageInfo_LoadBalancerSettings proto.InternalMessageInfo - type isLoadBalancerSettings_LbPolicy interface { isLoadBalancerSettings_LbPolicy() MarshalTo([]byte) (int, error) @@ -657,7 +551,7 @@ type LoadBalancerSettings_Simple struct { Simple LoadBalancerSettings_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB,oneof"` } type LoadBalancerSettings_ConsistentHash struct { - ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof"` + ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,oneof"` } func (*LoadBalancerSettings_Simple) isLoadBalancerSettings_LbPolicy() {} @@ -739,11 +633,11 @@ func _LoadBalancerSettings_OneofSizer(msg proto.Message) (n int) { // lb_policy switch x := m.LbPolicy.(type) { case *LoadBalancerSettings_Simple: - n += 1 // tag and wire + n += proto.SizeVarint(1<<3 | proto.WireVarint) n += proto.SizeVarint(uint64(x.Simple)) case *LoadBalancerSettings_ConsistentHash: s := proto.Size(x.ConsistentHash) - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -772,44 +666,15 @@ type LoadBalancerSettings_ConsistentHashLB struct { // load distributions. If the number of hosts in the load balancing // pool is larger than the ring size, each host will be assigned a // single virtual node. - MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` } func (m *LoadBalancerSettings_ConsistentHashLB) Reset() { *m = LoadBalancerSettings_ConsistentHashLB{} } func (m *LoadBalancerSettings_ConsistentHashLB) String() string { return proto.CompactTextString(m) } func (*LoadBalancerSettings_ConsistentHashLB) ProtoMessage() {} func (*LoadBalancerSettings_ConsistentHashLB) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{3, 0} -} -func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) + return fileDescriptorDestinationRule, []int{3, 0} } -func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Merge(m, src) -} -func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Size() int { - return m.Size() -} -func (m *LoadBalancerSettings_ConsistentHashLB) XXX_DiscardUnknown() { - xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.DiscardUnknown(m) -} - -var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB proto.InternalMessageInfo type isLoadBalancerSettings_ConsistentHashLB_HashKey interface { isLoadBalancerSettings_ConsistentHashLB_HashKey() @@ -821,7 +686,7 @@ type LoadBalancerSettings_ConsistentHashLB_HttpHeaderName struct { HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof"` } type LoadBalancerSettings_ConsistentHashLB_HttpCookie struct { - HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof"` + HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,oneof"` } type LoadBalancerSettings_ConsistentHashLB_UseSourceIp struct { UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof"` @@ -939,16 +804,16 @@ func _LoadBalancerSettings_ConsistentHashLB_OneofSizer(msg proto.Message) (n int // hash_key switch x := m.HashKey.(type) { case *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName: - n += 1 // tag and wire + n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.HttpHeaderName))) n += len(x.HttpHeaderName) case *LoadBalancerSettings_ConsistentHashLB_HttpCookie: s := proto.Size(x.HttpCookie) - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *LoadBalancerSettings_ConsistentHashLB_UseSourceIp: - n += 1 // tag and wire + n += proto.SizeVarint(3<<3 | proto.WireVarint) n += 1 case nil: default: @@ -966,10 +831,7 @@ type LoadBalancerSettings_ConsistentHashLB_HTTPCookie struct { // Path to set for the cookie. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // REQUIRED. Lifetime of the cookie. - Ttl *time.Duration `protobuf:"bytes,3,opt,name=ttl,proto3,stdduration" json:"ttl,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Ttl *time.Duration `protobuf:"bytes,3,opt,name=ttl,stdduration" json:"ttl,omitempty"` } func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Reset() { @@ -980,34 +842,8 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) String() string { } func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoMessage() {} func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{3, 0, 0} -} -func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Merge(m, src) -} -func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Size() int { - return m.Size() + return fileDescriptorDestinationRule, []int{3, 0, 0} } -func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_DiscardUnknown() { - xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.DiscardUnknown(m) -} - -var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie proto.InternalMessageInfo func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetName() string { if m != nil { @@ -1057,46 +893,17 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *time.Durati // ``` type ConnectionPoolSettings struct { // Settings common to both HTTP and TCP upstream connections. - Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"` + Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp" json:"tcp,omitempty"` // HTTP connection pool settings. - Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http" json:"http,omitempty"` } func (m *ConnectionPoolSettings) Reset() { *m = ConnectionPoolSettings{} } func (m *ConnectionPoolSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings) ProtoMessage() {} func (*ConnectionPoolSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{4} -} -func (m *ConnectionPoolSettings) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ConnectionPoolSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ConnectionPoolSettings.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } + return fileDescriptorDestinationRule, []int{4} } -func (m *ConnectionPoolSettings) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConnectionPoolSettings.Merge(m, src) -} -func (m *ConnectionPoolSettings) XXX_Size() int { - return m.Size() -} -func (m *ConnectionPoolSettings) XXX_DiscardUnknown() { - xxx_messageInfo_ConnectionPoolSettings.DiscardUnknown(m) -} - -var xxx_messageInfo_ConnectionPoolSettings proto.InternalMessageInfo func (m *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings { if m != nil { @@ -1117,47 +924,18 @@ type ConnectionPoolSettings_TCPSettings struct { // Maximum number of HTTP1 /TCP connections to a destination host. MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // TCP connection timeout. - ConnectTimeout *types.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` + ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. - TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` } func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} } func (m *ConnectionPoolSettings_TCPSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings_TCPSettings) ProtoMessage() {} func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{4, 0} -} -func (m *ConnectionPoolSettings_TCPSettings) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ConnectionPoolSettings_TCPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ConnectionPoolSettings_TCPSettings) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Merge(m, src) -} -func (m *ConnectionPoolSettings_TCPSettings) XXX_Size() int { - return m.Size() -} -func (m *ConnectionPoolSettings_TCPSettings) XXX_DiscardUnknown() { - xxx_messageInfo_ConnectionPoolSettings_TCPSettings.DiscardUnknown(m) + return fileDescriptorDestinationRule, []int{4, 0} } -var xxx_messageInfo_ConnectionPoolSettings_TCPSettings proto.InternalMessageInfo - func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 { if m != nil { return m.MaxConnections @@ -1165,7 +943,7 @@ func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 { return 0 } -func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *types.Duration { +func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *google_protobuf.Duration { if m != nil { return m.ConnectTimeout } @@ -1188,14 +966,11 @@ type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct { // The time duration a connection needs to be idle before keep-alive // probes start being sent. Default is to use the OS level configuration // (unless overridden, Linux defaults to 7200s (ie 2 hours.) - Time *types.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"` + Time *google_protobuf.Duration `protobuf:"bytes,2,opt,name=time" json:"time,omitempty"` // The time duration between keep-alive probes. // Default is to use the OS level configuration // (unless overridden, Linux defaults to 75s.) - Interval *types.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Interval *google_protobuf.Duration `protobuf:"bytes,3,opt,name=interval" json:"interval,omitempty"` } func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() { @@ -1206,35 +981,9 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string { } func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {} func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{4, 0, 0} -} -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Merge(m, src) -} -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Size() int { - return m.Size() -} -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_DiscardUnknown() { - xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.DiscardUnknown(m) + return fileDescriptorDestinationRule, []int{4, 0, 0} } -var xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive proto.InternalMessageInfo - func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { if m != nil { return m.Probes @@ -1242,14 +991,14 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { return 0 } -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *types.Duration { +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *google_protobuf.Duration { if m != nil { return m.Time } return nil } -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *types.Duration { +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *google_protobuf.Duration { if m != nil { return m.Interval } @@ -1267,45 +1016,16 @@ type ConnectionPoolSettings_HTTPSettings struct { MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` // Maximum number of retries that can be outstanding to all hosts in a // cluster at a given time. Defaults to 3. - MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` } func (m *ConnectionPoolSettings_HTTPSettings) Reset() { *m = ConnectionPoolSettings_HTTPSettings{} } func (m *ConnectionPoolSettings_HTTPSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage() {} func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{4, 1} -} -func (m *ConnectionPoolSettings_HTTPSettings) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ConnectionPoolSettings_HTTPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ConnectionPoolSettings_HTTPSettings) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Merge(m, src) -} -func (m *ConnectionPoolSettings_HTTPSettings) XXX_Size() int { - return m.Size() -} -func (m *ConnectionPoolSettings_HTTPSettings) XXX_DiscardUnknown() { - xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.DiscardUnknown(m) + return fileDescriptorDestinationRule, []int{4, 1} } -var xxx_messageInfo_ConnectionPoolSettings_HTTPSettings proto.InternalMessageInfo - func (m *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32 { if m != nil { return m.Http1MaxPendingRequests @@ -1378,13 +1098,13 @@ type OutlierDetection struct { ConsecutiveErrors int32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"` // Time interval between ejection sweep analysis. format: // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s. - Interval *types.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` + Interval *google_protobuf.Duration `protobuf:"bytes,2,opt,name=interval" json:"interval,omitempty"` // Minimum ejection duration. A host will remain ejected for a period // equal to the product of minimum ejection duration and the number of // times the host has been ejected. This technique allows the system to // automatically increase the ejection period for unhealthy upstream // servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s. - BaseEjectionTime *types.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"` + BaseEjectionTime *google_protobuf.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime" json:"base_ejection_time,omitempty"` // Maximum % of hosts in the load balancing pool for the upstream // service that can be ejected. Defaults to 10%. MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` @@ -1393,44 +1113,13 @@ type OutlierDetection struct { // percentage of healthy hosts in the load balancing pool drops below this // threshold, outlier detection will be disabled and the proxy will load balance // across all hosts in the pool (healthy and unhealthy). The default is 50%. - MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutlierDetection) Reset() { *m = OutlierDetection{} } -func (m *OutlierDetection) String() string { return proto.CompactTextString(m) } -func (*OutlierDetection) ProtoMessage() {} -func (*OutlierDetection) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{5} -} -func (m *OutlierDetection) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutlierDetection.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutlierDetection) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutlierDetection.Merge(m, src) -} -func (m *OutlierDetection) XXX_Size() int { - return m.Size() -} -func (m *OutlierDetection) XXX_DiscardUnknown() { - xxx_messageInfo_OutlierDetection.DiscardUnknown(m) + MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"` } -var xxx_messageInfo_OutlierDetection proto.InternalMessageInfo +func (m *OutlierDetection) Reset() { *m = OutlierDetection{} } +func (m *OutlierDetection) String() string { return proto.CompactTextString(m) } +func (*OutlierDetection) ProtoMessage() {} +func (*OutlierDetection) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{5} } func (m *OutlierDetection) GetConsecutiveErrors() int32 { if m != nil { @@ -1439,14 +1128,14 @@ func (m *OutlierDetection) GetConsecutiveErrors() int32 { return 0 } -func (m *OutlierDetection) GetInterval() *types.Duration { +func (m *OutlierDetection) GetInterval() *google_protobuf.Duration { if m != nil { return m.Interval } return nil } -func (m *OutlierDetection) GetBaseEjectionTime() *types.Duration { +func (m *OutlierDetection) GetBaseEjectionTime() *google_protobuf.Duration { if m != nil { return m.BaseEjectionTime } @@ -1540,46 +1229,15 @@ type TLSSettings struct { // certificate's subject alt name matches one of the specified values. // If specified, this list overrides the value of subject_alt_names // from the ServiceEntry. - SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` // SNI string to present to the server during TLS handshake. - Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TLSSettings) Reset() { *m = TLSSettings{} } -func (m *TLSSettings) String() string { return proto.CompactTextString(m) } -func (*TLSSettings) ProtoMessage() {} -func (*TLSSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_12899beb695152c8, []int{6} -} -func (m *TLSSettings) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TLSSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TLSSettings.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TLSSettings) XXX_Merge(src proto.Message) { - xxx_messageInfo_TLSSettings.Merge(m, src) -} -func (m *TLSSettings) XXX_Size() int { - return m.Size() -} -func (m *TLSSettings) XXX_DiscardUnknown() { - xxx_messageInfo_TLSSettings.DiscardUnknown(m) + Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"` } -var xxx_messageInfo_TLSSettings proto.InternalMessageInfo +func (m *TLSSettings) Reset() { *m = TLSSettings{} } +func (m *TLSSettings) String() string { return proto.CompactTextString(m) } +func (*TLSSettings) ProtoMessage() {} +func (*TLSSettings) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{6} } func (m *TLSSettings) GetMode() TLSSettings_TLSmode { if m != nil { @@ -1624,13 +1282,10 @@ func (m *TLSSettings) GetSni() string { } func init() { - proto.RegisterEnum("istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value) - proto.RegisterEnum("istio.networking.v1alpha3.TLSSettings_TLSmode", TLSSettings_TLSmode_name, TLSSettings_TLSmode_value) proto.RegisterType((*DestinationRule)(nil), "istio.networking.v1alpha3.DestinationRule") proto.RegisterType((*TrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy") proto.RegisterType((*TrafficPolicy_PortTrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy") proto.RegisterType((*Subset)(nil), "istio.networking.v1alpha3.Subset") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Subset.LabelsEntry") proto.RegisterType((*LoadBalancerSettings)(nil), "istio.networking.v1alpha3.LoadBalancerSettings") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie") @@ -1640,104 +1295,9 @@ func init() { proto.RegisterType((*ConnectionPoolSettings_HTTPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings") proto.RegisterType((*OutlierDetection)(nil), "istio.networking.v1alpha3.OutlierDetection") proto.RegisterType((*TLSSettings)(nil), "istio.networking.v1alpha3.TLSSettings") + proto.RegisterEnum("istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value) + proto.RegisterEnum("istio.networking.v1alpha3.TLSSettings_TLSmode", TLSSettings_TLSmode_name, TLSSettings_TLSmode_value) } - -func init() { - proto.RegisterFile("networking/v1alpha3/destination_rule.proto", fileDescriptor_12899beb695152c8) -} - -var fileDescriptor_12899beb695152c8 = []byte{ - // 1396 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0xb7, - 0x13, 0xb6, 0xfe, 0xc6, 0x1a, 0xd9, 0xb2, 0xcc, 0x9f, 0x91, 0x9f, 0xa2, 0x00, 0x8e, 0x2b, 0x14, - 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x10, 0xb9, 0x91, 0x2d, - 0x81, 0x92, 0x81, 0x22, 0x97, 0x05, 0xb5, 0xa2, 0x25, 0xc6, 0xab, 0xe5, 0x76, 0xc9, 0x55, 0xed, - 0x3c, 0x43, 0xcf, 0x41, 0xaf, 0xbd, 0xf4, 0x59, 0x8a, 0x9e, 0x72, 0x6d, 0x2f, 0x2d, 0xf2, 0x02, - 0x3d, 0xf5, 0xd2, 0x53, 0x41, 0x2e, 0x57, 0x92, 0x13, 0xc7, 0x8e, 0xe1, 0xe6, 0xc6, 0xe5, 0xcc, - 0xf7, 0x91, 0x9c, 0x6f, 0x38, 0xc3, 0x85, 0x3b, 0x1e, 0x95, 0xdf, 0xf3, 0xe0, 0x88, 0x79, 0x83, - 0xea, 0x78, 0x83, 0xb8, 0xfe, 0x90, 0xdc, 0xab, 0xf6, 0xa9, 0x90, 0xcc, 0x23, 0x92, 0x71, 0xcf, - 0x0e, 0x42, 0x97, 0x5a, 0x7e, 0xc0, 0x25, 0x47, 0x37, 0x98, 0x90, 0x8c, 0x5b, 0x53, 0x84, 0x15, - 0x23, 0xca, 0xab, 0x03, 0xce, 0x07, 0x2e, 0xad, 0x6a, 0xc7, 0x5e, 0x78, 0x58, 0xed, 0x87, 0x81, - 0xc6, 0x47, 0xd0, 0xf2, 0xa7, 0x67, 0x2d, 0x33, 0x66, 0x81, 0x0c, 0x89, 0x6b, 0x0b, 0x1a, 0x8c, - 0x99, 0x63, 0x56, 0x29, 0xaf, 0x0c, 0xf8, 0x80, 0xeb, 0x61, 0x55, 0x8d, 0xa2, 0xd9, 0xca, 0xab, - 0x04, 0x2c, 0xed, 0x4c, 0xb7, 0x85, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x21, 0x17, 0xb2, 0x94, 0x58, - 0x4b, 0xac, 0xe7, 0xb0, 0x1e, 0xa3, 0x16, 0x14, 0x64, 0x40, 0x0e, 0x0f, 0x99, 0x63, 0xfb, 0xdc, - 0x65, 0xce, 0x49, 0x29, 0xb9, 0x96, 0x58, 0xcf, 0x6f, 0xae, 0x5b, 0xef, 0xdc, 0xbc, 0xd5, 0x8d, - 0x00, 0x6d, 0xed, 0x8f, 0x17, 0xe5, 0xec, 0x27, 0x7a, 0x08, 0xd7, 0x44, 0xd8, 0x13, 0x54, 0x8a, - 0x52, 0x6a, 0x2d, 0xb5, 0x9e, 0xdf, 0xfc, 0xe8, 0x1c, 0xa6, 0x8e, 0xf6, 0xc4, 0x31, 0x02, 0xdd, - 0x84, 0x1c, 0x3d, 0xf6, 0x79, 0x20, 0x6d, 0xc9, 0x4b, 0xe9, 0xb5, 0xd4, 0x7a, 0x0e, 0xcf, 0x47, - 0x13, 0x5d, 0x5e, 0xf9, 0x3d, 0x0b, 0x8b, 0xa7, 0x96, 0x46, 0x5d, 0x58, 0x74, 0x39, 0xe9, 0xdb, - 0x3d, 0xe2, 0x12, 0xcf, 0xa1, 0x81, 0x3e, 0x59, 0x7e, 0xb3, 0x7a, 0xce, 0x8a, 0x4d, 0x4e, 0xfa, - 0x35, 0xe3, 0xde, 0xa1, 0x52, 0x32, 0x6f, 0x20, 0xf0, 0x82, 0x3b, 0x33, 0x8b, 0x9e, 0xc1, 0x92, - 0xc3, 0x3d, 0x8f, 0x3a, 0x5a, 0x4f, 0x9f, 0x73, 0xd7, 0xc4, 0x64, 0xe3, 0x1c, 0xde, 0xed, 0x09, - 0xa2, 0xcd, 0xb9, 0x3b, 0x61, 0x2e, 0x38, 0xa7, 0xe6, 0xd1, 0xb7, 0xb0, 0xcc, 0x43, 0xe9, 0x32, - 0x1a, 0xd8, 0x7d, 0x2a, 0x23, 0x43, 0x29, 0xa5, 0xd9, 0x3f, 0x3b, 0x87, 0xbd, 0x15, 0x61, 0x76, - 0x62, 0x08, 0x2e, 0xf2, 0x37, 0x66, 0xd0, 0x7d, 0x48, 0x49, 0x57, 0x94, 0xd2, 0x9a, 0xeb, 0x93, - 0xf3, 0xd4, 0x6b, 0x76, 0x26, 0xdb, 0x53, 0x10, 0xf4, 0x1c, 0xfe, 0xa7, 0x43, 0xee, 0xd2, 0x31, - 0x55, 0xc9, 0x15, 0xd9, 0x4a, 0x19, 0xad, 0xde, 0x83, 0xf7, 0xcd, 0x03, 0xab, 0xad, 0x54, 0x3a, - 0x95, 0x19, 0xcb, 0x8a, 0xb6, 0xa9, 0x58, 0xe3, 0x05, 0xcb, 0x2f, 0x53, 0xb0, 0xfc, 0x96, 0x23, - 0x7a, 0x08, 0x69, 0xe5, 0x6a, 0xe4, 0xbb, 0x7d, 0xce, 0x92, 0x0a, 0xdb, 0xa1, 0x2e, 0x75, 0x24, - 0x0f, 0xb0, 0x06, 0xbd, 0x9d, 0x04, 0xc9, 0x0f, 0x94, 0x04, 0xa9, 0x0f, 0x9a, 0x04, 0xe9, 0xff, - 0x30, 0x09, 0x32, 0x97, 0x4e, 0x82, 0xca, 0x5f, 0x09, 0xc8, 0x46, 0xb7, 0x51, 0x95, 0x09, 0x8f, - 0x8c, 0x68, 0x5c, 0x26, 0xd4, 0x18, 0xd5, 0x21, 0xeb, 0x92, 0x1e, 0x75, 0x45, 0x29, 0xa9, 0xd3, - 0xe2, 0xee, 0x85, 0x97, 0xda, 0x6a, 0x6a, 0xff, 0xba, 0x27, 0x83, 0x13, 0x6c, 0xc0, 0x67, 0x54, - 0x9b, 0xd4, 0x95, 0xaa, 0x4d, 0xf9, 0x2b, 0xc8, 0xcf, 0xac, 0x83, 0x8a, 0x90, 0x3a, 0xa2, 0x27, - 0x66, 0xe7, 0x6a, 0x88, 0x56, 0x20, 0x33, 0x26, 0x6e, 0x48, 0x75, 0x56, 0xe4, 0x70, 0xf4, 0xf1, - 0x20, 0x79, 0x3f, 0x51, 0xf9, 0x39, 0x03, 0x2b, 0x67, 0x25, 0x02, 0xc2, 0x90, 0x15, 0x6c, 0xe4, - 0xbb, 0x51, 0x04, 0x0a, 0x9b, 0xf7, 0x2f, 0x99, 0x49, 0x56, 0x47, 0xa3, 0x9b, 0xb5, 0xc6, 0x1c, - 0x36, 0x4c, 0xe8, 0x48, 0xa7, 0x93, 0x60, 0x42, 0x52, 0x4f, 0xda, 0x43, 0x22, 0x86, 0x26, 0x4d, - 0x1f, 0x5f, 0x96, 0x7c, 0x7b, 0x42, 0xd3, 0x20, 0x62, 0xa8, 0x17, 0x29, 0x38, 0xa7, 0xe6, 0xca, - 0x7f, 0x27, 0xa1, 0xf8, 0xa6, 0x1b, 0xba, 0x03, 0xc5, 0xa1, 0x94, 0xbe, 0x3d, 0xa4, 0xa4, 0x4f, - 0x03, 0x7b, 0xaa, 0xb0, 0x22, 0x50, 0x96, 0x86, 0x36, 0xec, 0x2b, 0xb5, 0x3d, 0xc8, 0x6b, 0x5f, - 0x87, 0xf3, 0x23, 0x46, 0xcd, 0x4e, 0x9f, 0x5e, 0x75, 0xa7, 0x56, 0xa3, 0xdb, 0x6d, 0x6f, 0x6b, - 0xca, 0xc6, 0x1c, 0x06, 0xb5, 0x42, 0xf4, 0x85, 0x3e, 0x86, 0xc5, 0x50, 0x50, 0x5b, 0xf0, 0x30, - 0x70, 0xa8, 0xcd, 0x7c, 0x9d, 0x15, 0xf3, 0x8d, 0x39, 0x9c, 0x0f, 0x05, 0xed, 0xe8, 0xd9, 0x5d, - 0x1f, 0xdd, 0x81, 0xe5, 0x11, 0xf3, 0xd8, 0x28, 0x1c, 0xd9, 0x01, 0xf3, 0x06, 0xb6, 0x60, 0x2f, - 0xa8, 0xbe, 0x36, 0x69, 0xbc, 0x64, 0x0c, 0x98, 0x79, 0x83, 0x0e, 0x7b, 0x41, 0xcb, 0x03, 0x80, - 0xe9, 0x6a, 0x67, 0x66, 0x34, 0x82, 0xb4, 0x4f, 0xe4, 0xd0, 0xe4, 0x85, 0x1e, 0xa3, 0x0d, 0x48, - 0x49, 0x19, 0x5f, 0xf4, 0x1b, 0x56, 0xd4, 0xa3, 0xad, 0xb8, 0x47, 0x5b, 0x3b, 0xa6, 0x47, 0xd7, - 0xd2, 0x3f, 0xfe, 0x71, 0x2b, 0x81, 0x95, 0x6f, 0x0d, 0x60, 0x5e, 0xa9, 0x69, 0x1f, 0xd1, 0x93, - 0x4a, 0x03, 0xe6, 0x63, 0xe9, 0xd1, 0x12, 0xe4, 0x71, 0xeb, 0x60, 0x7f, 0xc7, 0xc6, 0xad, 0xda, - 0xee, 0x7e, 0x71, 0x0e, 0x15, 0x00, 0x9a, 0xf5, 0xad, 0x4e, 0xd7, 0xde, 0x6e, 0xed, 0xef, 0x17, - 0x13, 0x08, 0x20, 0x8b, 0xb7, 0xf6, 0x77, 0x5a, 0x7b, 0xc5, 0xa4, 0x72, 0x6e, 0x6f, 0x75, 0x3a, - 0xdd, 0x06, 0x6e, 0x1d, 0x3c, 0x69, 0x14, 0x53, 0xb5, 0x3c, 0xe4, 0xdc, 0x9e, 0xb9, 0x22, 0x95, - 0x97, 0x59, 0xb8, 0x7e, 0x76, 0x65, 0x41, 0x2d, 0x48, 0x49, 0xc7, 0x37, 0x75, 0xf3, 0xd1, 0xa5, - 0x2b, 0x93, 0xd5, 0xdd, 0x6e, 0xcf, 0x94, 0x01, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x17, 0x23, 0xf9, - 0xd7, 0x97, 0x67, 0x54, 0x51, 0x9f, 0x50, 0x6a, 0xae, 0xf2, 0x3f, 0x49, 0xc8, 0xcf, 0x2c, 0x84, - 0x6e, 0xc3, 0xd2, 0x88, 0x1c, 0xdb, 0xd3, 0xa2, 0x28, 0xf4, 0x01, 0x32, 0xb8, 0x30, 0x22, 0xc7, - 0x53, 0x5a, 0x81, 0x6a, 0x93, 0x1a, 0x6c, 0x4b, 0x36, 0xa2, 0x3c, 0x94, 0x66, 0x5f, 0xef, 0x96, - 0x66, 0x52, 0x6b, 0xbb, 0x11, 0x00, 0x71, 0x58, 0x94, 0x8e, 0x6f, 0x1f, 0x51, 0xea, 0x13, 0x97, - 0x8d, 0xa9, 0x11, 0xf7, 0x9b, 0x2b, 0xc5, 0xca, 0xea, 0x3a, 0xfe, 0xd3, 0x98, 0x11, 0x2f, 0xc8, - 0x99, 0xaf, 0xf2, 0x0f, 0x09, 0x58, 0x98, 0x35, 0xa3, 0xeb, 0x90, 0xf5, 0x03, 0xde, 0xa3, 0xd1, - 0x29, 0x17, 0xb1, 0xf9, 0x42, 0x77, 0x21, 0xad, 0x4e, 0x75, 0xf1, 0x91, 0xb4, 0x1b, 0xfa, 0x12, - 0xe6, 0x99, 0x27, 0x69, 0x30, 0x26, 0x17, 0x27, 0x28, 0x9e, 0xb8, 0x96, 0x7f, 0x4b, 0xc0, 0xc2, - 0xac, 0x26, 0xe8, 0x21, 0x94, 0x95, 0x2a, 0x1b, 0xb6, 0xd2, 0xc0, 0xa7, 0x5e, 0x5f, 0x5d, 0xa5, - 0x80, 0x7e, 0x17, 0x52, 0x21, 0x63, 0x21, 0xfe, 0xaf, 0x3d, 0xf6, 0xc8, 0x71, 0x3b, 0xb2, 0x63, - 0x63, 0x46, 0x9f, 0x03, 0x52, 0xa6, 0x4d, 0x0d, 0x9e, 0x80, 0x92, 0x1a, 0xa4, 0xcb, 0xcb, 0xe6, - 0x1e, 0x39, 0x9e, 0x78, 0x3f, 0x82, 0x9b, 0xb3, 0x7e, 0xb6, 0x4f, 0x83, 0x19, 0xd5, 0xf5, 0x29, - 0x32, 0xb8, 0x34, 0x9a, 0x22, 0xda, 0x34, 0x98, 0x06, 0x1f, 0xdd, 0x82, 0x7c, 0x04, 0x97, 0x01, - 0xa3, 0xd1, 0xcb, 0x26, 0x83, 0x41, 0xbb, 0xeb, 0x99, 0xca, 0x4f, 0x49, 0x28, 0xbe, 0xd9, 0x14, - 0xd1, 0x5d, 0x40, 0xaa, 0x1c, 0x52, 0x27, 0x94, 0x6c, 0x4c, 0x6d, 0x1a, 0x04, 0x3c, 0x88, 0xcf, - 0xb5, 0x3c, 0x63, 0xa9, 0x6b, 0xc3, 0xa9, 0xb0, 0x26, 0xdf, 0x3b, 0xac, 0xe8, 0x09, 0xa0, 0x1e, - 0x11, 0xd4, 0xa6, 0xcf, 0xcd, 0x0b, 0x41, 0x4b, 0x79, 0xa1, 0x2e, 0x45, 0x05, 0xaa, 0x1b, 0x8c, - 0x4a, 0x51, 0xf4, 0x05, 0xac, 0xa8, 0x43, 0x4e, 0x78, 0x7c, 0x1a, 0x38, 0xd4, 0x93, 0xe6, 0xb4, - 0x68, 0x44, 0x8e, 0x63, 0xf7, 0x76, 0x64, 0x51, 0x1a, 0x8c, 0x98, 0xa7, 0xea, 0xb8, 0x2b, 0x87, - 0x13, 0xff, 0x4c, 0xa4, 0xc1, 0x88, 0x79, 0x0d, 0x6d, 0x30, 0xde, 0x95, 0x5f, 0xd5, 0xe5, 0x9b, - 0x36, 0x7b, 0x54, 0x83, 0xf4, 0x88, 0xf7, 0xe3, 0xd6, 0x66, 0xbd, 0xdf, 0x13, 0x41, 0x8d, 0x15, - 0x0a, 0x6b, 0xac, 0x0e, 0xb1, 0xcb, 0x54, 0x23, 0x73, 0x68, 0x20, 0xd9, 0x21, 0x73, 0x88, 0x8c, - 0x1b, 0xec, 0x72, 0x64, 0xd9, 0x9e, 0x1a, 0x94, 0x8e, 0x7e, 0xc0, 0xc6, 0x44, 0x52, 0x55, 0x25, - 0x75, 0x90, 0x72, 0x18, 0xcc, 0xd4, 0x53, 0x7a, 0xa2, 0x0a, 0x82, 0x43, 0x66, 0xb9, 0x22, 0xb1, - 0x73, 0xb8, 0xe0, 0x90, 0x19, 0x22, 0xa1, 0x3a, 0x80, 0x08, 0x7b, 0x2a, 0x1e, 0x36, 0x71, 0xa5, - 0xee, 0x61, 0xd1, 0x3b, 0x35, 0x87, 0x97, 0x8c, 0x61, 0xcb, 0x95, 0xaa, 0x85, 0x09, 0xf5, 0x14, - 0x10, 0x1e, 0x2b, 0x65, 0xa3, 0xa7, 0x80, 0xf0, 0x58, 0xe5, 0x31, 0x5c, 0x33, 0xe7, 0x40, 0x79, - 0xb8, 0xb6, 0xb3, 0xdb, 0xd9, 0xaa, 0x35, 0xeb, 0xc5, 0x39, 0x55, 0x89, 0x3b, 0xbb, 0x7b, 0xed, - 0x66, 0x3d, 0xaa, 0xca, 0x7b, 0x07, 0xdd, 0x83, 0xad, 0x66, 0x31, 0x89, 0x8a, 0xb0, 0xb0, 0xdb, - 0xe9, 0xee, 0xb6, 0x6c, 0x33, 0x93, 0xaa, 0x59, 0xbf, 0xbc, 0x5e, 0x4d, 0xbc, 0x7a, 0xbd, 0x9a, - 0xf8, 0xf3, 0xf5, 0x6a, 0xe2, 0xd9, 0x5a, 0x14, 0x3b, 0xc6, 0xab, 0xc4, 0x67, 0xd5, 0x33, 0x7e, - 0xd8, 0x7a, 0x59, 0x9d, 0x01, 0xf7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x7d, 0x30, 0x94, - 0x35, 0x0e, 0x00, 0x00, -} - func (m *DestinationRule) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1796,9 +1356,6 @@ func (m *DestinationRule) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1869,9 +1426,6 @@ func (m *TrafficPolicy) MarshalTo(dAtA []byte) (int, error) { i += n } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1940,9 +1494,6 @@ func (m *TrafficPolicy_PortTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { } i += n10 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1994,9 +1545,6 @@ func (m *Subset) MarshalTo(dAtA []byte) (int, error) { } i += n11 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2022,9 +1570,6 @@ func (m *LoadBalancerSettings) MarshalTo(dAtA []byte) (int, error) { } i += nn12 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2076,9 +1621,6 @@ func (m *LoadBalancerSettings_ConsistentHashLB) MarshalTo(dAtA []byte) (int, err i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinimumRingSize)) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2146,16 +1688,13 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalTo(dAtA []byte if m.Ttl != nil { dAtA[i] = 0x1a i++ - i = encodeVarintDestinationRule(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Ttl))) - n16, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Ttl, dAtA[i:]) + i = encodeVarintDestinationRule(dAtA, i, uint64(types.SizeOfStdDuration(*m.Ttl))) + n16, err := types.StdDurationMarshalTo(*m.Ttl, dAtA[i:]) if err != nil { return 0, err } i += n16 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2194,9 +1733,6 @@ func (m *ConnectionPoolSettings) MarshalTo(dAtA []byte) (int, error) { } i += n18 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2240,9 +1776,6 @@ func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) } i += n20 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2286,9 +1819,6 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) } i += n22 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2327,9 +1857,6 @@ func (m *ConnectionPoolSettings_HTTPSettings) MarshalTo(dAtA []byte) (int, error i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxRetries)) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2383,9 +1910,6 @@ func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinHealthPercent)) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2448,9 +1972,6 @@ func (m *TLSSettings) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Sni))) i += copy(dAtA[i:], m.Sni) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -2464,9 +1985,6 @@ func encodeVarintDestinationRule(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *DestinationRule) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Host) @@ -2489,16 +2007,10 @@ func (m *DestinationRule) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *TrafficPolicy) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.LoadBalancer != nil { @@ -2523,16 +2035,10 @@ func (m *TrafficPolicy) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Port != nil { @@ -2555,16 +2061,10 @@ func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) { l = m.Tls.Size() n += 1 + l + sovDestinationRule(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Subset) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Name) @@ -2583,40 +2083,25 @@ func (m *Subset) Size() (n int) { l = m.TrafficPolicy.Size() n += 1 + l + sovDestinationRule(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *LoadBalancerSettings) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.LbPolicy != nil { n += m.LbPolicy.Size() } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *LoadBalancerSettings_Simple) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l n += 1 + sovDestinationRule(uint64(m.Simple)) return n } func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.ConsistentHash != nil { @@ -2626,9 +2111,6 @@ func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.HashKey != nil { @@ -2637,16 +2119,10 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) { if m.MinimumRingSize != 0 { n += 1 + sovDestinationRule(uint64(m.MinimumRingSize)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.HttpHeaderName) @@ -2654,9 +2130,6 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.HttpCookie != nil { @@ -2666,18 +2139,12 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l n += 2 return n } func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Name) @@ -2689,19 +2156,13 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } if m.Ttl != nil { - l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Ttl) + l = types.SizeOfStdDuration(*m.Ttl) n += 1 + l + sovDestinationRule(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *ConnectionPoolSettings) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Tcp != nil { @@ -2712,16 +2173,10 @@ func (m *ConnectionPoolSettings) Size() (n int) { l = m.Http.Size() n += 1 + l + sovDestinationRule(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.MaxConnections != 0 { @@ -2735,16 +2190,10 @@ func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { l = m.TcpKeepalive.Size() n += 1 + l + sovDestinationRule(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Probes != 0 { @@ -2758,16 +2207,10 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { l = m.Interval.Size() n += 1 + l + sovDestinationRule(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Http1MaxPendingRequests != 0 { @@ -2782,16 +2225,10 @@ func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) { if m.MaxRetries != 0 { n += 1 + sovDestinationRule(uint64(m.MaxRetries)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *OutlierDetection) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.ConsecutiveErrors != 0 { @@ -2811,16 +2248,10 @@ func (m *OutlierDetection) Size() (n int) { if m.MinHealthPercent != 0 { n += 1 + sovDestinationRule(uint64(m.MinHealthPercent)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *TLSSettings) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Mode != 0 { @@ -2848,9 +2279,6 @@ func (m *TLSSettings) Size() (n int) { if l > 0 { n += 1 + l + sovDestinationRule(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -2882,7 +2310,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2910,7 +2338,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2920,9 +2348,6 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2942,7 +2367,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2951,9 +2376,6 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2978,7 +2400,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -2987,9 +2409,6 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3012,7 +2431,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3022,9 +2441,6 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3039,13 +2455,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3070,7 +2482,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3098,7 +2510,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3107,9 +2519,6 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3134,7 +2543,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3143,9 +2552,6 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3170,7 +2576,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3179,9 +2585,6 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3206,7 +2609,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3215,9 +2618,6 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3242,7 +2642,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3251,9 +2651,6 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3271,13 +2668,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3302,7 +2695,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3330,7 +2723,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3339,9 +2732,6 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3366,7 +2756,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3375,9 +2765,6 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3402,7 +2789,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3411,9 +2798,6 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3438,7 +2822,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3447,9 +2831,6 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3474,7 +2855,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3483,9 +2864,6 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3505,13 +2883,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3536,7 +2910,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3564,7 +2938,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3574,9 +2948,6 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3596,7 +2967,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3605,9 +2976,6 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3628,7 +2996,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3645,7 +3013,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3655,9 +3023,6 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthDestinationRule - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -3674,7 +3039,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3684,9 +3049,6 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthDestinationRule - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -3723,7 +3085,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3732,9 +3094,6 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3754,13 +3113,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3785,7 +3140,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3813,7 +3168,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= LoadBalancerSettings_SimpleLB(b&0x7F) << shift + v |= (LoadBalancerSettings_SimpleLB(b) & 0x7F) << shift if b < 0x80 { break } @@ -3833,7 +3188,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3842,9 +3197,6 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3863,13 +3215,9 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3894,7 +3242,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3922,7 +3270,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -3932,9 +3280,6 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3954,7 +3299,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -3963,9 +3308,6 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3989,7 +3331,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4010,7 +3352,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinimumRingSize |= uint64(b&0x7F) << shift + m.MinimumRingSize |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4024,13 +3366,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4055,7 +3393,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4083,7 +3421,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4093,9 +3431,6 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4115,7 +3450,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4125,9 +3460,6 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4147,7 +3479,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4156,16 +3488,13 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } if m.Ttl == nil { m.Ttl = new(time.Duration) } - if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Ttl, dAtA[iNdEx:postIndex]); err != nil { + if err := types.StdDurationUnmarshal(m.Ttl, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -4178,13 +3507,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4209,7 +3534,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4237,7 +3562,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4246,9 +3571,6 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4273,7 +3595,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4282,9 +3604,6 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4304,13 +3623,9 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4335,7 +3650,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4363,7 +3678,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxConnections |= int32(b&0x7F) << shift + m.MaxConnections |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4382,7 +3697,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4391,14 +3706,11 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &types.Duration{} + m.ConnectTimeout = &google_protobuf.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4418,7 +3730,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4427,9 +3739,6 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4449,13 +3758,9 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4480,7 +3785,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4508,7 +3813,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - m.Probes |= uint32(b&0x7F) << shift + m.Probes |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4527,7 +3832,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4536,14 +3841,11 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } if m.Time == nil { - m.Time = &types.Duration{} + m.Time = &google_protobuf.Duration{} } if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4563,7 +3865,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4572,14 +3874,11 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } if m.Interval == nil { - m.Interval = &types.Duration{} + m.Interval = &google_protobuf.Duration{} } if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4594,13 +3893,9 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4625,7 +3920,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4653,7 +3948,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Http1MaxPendingRequests |= int32(b&0x7F) << shift + m.Http1MaxPendingRequests |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4672,7 +3967,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Http2MaxRequests |= int32(b&0x7F) << shift + m.Http2MaxRequests |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4691,7 +3986,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxRequestsPerConnection |= int32(b&0x7F) << shift + m.MaxRequestsPerConnection |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4710,7 +4005,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxRetries |= int32(b&0x7F) << shift + m.MaxRetries |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4724,13 +4019,9 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4755,7 +4046,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4783,7 +4074,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ConsecutiveErrors |= int32(b&0x7F) << shift + m.ConsecutiveErrors |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4802,7 +4093,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4811,14 +4102,11 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } if m.Interval == nil { - m.Interval = &types.Duration{} + m.Interval = &google_protobuf.Duration{} } if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4838,7 +4126,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -4847,14 +4135,11 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } if m.BaseEjectionTime == nil { - m.BaseEjectionTime = &types.Duration{} + m.BaseEjectionTime = &google_protobuf.Duration{} } if err := m.BaseEjectionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4874,7 +4159,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxEjectionPercent |= int32(b&0x7F) << shift + m.MaxEjectionPercent |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4893,7 +4178,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinHealthPercent |= int32(b&0x7F) << shift + m.MinHealthPercent |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -4907,13 +4192,9 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4938,7 +4219,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4966,7 +4247,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= TLSSettings_TLSmode(b&0x7F) << shift + m.Mode |= (TLSSettings_TLSmode(b) & 0x7F) << shift if b < 0x80 { break } @@ -4985,7 +4266,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -4995,9 +4276,6 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5017,7 +4295,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5027,9 +4305,6 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5049,7 +4324,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5059,9 +4334,6 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5081,7 +4353,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5091,9 +4363,6 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5113,7 +4382,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5123,9 +4392,6 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDestinationRule - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5140,13 +4406,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthDestinationRule - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5210,11 +4472,8 @@ func skipDestinationRule(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthDestinationRule - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthDestinationRule } return iNdEx, nil @@ -5245,9 +4504,6 @@ func skipDestinationRule(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthDestinationRule - } } return iNdEx, nil case 4: @@ -5266,3 +4522,99 @@ var ( ErrInvalidLengthDestinationRule = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowDestinationRule = fmt.Errorf("proto: integer overflow") ) + +func init() { + proto.RegisterFile("networking/v1alpha3/destination_rule.proto", fileDescriptorDestinationRule) +} + +var fileDescriptorDestinationRule = []byte{ + // 1396 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0xb7, + 0x13, 0xb6, 0xfe, 0xc6, 0x1a, 0xd9, 0xb2, 0xcc, 0x9f, 0x91, 0x9f, 0xa2, 0x00, 0x8e, 0x2b, 0x14, + 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x10, 0xb9, 0x91, 0x2d, + 0x81, 0x92, 0x81, 0x22, 0x97, 0x05, 0xb5, 0xa2, 0x25, 0xc6, 0xab, 0xe5, 0x76, 0xc9, 0x55, 0xed, + 0x3c, 0x43, 0xcf, 0x41, 0xaf, 0xbd, 0xf4, 0x59, 0x8a, 0x9e, 0x72, 0x6d, 0x2f, 0x2d, 0xf2, 0x02, + 0x3d, 0xf5, 0xd2, 0x53, 0x41, 0x2e, 0x57, 0x92, 0x13, 0xc7, 0x8e, 0xe1, 0xe6, 0xc6, 0xe5, 0xcc, + 0xf7, 0x91, 0x9c, 0x6f, 0x38, 0xc3, 0x85, 0x3b, 0x1e, 0x95, 0xdf, 0xf3, 0xe0, 0x88, 0x79, 0x83, + 0xea, 0x78, 0x83, 0xb8, 0xfe, 0x90, 0xdc, 0xab, 0xf6, 0xa9, 0x90, 0xcc, 0x23, 0x92, 0x71, 0xcf, + 0x0e, 0x42, 0x97, 0x5a, 0x7e, 0xc0, 0x25, 0x47, 0x37, 0x98, 0x90, 0x8c, 0x5b, 0x53, 0x84, 0x15, + 0x23, 0xca, 0xab, 0x03, 0xce, 0x07, 0x2e, 0xad, 0x6a, 0xc7, 0x5e, 0x78, 0x58, 0xed, 0x87, 0x81, + 0xc6, 0x47, 0xd0, 0xf2, 0xa7, 0x67, 0x2d, 0x33, 0x66, 0x81, 0x0c, 0x89, 0x6b, 0x0b, 0x1a, 0x8c, + 0x99, 0x63, 0x56, 0x29, 0xaf, 0x0c, 0xf8, 0x80, 0xeb, 0x61, 0x55, 0x8d, 0xa2, 0xd9, 0xca, 0xab, + 0x04, 0x2c, 0xed, 0x4c, 0xb7, 0x85, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x21, 0x17, 0xb2, 0x94, 0x58, + 0x4b, 0xac, 0xe7, 0xb0, 0x1e, 0xa3, 0x16, 0x14, 0x64, 0x40, 0x0e, 0x0f, 0x99, 0x63, 0xfb, 0xdc, + 0x65, 0xce, 0x49, 0x29, 0xb9, 0x96, 0x58, 0xcf, 0x6f, 0xae, 0x5b, 0xef, 0xdc, 0xbc, 0xd5, 0x8d, + 0x00, 0x6d, 0xed, 0x8f, 0x17, 0xe5, 0xec, 0x27, 0x7a, 0x08, 0xd7, 0x44, 0xd8, 0x13, 0x54, 0x8a, + 0x52, 0x6a, 0x2d, 0xb5, 0x9e, 0xdf, 0xfc, 0xe8, 0x1c, 0xa6, 0x8e, 0xf6, 0xc4, 0x31, 0x02, 0xdd, + 0x84, 0x1c, 0x3d, 0xf6, 0x79, 0x20, 0x6d, 0xc9, 0x4b, 0xe9, 0xb5, 0xd4, 0x7a, 0x0e, 0xcf, 0x47, + 0x13, 0x5d, 0x5e, 0xf9, 0x3d, 0x0b, 0x8b, 0xa7, 0x96, 0x46, 0x5d, 0x58, 0x74, 0x39, 0xe9, 0xdb, + 0x3d, 0xe2, 0x12, 0xcf, 0xa1, 0x81, 0x3e, 0x59, 0x7e, 0xb3, 0x7a, 0xce, 0x8a, 0x4d, 0x4e, 0xfa, + 0x35, 0xe3, 0xde, 0xa1, 0x52, 0x32, 0x6f, 0x20, 0xf0, 0x82, 0x3b, 0x33, 0x8b, 0x9e, 0xc1, 0x92, + 0xc3, 0x3d, 0x8f, 0x3a, 0x5a, 0x4f, 0x9f, 0x73, 0xd7, 0xc4, 0x64, 0xe3, 0x1c, 0xde, 0xed, 0x09, + 0xa2, 0xcd, 0xb9, 0x3b, 0x61, 0x2e, 0x38, 0xa7, 0xe6, 0xd1, 0xb7, 0xb0, 0xcc, 0x43, 0xe9, 0x32, + 0x1a, 0xd8, 0x7d, 0x2a, 0x23, 0x43, 0x29, 0xa5, 0xd9, 0x3f, 0x3b, 0x87, 0xbd, 0x15, 0x61, 0x76, + 0x62, 0x08, 0x2e, 0xf2, 0x37, 0x66, 0xd0, 0x7d, 0x48, 0x49, 0x57, 0x94, 0xd2, 0x9a, 0xeb, 0x93, + 0xf3, 0xd4, 0x6b, 0x76, 0x26, 0xdb, 0x53, 0x10, 0xf4, 0x1c, 0xfe, 0xa7, 0x43, 0xee, 0xd2, 0x31, + 0x55, 0xc9, 0x15, 0xd9, 0x4a, 0x19, 0xad, 0xde, 0x83, 0xf7, 0xcd, 0x03, 0xab, 0xad, 0x54, 0x3a, + 0x95, 0x19, 0xcb, 0x8a, 0xb6, 0xa9, 0x58, 0xe3, 0x05, 0xcb, 0x2f, 0x53, 0xb0, 0xfc, 0x96, 0x23, + 0x7a, 0x08, 0x69, 0xe5, 0x6a, 0xe4, 0xbb, 0x7d, 0xce, 0x92, 0x0a, 0xdb, 0xa1, 0x2e, 0x75, 0x24, + 0x0f, 0xb0, 0x06, 0xbd, 0x9d, 0x04, 0xc9, 0x0f, 0x94, 0x04, 0xa9, 0x0f, 0x9a, 0x04, 0xe9, 0xff, + 0x30, 0x09, 0x32, 0x97, 0x4e, 0x82, 0xca, 0x5f, 0x09, 0xc8, 0x46, 0xb7, 0x51, 0x95, 0x09, 0x8f, + 0x8c, 0x68, 0x5c, 0x26, 0xd4, 0x18, 0xd5, 0x21, 0xeb, 0x92, 0x1e, 0x75, 0x45, 0x29, 0xa9, 0xd3, + 0xe2, 0xee, 0x85, 0x97, 0xda, 0x6a, 0x6a, 0xff, 0xba, 0x27, 0x83, 0x13, 0x6c, 0xc0, 0x67, 0x54, + 0x9b, 0xd4, 0x95, 0xaa, 0x4d, 0xf9, 0x2b, 0xc8, 0xcf, 0xac, 0x83, 0x8a, 0x90, 0x3a, 0xa2, 0x27, + 0x66, 0xe7, 0x6a, 0x88, 0x56, 0x20, 0x33, 0x26, 0x6e, 0x48, 0x75, 0x56, 0xe4, 0x70, 0xf4, 0xf1, + 0x20, 0x79, 0x3f, 0x51, 0xf9, 0x39, 0x03, 0x2b, 0x67, 0x25, 0x02, 0xc2, 0x90, 0x15, 0x6c, 0xe4, + 0xbb, 0x51, 0x04, 0x0a, 0x9b, 0xf7, 0x2f, 0x99, 0x49, 0x56, 0x47, 0xa3, 0x9b, 0xb5, 0xc6, 0x1c, + 0x36, 0x4c, 0xe8, 0x48, 0xa7, 0x93, 0x60, 0x42, 0x52, 0x4f, 0xda, 0x43, 0x22, 0x86, 0x26, 0x4d, + 0x1f, 0x5f, 0x96, 0x7c, 0x7b, 0x42, 0xd3, 0x20, 0x62, 0xa8, 0x17, 0x29, 0x38, 0xa7, 0xe6, 0xca, + 0x7f, 0x27, 0xa1, 0xf8, 0xa6, 0x1b, 0xba, 0x03, 0xc5, 0xa1, 0x94, 0xbe, 0x3d, 0xa4, 0xa4, 0x4f, + 0x03, 0x7b, 0xaa, 0xb0, 0x22, 0x50, 0x96, 0x86, 0x36, 0xec, 0x2b, 0xb5, 0x3d, 0xc8, 0x6b, 0x5f, + 0x87, 0xf3, 0x23, 0x46, 0xcd, 0x4e, 0x9f, 0x5e, 0x75, 0xa7, 0x56, 0xa3, 0xdb, 0x6d, 0x6f, 0x6b, + 0xca, 0xc6, 0x1c, 0x06, 0xb5, 0x42, 0xf4, 0x85, 0x3e, 0x86, 0xc5, 0x50, 0x50, 0x5b, 0xf0, 0x30, + 0x70, 0xa8, 0xcd, 0x7c, 0x9d, 0x15, 0xf3, 0x8d, 0x39, 0x9c, 0x0f, 0x05, 0xed, 0xe8, 0xd9, 0x5d, + 0x1f, 0xdd, 0x81, 0xe5, 0x11, 0xf3, 0xd8, 0x28, 0x1c, 0xd9, 0x01, 0xf3, 0x06, 0xb6, 0x60, 0x2f, + 0xa8, 0xbe, 0x36, 0x69, 0xbc, 0x64, 0x0c, 0x98, 0x79, 0x83, 0x0e, 0x7b, 0x41, 0xcb, 0x03, 0x80, + 0xe9, 0x6a, 0x67, 0x66, 0x34, 0x82, 0xb4, 0x4f, 0xe4, 0xd0, 0xe4, 0x85, 0x1e, 0xa3, 0x0d, 0x48, + 0x49, 0x19, 0x5f, 0xf4, 0x1b, 0x56, 0xd4, 0xa3, 0xad, 0xb8, 0x47, 0x5b, 0x3b, 0xa6, 0x47, 0xd7, + 0xd2, 0x3f, 0xfe, 0x71, 0x2b, 0x81, 0x95, 0x6f, 0x0d, 0x60, 0x5e, 0xa9, 0x69, 0x1f, 0xd1, 0x93, + 0x4a, 0x03, 0xe6, 0x63, 0xe9, 0xd1, 0x12, 0xe4, 0x71, 0xeb, 0x60, 0x7f, 0xc7, 0xc6, 0xad, 0xda, + 0xee, 0x7e, 0x71, 0x0e, 0x15, 0x00, 0x9a, 0xf5, 0xad, 0x4e, 0xd7, 0xde, 0x6e, 0xed, 0xef, 0x17, + 0x13, 0x08, 0x20, 0x8b, 0xb7, 0xf6, 0x77, 0x5a, 0x7b, 0xc5, 0xa4, 0x72, 0x6e, 0x6f, 0x75, 0x3a, + 0xdd, 0x06, 0x6e, 0x1d, 0x3c, 0x69, 0x14, 0x53, 0xb5, 0x3c, 0xe4, 0xdc, 0x9e, 0xb9, 0x22, 0x95, + 0x97, 0x59, 0xb8, 0x7e, 0x76, 0x65, 0x41, 0x2d, 0x48, 0x49, 0xc7, 0x37, 0x75, 0xf3, 0xd1, 0xa5, + 0x2b, 0x93, 0xd5, 0xdd, 0x6e, 0xcf, 0x94, 0x01, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x17, 0x23, 0xf9, + 0xd7, 0x97, 0x67, 0x54, 0x51, 0x9f, 0x50, 0x6a, 0xae, 0xf2, 0x3f, 0x49, 0xc8, 0xcf, 0x2c, 0x84, + 0x6e, 0xc3, 0xd2, 0x88, 0x1c, 0xdb, 0xd3, 0xa2, 0x28, 0xf4, 0x01, 0x32, 0xb8, 0x30, 0x22, 0xc7, + 0x53, 0x5a, 0x81, 0x6a, 0x93, 0x1a, 0x6c, 0x4b, 0x36, 0xa2, 0x3c, 0x94, 0x66, 0x5f, 0xef, 0x96, + 0x66, 0x52, 0x6b, 0xbb, 0x11, 0x00, 0x71, 0x58, 0x94, 0x8e, 0x6f, 0x1f, 0x51, 0xea, 0x13, 0x97, + 0x8d, 0xa9, 0x11, 0xf7, 0x9b, 0x2b, 0xc5, 0xca, 0xea, 0x3a, 0xfe, 0xd3, 0x98, 0x11, 0x2f, 0xc8, + 0x99, 0xaf, 0xf2, 0x0f, 0x09, 0x58, 0x98, 0x35, 0xa3, 0xeb, 0x90, 0xf5, 0x03, 0xde, 0xa3, 0xd1, + 0x29, 0x17, 0xb1, 0xf9, 0x42, 0x77, 0x21, 0xad, 0x4e, 0x75, 0xf1, 0x91, 0xb4, 0x1b, 0xfa, 0x12, + 0xe6, 0x99, 0x27, 0x69, 0x30, 0x26, 0x17, 0x27, 0x28, 0x9e, 0xb8, 0x96, 0x7f, 0x4b, 0xc0, 0xc2, + 0xac, 0x26, 0xe8, 0x21, 0x94, 0x95, 0x2a, 0x1b, 0xb6, 0xd2, 0xc0, 0xa7, 0x5e, 0x5f, 0x5d, 0xa5, + 0x80, 0x7e, 0x17, 0x52, 0x21, 0x63, 0x21, 0xfe, 0xaf, 0x3d, 0xf6, 0xc8, 0x71, 0x3b, 0xb2, 0x63, + 0x63, 0x46, 0x9f, 0x03, 0x52, 0xa6, 0x4d, 0x0d, 0x9e, 0x80, 0x92, 0x1a, 0xa4, 0xcb, 0xcb, 0xe6, + 0x1e, 0x39, 0x9e, 0x78, 0x3f, 0x82, 0x9b, 0xb3, 0x7e, 0xb6, 0x4f, 0x83, 0x19, 0xd5, 0xf5, 0x29, + 0x32, 0xb8, 0x34, 0x9a, 0x22, 0xda, 0x34, 0x98, 0x06, 0x1f, 0xdd, 0x82, 0x7c, 0x04, 0x97, 0x01, + 0xa3, 0xd1, 0xcb, 0x26, 0x83, 0x41, 0xbb, 0xeb, 0x99, 0xca, 0x4f, 0x49, 0x28, 0xbe, 0xd9, 0x14, + 0xd1, 0x5d, 0x40, 0xaa, 0x1c, 0x52, 0x27, 0x94, 0x6c, 0x4c, 0x6d, 0x1a, 0x04, 0x3c, 0x88, 0xcf, + 0xb5, 0x3c, 0x63, 0xa9, 0x6b, 0xc3, 0xa9, 0xb0, 0x26, 0xdf, 0x3b, 0xac, 0xe8, 0x09, 0xa0, 0x1e, + 0x11, 0xd4, 0xa6, 0xcf, 0xcd, 0x0b, 0x41, 0x4b, 0x79, 0xa1, 0x2e, 0x45, 0x05, 0xaa, 0x1b, 0x8c, + 0x4a, 0x51, 0xf4, 0x05, 0xac, 0xa8, 0x43, 0x4e, 0x78, 0x7c, 0x1a, 0x38, 0xd4, 0x93, 0xe6, 0xb4, + 0x68, 0x44, 0x8e, 0x63, 0xf7, 0x76, 0x64, 0x51, 0x1a, 0x8c, 0x98, 0xa7, 0xea, 0xb8, 0x2b, 0x87, + 0x13, 0xff, 0x4c, 0xa4, 0xc1, 0x88, 0x79, 0x0d, 0x6d, 0x30, 0xde, 0x95, 0x5f, 0xd5, 0xe5, 0x9b, + 0x36, 0x7b, 0x54, 0x83, 0xf4, 0x88, 0xf7, 0xe3, 0xd6, 0x66, 0xbd, 0xdf, 0x13, 0x41, 0x8d, 0x15, + 0x0a, 0x6b, 0xac, 0x0e, 0xb1, 0xcb, 0x54, 0x23, 0x73, 0x68, 0x20, 0xd9, 0x21, 0x73, 0x88, 0x8c, + 0x1b, 0xec, 0x72, 0x64, 0xd9, 0x9e, 0x1a, 0x94, 0x8e, 0x7e, 0xc0, 0xc6, 0x44, 0x52, 0x55, 0x25, + 0x75, 0x90, 0x72, 0x18, 0xcc, 0xd4, 0x53, 0x7a, 0xa2, 0x0a, 0x82, 0x43, 0x66, 0xb9, 0x22, 0xb1, + 0x73, 0xb8, 0xe0, 0x90, 0x19, 0x22, 0xa1, 0x3a, 0x80, 0x08, 0x7b, 0x2a, 0x1e, 0x36, 0x71, 0xa5, + 0xee, 0x61, 0xd1, 0x3b, 0x35, 0x87, 0x97, 0x8c, 0x61, 0xcb, 0x95, 0xaa, 0x85, 0x09, 0xf5, 0x14, + 0x10, 0x1e, 0x2b, 0x65, 0xa3, 0xa7, 0x80, 0xf0, 0x58, 0xe5, 0x31, 0x5c, 0x33, 0xe7, 0x40, 0x79, + 0xb8, 0xb6, 0xb3, 0xdb, 0xd9, 0xaa, 0x35, 0xeb, 0xc5, 0x39, 0x55, 0x89, 0x3b, 0xbb, 0x7b, 0xed, + 0x66, 0x3d, 0xaa, 0xca, 0x7b, 0x07, 0xdd, 0x83, 0xad, 0x66, 0x31, 0x89, 0x8a, 0xb0, 0xb0, 0xdb, + 0xe9, 0xee, 0xb6, 0x6c, 0x33, 0x93, 0xaa, 0x59, 0xbf, 0xbc, 0x5e, 0x4d, 0xbc, 0x7a, 0xbd, 0x9a, + 0xf8, 0xf3, 0xf5, 0x6a, 0xe2, 0xd9, 0x5a, 0x14, 0x3b, 0xc6, 0xab, 0xc4, 0x67, 0xd5, 0x33, 0x7e, + 0xd8, 0x7a, 0x59, 0x9d, 0x01, 0xf7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x7d, 0x30, 0x94, + 0x35, 0x0e, 0x00, 0x00, +} diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index 3d3c9450534..f71ab80395d 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -3,25 +3,18 @@ package v1alpha3 -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - types "github.com/gogo/protobuf/types" - io "io" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import google_protobuf3 "github.com/gogo/protobuf/types" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - type EnvoyFilter_ListenerMatch_ListenerType int32 const ( @@ -41,7 +34,6 @@ var EnvoyFilter_ListenerMatch_ListenerType_name = map[int32]string{ 2: "SIDECAR_OUTBOUND", 3: "GATEWAY", } - var EnvoyFilter_ListenerMatch_ListenerType_value = map[string]int32{ "ANY": 0, "SIDECAR_INBOUND": 1, @@ -52,9 +44,8 @@ var EnvoyFilter_ListenerMatch_ListenerType_value = map[string]int32{ func (x EnvoyFilter_ListenerMatch_ListenerType) String() string { return proto.EnumName(EnvoyFilter_ListenerMatch_ListenerType_name, int32(x)) } - func (EnvoyFilter_ListenerMatch_ListenerType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1, 0} + return fileDescriptorEnvoyFilter, []int{0, 1, 0} } type EnvoyFilter_ListenerMatch_ListenerProtocol int32 @@ -73,7 +64,6 @@ var EnvoyFilter_ListenerMatch_ListenerProtocol_name = map[int32]string{ 1: "HTTP", 2: "TCP", } - var EnvoyFilter_ListenerMatch_ListenerProtocol_value = map[string]int32{ "ALL": 0, "HTTP": 1, @@ -83,9 +73,8 @@ var EnvoyFilter_ListenerMatch_ListenerProtocol_value = map[string]int32{ func (x EnvoyFilter_ListenerMatch_ListenerProtocol) String() string { return proto.EnumName(EnvoyFilter_ListenerMatch_ListenerProtocol_name, int32(x)) } - func (EnvoyFilter_ListenerMatch_ListenerProtocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1, 1} + return fileDescriptorEnvoyFilter, []int{0, 1, 1} } // Index/position in the filter chain. @@ -108,7 +97,6 @@ var EnvoyFilter_InsertPosition_Index_name = map[int32]string{ 2: "BEFORE", 3: "AFTER", } - var EnvoyFilter_InsertPosition_Index_value = map[string]int32{ "FIRST": 0, "LAST": 1, @@ -119,9 +107,8 @@ var EnvoyFilter_InsertPosition_Index_value = map[string]int32{ func (x EnvoyFilter_InsertPosition_Index) String() string { return proto.EnumName(EnvoyFilter_InsertPosition_Index_name, int32(x)) } - func (EnvoyFilter_InsertPosition_Index) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2, 0} + return fileDescriptorEnvoyFilter, []int{0, 2, 0} } type EnvoyFilter_Filter_FilterType int32 @@ -140,7 +127,6 @@ var EnvoyFilter_Filter_FilterType_name = map[int32]string{ 1: "HTTP", 2: "NETWORK", } - var EnvoyFilter_Filter_FilterType_value = map[string]int32{ "INVALID": 0, "HTTP": 1, @@ -150,9 +136,8 @@ var EnvoyFilter_Filter_FilterType_value = map[string]int32{ func (x EnvoyFilter_Filter_FilterType) String() string { return proto.EnumName(EnvoyFilter_Filter_FilterType_name, int32(x)) } - func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3, 0} + return fileDescriptorEnvoyFilter, []int{0, 3, 0} } // `EnvoyFilter` describes Envoy proxy-specific filters that can be used to @@ -202,49 +187,18 @@ type EnvoyFilter struct { // 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"` + WorkloadLabels map[string]string `protobuf:"bytes,1,rep,name=workload_labels,json=workloadLabels" 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 // should be taken to ensure that the filter is added before // envoy.http_connection_manager. - Filters []*EnvoyFilter_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Filters []*EnvoyFilter_Filter `protobuf:"bytes,2,rep,name=filters" json:"filters,omitempty"` } -func (m *EnvoyFilter) Reset() { *m = EnvoyFilter{} } -func (m *EnvoyFilter) String() string { return proto.CompactTextString(m) } -func (*EnvoyFilter) ProtoMessage() {} -func (*EnvoyFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0} -} -func (m *EnvoyFilter) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EnvoyFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EnvoyFilter.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *EnvoyFilter) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnvoyFilter.Merge(m, src) -} -func (m *EnvoyFilter) XXX_Size() int { - return m.Size() -} -func (m *EnvoyFilter) XXX_DiscardUnknown() { - xxx_messageInfo_EnvoyFilter.DiscardUnknown(m) -} - -var xxx_messageInfo_EnvoyFilter proto.InternalMessageInfo +func (m *EnvoyFilter) Reset() { *m = EnvoyFilter{} } +func (m *EnvoyFilter) String() string { return proto.CompactTextString(m) } +func (*EnvoyFilter) ProtoMessage() {} +func (*EnvoyFilter) Descriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0} } func (m *EnvoyFilter) GetWorkloadLabels() map[string]string { if m != nil { @@ -285,45 +239,16 @@ type EnvoyFilter_ListenerMatch struct { 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. - Address []string `protobuf:"bytes,5,rep,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Address []string `protobuf:"bytes,5,rep,name=address" json:"address,omitempty"` } func (m *EnvoyFilter_ListenerMatch) Reset() { *m = EnvoyFilter_ListenerMatch{} } func (m *EnvoyFilter_ListenerMatch) String() string { return proto.CompactTextString(m) } func (*EnvoyFilter_ListenerMatch) ProtoMessage() {} func (*EnvoyFilter_ListenerMatch) Descriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1} -} -func (m *EnvoyFilter_ListenerMatch) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EnvoyFilter_ListenerMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EnvoyFilter_ListenerMatch.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *EnvoyFilter_ListenerMatch) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnvoyFilter_ListenerMatch.Merge(m, src) -} -func (m *EnvoyFilter_ListenerMatch) XXX_Size() int { - return m.Size() -} -func (m *EnvoyFilter_ListenerMatch) XXX_DiscardUnknown() { - xxx_messageInfo_EnvoyFilter_ListenerMatch.DiscardUnknown(m) + return fileDescriptorEnvoyFilter, []int{0, 1} } -var xxx_messageInfo_EnvoyFilter_ListenerMatch proto.InternalMessageInfo - func (m *EnvoyFilter_ListenerMatch) GetPortNumber() uint32 { if m != nil { return m.PortNumber @@ -365,44 +290,15 @@ type EnvoyFilter_InsertPosition struct { Index EnvoyFilter_InsertPosition_Index `protobuf:"varint,1,opt,name=index,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index" json:"index,omitempty"` // If BEFORE or AFTER position is specified, specify the name of the // filter relative to which this filter should be inserted. - RelativeTo string `protobuf:"bytes,2,opt,name=relative_to,json=relativeTo,proto3" json:"relative_to,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + RelativeTo string `protobuf:"bytes,2,opt,name=relative_to,json=relativeTo,proto3" json:"relative_to,omitempty"` } func (m *EnvoyFilter_InsertPosition) Reset() { *m = EnvoyFilter_InsertPosition{} } func (m *EnvoyFilter_InsertPosition) String() string { return proto.CompactTextString(m) } func (*EnvoyFilter_InsertPosition) ProtoMessage() {} func (*EnvoyFilter_InsertPosition) Descriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2} -} -func (m *EnvoyFilter_InsertPosition) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) + return fileDescriptorEnvoyFilter, []int{0, 2} } -func (m *EnvoyFilter_InsertPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EnvoyFilter_InsertPosition.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *EnvoyFilter_InsertPosition) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnvoyFilter_InsertPosition.Merge(m, src) -} -func (m *EnvoyFilter_InsertPosition) XXX_Size() int { - return m.Size() -} -func (m *EnvoyFilter_InsertPosition) XXX_DiscardUnknown() { - xxx_messageInfo_EnvoyFilter_InsertPosition.DiscardUnknown(m) -} - -var xxx_messageInfo_EnvoyFilter_InsertPosition proto.InternalMessageInfo func (m *EnvoyFilter_InsertPosition) GetIndex() EnvoyFilter_InsertPosition_Index { if m != nil { @@ -422,9 +318,9 @@ func (m *EnvoyFilter_InsertPosition) GetRelativeTo() string { 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. - ListenerMatch *EnvoyFilter_ListenerMatch `protobuf:"bytes,1,opt,name=listener_match,json=listenerMatch,proto3" json:"listener_match,omitempty"` + ListenerMatch *EnvoyFilter_ListenerMatch `protobuf:"bytes,1,opt,name=listener_match,json=listenerMatch" 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"` + InsertPosition *EnvoyFilter_InsertPosition `protobuf:"bytes,2,opt,name=insert_position,json=insertPosition" json:"insert_position,omitempty"` // REQUIRED: The type of filter to instantiate. FilterType EnvoyFilter_Filter_FilterType `protobuf:"varint,3,opt,name=filter_type,json=filterType,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType" json:"filter_type,omitempty"` // REQUIRED: The name of the filter to instantiate. The name must match a supported @@ -432,44 +328,13 @@ type EnvoyFilter_Filter struct { FilterName string `protobuf:"bytes,4,opt,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"` // REQUIRED: Filter specific configuration which depends on the filter being // instantiated. - FilterConfig *types.Struct `protobuf:"bytes,5,opt,name=filter_config,json=filterConfig,proto3" json:"filter_config,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *EnvoyFilter_Filter) Reset() { *m = EnvoyFilter_Filter{} } -func (m *EnvoyFilter_Filter) String() string { return proto.CompactTextString(m) } -func (*EnvoyFilter_Filter) ProtoMessage() {} -func (*EnvoyFilter_Filter) Descriptor() ([]byte, []int) { - return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3} -} -func (m *EnvoyFilter_Filter) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EnvoyFilter_Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EnvoyFilter_Filter.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *EnvoyFilter_Filter) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnvoyFilter_Filter.Merge(m, src) -} -func (m *EnvoyFilter_Filter) XXX_Size() int { - return m.Size() -} -func (m *EnvoyFilter_Filter) XXX_DiscardUnknown() { - xxx_messageInfo_EnvoyFilter_Filter.DiscardUnknown(m) + FilterConfig *google_protobuf3.Struct `protobuf:"bytes,5,opt,name=filter_config,json=filterConfig" json:"filter_config,omitempty"` } -var xxx_messageInfo_EnvoyFilter_Filter proto.InternalMessageInfo +func (m *EnvoyFilter_Filter) Reset() { *m = EnvoyFilter_Filter{} } +func (m *EnvoyFilter_Filter) String() string { return proto.CompactTextString(m) } +func (*EnvoyFilter_Filter) ProtoMessage() {} +func (*EnvoyFilter_Filter) Descriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0, 3} } func (m *EnvoyFilter_Filter) GetListenerMatch() *EnvoyFilter_ListenerMatch { if m != nil { @@ -499,7 +364,7 @@ func (m *EnvoyFilter_Filter) GetFilterName() string { return "" } -func (m *EnvoyFilter_Filter) GetFilterConfig() *types.Struct { +func (m *EnvoyFilter_Filter) GetFilterConfig() *google_protobuf3.Struct { if m != nil { return m.FilterConfig } @@ -507,70 +372,15 @@ func (m *EnvoyFilter_Filter) GetFilterConfig() *types.Struct { } func init() { - proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerType", EnvoyFilter_ListenerMatch_ListenerType_name, EnvoyFilter_ListenerMatch_ListenerType_value) - proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerProtocol", EnvoyFilter_ListenerMatch_ListenerProtocol_name, EnvoyFilter_ListenerMatch_ListenerProtocol_value) - proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index", EnvoyFilter_InsertPosition_Index_name, EnvoyFilter_InsertPosition_Index_value) - proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType", EnvoyFilter_Filter_FilterType_name, EnvoyFilter_Filter_FilterType_value) proto.RegisterType((*EnvoyFilter)(nil), "istio.networking.v1alpha3.EnvoyFilter") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.EnvoyFilter.WorkloadLabelsEntry") proto.RegisterType((*EnvoyFilter_ListenerMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch") proto.RegisterType((*EnvoyFilter_InsertPosition)(nil), "istio.networking.v1alpha3.EnvoyFilter.InsertPosition") proto.RegisterType((*EnvoyFilter_Filter)(nil), "istio.networking.v1alpha3.EnvoyFilter.Filter") + proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerType", EnvoyFilter_ListenerMatch_ListenerType_name, EnvoyFilter_ListenerMatch_ListenerType_value) + proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerProtocol", EnvoyFilter_ListenerMatch_ListenerProtocol_name, EnvoyFilter_ListenerMatch_ListenerProtocol_value) + proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index", EnvoyFilter_InsertPosition_Index_name, EnvoyFilter_InsertPosition_Index_value) + proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType", EnvoyFilter_Filter_FilterType_name, EnvoyFilter_Filter_FilterType_value) } - -func init() { - proto.RegisterFile("networking/v1alpha3/envoy_filter.proto", fileDescriptor_16d9b2922bd3e4a9) -} - -var fileDescriptor_16d9b2922bd3e4a9 = []byte{ - // 706 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6f, 0xda, 0x4c, - 0x10, 0x8d, 0x71, 0x08, 0x1f, 0xe3, 0x40, 0xfc, 0x6d, 0x22, 0xd5, 0x45, 0x55, 0x8a, 0x38, 0x54, - 0x5c, 0x6a, 0x5a, 0xd2, 0x4a, 0x51, 0xda, 0x8b, 0x93, 0x98, 0x14, 0x95, 0x02, 0x5d, 0x9c, 0x46, - 0x69, 0xa5, 0x5a, 0x06, 0x16, 0xb2, 0x8a, 0xf1, 0x5a, 0xf6, 0x42, 0xc2, 0xcf, 0xea, 0xb1, 0xd7, - 0x9e, 0x7a, 0x6c, 0xff, 0x41, 0x95, 0x5f, 0x52, 0x79, 0x6d, 0x08, 0x44, 0xa9, 0x94, 0xa6, 0x27, - 0x7b, 0x9f, 0xde, 0xbc, 0x99, 0xd9, 0x79, 0xb3, 0xf0, 0xc4, 0x23, 0xfc, 0x82, 0x05, 0xe7, 0xd4, - 0x1b, 0x56, 0x26, 0xcf, 0x1d, 0xd7, 0x3f, 0x73, 0x76, 0x2a, 0xc4, 0x9b, 0xb0, 0xa9, 0x3d, 0xa0, - 0x2e, 0x27, 0x81, 0xee, 0x07, 0x8c, 0x33, 0xf4, 0x90, 0x86, 0x9c, 0x32, 0xfd, 0x9a, 0xad, 0xcf, - 0xd8, 0x85, 0x47, 0x43, 0xc6, 0x86, 0x2e, 0xa9, 0x08, 0x62, 0x77, 0x3c, 0xa8, 0x84, 0x3c, 0x18, - 0xf7, 0x78, 0x1c, 0x58, 0xfa, 0x06, 0xa0, 0x98, 0x91, 0x5e, 0x4d, 0xc8, 0xa1, 0x1e, 0x6c, 0x44, - 0x0a, 0x2e, 0x73, 0xfa, 0xb6, 0xeb, 0x74, 0x89, 0x1b, 0x6a, 0x52, 0x51, 0x2e, 0x2b, 0xd5, 0x3d, - 0xfd, 0x8f, 0x29, 0xf4, 0x05, 0x01, 0xfd, 0x24, 0x89, 0x6e, 0x88, 0x60, 0xd3, 0xe3, 0xc1, 0x14, - 0xe7, 0x2f, 0x96, 0x40, 0x74, 0x04, 0x99, 0xb8, 0xfa, 0x50, 0x4b, 0x09, 0xf1, 0xa7, 0x77, 0x14, - 0x8f, 0x3f, 0x78, 0x16, 0x5d, 0x30, 0x60, 0xf3, 0x96, 0x7c, 0x48, 0x05, 0xf9, 0x9c, 0x4c, 0x35, - 0xa9, 0x28, 0x95, 0xb3, 0x38, 0xfa, 0x45, 0x5b, 0x90, 0x9e, 0x38, 0xee, 0x98, 0x68, 0x29, 0x81, - 0xc5, 0x87, 0xbd, 0xd4, 0xae, 0x54, 0xf8, 0x29, 0x43, 0xae, 0x41, 0x43, 0x4e, 0x3c, 0x12, 0xbc, - 0x73, 0x78, 0xef, 0x0c, 0x3d, 0x06, 0xc5, 0x67, 0x01, 0xb7, 0xbd, 0xf1, 0xa8, 0x4b, 0x02, 0xa1, - 0x92, 0xc3, 0x10, 0x41, 0x4d, 0x81, 0xa0, 0x32, 0xa8, 0x31, 0xc1, 0x19, 0x11, 0xdb, 0x0f, 0xc8, - 0x80, 0x5e, 0x26, 0xba, 0x79, 0xc1, 0x72, 0x46, 0xa4, 0x2d, 0x50, 0x34, 0x80, 0x9c, 0x9b, 0x68, - 0xdb, 0x7c, 0xea, 0x13, 0x4d, 0x2e, 0x4a, 0xe5, 0x7c, 0xd5, 0xb8, 0x63, 0xbb, 0x4b, 0x75, 0xcd, - 0x4f, 0xd6, 0xd4, 0x27, 0x78, 0xdd, 0x5d, 0x38, 0xa1, 0x00, 0xfe, 0x9f, 0xe7, 0x11, 0x73, 0xed, - 0x31, 0x57, 0x5b, 0x15, 0xb9, 0xcc, 0x7f, 0xca, 0xd5, 0x4e, 0xc4, 0xb0, 0xea, 0xde, 0x40, 0x90, - 0x06, 0x19, 0xa7, 0xdf, 0x0f, 0x48, 0x18, 0x6a, 0xe9, 0xa2, 0x5c, 0xce, 0xe2, 0xd9, 0xb1, 0xd4, - 0x82, 0xf5, 0xc5, 0x5a, 0x51, 0x06, 0x64, 0xa3, 0x79, 0xaa, 0xae, 0xa0, 0x4d, 0xd8, 0xe8, 0xd4, - 0x0f, 0xcd, 0x03, 0x03, 0xdb, 0xf5, 0xe6, 0x7e, 0xeb, 0xb8, 0x79, 0xa8, 0x4a, 0x68, 0x0b, 0xd4, - 0x19, 0xd8, 0x3a, 0xb6, 0x62, 0x34, 0x85, 0x14, 0xc8, 0x1c, 0x19, 0x96, 0x79, 0x62, 0x9c, 0xaa, - 0x72, 0x49, 0x07, 0xf5, 0x66, 0x41, 0x42, 0xb4, 0xd1, 0x50, 0x57, 0xd0, 0x7f, 0xb0, 0xfa, 0xc6, - 0xb2, 0xda, 0xaa, 0x14, 0x41, 0xd6, 0x41, 0x5b, 0x4d, 0x15, 0xbe, 0x4a, 0x90, 0xaf, 0x7b, 0x21, - 0x09, 0x78, 0x9b, 0x85, 0x94, 0x53, 0xe6, 0xa1, 0xf7, 0x90, 0xa6, 0x5e, 0x9f, 0x5c, 0x8a, 0x71, - 0xe6, 0xab, 0xaf, 0xee, 0x78, 0x2b, 0xcb, 0x2a, 0x7a, 0x3d, 0x92, 0xc0, 0xb1, 0x52, 0xe4, 0x93, - 0x80, 0xb8, 0x0e, 0xa7, 0x13, 0x62, 0x73, 0x96, 0x38, 0x00, 0x66, 0x90, 0xc5, 0x4a, 0x3b, 0x90, - 0x16, 0x01, 0x28, 0x0b, 0xe9, 0x5a, 0x1d, 0x77, 0xac, 0xb8, 0xda, 0x86, 0xd1, 0xb1, 0x54, 0x09, - 0x01, 0xac, 0xed, 0x9b, 0xb5, 0x16, 0x36, 0xd5, 0x54, 0x44, 0x30, 0x6a, 0x96, 0x89, 0x55, 0xb9, - 0xf0, 0x45, 0x86, 0xb5, 0x64, 0x17, 0x3f, 0x41, 0x7e, 0x3e, 0xd5, 0x51, 0x34, 0x16, 0x51, 0xbc, - 0x52, 0x7d, 0x71, 0x9f, 0x91, 0xe2, 0xb9, 0x13, 0x63, 0x97, 0x7f, 0x86, 0x0d, 0x2a, 0x9a, 0xb3, - 0xfd, 0xa4, 0x3b, 0xd1, 0x81, 0x52, 0x7d, 0x79, 0xaf, 0xab, 0xc1, 0x79, 0xba, 0x7c, 0xe1, 0xa7, - 0xa0, 0xc4, 0x5b, 0xba, 0x68, 0xfc, 0xdd, 0xbf, 0xda, 0xf3, 0xe4, 0x23, 0xfc, 0x0e, 0x83, 0xf9, - 0x7f, 0x74, 0xf1, 0x89, 0x74, 0xb4, 0x81, 0xc2, 0xe7, 0xd9, 0x19, 0x21, 0x5a, 0x3e, 0xf4, 0x1a, - 0x72, 0x09, 0xa1, 0xc7, 0xbc, 0x01, 0x1d, 0x6a, 0x69, 0xd1, 0xd9, 0x03, 0x3d, 0x7e, 0x0a, 0xf5, - 0xd9, 0x53, 0xa8, 0x77, 0xc4, 0x53, 0x88, 0xd7, 0x63, 0xf6, 0x81, 0x20, 0x97, 0x9e, 0x01, 0x5c, - 0x27, 0x8e, 0x8c, 0x58, 0x6f, 0x7e, 0x30, 0x1a, 0xf5, 0xc3, 0x25, 0xaf, 0x29, 0x90, 0x69, 0x9a, - 0xd6, 0x49, 0x0b, 0xbf, 0x55, 0x53, 0xfb, 0xfa, 0xf7, 0xab, 0x6d, 0xe9, 0xc7, 0xd5, 0xb6, 0xf4, - 0xeb, 0x6a, 0x5b, 0xfa, 0x58, 0x8c, 0x7b, 0xa4, 0xac, 0xe2, 0xf8, 0xb4, 0x72, 0xcb, 0x03, 0xde, - 0x5d, 0x13, 0x05, 0xec, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x26, 0x48, 0xc9, 0xfc, 0xde, 0x05, - 0x00, 0x00, -} - func (m *EnvoyFilter) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -615,9 +425,6 @@ func (m *EnvoyFilter) MarshalTo(dAtA []byte) (int, error) { i += n } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -672,9 +479,6 @@ func (m *EnvoyFilter_ListenerMatch) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -704,9 +508,6 @@ func (m *EnvoyFilter_InsertPosition) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.RelativeTo))) i += copy(dAtA[i:], m.RelativeTo) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -766,9 +567,6 @@ func (m *EnvoyFilter_Filter) MarshalTo(dAtA []byte) (int, error) { } i += n3 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -782,9 +580,6 @@ func encodeVarintEnvoyFilter(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *EnvoyFilter) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.WorkloadLabels) > 0 { @@ -801,16 +596,10 @@ func (m *EnvoyFilter) Size() (n int) { n += 1 + l + sovEnvoyFilter(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *EnvoyFilter_ListenerMatch) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.PortNumber != 0 { @@ -832,16 +621,10 @@ func (m *EnvoyFilter_ListenerMatch) Size() (n int) { n += 1 + l + sovEnvoyFilter(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *EnvoyFilter_InsertPosition) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Index != 0 { @@ -851,16 +634,10 @@ func (m *EnvoyFilter_InsertPosition) Size() (n int) { if l > 0 { n += 1 + l + sovEnvoyFilter(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *EnvoyFilter_Filter) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.ListenerMatch != nil { @@ -882,9 +659,6 @@ func (m *EnvoyFilter_Filter) Size() (n int) { l = m.FilterConfig.Size() n += 1 + l + sovEnvoyFilter(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -916,7 +690,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -944,7 +718,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -953,9 +727,6 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -976,7 +747,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -993,7 +764,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1003,9 +774,6 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthEnvoyFilter - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1022,7 +790,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1032,9 +800,6 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthEnvoyFilter - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1071,7 +836,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1080,9 +845,6 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1100,13 +862,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEnvoyFilter - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1131,7 +889,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1159,7 +917,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.PortNumber |= uint32(b&0x7F) << shift + m.PortNumber |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -1178,7 +936,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1188,9 +946,6 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1210,7 +965,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ListenerType |= EnvoyFilter_ListenerMatch_ListenerType(b&0x7F) << shift + m.ListenerType |= (EnvoyFilter_ListenerMatch_ListenerType(b) & 0x7F) << shift if b < 0x80 { break } @@ -1229,7 +984,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ListenerProtocol |= EnvoyFilter_ListenerMatch_ListenerProtocol(b&0x7F) << shift + m.ListenerProtocol |= (EnvoyFilter_ListenerMatch_ListenerProtocol(b) & 0x7F) << shift if b < 0x80 { break } @@ -1248,7 +1003,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1258,9 +1013,6 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1275,13 +1027,9 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEnvoyFilter - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1306,7 +1054,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1334,7 +1082,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Index |= EnvoyFilter_InsertPosition_Index(b&0x7F) << shift + m.Index |= (EnvoyFilter_InsertPosition_Index(b) & 0x7F) << shift if b < 0x80 { break } @@ -1353,7 +1101,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1363,9 +1111,6 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1380,13 +1125,9 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEnvoyFilter - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1411,7 +1152,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1439,7 +1180,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1448,9 +1189,6 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1475,7 +1213,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1484,9 +1222,6 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1511,7 +1246,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FilterType |= EnvoyFilter_Filter_FilterType(b&0x7F) << shift + m.FilterType |= (EnvoyFilter_Filter_FilterType(b) & 0x7F) << shift if b < 0x80 { break } @@ -1530,7 +1265,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1540,9 +1275,6 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1562,7 +1294,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1571,14 +1303,11 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEnvoyFilter - } if postIndex > l { return io.ErrUnexpectedEOF } if m.FilterConfig == nil { - m.FilterConfig = &types.Struct{} + m.FilterConfig = &google_protobuf3.Struct{} } if err := m.FilterConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1593,13 +1322,9 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthEnvoyFilter - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1663,11 +1388,8 @@ func skipEnvoyFilter(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthEnvoyFilter - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthEnvoyFilter } return iNdEx, nil @@ -1698,9 +1420,6 @@ func skipEnvoyFilter(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthEnvoyFilter - } } return iNdEx, nil case 4: @@ -1719,3 +1438,54 @@ var ( ErrInvalidLengthEnvoyFilter = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEnvoyFilter = fmt.Errorf("proto: integer overflow") ) + +func init() { proto.RegisterFile("networking/v1alpha3/envoy_filter.proto", fileDescriptorEnvoyFilter) } + +var fileDescriptorEnvoyFilter = []byte{ + // 706 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6f, 0xda, 0x4c, + 0x10, 0x8d, 0x71, 0x08, 0x1f, 0xe3, 0x40, 0xfc, 0x6d, 0x22, 0xd5, 0x45, 0x55, 0x8a, 0x38, 0x54, + 0x5c, 0x6a, 0x5a, 0xd2, 0x4a, 0x51, 0xda, 0x8b, 0x93, 0x98, 0x14, 0x95, 0x02, 0x5d, 0x9c, 0x46, + 0x69, 0xa5, 0x5a, 0x06, 0x16, 0xb2, 0x8a, 0xf1, 0x5a, 0xf6, 0x42, 0xc2, 0xcf, 0xea, 0xb1, 0xd7, + 0x9e, 0x7a, 0x6c, 0xff, 0x41, 0x95, 0x5f, 0x52, 0x79, 0x6d, 0x08, 0x44, 0xa9, 0x94, 0xa6, 0x27, + 0x7b, 0x9f, 0xde, 0xbc, 0x99, 0xd9, 0x79, 0xb3, 0xf0, 0xc4, 0x23, 0xfc, 0x82, 0x05, 0xe7, 0xd4, + 0x1b, 0x56, 0x26, 0xcf, 0x1d, 0xd7, 0x3f, 0x73, 0x76, 0x2a, 0xc4, 0x9b, 0xb0, 0xa9, 0x3d, 0xa0, + 0x2e, 0x27, 0x81, 0xee, 0x07, 0x8c, 0x33, 0xf4, 0x90, 0x86, 0x9c, 0x32, 0xfd, 0x9a, 0xad, 0xcf, + 0xd8, 0x85, 0x47, 0x43, 0xc6, 0x86, 0x2e, 0xa9, 0x08, 0x62, 0x77, 0x3c, 0xa8, 0x84, 0x3c, 0x18, + 0xf7, 0x78, 0x1c, 0x58, 0xfa, 0x06, 0xa0, 0x98, 0x91, 0x5e, 0x4d, 0xc8, 0xa1, 0x1e, 0x6c, 0x44, + 0x0a, 0x2e, 0x73, 0xfa, 0xb6, 0xeb, 0x74, 0x89, 0x1b, 0x6a, 0x52, 0x51, 0x2e, 0x2b, 0xd5, 0x3d, + 0xfd, 0x8f, 0x29, 0xf4, 0x05, 0x01, 0xfd, 0x24, 0x89, 0x6e, 0x88, 0x60, 0xd3, 0xe3, 0xc1, 0x14, + 0xe7, 0x2f, 0x96, 0x40, 0x74, 0x04, 0x99, 0xb8, 0xfa, 0x50, 0x4b, 0x09, 0xf1, 0xa7, 0x77, 0x14, + 0x8f, 0x3f, 0x78, 0x16, 0x5d, 0x30, 0x60, 0xf3, 0x96, 0x7c, 0x48, 0x05, 0xf9, 0x9c, 0x4c, 0x35, + 0xa9, 0x28, 0x95, 0xb3, 0x38, 0xfa, 0x45, 0x5b, 0x90, 0x9e, 0x38, 0xee, 0x98, 0x68, 0x29, 0x81, + 0xc5, 0x87, 0xbd, 0xd4, 0xae, 0x54, 0xf8, 0x29, 0x43, 0xae, 0x41, 0x43, 0x4e, 0x3c, 0x12, 0xbc, + 0x73, 0x78, 0xef, 0x0c, 0x3d, 0x06, 0xc5, 0x67, 0x01, 0xb7, 0xbd, 0xf1, 0xa8, 0x4b, 0x02, 0xa1, + 0x92, 0xc3, 0x10, 0x41, 0x4d, 0x81, 0xa0, 0x32, 0xa8, 0x31, 0xc1, 0x19, 0x11, 0xdb, 0x0f, 0xc8, + 0x80, 0x5e, 0x26, 0xba, 0x79, 0xc1, 0x72, 0x46, 0xa4, 0x2d, 0x50, 0x34, 0x80, 0x9c, 0x9b, 0x68, + 0xdb, 0x7c, 0xea, 0x13, 0x4d, 0x2e, 0x4a, 0xe5, 0x7c, 0xd5, 0xb8, 0x63, 0xbb, 0x4b, 0x75, 0xcd, + 0x4f, 0xd6, 0xd4, 0x27, 0x78, 0xdd, 0x5d, 0x38, 0xa1, 0x00, 0xfe, 0x9f, 0xe7, 0x11, 0x73, 0xed, + 0x31, 0x57, 0x5b, 0x15, 0xb9, 0xcc, 0x7f, 0xca, 0xd5, 0x4e, 0xc4, 0xb0, 0xea, 0xde, 0x40, 0x90, + 0x06, 0x19, 0xa7, 0xdf, 0x0f, 0x48, 0x18, 0x6a, 0xe9, 0xa2, 0x5c, 0xce, 0xe2, 0xd9, 0xb1, 0xd4, + 0x82, 0xf5, 0xc5, 0x5a, 0x51, 0x06, 0x64, 0xa3, 0x79, 0xaa, 0xae, 0xa0, 0x4d, 0xd8, 0xe8, 0xd4, + 0x0f, 0xcd, 0x03, 0x03, 0xdb, 0xf5, 0xe6, 0x7e, 0xeb, 0xb8, 0x79, 0xa8, 0x4a, 0x68, 0x0b, 0xd4, + 0x19, 0xd8, 0x3a, 0xb6, 0x62, 0x34, 0x85, 0x14, 0xc8, 0x1c, 0x19, 0x96, 0x79, 0x62, 0x9c, 0xaa, + 0x72, 0x49, 0x07, 0xf5, 0x66, 0x41, 0x42, 0xb4, 0xd1, 0x50, 0x57, 0xd0, 0x7f, 0xb0, 0xfa, 0xc6, + 0xb2, 0xda, 0xaa, 0x14, 0x41, 0xd6, 0x41, 0x5b, 0x4d, 0x15, 0xbe, 0x4a, 0x90, 0xaf, 0x7b, 0x21, + 0x09, 0x78, 0x9b, 0x85, 0x94, 0x53, 0xe6, 0xa1, 0xf7, 0x90, 0xa6, 0x5e, 0x9f, 0x5c, 0x8a, 0x71, + 0xe6, 0xab, 0xaf, 0xee, 0x78, 0x2b, 0xcb, 0x2a, 0x7a, 0x3d, 0x92, 0xc0, 0xb1, 0x52, 0xe4, 0x93, + 0x80, 0xb8, 0x0e, 0xa7, 0x13, 0x62, 0x73, 0x96, 0x38, 0x00, 0x66, 0x90, 0xc5, 0x4a, 0x3b, 0x90, + 0x16, 0x01, 0x28, 0x0b, 0xe9, 0x5a, 0x1d, 0x77, 0xac, 0xb8, 0xda, 0x86, 0xd1, 0xb1, 0x54, 0x09, + 0x01, 0xac, 0xed, 0x9b, 0xb5, 0x16, 0x36, 0xd5, 0x54, 0x44, 0x30, 0x6a, 0x96, 0x89, 0x55, 0xb9, + 0xf0, 0x45, 0x86, 0xb5, 0x64, 0x17, 0x3f, 0x41, 0x7e, 0x3e, 0xd5, 0x51, 0x34, 0x16, 0x51, 0xbc, + 0x52, 0x7d, 0x71, 0x9f, 0x91, 0xe2, 0xb9, 0x13, 0x63, 0x97, 0x7f, 0x86, 0x0d, 0x2a, 0x9a, 0xb3, + 0xfd, 0xa4, 0x3b, 0xd1, 0x81, 0x52, 0x7d, 0x79, 0xaf, 0xab, 0xc1, 0x79, 0xba, 0x7c, 0xe1, 0xa7, + 0xa0, 0xc4, 0x5b, 0xba, 0x68, 0xfc, 0xdd, 0xbf, 0xda, 0xf3, 0xe4, 0x23, 0xfc, 0x0e, 0x83, 0xf9, + 0x7f, 0x74, 0xf1, 0x89, 0x74, 0xb4, 0x81, 0xc2, 0xe7, 0xd9, 0x19, 0x21, 0x5a, 0x3e, 0xf4, 0x1a, + 0x72, 0x09, 0xa1, 0xc7, 0xbc, 0x01, 0x1d, 0x6a, 0x69, 0xd1, 0xd9, 0x03, 0x3d, 0x7e, 0x0a, 0xf5, + 0xd9, 0x53, 0xa8, 0x77, 0xc4, 0x53, 0x88, 0xd7, 0x63, 0xf6, 0x81, 0x20, 0x97, 0x9e, 0x01, 0x5c, + 0x27, 0x8e, 0x8c, 0x58, 0x6f, 0x7e, 0x30, 0x1a, 0xf5, 0xc3, 0x25, 0xaf, 0x29, 0x90, 0x69, 0x9a, + 0xd6, 0x49, 0x0b, 0xbf, 0x55, 0x53, 0xfb, 0xfa, 0xf7, 0xab, 0x6d, 0xe9, 0xc7, 0xd5, 0xb6, 0xf4, + 0xeb, 0x6a, 0x5b, 0xfa, 0x58, 0x8c, 0x7b, 0xa4, 0xac, 0xe2, 0xf8, 0xb4, 0x72, 0xcb, 0x03, 0xde, + 0x5d, 0x13, 0x05, 0xec, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x26, 0x48, 0xc9, 0xfc, 0xde, 0x05, + 0x00, 0x00, +} diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 62fc8b17826..0bb2c9e736f 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -3,24 +3,17 @@ package v1alpha3 -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - // TLS modes enforced by the proxy type Server_TLSOptions_TLSmode int32 @@ -53,7 +46,6 @@ var Server_TLSOptions_TLSmode_name = map[int32]string{ 2: "MUTUAL", 3: "AUTO_PASSTHROUGH", } - var Server_TLSOptions_TLSmode_value = map[string]int32{ "PASSTHROUGH": 0, "SIMPLE": 1, @@ -64,9 +56,8 @@ var Server_TLSOptions_TLSmode_value = map[string]int32{ func (x Server_TLSOptions_TLSmode) String() string { return proto.EnumName(Server_TLSOptions_TLSmode_name, int32(x)) } - func (Server_TLSOptions_TLSmode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 0} + return fileDescriptorGateway, []int{1, 0, 0} } // TLS protocol versions. @@ -92,7 +83,6 @@ var Server_TLSOptions_TLSProtocol_name = map[int32]string{ 3: "TLSV1_2", 4: "TLSV1_3", } - var Server_TLSOptions_TLSProtocol_value = map[string]int32{ "TLS_AUTO": 0, "TLSV1_0": 1, @@ -104,9 +94,8 @@ var Server_TLSOptions_TLSProtocol_value = map[string]int32{ func (x Server_TLSOptions_TLSProtocol) String() string { return proto.EnumName(Server_TLSOptions_TLSProtocol_name, int32(x)) } - func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 1} + return fileDescriptorGateway, []int{1, 0, 1} } // `Gateway` describes a load balancer operating at the edge of the mesh @@ -246,50 +235,19 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // ``` type Gateway struct { // REQUIRED: A list of server specifications. - Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` + Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` // REQUIRED: One or more labels that indicate a specific set of pods/VMs // on which this gateway configuration should be applied. The scope of // label search is restricted to the configuration namespace in which the // the resource is present. In other words, the Gateway resource must // reside in the same namespace as the gateway workload. - Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Gateway) Reset() { *m = Gateway{} } -func (m *Gateway) String() string { return proto.CompactTextString(m) } -func (*Gateway) ProtoMessage() {} -func (*Gateway) Descriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{0} -} -func (m *Gateway) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Gateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Gateway.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Gateway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Gateway.Merge(m, src) -} -func (m *Gateway) XXX_Size() int { - return m.Size() -} -func (m *Gateway) XXX_DiscardUnknown() { - xxx_messageInfo_Gateway.DiscardUnknown(m) + Selector map[string]string `protobuf:"bytes,2,rep,name=selector" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -var xxx_messageInfo_Gateway proto.InternalMessageInfo +func (m *Gateway) Reset() { *m = Gateway{} } +func (m *Gateway) String() string { return proto.CompactTextString(m) } +func (*Gateway) ProtoMessage() {} +func (*Gateway) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{0} } func (m *Gateway) GetServers() []*Server { if m != nil { @@ -370,7 +328,7 @@ type Server struct { // REQUIRED: The Port on which the proxy should listen for incoming // connections. If using unix domain socket, use 0 as the port number, // with a valid protocol and port name, along with the bind parameter. - Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` // $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 @@ -390,52 +348,21 @@ type Server struct { // VirtualServices with hosts dev.example.com, prod.example.com will // match. However, VirtualServices with hosts example.com or // newexample.com will not match. - Hosts []string `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,2,rep,name=hosts" json:"hosts,omitempty"` // Set of TLS related options that govern the server's behavior. Use // these options to control if all http requests should be redirected to // https, and the TLS modes to use. - Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` + Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls" json:"tls,omitempty"` // The loopback IP endpoint or unix domain socket to which traffic should // be forwarded to by default. Format should be 127.0.0.1:PORT or // unix:///path/to/socket or unix://@foobar (Linux abstract namespace). - DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Server) Reset() { *m = Server{} } -func (m *Server) String() string { return proto.CompactTextString(m) } -func (*Server) ProtoMessage() {} -func (*Server) Descriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{1} -} -func (m *Server) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Server.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Server) XXX_Merge(src proto.Message) { - xxx_messageInfo_Server.Merge(m, src) -} -func (m *Server) XXX_Size() int { - return m.Size() -} -func (m *Server) XXX_DiscardUnknown() { - xxx_messageInfo_Server.DiscardUnknown(m) + DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` } -var xxx_messageInfo_Server proto.InternalMessageInfo +func (m *Server) Reset() { *m = Server{} } +func (m *Server) String() string { return proto.CompactTextString(m) } +func (*Server) ProtoMessage() {} +func (*Server) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1} } func (m *Server) GetPort() *Port { if m != nil { @@ -506,51 +433,20 @@ type Server_TLSOptions struct { CredentialName string `protobuf:"bytes,10,opt,name=credential_name,json=credentialName,proto3" json:"credential_name,omitempty"` // A list of alternate names to verify the subject identity in the // certificate presented by the client. - SubjectAltNames []string `protobuf:"bytes,6,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,6,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` // Optional: Minimum TLS protocol version. MinProtocolVersion Server_TLSOptions_TLSProtocol `protobuf:"varint,7,opt,name=min_protocol_version,json=minProtocolVersion,proto3,enum=istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol" json:"min_protocol_version,omitempty"` // Optional: Maximum TLS protocol version. MaxProtocolVersion Server_TLSOptions_TLSProtocol `protobuf:"varint,8,opt,name=max_protocol_version,json=maxProtocolVersion,proto3,enum=istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol" json:"max_protocol_version,omitempty"` // Optional: If specified, only support the specified cipher list. // Otherwise default to the default cipher list supported by Envoy. - CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites" json:"cipher_suites,omitempty"` } -func (m *Server_TLSOptions) Reset() { *m = Server_TLSOptions{} } -func (m *Server_TLSOptions) String() string { return proto.CompactTextString(m) } -func (*Server_TLSOptions) ProtoMessage() {} -func (*Server_TLSOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{1, 0} -} -func (m *Server_TLSOptions) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Server_TLSOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Server_TLSOptions.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Server_TLSOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_Server_TLSOptions.Merge(m, src) -} -func (m *Server_TLSOptions) XXX_Size() int { - return m.Size() -} -func (m *Server_TLSOptions) XXX_DiscardUnknown() { - xxx_messageInfo_Server_TLSOptions.DiscardUnknown(m) -} - -var xxx_messageInfo_Server_TLSOptions proto.InternalMessageInfo +func (m *Server_TLSOptions) Reset() { *m = Server_TLSOptions{} } +func (m *Server_TLSOptions) String() string { return proto.CompactTextString(m) } +func (*Server_TLSOptions) ProtoMessage() {} +func (*Server_TLSOptions) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1, 0} } func (m *Server_TLSOptions) GetHttpsRedirect() bool { if m != nil { @@ -632,44 +528,13 @@ type Port struct { // the destination without terminating the TLS connection. Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` // Label assigned to the port. - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Port) Reset() { *m = Port{} } -func (m *Port) String() string { return proto.CompactTextString(m) } -func (*Port) ProtoMessage() {} -func (*Port) Descriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{2} -} -func (m *Port) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Port.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Port) XXX_Merge(src proto.Message) { - xxx_messageInfo_Port.Merge(m, src) -} -func (m *Port) XXX_Size() int { - return m.Size() -} -func (m *Port) XXX_DiscardUnknown() { - xxx_messageInfo_Port.DiscardUnknown(m) + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } -var xxx_messageInfo_Port proto.InternalMessageInfo +func (m *Port) Reset() { *m = Port{} } +func (m *Port) String() string { return proto.CompactTextString(m) } +func (*Port) ProtoMessage() {} +func (*Port) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{2} } func (m *Port) GetNumber() uint32 { if m != nil { @@ -693,64 +558,13 @@ func (m *Port) GetName() string { } func init() { - proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSmode", Server_TLSOptions_TLSmode_name, Server_TLSOptions_TLSmode_value) - proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol", Server_TLSOptions_TLSProtocol_name, Server_TLSOptions_TLSProtocol_value) proto.RegisterType((*Gateway)(nil), "istio.networking.v1alpha3.Gateway") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Gateway.SelectorEntry") proto.RegisterType((*Server)(nil), "istio.networking.v1alpha3.Server") proto.RegisterType((*Server_TLSOptions)(nil), "istio.networking.v1alpha3.Server.TLSOptions") proto.RegisterType((*Port)(nil), "istio.networking.v1alpha3.Port") + proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSmode", Server_TLSOptions_TLSmode_name, Server_TLSOptions_TLSmode_value) + proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol", Server_TLSOptions_TLSProtocol_name, Server_TLSOptions_TLSProtocol_value) } - -func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptor_067d98d02f84cc0b) } - -var fileDescriptor_067d98d02f84cc0b = []byte{ - // 674 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x5d, 0x4f, 0x1a, 0x4d, - 0x14, 0x76, 0x01, 0xf9, 0x38, 0x88, 0xac, 0x13, 0xf3, 0x66, 0x5f, 0x2f, 0xfc, 0xa0, 0x69, 0x6a, - 0x9b, 0x76, 0x51, 0xe8, 0x85, 0xa9, 0x49, 0x13, 0xda, 0x18, 0x69, 0x8a, 0x42, 0x76, 0xc1, 0x8b, - 0xde, 0x6c, 0x86, 0x65, 0x94, 0xd1, 0x65, 0x67, 0x33, 0x33, 0xa0, 0xfc, 0xb3, 0xfe, 0x84, 0x5e, - 0xb6, 0xff, 0xa0, 0xb1, 0x7f, 0xa4, 0xd9, 0xd9, 0x41, 0xe8, 0x97, 0x8d, 0xe9, 0xdd, 0x39, 0xcf, - 0x3c, 0xcf, 0x73, 0xe6, 0x9c, 0xf9, 0x80, 0x9d, 0x90, 0xc8, 0x6b, 0xc6, 0xaf, 0x68, 0x78, 0x51, - 0x9d, 0xec, 0xe3, 0x20, 0x1a, 0xe2, 0x7a, 0xf5, 0x02, 0x4b, 0x72, 0x8d, 0xa7, 0x76, 0xc4, 0x99, - 0x64, 0xe8, 0x7f, 0x2a, 0x24, 0x65, 0xf6, 0x9c, 0x68, 0xcf, 0x88, 0x95, 0x2f, 0x06, 0xe4, 0x8e, - 0x13, 0x32, 0x3a, 0x84, 0x9c, 0x20, 0x7c, 0x42, 0xb8, 0xb0, 0x8c, 0xed, 0xf4, 0x6e, 0xb1, 0xb6, - 0x63, 0xff, 0x51, 0x68, 0xbb, 0x8a, 0xe9, 0xcc, 0x14, 0xa8, 0x05, 0x79, 0x41, 0x02, 0xe2, 0x4b, - 0xc6, 0xad, 0x94, 0x52, 0xef, 0xdd, 0xa3, 0xd6, 0x25, 0x6d, 0x57, 0x4b, 0x8e, 0x42, 0xc9, 0xa7, - 0xce, 0x9d, 0xc3, 0xc6, 0x21, 0x94, 0x7e, 0x58, 0x42, 0x26, 0xa4, 0xaf, 0xc8, 0xd4, 0x32, 0xb6, - 0x8d, 0xdd, 0x82, 0x13, 0x87, 0x68, 0x1d, 0x96, 0x27, 0x38, 0x18, 0x13, 0x2b, 0xa5, 0xb0, 0x24, - 0x79, 0x95, 0x3a, 0x30, 0x2a, 0x1f, 0x73, 0x90, 0x4d, 0xb6, 0x87, 0xea, 0x90, 0x89, 0x18, 0x97, - 0x4a, 0x57, 0xac, 0x6d, 0xdd, 0xb3, 0xa3, 0x0e, 0xe3, 0xd2, 0x51, 0x64, 0x84, 0x20, 0xd3, 0xa7, - 0xe1, 0xc0, 0xca, 0x28, 0x63, 0x15, 0xc7, 0xd5, 0x86, 0x4c, 0x48, 0xa1, 0x7a, 0x2b, 0x38, 0x49, - 0x82, 0x5e, 0x43, 0x5a, 0x06, 0xc2, 0x4a, 0x2b, 0xf7, 0xe7, 0x7f, 0x9d, 0x96, 0xdd, 0x6d, 0xb9, - 0xed, 0x48, 0x52, 0x16, 0x0a, 0x27, 0x16, 0xa2, 0xa7, 0x60, 0x0e, 0xc8, 0x39, 0x1e, 0x07, 0xd2, - 0x23, 0xe1, 0x20, 0x62, 0x34, 0x94, 0xd6, 0xb2, 0xaa, 0x5a, 0xd6, 0xf8, 0x91, 0x86, 0x37, 0xbe, - 0x2d, 0x03, 0xcc, 0xe5, 0xe8, 0x31, 0xac, 0x0e, 0xa5, 0x8c, 0x84, 0xc7, 0xc9, 0x80, 0x72, 0xe2, - 0x27, 0x2d, 0xe6, 0x9d, 0x92, 0x42, 0x1d, 0x0d, 0xa2, 0x26, 0x64, 0x46, 0x6c, 0x90, 0xcc, 0x68, - 0xb5, 0xf6, 0xf2, 0x21, 0x3b, 0x8c, 0xc3, 0x58, 0xeb, 0x28, 0x07, 0xf4, 0x02, 0x50, 0x72, 0xd4, - 0x9e, 0x4f, 0xb8, 0xa4, 0xe7, 0xd4, 0xc7, 0x92, 0xa8, 0xce, 0x0b, 0xce, 0x5a, 0xb2, 0xf2, 0x76, - 0xbe, 0x80, 0xb6, 0xa0, 0x18, 0x71, 0x3a, 0xc1, 0x92, 0x78, 0xf1, 0xb9, 0x25, 0xa3, 0x04, 0x0d, - 0xbd, 0x27, 0x53, 0xf4, 0x04, 0xca, 0x3e, 0x5e, 0xf4, 0x12, 0xba, 0xf3, 0x55, 0x1f, 0x2f, 0x18, - 0x09, 0x45, 0xe4, 0x64, 0x40, 0x42, 0x49, 0x71, 0xe0, 0x85, 0x78, 0x44, 0x2c, 0xd0, 0xc4, 0x3b, - 0xf8, 0x14, 0x8f, 0x08, 0x7a, 0x06, 0x6b, 0x62, 0xdc, 0xbf, 0x24, 0xbe, 0xf4, 0x70, 0x20, 0x15, - 0x53, 0x58, 0x59, 0x75, 0x5c, 0x65, 0xbd, 0xd0, 0x08, 0x64, 0x4c, 0x15, 0xe8, 0x12, 0xd6, 0x47, - 0x34, 0xf4, 0xd4, 0xf3, 0xf0, 0x59, 0xe0, 0xc5, 0x57, 0x98, 0xb2, 0xd0, 0xca, 0xa9, 0x39, 0x1d, - 0x3c, 0x74, 0x4e, 0x1d, 0xed, 0xe3, 0xa0, 0x11, 0x0d, 0x67, 0xc9, 0x59, 0xe2, 0xa9, 0x6a, 0xe1, - 0x9b, 0x5f, 0x6b, 0xe5, 0xff, 0xb9, 0x16, 0xbe, 0xf9, 0xb9, 0xd6, 0x23, 0x28, 0xf9, 0x34, 0x1a, - 0x12, 0xee, 0x89, 0x31, 0x8d, 0x67, 0x5a, 0x50, 0xfd, 0xaf, 0x24, 0xa0, 0xab, 0xb0, 0x4a, 0x13, - 0x72, 0xfa, 0x6c, 0x51, 0x19, 0x8a, 0x9d, 0x86, 0xeb, 0x76, 0x9b, 0x4e, 0xbb, 0x77, 0xdc, 0x34, - 0x97, 0x10, 0x40, 0xd6, 0x7d, 0x77, 0xd2, 0x69, 0x1d, 0x99, 0x46, 0x1c, 0x9f, 0xf4, 0xba, 0xbd, - 0x46, 0xcb, 0x4c, 0xa1, 0x75, 0x30, 0x1b, 0xbd, 0x6e, 0xdb, 0x5b, 0x64, 0xa7, 0x2b, 0x6d, 0x28, - 0x2e, 0xec, 0x08, 0xad, 0x40, 0xbe, 0xdb, 0x72, 0xbd, 0x98, 0x68, 0x2e, 0xa1, 0xa2, 0x2a, 0x73, - 0xb6, 0xef, 0xed, 0x99, 0xc6, 0x3c, 0xd9, 0x37, 0x53, 0xf3, 0xa4, 0x66, 0xa6, 0xe7, 0x49, 0xdd, - 0xcc, 0x54, 0x4e, 0x21, 0x13, 0x3f, 0x44, 0xf4, 0x1f, 0x64, 0xc3, 0xf1, 0xa8, 0x4f, 0xb8, 0xba, - 0xd6, 0x25, 0x47, 0x67, 0x68, 0x03, 0xf2, 0xb3, 0x39, 0xea, 0x77, 0x7f, 0x97, 0xc7, 0xcf, 0x56, - 0xdd, 0x8e, 0xe4, 0x4e, 0xaa, 0xf8, 0x8d, 0xfd, 0xe9, 0x76, 0xd3, 0xf8, 0x7c, 0xbb, 0x69, 0x7c, - 0xbd, 0xdd, 0x34, 0x3e, 0x6c, 0x27, 0xa3, 0xa6, 0xac, 0x8a, 0x23, 0x5a, 0xfd, 0xcd, 0xbf, 0xd9, - 0xcf, 0x2a, 0xb7, 0xfa, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x11, 0xfe, 0x50, 0x55, 0x05, - 0x00, 0x00, -} - func (m *Gateway) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -795,9 +609,6 @@ func (m *Gateway) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -863,9 +674,6 @@ func (m *Server) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.DefaultEndpoint))) i += copy(dAtA[i:], m.DefaultEndpoint) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -963,9 +771,6 @@ func (m *Server_TLSOptions) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.CredentialName))) i += copy(dAtA[i:], m.CredentialName) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1001,9 +806,6 @@ func (m *Port) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.Name))) i += copy(dAtA[i:], m.Name) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -1017,9 +819,6 @@ func encodeVarintGateway(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Gateway) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Servers) > 0 { @@ -1036,16 +835,10 @@ func (m *Gateway) Size() (n int) { n += mapEntrySize + 1 + sovGateway(uint64(mapEntrySize)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Server) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Port != nil { @@ -1070,16 +863,10 @@ func (m *Server) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Server_TLSOptions) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.HttpsRedirect { @@ -1122,16 +909,10 @@ func (m *Server_TLSOptions) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Port) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Number != 0 { @@ -1145,9 +926,6 @@ func (m *Port) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -1179,7 +957,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1207,7 +985,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1216,9 +994,6 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1241,7 +1016,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1250,9 +1025,6 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1273,7 +1045,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1290,7 +1062,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1300,9 +1072,6 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthGateway - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1319,7 +1088,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1329,9 +1098,6 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthGateway - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1363,13 +1129,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthGateway - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1394,7 +1156,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1422,7 +1184,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1431,9 +1193,6 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1458,7 +1217,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1468,9 +1227,6 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1490,7 +1246,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1499,9 +1255,6 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1526,7 +1279,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1536,9 +1289,6 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1558,7 +1308,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1568,9 +1318,6 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1585,13 +1332,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthGateway - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1616,7 +1359,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1644,7 +1387,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1664,7 +1407,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= Server_TLSOptions_TLSmode(b&0x7F) << shift + m.Mode |= (Server_TLSOptions_TLSmode(b) & 0x7F) << shift if b < 0x80 { break } @@ -1683,7 +1426,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1693,9 +1436,6 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1715,7 +1455,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1725,9 +1465,6 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1747,7 +1484,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1757,9 +1494,6 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1779,7 +1513,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1789,9 +1523,6 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1811,7 +1542,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinProtocolVersion |= Server_TLSOptions_TLSProtocol(b&0x7F) << shift + m.MinProtocolVersion |= (Server_TLSOptions_TLSProtocol(b) & 0x7F) << shift if b < 0x80 { break } @@ -1830,7 +1561,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxProtocolVersion |= Server_TLSOptions_TLSProtocol(b&0x7F) << shift + m.MaxProtocolVersion |= (Server_TLSOptions_TLSProtocol(b) & 0x7F) << shift if b < 0x80 { break } @@ -1849,7 +1580,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1859,9 +1590,6 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1881,7 +1609,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1891,9 +1619,6 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1908,13 +1633,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthGateway - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1939,7 +1660,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1967,7 +1688,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Number |= uint32(b&0x7F) << shift + m.Number |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -1986,7 +1707,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1996,9 +1717,6 @@ func (m *Port) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2018,7 +1736,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -2028,9 +1746,6 @@ func (m *Port) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGateway - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2045,13 +1760,9 @@ func (m *Port) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthGateway - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2115,11 +1826,8 @@ func skipGateway(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthGateway - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthGateway } return iNdEx, nil @@ -2150,9 +1858,6 @@ func skipGateway(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthGateway - } } return iNdEx, nil case 4: @@ -2171,3 +1876,52 @@ var ( ErrInvalidLengthGateway = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGateway = fmt.Errorf("proto: integer overflow") ) + +func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptorGateway) } + +var fileDescriptorGateway = []byte{ + // 674 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xdb, 0x4e, 0xdb, 0x4c, + 0x10, 0xc6, 0x49, 0xc8, 0x61, 0x42, 0x88, 0x59, 0xa1, 0x5f, 0xfe, 0xb9, 0xe0, 0x90, 0xaa, 0x2a, + 0xad, 0x5a, 0x07, 0x92, 0x5e, 0xa0, 0x22, 0x55, 0x4a, 0x2b, 0x44, 0xaa, 0x06, 0x12, 0xd9, 0x09, + 0x17, 0xbd, 0xb1, 0x36, 0xce, 0x42, 0x16, 0x1c, 0xaf, 0xb5, 0xbb, 0x09, 0xe4, 0xcd, 0xfa, 0x08, + 0xbd, 0x6c, 0xdf, 0xa0, 0xa2, 0x2f, 0x52, 0xed, 0xda, 0x21, 0xe9, 0x89, 0x0a, 0xf5, 0x6e, 0xe6, + 0x9b, 0x99, 0x6f, 0x66, 0xbe, 0x59, 0x1b, 0x76, 0x42, 0x22, 0xaf, 0x19, 0xbf, 0xa2, 0xe1, 0x45, + 0x75, 0xb2, 0x8f, 0x83, 0x68, 0x88, 0xeb, 0xd5, 0x0b, 0x2c, 0xc9, 0x35, 0x9e, 0xda, 0x11, 0x67, + 0x92, 0xa1, 0xff, 0xa9, 0x90, 0x94, 0xd9, 0xf3, 0x44, 0x7b, 0x96, 0x58, 0xf9, 0x62, 0x40, 0xee, + 0x38, 0x4e, 0x46, 0x87, 0x90, 0x13, 0x84, 0x4f, 0x08, 0x17, 0x96, 0xb1, 0x9d, 0xde, 0x2d, 0xd6, + 0x76, 0xec, 0x3f, 0x16, 0xda, 0xae, 0xce, 0x74, 0x66, 0x15, 0xa8, 0x05, 0x79, 0x41, 0x02, 0xe2, + 0x4b, 0xc6, 0xad, 0x94, 0xae, 0xde, 0xbb, 0xa7, 0x3a, 0x69, 0x69, 0xbb, 0x49, 0xc9, 0x51, 0x28, + 0xf9, 0xd4, 0xb9, 0x63, 0xd8, 0x38, 0x84, 0xd2, 0x0f, 0x21, 0x64, 0x42, 0xfa, 0x8a, 0x4c, 0x2d, + 0x63, 0xdb, 0xd8, 0x2d, 0x38, 0xca, 0x44, 0xeb, 0xb0, 0x3c, 0xc1, 0xc1, 0x98, 0x58, 0x29, 0x8d, + 0xc5, 0xce, 0xab, 0xd4, 0x81, 0x51, 0xf9, 0x98, 0x83, 0x6c, 0x3c, 0x1e, 0xaa, 0x43, 0x26, 0x62, + 0x5c, 0xea, 0xba, 0x62, 0x6d, 0xeb, 0x9e, 0x89, 0x3a, 0x8c, 0x4b, 0x47, 0x27, 0x2b, 0xe6, 0x21, + 0x13, 0x52, 0xe8, 0x3d, 0x0a, 0x4e, 0xec, 0xa0, 0xd7, 0x90, 0x96, 0x81, 0xb0, 0xd2, 0x9a, 0xe9, + 0xf9, 0x5f, 0x95, 0xb1, 0xbb, 0x2d, 0xb7, 0x1d, 0x49, 0xca, 0x42, 0xe1, 0xa8, 0x42, 0x84, 0x20, + 0xd3, 0xa7, 0xe1, 0xc0, 0xca, 0xe8, 0x71, 0xb5, 0x8d, 0x9e, 0x82, 0x39, 0x20, 0xe7, 0x78, 0x1c, + 0x48, 0x8f, 0x84, 0x83, 0x88, 0xd1, 0x50, 0x5a, 0xcb, 0x3a, 0x5e, 0x4e, 0xf0, 0xa3, 0x04, 0xde, + 0xf8, 0xb6, 0x0c, 0x30, 0xa7, 0x44, 0x8f, 0x61, 0x75, 0x28, 0x65, 0x24, 0x3c, 0x4e, 0x06, 0x94, + 0x13, 0x3f, 0x5e, 0x31, 0xef, 0x94, 0x34, 0xea, 0x24, 0x20, 0x6a, 0x42, 0x66, 0xc4, 0x06, 0xb1, + 0x46, 0xab, 0xb5, 0x97, 0x0f, 0x99, 0x5a, 0x99, 0xaa, 0xd6, 0xd1, 0x0c, 0xe8, 0x05, 0xa0, 0xf8, + 0xd4, 0x9e, 0x4f, 0xb8, 0xa4, 0xe7, 0xd4, 0xc7, 0x92, 0x68, 0x35, 0x0a, 0xce, 0x5a, 0x1c, 0x79, + 0x3b, 0x0f, 0xa0, 0x2d, 0x28, 0x46, 0x9c, 0x4e, 0xb0, 0x24, 0x9e, 0xba, 0x5b, 0xbc, 0x34, 0x24, + 0xd0, 0x7b, 0x32, 0x45, 0x4f, 0xa0, 0xec, 0xe3, 0x45, 0x2e, 0x91, 0x6c, 0xbe, 0xea, 0xe3, 0x05, + 0x22, 0x81, 0x9e, 0xc1, 0x9a, 0x18, 0xf7, 0x2f, 0x89, 0x2f, 0x3d, 0x1c, 0x48, 0x2f, 0xc4, 0x23, + 0x22, 0xac, 0xac, 0xbe, 0x4c, 0x39, 0x09, 0x34, 0x02, 0x79, 0xaa, 0x60, 0x74, 0x09, 0xeb, 0x23, + 0x1a, 0x7a, 0xfa, 0xd5, 0xfb, 0x2c, 0xf0, 0xd4, 0xcb, 0xa4, 0x2c, 0xb4, 0x72, 0x7a, 0xfd, 0x83, + 0x87, 0xae, 0xdf, 0x49, 0x78, 0x1c, 0x34, 0xa2, 0xe1, 0xcc, 0x39, 0x8b, 0x39, 0x75, 0x2f, 0x7c, + 0xf3, 0x6b, 0xaf, 0xfc, 0x3f, 0xf7, 0xc2, 0x37, 0x3f, 0xf7, 0x7a, 0x04, 0x25, 0x9f, 0x46, 0x43, + 0xc2, 0x3d, 0x31, 0xa6, 0x4a, 0xaa, 0x82, 0xde, 0x7f, 0x25, 0x06, 0x5d, 0x8d, 0x69, 0x45, 0x39, + 0x19, 0x90, 0x50, 0x52, 0x1c, 0x68, 0x9d, 0x2c, 0x48, 0x14, 0xbd, 0x83, 0x95, 0x4c, 0x95, 0x26, + 0xe4, 0x92, 0xdb, 0xa2, 0x32, 0x14, 0x3b, 0x0d, 0xd7, 0xed, 0x36, 0x9d, 0x76, 0xef, 0xb8, 0x69, + 0x2e, 0x21, 0x80, 0xac, 0xfb, 0xee, 0xa4, 0xd3, 0x3a, 0x32, 0x0d, 0x65, 0x9f, 0xf4, 0xba, 0xbd, + 0x46, 0xcb, 0x4c, 0xa1, 0x75, 0x30, 0x1b, 0xbd, 0x6e, 0xdb, 0x5b, 0xcc, 0x4e, 0x57, 0xda, 0x50, + 0x5c, 0x18, 0x1d, 0xad, 0x40, 0xbe, 0xdb, 0x72, 0x3d, 0x95, 0x68, 0x2e, 0xa1, 0xa2, 0x6e, 0x73, + 0xb6, 0xef, 0xed, 0x99, 0xc6, 0xdc, 0xd9, 0x37, 0x53, 0x73, 0xa7, 0x66, 0xa6, 0xe7, 0x4e, 0xdd, + 0xcc, 0x54, 0x4e, 0x21, 0xa3, 0x3e, 0x44, 0xf4, 0x1f, 0x64, 0xc3, 0xf1, 0xa8, 0x4f, 0xb8, 0x7e, + 0xd6, 0x25, 0x27, 0xf1, 0xd0, 0x06, 0xe4, 0x67, 0x82, 0x27, 0xdf, 0xfd, 0x9d, 0xaf, 0x3e, 0x30, + 0xbd, 0x74, 0xfc, 0x26, 0xb5, 0xfd, 0xc6, 0xfe, 0x74, 0xbb, 0x69, 0x7c, 0xbe, 0xdd, 0x34, 0xbe, + 0xde, 0x6e, 0x1a, 0x1f, 0xb6, 0xe3, 0x9b, 0x50, 0x56, 0xc5, 0x11, 0xad, 0xfe, 0xe6, 0xbf, 0xd9, + 0xcf, 0x6a, 0xb6, 0xfa, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaa, 0xbd, 0x84, 0xff, 0x55, 0x05, + 0x00, 0x00, +} diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index d34c55bc909..091d09a45a7 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -3,24 +3,17 @@ package v1alpha3 -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - // Location specifies whether the service is part of Istio mesh or // outside the mesh. Location determines the behavior of several // features, such as service-to-service mTLS authentication, policy @@ -44,7 +37,6 @@ var ServiceEntry_Location_name = map[int32]string{ 0: "MESH_EXTERNAL", 1: "MESH_INTERNAL", } - var ServiceEntry_Location_value = map[string]int32{ "MESH_EXTERNAL": 0, "MESH_INTERNAL": 1, @@ -53,9 +45,8 @@ var ServiceEntry_Location_value = map[string]int32{ func (x ServiceEntry_Location) String() string { return proto.EnumName(ServiceEntry_Location_name, int32(x)) } - func (ServiceEntry_Location) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} + return fileDescriptorServiceEntry, []int{0, 0} } // Resolution determines how the proxy will resolve the IP addresses of @@ -95,7 +86,6 @@ var ServiceEntry_Resolution_name = map[int32]string{ 1: "STATIC", 2: "DNS", } - var ServiceEntry_Resolution_value = map[string]int32{ "NONE": 0, "STATIC": 1, @@ -105,9 +95,8 @@ var ServiceEntry_Resolution_value = map[string]int32{ func (x ServiceEntry_Resolution) String() string { return proto.EnumName(ServiceEntry_Resolution_name, int32(x)) } - func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9220e0fa673c4bf8, []int{0, 1} + return fileDescriptorServiceEntry, []int{0, 1} } // `ServiceEntry` enables adding additional entries into Istio's internal @@ -423,7 +412,7 @@ type ServiceEntry struct { // 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. - Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,1,rep,name=hosts" 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 // the destination will be identified based on the HTTP Host/Authority @@ -438,11 +427,11 @@ type ServiceEntry struct { // simple TCP proxy, forwarding incoming traffic on a specified port to // the specified destination endpoint IP/host. Unix domain socket // addresses are not supported in this field. - Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"` + Addresses []string `protobuf:"bytes,2,rep,name=addresses" json:"addresses,omitempty"` // REQUIRED. The ports associated with the external service. If the // Endpoints are unix domain socket addresses, there must be exactly one // port. - Ports []*Port `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"` + Ports []*Port `protobuf:"bytes,3,rep,name=ports" json:"ports,omitempty"` // Specify whether the service should be considered external to the mesh // or part of the mesh. Location ServiceEntry_Location `protobuf:"varint,4,opt,name=location,proto3,enum=istio.networking.v1alpha3.ServiceEntry_Location" json:"location,omitempty"` @@ -452,7 +441,7 @@ type ServiceEntry struct { // said port will be allowed (i.e. 0.0.0.0:). Resolution ServiceEntry_Resolution `protobuf:"varint,5,opt,name=resolution,proto3,enum=istio.networking.v1alpha3.ServiceEntry_Resolution" json:"resolution,omitempty"` // One or more endpoints associated with the service. - Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints,proto3" json:"endpoints,omitempty"` + Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints" json:"endpoints,omitempty"` // A list of namespaces to which this service is exported. Exporting a service // allows it to used by sidecars, gateways and virtual services defined in // other namespaces. This feature provides a mechanism for service owners @@ -469,50 +458,19 @@ type ServiceEntry struct { // For a Kubernetes Service the equivalent effect can be achieved by setting // the annotation "networking.istio.io/exportTo" to a comma-separated list // of namespace names. - ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce // secure-naming . // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. - SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` } -func (m *ServiceEntry) Reset() { *m = ServiceEntry{} } -func (m *ServiceEntry) String() string { return proto.CompactTextString(m) } -func (*ServiceEntry) ProtoMessage() {} -func (*ServiceEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_9220e0fa673c4bf8, []int{0} -} -func (m *ServiceEntry) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ServiceEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ServiceEntry.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ServiceEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceEntry.Merge(m, src) -} -func (m *ServiceEntry) XXX_Size() int { - return m.Size() -} -func (m *ServiceEntry) XXX_DiscardUnknown() { - xxx_messageInfo_ServiceEntry.DiscardUnknown(m) -} - -var xxx_messageInfo_ServiceEntry proto.InternalMessageInfo +func (m *ServiceEntry) Reset() { *m = ServiceEntry{} } +func (m *ServiceEntry) String() string { return proto.CompactTextString(m) } +func (*ServiceEntry) ProtoMessage() {} +func (*ServiceEntry) Descriptor() ([]byte, []int) { return fileDescriptorServiceEntry, []int{0} } func (m *ServiceEntry) GetHosts() []string { if m != nil { @@ -581,9 +539,9 @@ type ServiceEntry_Endpoint struct { // 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. - 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"` + Ports map[string]uint32 `protobuf:"bytes,2,rep,name=ports" 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"` + Labels map[string]string `protobuf:"bytes,3,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Network enables Istio to group endpoints resident in the same L3 // domain/network. All endpoints in the same network are assumed to be // directly reachable from one another. When endpoints in different @@ -613,44 +571,15 @@ type ServiceEntry_Endpoint struct { Locality string `protobuf:"bytes,5,opt,name=locality,proto3" json:"locality,omitempty"` // The load balancing weight associated with the endpoint. Endpoints // with higher weights will receive proportionally higher traffic. - Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` } func (m *ServiceEntry_Endpoint) Reset() { *m = ServiceEntry_Endpoint{} } func (m *ServiceEntry_Endpoint) String() string { return proto.CompactTextString(m) } func (*ServiceEntry_Endpoint) ProtoMessage() {} func (*ServiceEntry_Endpoint) Descriptor() ([]byte, []int) { - return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} -} -func (m *ServiceEntry_Endpoint) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ServiceEntry_Endpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ServiceEntry_Endpoint.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ServiceEntry_Endpoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceEntry_Endpoint.Merge(m, src) -} -func (m *ServiceEntry_Endpoint) XXX_Size() int { - return m.Size() + return fileDescriptorServiceEntry, []int{0, 0} } -func (m *ServiceEntry_Endpoint) XXX_DiscardUnknown() { - xxx_messageInfo_ServiceEntry_Endpoint.DiscardUnknown(m) -} - -var xxx_messageInfo_ServiceEntry_Endpoint proto.InternalMessageInfo func (m *ServiceEntry_Endpoint) GetAddress() string { if m != nil { @@ -695,55 +624,11 @@ func (m *ServiceEntry_Endpoint) GetWeight() uint32 { } func init() { - proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Location", ServiceEntry_Location_name, ServiceEntry_Location_value) - proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Resolution", ServiceEntry_Resolution_name, ServiceEntry_Resolution_value) proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1alpha3.ServiceEntry") proto.RegisterType((*ServiceEntry_Endpoint)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry") - proto.RegisterMapType((map[string]uint32)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry") -} - -func init() { - proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptor_9220e0fa673c4bf8) -} - -var fileDescriptor_9220e0fa673c4bf8 = []byte{ - // 527 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x8e, 0xd2, 0x40, - 0x14, 0xc6, 0x77, 0xe8, 0x52, 0xda, 0xb3, 0xae, 0xb2, 0x13, 0x63, 0x46, 0x34, 0x58, 0xb9, 0x91, - 0x68, 0x52, 0x56, 0x36, 0x26, 0xeb, 0x9f, 0x1b, 0xd4, 0x26, 0x6e, 0x82, 0x55, 0x07, 0x2e, 0x8c, - 0x37, 0x64, 0x80, 0x09, 0xd4, 0xad, 0x1d, 0xd2, 0x19, 0x40, 0xde, 0xc2, 0xa7, 0xf0, 0x59, 0xbc, - 0xf4, 0x11, 0x0c, 0x4f, 0x62, 0x3a, 0x9d, 0x02, 0x17, 0xab, 0xbb, 0x7b, 0xd7, 0x73, 0xe6, 0x7c, - 0xbf, 0x7e, 0x73, 0xce, 0x19, 0x78, 0x94, 0x70, 0xb5, 0x14, 0xe9, 0x79, 0x94, 0x4c, 0x5a, 0x8b, - 0xa7, 0x2c, 0x9e, 0x4d, 0xd9, 0x49, 0x4b, 0xf2, 0x74, 0x11, 0x8d, 0xf8, 0x80, 0x27, 0x2a, 0x5d, - 0xf9, 0xb3, 0x54, 0x28, 0x81, 0xef, 0x46, 0x52, 0x45, 0xc2, 0xdf, 0x96, 0xfb, 0x45, 0x79, 0xed, - 0xe1, 0x45, 0x8c, 0x09, 0x53, 0x7c, 0xc9, 0x8c, 0xba, 0xf1, 0xb3, 0x02, 0x37, 0x7a, 0x39, 0x35, - 0xc8, 0xa0, 0xf8, 0x36, 0x94, 0xa7, 0x42, 0x2a, 0x49, 0x90, 0x67, 0x35, 0x5d, 0x9a, 0x07, 0xf8, - 0x3e, 0xb8, 0x6c, 0x3c, 0x4e, 0xb9, 0x94, 0x5c, 0x92, 0x92, 0x3e, 0xd9, 0x26, 0xf0, 0x33, 0x28, - 0xcf, 0x44, 0xaa, 0x24, 0xb1, 0x3c, 0xab, 0x79, 0xd0, 0x7e, 0xe0, 0xff, 0xd3, 0x92, 0xff, 0x51, - 0xa4, 0x8a, 0xe6, 0xd5, 0xb8, 0x0b, 0x4e, 0x2c, 0x46, 0x4c, 0x45, 0x22, 0x21, 0xfb, 0x1e, 0x6a, - 0xde, 0x6c, 0x1f, 0xff, 0x47, 0xb9, 0xeb, 0xd2, 0xef, 0x1a, 0x1d, 0xdd, 0x10, 0x30, 0x05, 0x48, - 0xb9, 0x14, 0xf1, 0x5c, 0xf3, 0xca, 0x9a, 0xd7, 0xbe, 0x2a, 0x8f, 0x6e, 0x94, 0x74, 0x87, 0x82, - 0x43, 0x70, 0x79, 0x32, 0x9e, 0x89, 0x28, 0x51, 0x92, 0xd8, 0xfa, 0x72, 0x57, 0xb6, 0x18, 0x18, - 0x21, 0xdd, 0x22, 0xf0, 0x3d, 0x70, 0xf9, 0xf7, 0xec, 0xf2, 0x03, 0x25, 0x48, 0x45, 0xb7, 0xd1, - 0xc9, 0x13, 0x7d, 0x81, 0x1f, 0xc3, 0x91, 0x9c, 0x0f, 0xbf, 0xf2, 0x91, 0x1a, 0xb0, 0x58, 0x0d, - 0x12, 0xf6, 0x8d, 0x4b, 0xe2, 0xe8, 0xa2, 0x5b, 0xe6, 0xa0, 0x13, 0xab, 0x30, 0x4b, 0xd7, 0x7e, - 0x58, 0xe0, 0x14, 0x3f, 0xc0, 0x04, 0x2a, 0x66, 0x16, 0x04, 0x79, 0xa8, 0xe9, 0xd2, 0x22, 0xc4, - 0x9f, 0x8a, 0xc1, 0x94, 0xb4, 0xf7, 0x97, 0xd7, 0xf5, 0xae, 0xc7, 0x25, 0x75, 0xae, 0x18, 0x5a, - 0x1f, 0xec, 0x98, 0x0d, 0x79, 0x5c, 0x0c, 0xfb, 0xd5, 0xb5, 0x99, 0x5d, 0x2d, 0xcf, 0xa1, 0x86, - 0x95, 0x5d, 0xc1, 0x00, 0xf4, 0x26, 0xb8, 0xb4, 0x08, 0x71, 0x2d, 0x5f, 0x92, 0x38, 0x52, 0x2b, - 0x3d, 0x54, 0x97, 0x6e, 0x62, 0x7c, 0x07, 0xec, 0x25, 0x8f, 0x26, 0x53, 0x45, 0x6c, 0x0f, 0x35, - 0x0f, 0xa9, 0x89, 0x6a, 0xa7, 0x00, 0x5b, 0xe3, 0xb8, 0x0a, 0xd6, 0x39, 0x5f, 0x99, 0xd6, 0x64, - 0x9f, 0xd9, 0x8e, 0x2f, 0x58, 0x3c, 0xe7, 0xa4, 0xa4, 0x65, 0x79, 0xf0, 0xa2, 0x74, 0x8a, 0x6a, - 0xcf, 0xe1, 0x60, 0xc7, 0xde, 0x65, 0x52, 0x77, 0x47, 0xda, 0x38, 0x06, 0xa7, 0xd8, 0x4a, 0x7c, - 0x04, 0x87, 0xef, 0x83, 0xde, 0xbb, 0x41, 0xf0, 0xb9, 0x1f, 0xd0, 0xb0, 0xd3, 0xad, 0xee, 0x6d, - 0x52, 0x67, 0xa1, 0x49, 0xa1, 0xc6, 0x13, 0x80, 0xed, 0xde, 0x61, 0x07, 0xf6, 0xc3, 0x0f, 0x61, - 0x50, 0xdd, 0xc3, 0x00, 0x76, 0xaf, 0xdf, 0xe9, 0x9f, 0xbd, 0xa9, 0x22, 0x5c, 0x01, 0xeb, 0x6d, - 0xd8, 0xab, 0x96, 0x5e, 0xfb, 0xbf, 0xd6, 0x75, 0xf4, 0x7b, 0x5d, 0x47, 0x7f, 0xd6, 0x75, 0xf4, - 0xc5, 0xcb, 0x9b, 0x1e, 0x89, 0x16, 0x9b, 0x45, 0xad, 0x0b, 0x9e, 0xf9, 0xd0, 0xd6, 0xef, 0xfb, - 0xe4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10, 0x53, 0xa9, 0xc0, 0x48, 0x04, 0x00, 0x00, + proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Location", ServiceEntry_Location_name, ServiceEntry_Location_value) + proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Resolution", ServiceEntry_Resolution_name, ServiceEntry_Resolution_value) } - func (m *ServiceEntry) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -853,9 +738,6 @@ func (m *ServiceEntry) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -930,9 +812,6 @@ func (m *ServiceEntry_Endpoint) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintServiceEntry(dAtA, i, uint64(m.Weight)) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -946,9 +825,6 @@ func encodeVarintServiceEntry(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *ServiceEntry) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Hosts) > 0 { @@ -993,16 +869,10 @@ func (m *ServiceEntry) Size() (n int) { n += 1 + l + sovServiceEntry(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *ServiceEntry_Endpoint) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Address) @@ -1036,9 +906,6 @@ func (m *ServiceEntry_Endpoint) Size() (n int) { if m.Weight != 0 { n += 1 + sovServiceEntry(uint64(m.Weight)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -1070,7 +937,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1098,7 +965,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1108,9 +975,6 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1130,7 +994,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1140,9 +1004,6 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1162,7 +1023,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1171,9 +1032,6 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1196,7 +1054,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Location |= ServiceEntry_Location(b&0x7F) << shift + m.Location |= (ServiceEntry_Location(b) & 0x7F) << shift if b < 0x80 { break } @@ -1215,7 +1073,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Resolution |= ServiceEntry_Resolution(b&0x7F) << shift + m.Resolution |= (ServiceEntry_Resolution(b) & 0x7F) << shift if b < 0x80 { break } @@ -1234,7 +1092,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1243,9 +1101,6 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1268,7 +1123,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1278,9 +1133,6 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1300,7 +1152,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1310,9 +1162,6 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1327,13 +1176,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthServiceEntry } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthServiceEntry - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1358,7 +1203,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1386,7 +1231,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1396,9 +1241,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1418,7 +1260,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1427,9 +1269,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1450,7 +1289,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1467,7 +1306,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1477,9 +1316,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthServiceEntry - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1495,7 +1331,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvalue |= uint32(b&0x7F) << shift + mapvalue |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -1531,7 +1367,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1540,9 +1376,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1563,7 +1396,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1580,7 +1413,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1590,9 +1423,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthServiceEntry - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1609,7 +1439,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1619,9 +1449,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthServiceEntry - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1658,7 +1485,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1668,9 +1495,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1690,7 +1514,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1700,9 +1524,6 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServiceEntry - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1722,7 +1543,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= uint32(b&0x7F) << shift + m.Weight |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -1736,13 +1557,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthServiceEntry } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthServiceEntry - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1806,11 +1623,8 @@ func skipServiceEntry(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthServiceEntry - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthServiceEntry } return iNdEx, nil @@ -1841,9 +1655,6 @@ func skipServiceEntry(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthServiceEntry - } } return iNdEx, nil case 4: @@ -1862,3 +1673,42 @@ var ( ErrInvalidLengthServiceEntry = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowServiceEntry = fmt.Errorf("proto: integer overflow") ) + +func init() { proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptorServiceEntry) } + +var fileDescriptorServiceEntry = []byte{ + // 527 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x8e, 0xd2, 0x40, + 0x14, 0xc6, 0x77, 0xe8, 0x52, 0xda, 0xb3, 0xae, 0xb2, 0x13, 0x63, 0x46, 0x34, 0x58, 0xb9, 0x91, + 0x68, 0x52, 0x56, 0x36, 0x26, 0xeb, 0x9f, 0x1b, 0xd4, 0x26, 0x6e, 0x82, 0x55, 0x07, 0x2e, 0x8c, + 0x37, 0x64, 0x80, 0x09, 0xd4, 0xad, 0x1d, 0xd2, 0x19, 0x40, 0xde, 0xc2, 0xa7, 0xf0, 0x59, 0xbc, + 0xf4, 0x11, 0x0c, 0x4f, 0x62, 0x3a, 0x9d, 0x02, 0x17, 0xab, 0xbb, 0x7b, 0xd7, 0x73, 0xe6, 0x7c, + 0xbf, 0x7e, 0x73, 0xce, 0x19, 0x78, 0x94, 0x70, 0xb5, 0x14, 0xe9, 0x79, 0x94, 0x4c, 0x5a, 0x8b, + 0xa7, 0x2c, 0x9e, 0x4d, 0xd9, 0x49, 0x4b, 0xf2, 0x74, 0x11, 0x8d, 0xf8, 0x80, 0x27, 0x2a, 0x5d, + 0xf9, 0xb3, 0x54, 0x28, 0x81, 0xef, 0x46, 0x52, 0x45, 0xc2, 0xdf, 0x96, 0xfb, 0x45, 0x79, 0xed, + 0xe1, 0x45, 0x8c, 0x09, 0x53, 0x7c, 0xc9, 0x8c, 0xba, 0xf1, 0xb3, 0x02, 0x37, 0x7a, 0x39, 0x35, + 0xc8, 0xa0, 0xf8, 0x36, 0x94, 0xa7, 0x42, 0x2a, 0x49, 0x90, 0x67, 0x35, 0x5d, 0x9a, 0x07, 0xf8, + 0x3e, 0xb8, 0x6c, 0x3c, 0x4e, 0xb9, 0x94, 0x5c, 0x92, 0x92, 0x3e, 0xd9, 0x26, 0xf0, 0x33, 0x28, + 0xcf, 0x44, 0xaa, 0x24, 0xb1, 0x3c, 0xab, 0x79, 0xd0, 0x7e, 0xe0, 0xff, 0xd3, 0x92, 0xff, 0x51, + 0xa4, 0x8a, 0xe6, 0xd5, 0xb8, 0x0b, 0x4e, 0x2c, 0x46, 0x4c, 0x45, 0x22, 0x21, 0xfb, 0x1e, 0x6a, + 0xde, 0x6c, 0x1f, 0xff, 0x47, 0xb9, 0xeb, 0xd2, 0xef, 0x1a, 0x1d, 0xdd, 0x10, 0x30, 0x05, 0x48, + 0xb9, 0x14, 0xf1, 0x5c, 0xf3, 0xca, 0x9a, 0xd7, 0xbe, 0x2a, 0x8f, 0x6e, 0x94, 0x74, 0x87, 0x82, + 0x43, 0x70, 0x79, 0x32, 0x9e, 0x89, 0x28, 0x51, 0x92, 0xd8, 0xfa, 0x72, 0x57, 0xb6, 0x18, 0x18, + 0x21, 0xdd, 0x22, 0xf0, 0x3d, 0x70, 0xf9, 0xf7, 0xec, 0xf2, 0x03, 0x25, 0x48, 0x45, 0xb7, 0xd1, + 0xc9, 0x13, 0x7d, 0x81, 0x1f, 0xc3, 0x91, 0x9c, 0x0f, 0xbf, 0xf2, 0x91, 0x1a, 0xb0, 0x58, 0x0d, + 0x12, 0xf6, 0x8d, 0x4b, 0xe2, 0xe8, 0xa2, 0x5b, 0xe6, 0xa0, 0x13, 0xab, 0x30, 0x4b, 0xd7, 0x7e, + 0x58, 0xe0, 0x14, 0x3f, 0xc0, 0x04, 0x2a, 0x66, 0x16, 0x04, 0x79, 0xa8, 0xe9, 0xd2, 0x22, 0xc4, + 0x9f, 0x8a, 0xc1, 0x94, 0xb4, 0xf7, 0x97, 0xd7, 0xf5, 0xae, 0xc7, 0x25, 0x75, 0xae, 0x18, 0x5a, + 0x1f, 0xec, 0x98, 0x0d, 0x79, 0x5c, 0x0c, 0xfb, 0xd5, 0xb5, 0x99, 0x5d, 0x2d, 0xcf, 0xa1, 0x86, + 0x95, 0x5d, 0xc1, 0x00, 0xf4, 0x26, 0xb8, 0xb4, 0x08, 0x71, 0x2d, 0x5f, 0x92, 0x38, 0x52, 0x2b, + 0x3d, 0x54, 0x97, 0x6e, 0x62, 0x7c, 0x07, 0xec, 0x25, 0x8f, 0x26, 0x53, 0x45, 0x6c, 0x0f, 0x35, + 0x0f, 0xa9, 0x89, 0x6a, 0xa7, 0x00, 0x5b, 0xe3, 0xb8, 0x0a, 0xd6, 0x39, 0x5f, 0x99, 0xd6, 0x64, + 0x9f, 0xd9, 0x8e, 0x2f, 0x58, 0x3c, 0xe7, 0xa4, 0xa4, 0x65, 0x79, 0xf0, 0xa2, 0x74, 0x8a, 0x6a, + 0xcf, 0xe1, 0x60, 0xc7, 0xde, 0x65, 0x52, 0x77, 0x47, 0xda, 0x38, 0x06, 0xa7, 0xd8, 0x4a, 0x7c, + 0x04, 0x87, 0xef, 0x83, 0xde, 0xbb, 0x41, 0xf0, 0xb9, 0x1f, 0xd0, 0xb0, 0xd3, 0xad, 0xee, 0x6d, + 0x52, 0x67, 0xa1, 0x49, 0xa1, 0xc6, 0x13, 0x80, 0xed, 0xde, 0x61, 0x07, 0xf6, 0xc3, 0x0f, 0x61, + 0x50, 0xdd, 0xc3, 0x00, 0x76, 0xaf, 0xdf, 0xe9, 0x9f, 0xbd, 0xa9, 0x22, 0x5c, 0x01, 0xeb, 0x6d, + 0xd8, 0xab, 0x96, 0x5e, 0xfb, 0xbf, 0xd6, 0x75, 0xf4, 0x7b, 0x5d, 0x47, 0x7f, 0xd6, 0x75, 0xf4, + 0xc5, 0xcb, 0x9b, 0x1e, 0x89, 0x16, 0x9b, 0x45, 0xad, 0x0b, 0x9e, 0xf9, 0xd0, 0xd6, 0xef, 0xfb, + 0xe4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10, 0x53, 0xa9, 0xc0, 0x48, 0x04, 0x00, 0x00, +} diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index 70b52cdf959..81feff98ba7 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -3,24 +3,17 @@ package v1alpha3 -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - // CaptureMode describes how traffic to a listener is expected to be // captured. Applicable only when the listener is bound to an IP. type CaptureMode int32 @@ -43,7 +36,6 @@ var CaptureMode_name = map[int32]string{ 1: "IPTABLES", 2: "NONE", } - var CaptureMode_value = map[string]int32{ "DEFAULT": 0, "IPTABLES": 1, @@ -53,10 +45,7 @@ var CaptureMode_value = map[string]int32{ func (x CaptureMode) String() string { return proto.EnumName(CaptureMode_name, int32(x)) } - -func (CaptureMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b5c11342f04ad3d1, []int{0} -} +func (CaptureMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } // `Sidecar` describes the configuration of the sidecar proxy that mediates // inbound and outbound communication to the workload it is attached to. By @@ -140,55 +129,24 @@ type Sidecar struct { // sidecar configuration should be applied. If omitted, the sidecar // configuration will be applied to all workloads in the same config // namespace. - WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector,proto3" json:"workload_selector,omitempty"` + WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector" json:"workload_selector,omitempty"` // Ingress specifies the configuration of the sidecar for processing // inbound traffic to the attached workload. If omitted, Istio will // autoconfigure the sidecar based on the information about the workload // obtained from the orchestration platform (e.g., exposed ports, services, // etc.). - Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress,proto3" json:"ingress,omitempty"` + Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress" json:"ingress,omitempty"` // Egress specifies the configuration of the sidecar for processing // outbound traffic from the attached workload to other services in the // mesh. If omitted, Istio will autoconfigure the sidecar to be able to // reach every service in the mesh that is visible to this namespace. - Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress,proto3" json:"egress,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Sidecar) Reset() { *m = Sidecar{} } -func (m *Sidecar) String() string { return proto.CompactTextString(m) } -func (*Sidecar) ProtoMessage() {} -func (*Sidecar) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c11342f04ad3d1, []int{0} -} -func (m *Sidecar) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Sidecar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Sidecar.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Sidecar) XXX_Merge(src proto.Message) { - xxx_messageInfo_Sidecar.Merge(m, src) -} -func (m *Sidecar) XXX_Size() int { - return m.Size() -} -func (m *Sidecar) XXX_DiscardUnknown() { - xxx_messageInfo_Sidecar.DiscardUnknown(m) + Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress" json:"egress,omitempty"` } -var xxx_messageInfo_Sidecar proto.InternalMessageInfo +func (m *Sidecar) Reset() { *m = Sidecar{} } +func (m *Sidecar) String() string { return proto.CompactTextString(m) } +func (*Sidecar) ProtoMessage() {} +func (*Sidecar) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } func (m *Sidecar) GetWorkloadSelector() *WorkloadSelector { if m != nil { @@ -217,7 +175,7 @@ type IstioIngressListener struct { // REQUIRED. The port associated with the listener. If using // unix domain socket, use 0 as the port number, with a valid // protocol. - Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` // 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). If omitted, Istio will autoconfigure the defaults @@ -233,44 +191,13 @@ type IstioIngressListener struct { // 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 - DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` } -func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} } -func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) } -func (*IstioIngressListener) ProtoMessage() {} -func (*IstioIngressListener) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c11342f04ad3d1, []int{1} -} -func (m *IstioIngressListener) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *IstioIngressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_IstioIngressListener.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *IstioIngressListener) XXX_Merge(src proto.Message) { - xxx_messageInfo_IstioIngressListener.Merge(m, src) -} -func (m *IstioIngressListener) XXX_Size() int { - return m.Size() -} -func (m *IstioIngressListener) XXX_DiscardUnknown() { - xxx_messageInfo_IstioIngressListener.DiscardUnknown(m) -} - -var xxx_messageInfo_IstioIngressListener proto.InternalMessageInfo +func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} } +func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) } +func (*IstioIngressListener) ProtoMessage() {} +func (*IstioIngressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{1} } func (m *IstioIngressListener) GetPort() *Port { if m != nil { @@ -312,7 +239,7 @@ type IstioEgressListener struct { // specific ports while others have no port, the hosts exposed on a // listener port will be based on the listener with the most specific // port. - Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` // The ip or the unix domain socket to which the listener should be bound // to. Port MUST be specified if bind is not empty. Format: x.x.x.x or // unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If @@ -343,44 +270,13 @@ type IstioEgressListener struct { // namespace can be imported. Private services/configuration will not be // imported. Refer to the scope setting associated with VirtualService, // DestinationRule, ServiceEntry, etc. for details. - Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Hosts []string `protobuf:"bytes,4,rep,name=hosts" json:"hosts,omitempty"` } -func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} } -func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) } -func (*IstioEgressListener) ProtoMessage() {} -func (*IstioEgressListener) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c11342f04ad3d1, []int{2} -} -func (m *IstioEgressListener) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *IstioEgressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_IstioEgressListener.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *IstioEgressListener) XXX_Merge(src proto.Message) { - xxx_messageInfo_IstioEgressListener.Merge(m, src) -} -func (m *IstioEgressListener) XXX_Size() int { - return m.Size() -} -func (m *IstioEgressListener) XXX_DiscardUnknown() { - xxx_messageInfo_IstioEgressListener.DiscardUnknown(m) -} - -var xxx_messageInfo_IstioEgressListener proto.InternalMessageInfo +func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} } +func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) } +func (*IstioEgressListener) ProtoMessage() {} +func (*IstioEgressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{2} } func (m *IstioEgressListener) GetPort() *Port { if m != nil { @@ -422,44 +318,13 @@ type WorkloadSelector struct { // on which this sidecar configuration should be applied. The scope of // label search is restricted to the configuration namespace in which the // the resource is present. - Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } -func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } -func (*WorkloadSelector) ProtoMessage() {} -func (*WorkloadSelector) Descriptor() ([]byte, []int) { - return fileDescriptor_b5c11342f04ad3d1, []int{3} -} -func (m *WorkloadSelector) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *WorkloadSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_WorkloadSelector.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *WorkloadSelector) XXX_Merge(src proto.Message) { - xxx_messageInfo_WorkloadSelector.Merge(m, src) -} -func (m *WorkloadSelector) XXX_Size() int { - return m.Size() -} -func (m *WorkloadSelector) XXX_DiscardUnknown() { - xxx_messageInfo_WorkloadSelector.DiscardUnknown(m) -} - -var xxx_messageInfo_WorkloadSelector proto.InternalMessageInfo +func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } +func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } +func (*WorkloadSelector) ProtoMessage() {} +func (*WorkloadSelector) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{3} } func (m *WorkloadSelector) GetLabels() map[string]string { if m != nil { @@ -469,50 +334,12 @@ func (m *WorkloadSelector) GetLabels() map[string]string { } func init() { - proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value) proto.RegisterType((*Sidecar)(nil), "istio.networking.v1alpha3.Sidecar") proto.RegisterType((*IstioIngressListener)(nil), "istio.networking.v1alpha3.IstioIngressListener") proto.RegisterType((*IstioEgressListener)(nil), "istio.networking.v1alpha3.IstioEgressListener") proto.RegisterType((*WorkloadSelector)(nil), "istio.networking.v1alpha3.WorkloadSelector") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.WorkloadSelector.LabelsEntry") -} - -func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptor_b5c11342f04ad3d1) } - -var fileDescriptor_b5c11342f04ad3d1 = []byte{ - // 465 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x6f, 0xd3, 0x30, - 0x18, 0xc6, 0x71, 0x13, 0xda, 0xf5, 0xcd, 0x04, 0xc1, 0xec, 0x10, 0x76, 0x28, 0xa1, 0x07, 0x14, - 0x40, 0x4a, 0x44, 0x7b, 0xe0, 0xcf, 0x6d, 0x83, 0x4c, 0x8a, 0x54, 0xb6, 0x29, 0x1d, 0x02, 0x71, - 0xa9, 0xdc, 0xe6, 0xa5, 0xb3, 0x16, 0xe2, 0xc8, 0x76, 0x57, 0xf5, 0xcb, 0xf0, 0x55, 0xb8, 0x72, - 0xe4, 0xc2, 0x1d, 0xf5, 0x43, 0x70, 0x46, 0x4d, 0x3c, 0x6d, 0x4c, 0xa5, 0x88, 0x1b, 0x37, 0xbf, - 0x6f, 0x9e, 0xe7, 0xf7, 0xfa, 0x89, 0x6d, 0x78, 0x50, 0xa0, 0x9e, 0x0b, 0x79, 0xc6, 0x8b, 0x69, - 0x74, 0xfe, 0x94, 0xe5, 0xe5, 0x29, 0xeb, 0x47, 0x8a, 0x67, 0x38, 0x61, 0x32, 0x2c, 0xa5, 0xd0, - 0x82, 0xde, 0xe3, 0x4a, 0x73, 0x11, 0x5e, 0x0a, 0xc3, 0x0b, 0xe1, 0xee, 0x5a, 0xf7, 0x94, 0x69, - 0x9c, 0xb3, 0x45, 0xed, 0xee, 0xfe, 0x24, 0xd0, 0x1a, 0xd6, 0x3c, 0xfa, 0x1e, 0xee, 0xac, 0xd4, - 0xb9, 0x60, 0xd9, 0x48, 0x61, 0x8e, 0x13, 0x2d, 0xa4, 0x47, 0x7c, 0x12, 0x38, 0xbd, 0x27, 0xe1, - 0x1f, 0xa7, 0x84, 0xef, 0x8c, 0x67, 0x68, 0x2c, 0xa9, 0x3b, 0xbf, 0xd6, 0xa1, 0x09, 0xb4, 0x78, - 0x31, 0x95, 0xa8, 0x94, 0xd7, 0xf0, 0xad, 0xc0, 0xe9, 0x45, 0x1b, 0x78, 0xc9, 0xea, 0x4b, 0x52, - 0xcb, 0x07, 0x5c, 0x69, 0x2c, 0x50, 0xa6, 0x17, 0x7e, 0x7a, 0x00, 0x4d, 0xac, 0x49, 0x56, 0x45, - 0x0a, 0xff, 0x46, 0x8a, 0x7f, 0x07, 0x19, 0x77, 0xf7, 0x3b, 0x81, 0x9d, 0x75, 0x93, 0x68, 0x1f, - 0xec, 0x52, 0x48, 0x6d, 0x82, 0xdf, 0xdf, 0x80, 0x3f, 0x16, 0x52, 0xa7, 0x95, 0x98, 0x52, 0xb0, - 0xc7, 0xbc, 0xc8, 0xbc, 0x86, 0x4f, 0x82, 0x76, 0x5a, 0xad, 0x69, 0x02, 0xdb, 0x13, 0x56, 0xea, - 0x99, 0xc4, 0xd1, 0x27, 0x91, 0xa1, 0x67, 0xf9, 0x24, 0xb8, 0xd5, 0x7b, 0xb8, 0x01, 0xf8, 0xaa, - 0x96, 0xbf, 0x11, 0x19, 0xa6, 0xce, 0xe4, 0xb2, 0xa0, 0x8f, 0xc0, 0xcd, 0xf0, 0x23, 0x9b, 0xe5, - 0x7a, 0x84, 0x45, 0x56, 0x0a, 0x5e, 0x68, 0xcf, 0xae, 0x46, 0xdd, 0x36, 0xfd, 0xd8, 0xb4, 0xbb, - 0x5f, 0x08, 0xdc, 0x5d, 0x93, 0xfb, 0xbf, 0x8c, 0xb5, 0x03, 0x37, 0x4f, 0x85, 0xd2, 0xca, 0xb3, - 0x7d, 0x2b, 0x68, 0xa7, 0x75, 0xd1, 0xfd, 0x4c, 0xc0, 0xbd, 0x7e, 0xa7, 0xe8, 0x11, 0x34, 0x73, - 0x36, 0xc6, 0x5c, 0x79, 0xa4, 0x3a, 0xf6, 0x67, 0xff, 0x70, 0x21, 0xc3, 0x41, 0xe5, 0x8c, 0x0b, - 0x2d, 0x17, 0xa9, 0xc1, 0xec, 0xbe, 0x00, 0xe7, 0x4a, 0x9b, 0xba, 0x60, 0x9d, 0xe1, 0xa2, 0xfa, - 0x3b, 0xed, 0x74, 0xb5, 0x5c, 0x6d, 0xee, 0x9c, 0xe5, 0x33, 0x34, 0xe1, 0xeb, 0xe2, 0x65, 0xe3, - 0x39, 0x79, 0xdc, 0x03, 0xe7, 0x4a, 0x24, 0xea, 0x40, 0xeb, 0x75, 0x7c, 0xb0, 0xf7, 0x76, 0x70, - 0xe2, 0xde, 0xa0, 0xdb, 0xb0, 0x95, 0x1c, 0x9f, 0xec, 0xed, 0x0f, 0xe2, 0xa1, 0x4b, 0xe8, 0x16, - 0xd8, 0x87, 0x47, 0x87, 0xb1, 0xdb, 0xd8, 0x0f, 0xbf, 0x2e, 0x3b, 0xe4, 0xdb, 0xb2, 0x43, 0x7e, - 0x2c, 0x3b, 0xe4, 0x83, 0x5f, 0x6f, 0x9e, 0x8b, 0x88, 0x95, 0x3c, 0x5a, 0xf3, 0x4a, 0xc7, 0xcd, - 0xea, 0x79, 0xf6, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x32, 0x9f, 0xa8, 0x1c, 0x01, 0x04, 0x00, - 0x00, + proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value) } - func (m *Sidecar) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -562,9 +389,6 @@ func (m *Sidecar) MarshalTo(dAtA []byte) (int, error) { i += n } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -610,9 +434,6 @@ func (m *IstioIngressListener) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintSidecar(dAtA, i, uint64(len(m.DefaultEndpoint))) i += copy(dAtA[i:], m.DefaultEndpoint) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -667,9 +488,6 @@ func (m *IstioEgressListener) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -705,9 +523,6 @@ func (m *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -721,9 +536,6 @@ func encodeVarintSidecar(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Sidecar) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.WorkloadSelector != nil { @@ -742,16 +554,10 @@ func (m *Sidecar) Size() (n int) { n += 1 + l + sovSidecar(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *IstioIngressListener) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Port != nil { @@ -769,16 +575,10 @@ func (m *IstioIngressListener) Size() (n int) { if l > 0 { n += 1 + l + sovSidecar(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *IstioEgressListener) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Port != nil { @@ -798,16 +598,10 @@ func (m *IstioEgressListener) Size() (n int) { n += 1 + l + sovSidecar(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *WorkloadSelector) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Labels) > 0 { @@ -818,9 +612,6 @@ func (m *WorkloadSelector) Size() (n int) { n += mapEntrySize + 1 + sovSidecar(uint64(mapEntrySize)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -852,7 +643,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -880,7 +671,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -889,9 +680,6 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -916,7 +704,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -925,9 +713,6 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -950,7 +735,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -959,9 +744,6 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -979,13 +761,9 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthSidecar - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1010,7 +788,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1038,7 +816,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1047,9 +825,6 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1074,7 +849,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1084,9 +859,6 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1106,7 +878,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CaptureMode |= CaptureMode(b&0x7F) << shift + m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift if b < 0x80 { break } @@ -1125,7 +897,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1135,9 +907,6 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1152,13 +921,9 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthSidecar - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1183,7 +948,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1211,7 +976,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1220,9 +985,6 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1247,7 +1009,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1257,9 +1019,6 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1279,7 +1038,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CaptureMode |= CaptureMode(b&0x7F) << shift + m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift if b < 0x80 { break } @@ -1298,7 +1057,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1308,9 +1067,6 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1325,13 +1081,9 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthSidecar - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1356,7 +1108,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1384,7 +1136,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -1393,9 +1145,6 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSidecar - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1416,7 +1165,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1433,7 +1182,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1443,9 +1192,6 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthSidecar - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1462,7 +1208,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -1472,9 +1218,6 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthSidecar - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1506,13 +1249,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthSidecar - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1576,11 +1315,8 @@ func skipSidecar(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthSidecar - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthSidecar } return iNdEx, nil @@ -1611,9 +1347,6 @@ func skipSidecar(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthSidecar - } } return iNdEx, nil case 4: @@ -1632,3 +1365,39 @@ var ( ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSidecar = fmt.Errorf("proto: integer overflow") ) + +func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptorSidecar) } + +var fileDescriptorSidecar = []byte{ + // 465 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x6f, 0xd3, 0x30, + 0x18, 0xc6, 0x71, 0x13, 0xda, 0xf5, 0xcd, 0x04, 0xc1, 0xec, 0x10, 0x76, 0x28, 0xa1, 0x07, 0x14, + 0x40, 0x4a, 0x44, 0x7b, 0xe0, 0xcf, 0x6d, 0x83, 0x4c, 0x8a, 0x54, 0xb6, 0x29, 0x1d, 0x02, 0x71, + 0xa9, 0xdc, 0xe6, 0xa5, 0xb3, 0x16, 0xe2, 0xc8, 0x76, 0x57, 0xf5, 0xcb, 0xf0, 0x55, 0xb8, 0x72, + 0xe4, 0xc2, 0x1d, 0xf5, 0x43, 0x70, 0x46, 0x4d, 0x3c, 0x6d, 0x4c, 0xa5, 0x88, 0x1b, 0x37, 0xbf, + 0x6f, 0x9e, 0xe7, 0xf7, 0xfa, 0x89, 0x6d, 0x78, 0x50, 0xa0, 0x9e, 0x0b, 0x79, 0xc6, 0x8b, 0x69, + 0x74, 0xfe, 0x94, 0xe5, 0xe5, 0x29, 0xeb, 0x47, 0x8a, 0x67, 0x38, 0x61, 0x32, 0x2c, 0xa5, 0xd0, + 0x82, 0xde, 0xe3, 0x4a, 0x73, 0x11, 0x5e, 0x0a, 0xc3, 0x0b, 0xe1, 0xee, 0x5a, 0xf7, 0x94, 0x69, + 0x9c, 0xb3, 0x45, 0xed, 0xee, 0xfe, 0x24, 0xd0, 0x1a, 0xd6, 0x3c, 0xfa, 0x1e, 0xee, 0xac, 0xd4, + 0xb9, 0x60, 0xd9, 0x48, 0x61, 0x8e, 0x13, 0x2d, 0xa4, 0x47, 0x7c, 0x12, 0x38, 0xbd, 0x27, 0xe1, + 0x1f, 0xa7, 0x84, 0xef, 0x8c, 0x67, 0x68, 0x2c, 0xa9, 0x3b, 0xbf, 0xd6, 0xa1, 0x09, 0xb4, 0x78, + 0x31, 0x95, 0xa8, 0x94, 0xd7, 0xf0, 0xad, 0xc0, 0xe9, 0x45, 0x1b, 0x78, 0xc9, 0xea, 0x4b, 0x52, + 0xcb, 0x07, 0x5c, 0x69, 0x2c, 0x50, 0xa6, 0x17, 0x7e, 0x7a, 0x00, 0x4d, 0xac, 0x49, 0x56, 0x45, + 0x0a, 0xff, 0x46, 0x8a, 0x7f, 0x07, 0x19, 0x77, 0xf7, 0x3b, 0x81, 0x9d, 0x75, 0x93, 0x68, 0x1f, + 0xec, 0x52, 0x48, 0x6d, 0x82, 0xdf, 0xdf, 0x80, 0x3f, 0x16, 0x52, 0xa7, 0x95, 0x98, 0x52, 0xb0, + 0xc7, 0xbc, 0xc8, 0xbc, 0x86, 0x4f, 0x82, 0x76, 0x5a, 0xad, 0x69, 0x02, 0xdb, 0x13, 0x56, 0xea, + 0x99, 0xc4, 0xd1, 0x27, 0x91, 0xa1, 0x67, 0xf9, 0x24, 0xb8, 0xd5, 0x7b, 0xb8, 0x01, 0xf8, 0xaa, + 0x96, 0xbf, 0x11, 0x19, 0xa6, 0xce, 0xe4, 0xb2, 0xa0, 0x8f, 0xc0, 0xcd, 0xf0, 0x23, 0x9b, 0xe5, + 0x7a, 0x84, 0x45, 0x56, 0x0a, 0x5e, 0x68, 0xcf, 0xae, 0x46, 0xdd, 0x36, 0xfd, 0xd8, 0xb4, 0xbb, + 0x5f, 0x08, 0xdc, 0x5d, 0x93, 0xfb, 0xbf, 0x8c, 0xb5, 0x03, 0x37, 0x4f, 0x85, 0xd2, 0xca, 0xb3, + 0x7d, 0x2b, 0x68, 0xa7, 0x75, 0xd1, 0xfd, 0x4c, 0xc0, 0xbd, 0x7e, 0xa7, 0xe8, 0x11, 0x34, 0x73, + 0x36, 0xc6, 0x5c, 0x79, 0xa4, 0x3a, 0xf6, 0x67, 0xff, 0x70, 0x21, 0xc3, 0x41, 0xe5, 0x8c, 0x0b, + 0x2d, 0x17, 0xa9, 0xc1, 0xec, 0xbe, 0x00, 0xe7, 0x4a, 0x9b, 0xba, 0x60, 0x9d, 0xe1, 0xa2, 0xfa, + 0x3b, 0xed, 0x74, 0xb5, 0x5c, 0x6d, 0xee, 0x9c, 0xe5, 0x33, 0x34, 0xe1, 0xeb, 0xe2, 0x65, 0xe3, + 0x39, 0x79, 0xdc, 0x03, 0xe7, 0x4a, 0x24, 0xea, 0x40, 0xeb, 0x75, 0x7c, 0xb0, 0xf7, 0x76, 0x70, + 0xe2, 0xde, 0xa0, 0xdb, 0xb0, 0x95, 0x1c, 0x9f, 0xec, 0xed, 0x0f, 0xe2, 0xa1, 0x4b, 0xe8, 0x16, + 0xd8, 0x87, 0x47, 0x87, 0xb1, 0xdb, 0xd8, 0x0f, 0xbf, 0x2e, 0x3b, 0xe4, 0xdb, 0xb2, 0x43, 0x7e, + 0x2c, 0x3b, 0xe4, 0x83, 0x5f, 0x6f, 0x9e, 0x8b, 0x88, 0x95, 0x3c, 0x5a, 0xf3, 0x4a, 0xc7, 0xcd, + 0xea, 0x79, 0xf6, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x32, 0x9f, 0xa8, 0x1c, 0x01, 0x04, 0x00, + 0x00, +} diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 7ccda22babb..433763766f7 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -1,57 +1,23 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/virtual_service.proto -// Configuration affecting traffic routing. Here are a few terms useful to define -// in the context of traffic routing. -// -// `Service` a unit of application behavior bound to a unique name in a -// service registry. Services consist of multiple network *endpoints* -// implemented by workload instances running on pods, containers, VMs etc. -// -// `Service versions (a.k.a. subsets)` - In a continuous deployment -// scenario, for a given service, there can be distinct subsets of -// instances running different variants of the application binary. These -// variants are not necessarily different API versions. They could be -// iterative changes to the same service, deployed in different -// environments (prod, staging, dev, etc.). Common scenarios where this -// occurs include A/B testing, canary rollouts, etc. The choice of a -// particular version can be decided based on various criterion (headers, -// url, etc.) and/or by weights assigned to each version. Each service has -// a default version consisting of all its instances. -// -// `Source` - A downstream client calling a service. -// -// `Host` - The address used by a client when attempting to connect to a -// service. -// -// `Access model` - Applications address only the destination service -// (Host) without knowledge of individual service versions (subsets). The -// actual choice of the version is determined by the proxy/sidecar, enabling the -// application code to decouple itself from the evolution of dependent -// services. - package v1alpha3 -import ( - encoding_binary "encoding/binary" - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - types "github.com/gogo/protobuf/types" - io "io" - math "math" -) +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import google_protobuf "github.com/gogo/protobuf/types" +import google_protobuf1 "github.com/gogo/protobuf/types" + +import binary "encoding/binary" + +import io "io" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - // A `VirtualService` defines a set of traffic routing rules to apply when a host is // addressed. Each routing rule defines matching criteria for traffic of a specific // protocol. If the traffic is matched, then it is sent to a named destination service @@ -136,7 +102,7 @@ type VirtualService struct { // the mesh, i.e., those found in the service registry, must always be // referred to using their alphanumeric names. IP addresses are allowed // only for services defined via the Gateway. - Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,1,rep,name=hosts" json:"hosts,omitempty"` // The names of gateways and sidecars that should apply these routes. A // single VirtualService is used for sidecars inside the mesh as well as // for one or more gateways. The selection condition imposed by this @@ -147,13 +113,13 @@ type VirtualService struct { // sidecars in the mesh. If a list of gateway names is provided, the // rules will apply only to the gateways. To apply the rules to both // gateways and sidecars, specify `mesh` as one of the gateway names. - Gateways []string `protobuf:"bytes,2,rep,name=gateways,proto3" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,2,rep,name=gateways" json:"gateways,omitempty"` // An ordered list of route rules for HTTP traffic. HTTP routes will be // applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway // ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service // entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching // an incoming request is used. - Http []*HTTPRoute `protobuf:"bytes,3,rep,name=http,proto3" json:"http,omitempty"` + Http []*HTTPRoute `protobuf:"bytes,3,rep,name=http" json:"http,omitempty"` // An ordered list of route rule for non-terminated TLS & HTTPS // traffic. Routing is typically performed using the SNI value presented // by the ClientHello message. TLS routes will be applied to platform @@ -163,11 +129,11 @@ type VirtualService struct { // incoming request is used. NOTE: Traffic 'https-*' or 'tls-*' ports // without associated virtual service will be treated as opaque TCP // traffic. - Tls []*TLSRoute `protobuf:"bytes,5,rep,name=tls,proto3" json:"tls,omitempty"` + Tls []*TLSRoute `protobuf:"bytes,5,rep,name=tls" json:"tls,omitempty"` // An ordered list of route rules for opaque TCP traffic. TCP routes will // be applied to any port that is not a HTTP or TLS port. The first rule // matching an incoming request is used. - Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp,proto3" json:"tcp,omitempty"` + Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp" json:"tcp,omitempty"` // A list of namespaces to which this virtual service is exported. Exporting a // virtual service allows it to used by sidecars and gateways defined in // other namespaces. This feature provides a mechanism for service owners @@ -180,44 +146,13 @@ type VirtualService struct { // The value "." is reserved and defines an export to the same namespace that // the virtual service is declared in, similarly the value "*" is reserved and // defines an export to all namespaces. - ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *VirtualService) Reset() { *m = VirtualService{} } -func (m *VirtualService) String() string { return proto.CompactTextString(m) } -func (*VirtualService) ProtoMessage() {} -func (*VirtualService) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{0} -} -func (m *VirtualService) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *VirtualService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_VirtualService.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *VirtualService) XXX_Merge(src proto.Message) { - xxx_messageInfo_VirtualService.Merge(m, src) -} -func (m *VirtualService) XXX_Size() int { - return m.Size() -} -func (m *VirtualService) XXX_DiscardUnknown() { - xxx_messageInfo_VirtualService.DiscardUnknown(m) + ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` } -var xxx_messageInfo_VirtualService proto.InternalMessageInfo +func (m *VirtualService) Reset() { *m = VirtualService{} } +func (m *VirtualService) String() string { return proto.CompactTextString(m) } +func (*VirtualService) ProtoMessage() {} +func (*VirtualService) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{0} } func (m *VirtualService) GetHosts() []string { if m != nil { @@ -411,44 +346,13 @@ type Destination struct { // Specifies the port on the host that is being addressed. If a service // exposes only a single port it is not required to explicitly select the // port. - Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Destination) Reset() { *m = Destination{} } -func (m *Destination) String() string { return proto.CompactTextString(m) } -func (*Destination) ProtoMessage() {} -func (*Destination) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{1} -} -func (m *Destination) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Destination.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Destination) XXX_Merge(src proto.Message) { - xxx_messageInfo_Destination.Merge(m, src) -} -func (m *Destination) XXX_Size() int { - return m.Size() -} -func (m *Destination) XXX_DiscardUnknown() { - xxx_messageInfo_Destination.DiscardUnknown(m) + Port *PortSelector `protobuf:"bytes,3,opt,name=port" json:"port,omitempty"` } -var xxx_messageInfo_Destination proto.InternalMessageInfo +func (m *Destination) Reset() { *m = Destination{} } +func (m *Destination) String() string { return proto.CompactTextString(m) } +func (*Destination) ProtoMessage() {} +func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{1} } func (m *Destination) GetHost() string { if m != nil { @@ -478,96 +382,65 @@ type HTTPRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*HTTPMatchRequest `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` + Match []*HTTPMatchRequest `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` // A http rule can either redirect or forward (default) traffic. The // forwarding target can be one of several versions of a service (see // glossary in beginning of document). Weights associated with the // service version determine the proportion of traffic it receives. - Route []*HTTPRouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` + Route []*HTTPRouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` // A http rule can either redirect or forward (default) traffic. If // traffic passthrough option is specified in the rule, // route/redirect will be ignored. The redirect primitive can be used to // send a HTTP 301 redirect to a different URI or Authority. - Redirect *HTTPRedirect `protobuf:"bytes,3,opt,name=redirect,proto3" json:"redirect,omitempty"` + Redirect *HTTPRedirect `protobuf:"bytes,3,opt,name=redirect" json:"redirect,omitempty"` // Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with // Redirect primitive. Rewrite will be performed before forwarding. - Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite,proto3" json:"rewrite,omitempty"` + Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite" json:"rewrite,omitempty"` // Deprecated. Websocket upgrades are done automatically starting from Istio 1.0. // $hide_from_docs WebsocketUpgrade bool `protobuf:"varint,5,opt,name=websocket_upgrade,json=websocketUpgrade,proto3" json:"websocket_upgrade,omitempty"` // Timeout for HTTP requests. - Timeout *types.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"` + Timeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=timeout" json:"timeout,omitempty"` // Retry policy for HTTP requests. - Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"` + Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries" json:"retries,omitempty"` // Fault injection policy to apply on HTTP traffic at the client side. // Note that timeouts or retries will not be enabled when faults are // enabled on the client side. - Fault *HTTPFaultInjection `protobuf:"bytes,8,opt,name=fault,proto3" json:"fault,omitempty"` + Fault *HTTPFaultInjection `protobuf:"bytes,8,opt,name=fault" json:"fault,omitempty"` // Mirror HTTP traffic to a another destination in addition to forwarding // the requests to the intended destination. Mirrored traffic is on a // best effort basis where the sidecar/gateway will not wait for the // mirrored cluster to respond before returning the response from the // original destination. Statistics will be generated for the mirrored // destination. - Mirror *Destination `protobuf:"bytes,9,opt,name=mirror,proto3" json:"mirror,omitempty"` + Mirror *Destination `protobuf:"bytes,9,opt,name=mirror" json:"mirror,omitempty"` // Cross-Origin Resource Sharing policy (CORS). Refer to // [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) // for further details about cross origin resource sharing. - CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"` + CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy" json:"cors_policy,omitempty"` // Use of `append_headers` is deprecated. Use the `headers` // field instead. - AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders,proto3" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. + AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Use of `remove_response_header` is deprecated. Use the `headers` // field instead. - RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use. + RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` // Use of `append_response_headers` is deprecated. Use the `headers` // field instead. - AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. + AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Use of `remove_request_headers` is deprecated. Use the `headers` // field instead. - RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use. + RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` // Use of `append_request_headers` is deprecated. Use the `headers` // field instead. - AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. + AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Header manipulation rules - Headers *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HTTPRoute) Reset() { *m = HTTPRoute{} } -func (m *HTTPRoute) String() string { return proto.CompactTextString(m) } -func (*HTTPRoute) ProtoMessage() {} -func (*HTTPRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{2} -} -func (m *HTTPRoute) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPRoute.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPRoute.Merge(m, src) -} -func (m *HTTPRoute) XXX_Size() int { - return m.Size() -} -func (m *HTTPRoute) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPRoute.DiscardUnknown(m) + Headers *Headers `protobuf:"bytes,16,opt,name=headers" json:"headers,omitempty"` } -var xxx_messageInfo_HTTPRoute proto.InternalMessageInfo +func (m *HTTPRoute) Reset() { *m = HTTPRoute{} } +func (m *HTTPRoute) String() string { return proto.CompactTextString(m) } +func (*HTTPRoute) ProtoMessage() {} +func (*HTTPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{2} } func (m *HTTPRoute) GetMatch() []*HTTPMatchRequest { if m != nil { @@ -604,7 +477,7 @@ func (m *HTTPRoute) GetWebsocketUpgrade() bool { return false } -func (m *HTTPRoute) GetTimeout() *types.Duration { +func (m *HTTPRoute) GetTimeout() *google_protobuf.Duration { if m != nil { return m.Timeout } @@ -639,7 +512,6 @@ func (m *HTTPRoute) GetCorsPolicy() *CorsPolicy { return nil } -// Deprecated: Do not use. func (m *HTTPRoute) GetAppendHeaders() map[string]string { if m != nil { return m.AppendHeaders @@ -647,7 +519,6 @@ func (m *HTTPRoute) GetAppendHeaders() map[string]string { return nil } -// Deprecated: Do not use. func (m *HTTPRoute) GetRemoveResponseHeaders() []string { if m != nil { return m.RemoveResponseHeaders @@ -655,7 +526,6 @@ func (m *HTTPRoute) GetRemoveResponseHeaders() []string { return nil } -// Deprecated: Do not use. func (m *HTTPRoute) GetAppendResponseHeaders() map[string]string { if m != nil { return m.AppendResponseHeaders @@ -663,7 +533,6 @@ func (m *HTTPRoute) GetAppendResponseHeaders() map[string]string { return nil } -// Deprecated: Do not use. func (m *HTTPRoute) GetRemoveRequestHeaders() []string { if m != nil { return m.RemoveRequestHeaders @@ -671,7 +540,6 @@ func (m *HTTPRoute) GetRemoveRequestHeaders() []string { return nil } -// Deprecated: Do not use. func (m *HTTPRoute) GetAppendRequestHeaders() map[string]string { if m != nil { return m.AppendRequestHeaders @@ -690,47 +558,16 @@ func (m *HTTPRoute) GetHeaders() *Headers { type Headers struct { // Header manipulation rules to apply before forwarding a request // to the destination service - Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` + Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request" json:"request,omitempty"` // Header manipulation rules to apply before returning a response // to the caller - Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Headers) Reset() { *m = Headers{} } -func (m *Headers) String() string { return proto.CompactTextString(m) } -func (*Headers) ProtoMessage() {} -func (*Headers) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{3} -} -func (m *Headers) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Headers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Headers.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Headers) XXX_Merge(src proto.Message) { - xxx_messageInfo_Headers.Merge(m, src) -} -func (m *Headers) XXX_Size() int { - return m.Size() -} -func (m *Headers) XXX_DiscardUnknown() { - xxx_messageInfo_Headers.DiscardUnknown(m) + Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"` } -var xxx_messageInfo_Headers proto.InternalMessageInfo +func (m *Headers) Reset() { *m = Headers{} } +func (m *Headers) String() string { return proto.CompactTextString(m) } +func (*Headers) ProtoMessage() {} +func (*Headers) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{3} } func (m *Headers) GetRequest() *Headers_HeaderOperations { if m != nil { @@ -749,49 +586,20 @@ func (m *Headers) GetResponse() *Headers_HeaderOperations { // HeaderOperations Describes the header manipulations to apply type Headers_HeaderOperations struct { // Overwrite the headers specified by key with the given values - Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Set map[string]string `protobuf:"bytes,1,rep,name=set" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Append the given values to the headers specified by keys // (will create a comma-separated list of values) - Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Add map[string]string `protobuf:"bytes,2,rep,name=add" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Remove a the specified headers - Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Remove []string `protobuf:"bytes,3,rep,name=remove" json:"remove,omitempty"` } func (m *Headers_HeaderOperations) Reset() { *m = Headers_HeaderOperations{} } func (m *Headers_HeaderOperations) String() string { return proto.CompactTextString(m) } func (*Headers_HeaderOperations) ProtoMessage() {} func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{3, 0} + return fileDescriptorVirtualService, []int{3, 0} } -func (m *Headers_HeaderOperations) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Headers_HeaderOperations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Headers_HeaderOperations.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Headers_HeaderOperations) XXX_Merge(src proto.Message) { - xxx_messageInfo_Headers_HeaderOperations.Merge(m, src) -} -func (m *Headers_HeaderOperations) XXX_Size() int { - return m.Size() -} -func (m *Headers_HeaderOperations) XXX_DiscardUnknown() { - xxx_messageInfo_Headers_HeaderOperations.DiscardUnknown(m) -} - -var xxx_messageInfo_Headers_HeaderOperations proto.InternalMessageInfo func (m *Headers_HeaderOperations) GetSet() map[string]string { if m != nil { @@ -850,46 +658,15 @@ type TLSRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` + Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` // The destination to which the connection should be forwarded to. - Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TLSRoute) Reset() { *m = TLSRoute{} } -func (m *TLSRoute) String() string { return proto.CompactTextString(m) } -func (*TLSRoute) ProtoMessage() {} -func (*TLSRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{4} -} -func (m *TLSRoute) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TLSRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TLSRoute.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TLSRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_TLSRoute.Merge(m, src) -} -func (m *TLSRoute) XXX_Size() int { - return m.Size() -} -func (m *TLSRoute) XXX_DiscardUnknown() { - xxx_messageInfo_TLSRoute.DiscardUnknown(m) + Route []*RouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` } -var xxx_messageInfo_TLSRoute proto.InternalMessageInfo +func (m *TLSRoute) Reset() { *m = TLSRoute{} } +func (m *TLSRoute) String() string { return proto.CompactTextString(m) } +func (*TLSRoute) ProtoMessage() {} +func (*TLSRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{4} } func (m *TLSRoute) GetMatch() []*TLSMatchAttributes { if m != nil { @@ -931,46 +708,15 @@ type TCPRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` + Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` // The destination to which the connection should be forwarded to. - Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TCPRoute) Reset() { *m = TCPRoute{} } -func (m *TCPRoute) String() string { return proto.CompactTextString(m) } -func (*TCPRoute) ProtoMessage() {} -func (*TCPRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{5} -} -func (m *TCPRoute) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TCPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TCPRoute.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TCPRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_TCPRoute.Merge(m, src) -} -func (m *TCPRoute) XXX_Size() int { - return m.Size() -} -func (m *TCPRoute) XXX_DiscardUnknown() { - xxx_messageInfo_TCPRoute.DiscardUnknown(m) + Route []*RouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` } -var xxx_messageInfo_TCPRoute proto.InternalMessageInfo +func (m *TCPRoute) Reset() { *m = TCPRoute{} } +func (m *TCPRoute) String() string { return proto.CompactTextString(m) } +func (*TCPRoute) ProtoMessage() {} +func (*TCPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{5} } func (m *TCPRoute) GetMatch() []*L4MatchAttributes { if m != nil { @@ -1023,7 +769,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Uri *StringMatch `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + Uri *StringMatch `protobuf:"bytes,1,opt,name=uri" json:"uri,omitempty"` // URI Scheme // values are case-sensitive and formatted as follows: // @@ -1033,7 +779,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Scheme *StringMatch `protobuf:"bytes,2,opt,name=scheme,proto3" json:"scheme,omitempty"` + Scheme *StringMatch `protobuf:"bytes,2,opt,name=scheme" json:"scheme,omitempty"` // HTTP Method // values are case-sensitive and formatted as follows: // @@ -1043,7 +789,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Method *StringMatch `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` + Method *StringMatch `protobuf:"bytes,3,opt,name=method" json:"method,omitempty"` // HTTP Authority // values are case-sensitive and formatted as follows: // @@ -1053,7 +799,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Authority *StringMatch `protobuf:"bytes,4,opt,name=authority,proto3" json:"authority,omitempty"` + Authority *StringMatch `protobuf:"bytes,4,opt,name=authority" json:"authority,omitempty"` // The header keys must be lowercase and use hyphen as the separator, // e.g. _x-request-id_. // @@ -1066,7 +812,7 @@ type HTTPMatchRequest struct { // - `regex: "value"` for ECMAscript style regex-based match // // **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored. - Headers map[string]*StringMatch `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Headers map[string]*StringMatch `protobuf:"bytes,5,rep,name=headers" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` // Specifies the ports on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they support, // in these cases it is not required to explicitly select the port. @@ -1075,48 +821,17 @@ type HTTPMatchRequest struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,7,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,7,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway match is // independent of sourceLabels. - Gateways []string `protobuf:"bytes,8,rep,name=gateways,proto3" json:"gateways,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} } -func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) } -func (*HTTPMatchRequest) ProtoMessage() {} -func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{6} -} -func (m *HTTPMatchRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPMatchRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPMatchRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPMatchRequest.Merge(m, src) -} -func (m *HTTPMatchRequest) XXX_Size() int { - return m.Size() -} -func (m *HTTPMatchRequest) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPMatchRequest.DiscardUnknown(m) + Gateways []string `protobuf:"bytes,8,rep,name=gateways" json:"gateways,omitempty"` } -var xxx_messageInfo_HTTPMatchRequest proto.InternalMessageInfo +func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} } +func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) } +func (*HTTPMatchRequest) ProtoMessage() {} +func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{6} } func (m *HTTPMatchRequest) GetUri() *StringMatch { if m != nil { @@ -1243,7 +958,7 @@ func (m *HTTPMatchRequest) GetGateways() []string { type HTTPRouteDestination struct { // REQUIRED. Destination uniquely identifies the instances of a service // to which the request/connection should be forwarded to. - Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Destination *Destination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"` // REQUIRED. The proportion of traffic to be forwarded to the service // version. (0-100). Sum of weights across destinations SHOULD BE == 100. // If there is only one destination in a rule, the weight value is assumed to @@ -1251,55 +966,26 @@ type HTTPRouteDestination struct { Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // Use of `remove_response_header` is deprecated. Use the `headers` // field instead. - RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use. + RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` // Use of `append_response_headers` is deprecated. Use the `headers` // field instead. - AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. + AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Use of `remove_request_headers` is deprecated. Use the `headers` // field instead. - RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use. + RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` // Use of `append_request_headers` is deprecated. Use the `headers` // field instead. - AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. + AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Header manipulation rules - Headers *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Headers *Headers `protobuf:"bytes,7,opt,name=headers" json:"headers,omitempty"` } func (m *HTTPRouteDestination) Reset() { *m = HTTPRouteDestination{} } func (m *HTTPRouteDestination) String() string { return proto.CompactTextString(m) } func (*HTTPRouteDestination) ProtoMessage() {} func (*HTTPRouteDestination) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{7} -} -func (m *HTTPRouteDestination) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPRouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPRouteDestination.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPRouteDestination) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPRouteDestination.Merge(m, src) + return fileDescriptorVirtualService, []int{7} } -func (m *HTTPRouteDestination) XXX_Size() int { - return m.Size() -} -func (m *HTTPRouteDestination) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPRouteDestination.DiscardUnknown(m) -} - -var xxx_messageInfo_HTTPRouteDestination proto.InternalMessageInfo func (m *HTTPRouteDestination) GetDestination() *Destination { if m != nil { @@ -1315,7 +1001,6 @@ func (m *HTTPRouteDestination) GetWeight() int32 { return 0 } -// Deprecated: Do not use. func (m *HTTPRouteDestination) GetRemoveResponseHeaders() []string { if m != nil { return m.RemoveResponseHeaders @@ -1323,7 +1008,6 @@ func (m *HTTPRouteDestination) GetRemoveResponseHeaders() []string { return nil } -// Deprecated: Do not use. func (m *HTTPRouteDestination) GetAppendResponseHeaders() map[string]string { if m != nil { return m.AppendResponseHeaders @@ -1331,7 +1015,6 @@ func (m *HTTPRouteDestination) GetAppendResponseHeaders() map[string]string { return nil } -// Deprecated: Do not use. func (m *HTTPRouteDestination) GetRemoveRequestHeaders() []string { if m != nil { return m.RemoveRequestHeaders @@ -1339,7 +1022,6 @@ func (m *HTTPRouteDestination) GetRemoveRequestHeaders() []string { return nil } -// Deprecated: Do not use. func (m *HTTPRouteDestination) GetAppendRequestHeaders() map[string]string { if m != nil { return m.AppendRequestHeaders @@ -1358,48 +1040,17 @@ func (m *HTTPRouteDestination) GetHeaders() *Headers { type RouteDestination struct { // REQUIRED. Destination uniquely identifies the instances of a service // to which the request/connection should be forwarded to. - Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Destination *Destination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"` // REQUIRED. The proportion of traffic to be forwarded to the service // version. If there is only one destination in a rule, all traffic will be // routed to it irrespective of the weight. - Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *RouteDestination) Reset() { *m = RouteDestination{} } -func (m *RouteDestination) String() string { return proto.CompactTextString(m) } -func (*RouteDestination) ProtoMessage() {} -func (*RouteDestination) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{8} -} -func (m *RouteDestination) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *RouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_RouteDestination.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *RouteDestination) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteDestination.Merge(m, src) -} -func (m *RouteDestination) XXX_Size() int { - return m.Size() -} -func (m *RouteDestination) XXX_DiscardUnknown() { - xxx_messageInfo_RouteDestination.DiscardUnknown(m) + Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` } -var xxx_messageInfo_RouteDestination proto.InternalMessageInfo +func (m *RouteDestination) Reset() { *m = RouteDestination{} } +func (m *RouteDestination) String() string { return proto.CompactTextString(m) } +func (*RouteDestination) ProtoMessage() {} +func (*RouteDestination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{8} } func (m *RouteDestination) GetDestination() *Destination { if m != nil { @@ -1420,7 +1071,7 @@ func (m *RouteDestination) GetWeight() int32 { type L4MatchAttributes struct { // IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., // a.b.c.d/xx form or just a.b.c.d. - DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"` + DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets" json:"destination_subnets,omitempty"` // Specifies the port on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they support, // in these cases it is not required to explicitly select the port. @@ -1433,48 +1084,17 @@ type L4MatchAttributes struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,4,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,4,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway // match is independent of sourceLabels. - Gateways []string `protobuf:"bytes,5,rep,name=gateways,proto3" json:"gateways,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} } -func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) } -func (*L4MatchAttributes) ProtoMessage() {} -func (*L4MatchAttributes) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{9} -} -func (m *L4MatchAttributes) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *L4MatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_L4MatchAttributes.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *L4MatchAttributes) XXX_Merge(src proto.Message) { - xxx_messageInfo_L4MatchAttributes.Merge(m, src) -} -func (m *L4MatchAttributes) XXX_Size() int { - return m.Size() -} -func (m *L4MatchAttributes) XXX_DiscardUnknown() { - xxx_messageInfo_L4MatchAttributes.DiscardUnknown(m) + Gateways []string `protobuf:"bytes,5,rep,name=gateways" json:"gateways,omitempty"` } -var xxx_messageInfo_L4MatchAttributes proto.InternalMessageInfo +func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} } +func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) } +func (*L4MatchAttributes) ProtoMessage() {} +func (*L4MatchAttributes) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{9} } func (m *L4MatchAttributes) GetDestinationSubnets() []string { if m != nil { @@ -1517,10 +1137,10 @@ type TLSMatchAttributes struct { // can be used in the SNI value, e.g., *.com will match foo.example.com // as well as example.com. An SNI value must be a subset (i.e., fall // within the domain) of the corresponding virtual serivce's hosts. - SniHosts []string `protobuf:"bytes,1,rep,name=sni_hosts,json=sniHosts,proto3" json:"sni_hosts,omitempty"` + SniHosts []string `protobuf:"bytes,1,rep,name=sni_hosts,json=sniHosts" json:"sni_hosts,omitempty"` // IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., // a.b.c.d/xx form or just a.b.c.d. - DestinationSubnets []string `protobuf:"bytes,2,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"` + DestinationSubnets []string `protobuf:"bytes,2,rep,name=destination_subnets,json=destinationSubnets" json:"destination_subnets,omitempty"` // Specifies the port on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they // support, in these cases it is not required to explicitly select the @@ -1534,49 +1154,20 @@ type TLSMatchAttributes struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,5,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,5,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway // match is independent of sourceLabels. - Gateways []string `protobuf:"bytes,6,rep,name=gateways,proto3" json:"gateways,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Gateways []string `protobuf:"bytes,6,rep,name=gateways" json:"gateways,omitempty"` } func (m *TLSMatchAttributes) Reset() { *m = TLSMatchAttributes{} } func (m *TLSMatchAttributes) String() string { return proto.CompactTextString(m) } func (*TLSMatchAttributes) ProtoMessage() {} func (*TLSMatchAttributes) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{10} -} -func (m *TLSMatchAttributes) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TLSMatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TLSMatchAttributes.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *TLSMatchAttributes) XXX_Merge(src proto.Message) { - xxx_messageInfo_TLSMatchAttributes.Merge(m, src) -} -func (m *TLSMatchAttributes) XXX_Size() int { - return m.Size() -} -func (m *TLSMatchAttributes) XXX_DiscardUnknown() { - xxx_messageInfo_TLSMatchAttributes.DiscardUnknown(m) + return fileDescriptorVirtualService, []int{10} } -var xxx_messageInfo_TLSMatchAttributes proto.InternalMessageInfo - func (m *TLSMatchAttributes) GetSniHosts() []string { if m != nil { return m.SniHosts @@ -1649,44 +1240,13 @@ type HTTPRedirect struct { Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // On a redirect, overwrite the Authority/Host portion of the URL with // this value. - Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} } -func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) } -func (*HTTPRedirect) ProtoMessage() {} -func (*HTTPRedirect) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{11} -} -func (m *HTTPRedirect) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPRedirect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPRedirect.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPRedirect) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPRedirect.Merge(m, src) -} -func (m *HTTPRedirect) XXX_Size() int { - return m.Size() -} -func (m *HTTPRedirect) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPRedirect.DiscardUnknown(m) + Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` } -var xxx_messageInfo_HTTPRedirect proto.InternalMessageInfo +func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} } +func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) } +func (*HTTPRedirect) ProtoMessage() {} +func (*HTTPRedirect) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{11} } func (m *HTTPRedirect) GetUri() string { if m != nil { @@ -1734,44 +1294,13 @@ type HTTPRewrite struct { // provided in this field will replace the corresponding matched prefix. Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // rewrite the Authority/Host header with this value. - Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} } -func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) } -func (*HTTPRewrite) ProtoMessage() {} -func (*HTTPRewrite) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{12} -} -func (m *HTTPRewrite) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPRewrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPRewrite.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPRewrite) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPRewrite.Merge(m, src) -} -func (m *HTTPRewrite) XXX_Size() int { - return m.Size() -} -func (m *HTTPRewrite) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPRewrite.DiscardUnknown(m) + Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` } -var xxx_messageInfo_HTTPRewrite proto.InternalMessageInfo +func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} } +func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) } +func (*HTTPRewrite) ProtoMessage() {} +func (*HTTPRewrite) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{12} } func (m *HTTPRewrite) GetUri() string { if m != nil { @@ -1794,44 +1323,13 @@ type StringMatch struct { // *StringMatch_Exact // *StringMatch_Prefix // *StringMatch_Regex - MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *StringMatch) Reset() { *m = StringMatch{} } -func (m *StringMatch) String() string { return proto.CompactTextString(m) } -func (*StringMatch) ProtoMessage() {} -func (*StringMatch) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{13} -} -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 - } -} -func (m *StringMatch) XXX_Merge(src proto.Message) { - xxx_messageInfo_StringMatch.Merge(m, src) -} -func (m *StringMatch) XXX_Size() int { - return m.Size() -} -func (m *StringMatch) XXX_DiscardUnknown() { - xxx_messageInfo_StringMatch.DiscardUnknown(m) + MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` } -var xxx_messageInfo_StringMatch proto.InternalMessageInfo +func (m *StringMatch) Reset() { *m = StringMatch{} } +func (m *StringMatch) String() string { return proto.CompactTextString(m) } +func (*StringMatch) ProtoMessage() {} +func (*StringMatch) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{13} } type isStringMatch_MatchType interface { isStringMatch_MatchType() @@ -1944,15 +1442,15 @@ func _StringMatch_OneofSizer(msg proto.Message) (n int) { // match_type switch x := m.MatchType.(type) { case *StringMatch_Exact: - n += 1 // tag and wire + n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Exact))) n += len(x.Exact) case *StringMatch_Prefix: - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Prefix))) n += len(x.Prefix) case *StringMatch_Regex: - n += 1 // tag and wire + n += proto.SizeVarint(3<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Regex))) n += len(x.Regex) case nil: @@ -1991,50 +1489,19 @@ type HTTPRetry struct { // number of retries attempted depends on the httpReqTimeout. Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"` // Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms. - PerTryTimeout *types.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"` + PerTryTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout" 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 - RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } -func (m *HTTPRetry) String() string { return proto.CompactTextString(m) } -func (*HTTPRetry) ProtoMessage() {} -func (*HTTPRetry) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{14} -} -func (m *HTTPRetry) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPRetry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPRetry.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPRetry) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPRetry.Merge(m, src) -} -func (m *HTTPRetry) XXX_Size() int { - return m.Size() -} -func (m *HTTPRetry) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPRetry.DiscardUnknown(m) + RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` } -var xxx_messageInfo_HTTPRetry proto.InternalMessageInfo +func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } +func (m *HTTPRetry) String() string { return proto.CompactTextString(m) } +func (*HTTPRetry) ProtoMessage() {} +func (*HTTPRetry) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{14} } func (m *HTTPRetry) GetAttempts() int32 { if m != nil { @@ -2043,7 +1510,7 @@ func (m *HTTPRetry) GetAttempts() int32 { return 0 } -func (m *HTTPRetry) GetPerTryTimeout() *types.Duration { +func (m *HTTPRetry) GetPerTryTimeout() *google_protobuf.Duration { if m != nil { return m.PerTryTimeout } @@ -2095,60 +1562,29 @@ type CorsPolicy struct { // The list of origins that are allowed to perform CORS requests. The // content will be serialized into the Access-Control-Allow-Origin // header. Wildcard * will allow all origins. - AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"` + AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin" json:"allow_origin,omitempty"` // List of HTTP methods allowed to access the resource. The content will // be serialized into the Access-Control-Allow-Methods header. - AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"` + AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods" json:"allow_methods,omitempty"` // List of HTTP headers that can be used when requesting the // resource. Serialized to Access-Control-Allow-Headers header. - AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"` + AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders" json:"allow_headers,omitempty"` // A white list of HTTP headers that the browsers are allowed to // access. Serialized into Access-Control-Expose-Headers header. - ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"` + ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders" json:"expose_headers,omitempty"` // Specifies how long the results of a preflight request can be // cached. Translates to the `Access-Control-Max-Age` header. - MaxAge *types.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` + MaxAge *google_protobuf.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge" json:"max_age,omitempty"` // Indicates whether the caller is allowed to send the actual request // (not the preflight) using credentials. Translates to // `Access-Control-Allow-Credentials` header. - AllowCredentials *types.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CorsPolicy) Reset() { *m = CorsPolicy{} } -func (m *CorsPolicy) String() string { return proto.CompactTextString(m) } -func (*CorsPolicy) ProtoMessage() {} -func (*CorsPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{15} -} -func (m *CorsPolicy) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CorsPolicy.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *CorsPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_CorsPolicy.Merge(m, src) -} -func (m *CorsPolicy) XXX_Size() int { - return m.Size() -} -func (m *CorsPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_CorsPolicy.DiscardUnknown(m) + AllowCredentials *google_protobuf1.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials" json:"allow_credentials,omitempty"` } -var xxx_messageInfo_CorsPolicy proto.InternalMessageInfo +func (m *CorsPolicy) Reset() { *m = CorsPolicy{} } +func (m *CorsPolicy) String() string { return proto.CompactTextString(m) } +func (*CorsPolicy) ProtoMessage() {} +func (*CorsPolicy) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{15} } func (m *CorsPolicy) GetAllowOrigin() []string { if m != nil { @@ -2178,14 +1614,14 @@ func (m *CorsPolicy) GetExposeHeaders() []string { return nil } -func (m *CorsPolicy) GetMaxAge() *types.Duration { +func (m *CorsPolicy) GetMaxAge() *google_protobuf.Duration { if m != nil { return m.MaxAge } return nil } -func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue { +func (m *CorsPolicy) GetAllowCredentials() *google_protobuf1.BoolValue { if m != nil { return m.AllowCredentials } @@ -2203,48 +1639,19 @@ func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue { type HTTPFaultInjection struct { // Delay requests before forwarding, emulating various failures such as // network issues, overloaded upstream service, etc. - Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"` + Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay" json:"delay,omitempty"` // Abort Http request attempts and return error codes back to downstream // service, giving the impression that the upstream service is faulty. - Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort" json:"abort,omitempty"` } func (m *HTTPFaultInjection) Reset() { *m = HTTPFaultInjection{} } func (m *HTTPFaultInjection) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection) ProtoMessage() {} func (*HTTPFaultInjection) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{16} -} -func (m *HTTPFaultInjection) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPFaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPFaultInjection.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPFaultInjection) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPFaultInjection.Merge(m, src) -} -func (m *HTTPFaultInjection) XXX_Size() int { - return m.Size() -} -func (m *HTTPFaultInjection) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPFaultInjection.DiscardUnknown(m) + return fileDescriptorVirtualService, []int{16} } -var xxx_messageInfo_HTTPFaultInjection proto.InternalMessageInfo - func (m *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay { if m != nil { return m.Delay @@ -2294,51 +1701,22 @@ type HTTPFaultInjection_Delay struct { // Percentage of requests on which the delay will be injected (0-100). // Use of integer `percent` value is deprecated. Use the double `percentage` // field instead. - Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use. + Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Types that are valid to be assigned to HttpDelayType: // *HTTPFaultInjection_Delay_FixedDelay // *HTTPFaultInjection_Delay_ExponentialDelay HttpDelayType isHTTPFaultInjection_Delay_HttpDelayType `protobuf_oneof:"http_delay_type"` // Percentage of requests on which the delay will be injected. - Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Percentage *Percent `protobuf:"bytes,5,opt,name=percentage" json:"percentage,omitempty"` } func (m *HTTPFaultInjection_Delay) Reset() { *m = HTTPFaultInjection_Delay{} } func (m *HTTPFaultInjection_Delay) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Delay) ProtoMessage() {} func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{16, 0} -} -func (m *HTTPFaultInjection_Delay) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HTTPFaultInjection_Delay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPFaultInjection_Delay.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPFaultInjection_Delay) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPFaultInjection_Delay.Merge(m, src) -} -func (m *HTTPFaultInjection_Delay) XXX_Size() int { - return m.Size() -} -func (m *HTTPFaultInjection_Delay) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPFaultInjection_Delay.DiscardUnknown(m) + return fileDescriptorVirtualService, []int{16, 0} } -var xxx_messageInfo_HTTPFaultInjection_Delay proto.InternalMessageInfo - type isHTTPFaultInjection_Delay_HttpDelayType interface { isHTTPFaultInjection_Delay_HttpDelayType() MarshalTo([]byte) (int, error) @@ -2346,10 +1724,10 @@ type isHTTPFaultInjection_Delay_HttpDelayType interface { } type HTTPFaultInjection_Delay_FixedDelay struct { - FixedDelay *types.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"` + FixedDelay *google_protobuf.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,oneof"` } type HTTPFaultInjection_Delay_ExponentialDelay struct { - ExponentialDelay *types.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof"` + ExponentialDelay *google_protobuf.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,oneof"` } func (*HTTPFaultInjection_Delay_FixedDelay) isHTTPFaultInjection_Delay_HttpDelayType() {} @@ -2362,7 +1740,6 @@ func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay return nil } -// Deprecated: Do not use. func (m *HTTPFaultInjection_Delay) GetPercent() int32 { if m != nil { return m.Percent @@ -2370,14 +1747,14 @@ func (m *HTTPFaultInjection_Delay) GetPercent() int32 { return 0 } -func (m *HTTPFaultInjection_Delay) GetFixedDelay() *types.Duration { +func (m *HTTPFaultInjection_Delay) GetFixedDelay() *google_protobuf.Duration { if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_FixedDelay); ok { return x.FixedDelay } return nil } -func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *types.Duration { +func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *google_protobuf.Duration { if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_ExponentialDelay); ok { return x.ExponentialDelay } @@ -2427,7 +1804,7 @@ func _HTTPFaultInjection_Delay_OneofUnmarshaler(msg proto.Message, tag, wire int if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(types.Duration) + msg := new(google_protobuf.Duration) err := b.DecodeMessage(msg) m.HttpDelayType = &HTTPFaultInjection_Delay_FixedDelay{msg} return true, err @@ -2435,7 +1812,7 @@ func _HTTPFaultInjection_Delay_OneofUnmarshaler(msg proto.Message, tag, wire int if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(types.Duration) + msg := new(google_protobuf.Duration) err := b.DecodeMessage(msg) m.HttpDelayType = &HTTPFaultInjection_Delay_ExponentialDelay{msg} return true, err @@ -2450,12 +1827,12 @@ func _HTTPFaultInjection_Delay_OneofSizer(msg proto.Message) (n int) { switch x := m.HttpDelayType.(type) { case *HTTPFaultInjection_Delay_FixedDelay: s := proto.Size(x.FixedDelay) - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *HTTPFaultInjection_Delay_ExponentialDelay: s := proto.Size(x.ExponentialDelay) - n += 1 // tag and wire + n += proto.SizeVarint(3<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -2497,51 +1874,22 @@ type HTTPFaultInjection_Abort struct { // Percentage of requests to be aborted with the error code provided (0-100). // Use of integer `percent` value is deprecated. Use the double `percentage` // field instead. - Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use. + Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Types that are valid to be assigned to ErrorType: // *HTTPFaultInjection_Abort_HttpStatus // *HTTPFaultInjection_Abort_GrpcStatus // *HTTPFaultInjection_Abort_Http2Error ErrorType isHTTPFaultInjection_Abort_ErrorType `protobuf_oneof:"error_type"` // Percentage of requests to be aborted with the error code provided. - Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Percentage *Percent `protobuf:"bytes,5,opt,name=percentage" json:"percentage,omitempty"` } func (m *HTTPFaultInjection_Abort) Reset() { *m = HTTPFaultInjection_Abort{} } func (m *HTTPFaultInjection_Abort) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Abort) ProtoMessage() {} func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{16, 1} -} -func (m *HTTPFaultInjection_Abort) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) + return fileDescriptorVirtualService, []int{16, 1} } -func (m *HTTPFaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HTTPFaultInjection_Abort.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HTTPFaultInjection_Abort) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPFaultInjection_Abort.Merge(m, src) -} -func (m *HTTPFaultInjection_Abort) XXX_Size() int { - return m.Size() -} -func (m *HTTPFaultInjection_Abort) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPFaultInjection_Abort.DiscardUnknown(m) -} - -var xxx_messageInfo_HTTPFaultInjection_Abort proto.InternalMessageInfo type isHTTPFaultInjection_Abort_ErrorType interface { isHTTPFaultInjection_Abort_ErrorType() @@ -2570,7 +1918,6 @@ func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_Err return nil } -// Deprecated: Do not use. func (m *HTTPFaultInjection_Abort) GetPercent() int32 { if m != nil { return m.Percent @@ -2669,14 +2016,14 @@ func _HTTPFaultInjection_Abort_OneofSizer(msg proto.Message) (n int) { // error_type switch x := m.ErrorType.(type) { case *HTTPFaultInjection_Abort_HttpStatus: - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireVarint) n += proto.SizeVarint(uint64(x.HttpStatus)) case *HTTPFaultInjection_Abort_GrpcStatus: - n += 1 // tag and wire + n += proto.SizeVarint(3<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.GrpcStatus))) n += len(x.GrpcStatus) case *HTTPFaultInjection_Abort_Http2Error: - n += 1 // tag and wire + n += proto.SizeVarint(4<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Http2Error))) n += len(x.Http2Error) case nil: @@ -2692,44 +2039,13 @@ type PortSelector struct { // Types that are valid to be assigned to Port: // *PortSelector_Number // *PortSelector_Name - Port isPortSelector_Port `protobuf_oneof:"port"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PortSelector) Reset() { *m = PortSelector{} } -func (m *PortSelector) String() string { return proto.CompactTextString(m) } -func (*PortSelector) ProtoMessage() {} -func (*PortSelector) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{17} -} -func (m *PortSelector) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PortSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PortSelector.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PortSelector) XXX_Merge(src proto.Message) { - xxx_messageInfo_PortSelector.Merge(m, src) -} -func (m *PortSelector) XXX_Size() int { - return m.Size() -} -func (m *PortSelector) XXX_DiscardUnknown() { - xxx_messageInfo_PortSelector.DiscardUnknown(m) + Port isPortSelector_Port `protobuf_oneof:"port"` } -var xxx_messageInfo_PortSelector proto.InternalMessageInfo +func (m *PortSelector) Reset() { *m = PortSelector{} } +func (m *PortSelector) String() string { return proto.CompactTextString(m) } +func (*PortSelector) ProtoMessage() {} +func (*PortSelector) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{17} } type isPortSelector_Port interface { isPortSelector_Port() @@ -2820,10 +2136,10 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { // port switch x := m.Port.(type) { case *PortSelector_Number: - n += 1 // tag and wire + n += proto.SizeVarint(1<<3 | proto.WireVarint) n += proto.SizeVarint(uint64(x.Number)) case *PortSelector_Name: - n += 1 // tag and wire + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Name))) n += len(x.Name) case nil: @@ -2835,44 +2151,13 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { // Percent specifies a percentage in the range of [0.0, 100.0]. type Percent struct { - Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Percent) Reset() { *m = Percent{} } -func (m *Percent) String() string { return proto.CompactTextString(m) } -func (*Percent) ProtoMessage() {} -func (*Percent) Descriptor() ([]byte, []int) { - return fileDescriptor_e85a9a4fa9c17a22, []int{18} -} -func (m *Percent) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Percent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Percent.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Percent) XXX_Merge(src proto.Message) { - xxx_messageInfo_Percent.Merge(m, src) -} -func (m *Percent) XXX_Size() int { - return m.Size() -} -func (m *Percent) XXX_DiscardUnknown() { - xxx_messageInfo_Percent.DiscardUnknown(m) + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` } -var xxx_messageInfo_Percent proto.InternalMessageInfo +func (m *Percent) Reset() { *m = Percent{} } +func (m *Percent) String() string { return proto.CompactTextString(m) } +func (*Percent) ProtoMessage() {} +func (*Percent) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{18} } func (m *Percent) GetValue() float64 { if m != nil { @@ -2885,26 +2170,15 @@ func init() { proto.RegisterType((*VirtualService)(nil), "istio.networking.v1alpha3.VirtualService") proto.RegisterType((*Destination)(nil), "istio.networking.v1alpha3.Destination") proto.RegisterType((*HTTPRoute)(nil), "istio.networking.v1alpha3.HTTPRoute") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntry") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntry") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntry") proto.RegisterType((*Headers)(nil), "istio.networking.v1alpha3.Headers") proto.RegisterType((*Headers_HeaderOperations)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry") proto.RegisterType((*TLSRoute)(nil), "istio.networking.v1alpha3.TLSRoute") proto.RegisterType((*TCPRoute)(nil), "istio.networking.v1alpha3.TCPRoute") proto.RegisterType((*HTTPMatchRequest)(nil), "istio.networking.v1alpha3.HTTPMatchRequest") - proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry") proto.RegisterType((*HTTPRouteDestination)(nil), "istio.networking.v1alpha3.HTTPRouteDestination") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntry") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntry") proto.RegisterType((*RouteDestination)(nil), "istio.networking.v1alpha3.RouteDestination") proto.RegisterType((*L4MatchAttributes)(nil), "istio.networking.v1alpha3.L4MatchAttributes") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry") proto.RegisterType((*TLSMatchAttributes)(nil), "istio.networking.v1alpha3.TLSMatchAttributes") - proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry") proto.RegisterType((*HTTPRedirect)(nil), "istio.networking.v1alpha3.HTTPRedirect") proto.RegisterType((*HTTPRewrite)(nil), "istio.networking.v1alpha3.HTTPRewrite") proto.RegisterType((*StringMatch)(nil), "istio.networking.v1alpha3.StringMatch") @@ -2916,127 +2190,6 @@ func init() { proto.RegisterType((*PortSelector)(nil), "istio.networking.v1alpha3.PortSelector") proto.RegisterType((*Percent)(nil), "istio.networking.v1alpha3.Percent") } - -func init() { - proto.RegisterFile("networking/v1alpha3/virtual_service.proto", fileDescriptor_e85a9a4fa9c17a22) -} - -var fileDescriptor_e85a9a4fa9c17a22 = []byte{ - // 1785 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x73, 0xdb, 0x4a, - 0x15, 0xaf, 0x6c, 0xcb, 0x7f, 0x8e, 0x9d, 0xd4, 0x59, 0x72, 0x73, 0x15, 0xdf, 0x3b, 0x21, 0xd7, - 0x97, 0x0b, 0x61, 0x4a, 0xed, 0x21, 0x81, 0x92, 0x29, 0x69, 0x5a, 0x3b, 0x69, 0xeb, 0x32, 0x2d, - 0xc9, 0xc8, 0xa1, 0x0f, 0xbc, 0x68, 0x64, 0x69, 0x63, 0x8b, 0xda, 0x5a, 0xb1, 0x5a, 0x25, 0xf6, - 0xf0, 0xc8, 0xbf, 0x67, 0x18, 0x5e, 0x19, 0xbe, 0x07, 0x2f, 0xbc, 0xf2, 0xc4, 0xf0, 0x09, 0x98, - 0x4e, 0x1f, 0x78, 0xe5, 0x2b, 0x30, 0xbb, 0x2b, 0xc9, 0x4a, 0x9c, 0x58, 0x76, 0x28, 0x0c, 0x4f, - 0xf1, 0xee, 0x9e, 0xdf, 0x6f, 0xcf, 0x9e, 0xdd, 0x3d, 0xe7, 0xa7, 0x0d, 0x7c, 0xdb, 0xc5, 0xec, - 0x92, 0xd0, 0x77, 0x8e, 0xdb, 0x6f, 0x5e, 0x7c, 0xd7, 0x1c, 0x7a, 0x03, 0x73, 0xaf, 0x79, 0xe1, - 0x50, 0x16, 0x98, 0x43, 0xc3, 0xc7, 0xf4, 0xc2, 0xb1, 0x70, 0xc3, 0xa3, 0x84, 0x11, 0xb4, 0xe9, - 0xf8, 0xcc, 0x21, 0x8d, 0x29, 0xa0, 0x11, 0x01, 0x6a, 0x5b, 0x7d, 0x42, 0xfa, 0x43, 0xdc, 0x14, - 0x86, 0xbd, 0xe0, 0xbc, 0x69, 0x07, 0xd4, 0x64, 0x0e, 0x71, 0x25, 0x74, 0x76, 0xfc, 0x92, 0x9a, - 0x9e, 0x87, 0xa9, 0x2f, 0xc7, 0xeb, 0xbf, 0xcd, 0xc0, 0xea, 0x5b, 0x39, 0x69, 0x57, 0xce, 0x89, - 0xd6, 0x41, 0x1d, 0x10, 0x9f, 0xf9, 0x9a, 0xb2, 0x9d, 0xdd, 0x29, 0xe9, 0xb2, 0x81, 0x6a, 0x50, - 0xec, 0x9b, 0x0c, 0x5f, 0x9a, 0x13, 0x5f, 0xcb, 0x88, 0x81, 0xb8, 0x8d, 0xf6, 0x21, 0x37, 0x60, - 0xcc, 0xd3, 0xb2, 0xdb, 0xd9, 0x9d, 0xf2, 0xee, 0x37, 0x1a, 0xb7, 0xba, 0xdb, 0xe8, 0x9c, 0x9d, - 0x9d, 0xea, 0x24, 0x60, 0x58, 0x17, 0x08, 0xf4, 0x7d, 0xc8, 0xb2, 0xa1, 0xaf, 0xa9, 0x02, 0xf8, - 0xe5, 0x1c, 0xe0, 0xd9, 0xeb, 0xae, 0xc4, 0x71, 0x7b, 0x01, 0xb3, 0x3c, 0x2d, 0x97, 0x0e, 0x3b, - 0x3a, 0x8d, 0x60, 0x96, 0x87, 0x3e, 0x83, 0x12, 0x1e, 0x7b, 0x84, 0x32, 0x83, 0x11, 0x2d, 0x2f, - 0x17, 0x21, 0x3b, 0xce, 0x48, 0xfd, 0x02, 0xca, 0xc7, 0xd8, 0x67, 0x8e, 0x2b, 0xc2, 0x87, 0x10, - 0xe4, 0xf8, 0xc2, 0x35, 0x65, 0x5b, 0xd9, 0x29, 0xe9, 0xe2, 0x37, 0xda, 0x80, 0xbc, 0x1f, 0xf4, - 0x7c, 0xcc, 0xb4, 0x8c, 0xe8, 0x0d, 0x5b, 0xe8, 0x87, 0x90, 0xe3, 0x24, 0x5a, 0x76, 0x5b, 0xd9, - 0x29, 0xef, 0x7e, 0x6b, 0x8e, 0x3f, 0xa7, 0x84, 0xb2, 0x2e, 0x1e, 0x62, 0x8b, 0x11, 0xaa, 0x0b, - 0x50, 0xfd, 0x5f, 0x00, 0xa5, 0x38, 0x2c, 0xa8, 0x05, 0xea, 0xc8, 0x64, 0xd6, 0x40, 0x04, 0xbf, - 0xbc, 0xfb, 0x20, 0x25, 0x96, 0x6f, 0xb8, 0xad, 0x8e, 0x7f, 0x1e, 0x60, 0x9f, 0xe9, 0x12, 0x89, - 0x9e, 0x83, 0x4a, 0x39, 0x97, 0xd8, 0xa6, 0xf2, 0x6e, 0x73, 0x91, 0xed, 0x48, 0xac, 0x5c, 0x97, - 0x68, 0x74, 0x04, 0x45, 0x8a, 0x6d, 0x87, 0x62, 0x6b, 0x91, 0x85, 0x09, 0xa6, 0xd0, 0x5c, 0x8f, - 0x81, 0xe8, 0x19, 0x14, 0x28, 0xbe, 0xa4, 0x0e, 0xc3, 0x5a, 0x4e, 0x70, 0x7c, 0x33, 0x95, 0x43, - 0x58, 0xeb, 0x11, 0x0c, 0x3d, 0x80, 0xb5, 0x4b, 0xdc, 0xf3, 0x89, 0xf5, 0x0e, 0x33, 0x23, 0xf0, - 0xfa, 0xd4, 0xb4, 0xb1, 0xa6, 0x6e, 0x2b, 0x3b, 0x45, 0xbd, 0x1a, 0x0f, 0xfc, 0x44, 0xf6, 0xa3, - 0x3d, 0x28, 0x30, 0x67, 0x84, 0x49, 0xc0, 0xb4, 0xbc, 0x98, 0x6e, 0xb3, 0x21, 0xcf, 0x7f, 0x23, - 0x3a, 0xff, 0x8d, 0xe3, 0xf0, 0x7e, 0xe8, 0x91, 0x25, 0x3a, 0xe4, 0x3e, 0x32, 0xea, 0x60, 0x5f, - 0x2b, 0x08, 0x50, 0xea, 0x01, 0xc6, 0x8c, 0x4e, 0xf4, 0x08, 0x84, 0x8e, 0x40, 0x3d, 0x37, 0x83, - 0x21, 0xd3, 0x8a, 0x02, 0xfd, 0x30, 0x05, 0xfd, 0x82, 0xdb, 0xbe, 0x72, 0x7f, 0x86, 0x2d, 0x19, - 0x6d, 0x81, 0x45, 0x87, 0x90, 0x1f, 0x39, 0x94, 0x12, 0xaa, 0x95, 0x52, 0xe3, 0x94, 0xdc, 0xac, - 0x10, 0x85, 0x5e, 0x40, 0xd9, 0x22, 0xd4, 0x37, 0x3c, 0x32, 0x74, 0xac, 0x89, 0x06, 0x82, 0xe4, - 0xab, 0x39, 0x24, 0x47, 0x84, 0xfa, 0xa7, 0xc2, 0x58, 0x07, 0x2b, 0xfe, 0x8d, 0x7a, 0xb0, 0xca, - 0xf3, 0x83, 0x6b, 0x1b, 0x03, 0x6c, 0xda, 0x98, 0xfa, 0x5a, 0x59, 0x9c, 0xa2, 0x1f, 0x2c, 0x72, - 0x8a, 0x1a, 0x2d, 0x01, 0xed, 0x48, 0xe4, 0x73, 0x97, 0xd1, 0x49, 0x3b, 0xa3, 0x29, 0xfa, 0x8a, - 0x99, 0xec, 0x47, 0x8f, 0xe1, 0x53, 0x8a, 0x47, 0xe4, 0x02, 0x1b, 0x14, 0xfb, 0x1e, 0x71, 0x7d, - 0x1c, 0x4f, 0x56, 0xe1, 0x97, 0x52, 0x60, 0x3e, 0x91, 0x26, 0x7a, 0x68, 0x11, 0x61, 0x7f, 0x01, - 0x9f, 0x86, 0xfe, 0xcd, 0x60, 0x57, 0x84, 0xa3, 0x4f, 0x97, 0x70, 0xf4, 0x1a, 0xf9, 0xd4, 0xe1, - 0x4f, 0xcc, 0x9b, 0xc6, 0xd1, 0x3e, 0x6c, 0xc4, 0x8e, 0x8b, 0x2b, 0x17, 0xcf, 0xbd, 0x1a, 0xfb, - 0xbd, 0x1e, 0xf9, 0x2d, 0x0c, 0x22, 0xe4, 0x18, 0x36, 0x62, 0xb7, 0xaf, 0x22, 0xef, 0x0b, 0xaf, - 0x0f, 0x97, 0xf2, 0x3a, 0x49, 0x3d, 0x75, 0x7a, 0xdd, 0xbc, 0x61, 0x18, 0x1d, 0x40, 0x21, 0x9a, - 0xaa, 0x2a, 0x0e, 0x45, 0x7d, 0xde, 0x54, 0xd2, 0x52, 0x8f, 0x20, 0xb5, 0x67, 0x80, 0x66, 0xf7, - 0x14, 0x55, 0x21, 0xfb, 0x0e, 0x4f, 0xc2, 0xd4, 0xc8, 0x7f, 0xf2, 0x9a, 0x71, 0x61, 0x0e, 0x03, - 0x1c, 0x26, 0x46, 0xd9, 0x78, 0x9c, 0xd9, 0x57, 0x6a, 0x1d, 0xa8, 0xdd, 0x1e, 0xec, 0xa5, 0x98, - 0x5e, 0xc2, 0xe6, 0xad, 0x01, 0x58, 0x86, 0xa8, 0xfe, 0xcf, 0x2c, 0x14, 0xa2, 0xf0, 0xbc, 0xe1, - 0x97, 0x5f, 0xd0, 0x09, 0x6c, 0x79, 0x77, 0x2f, 0x3d, 0x3c, 0xe1, 0xdf, 0x13, 0x0f, 0xcb, 0x54, - 0xe2, 0xeb, 0x11, 0x07, 0x3a, 0xe1, 0x49, 0x53, 0xae, 0x53, 0xcc, 0x7b, 0x47, 0xbe, 0x98, 0xa4, - 0xf6, 0xe7, 0x0c, 0x54, 0xaf, 0x0f, 0xa3, 0x1f, 0x43, 0x96, 0x17, 0x21, 0x59, 0x22, 0x0e, 0xee, - 0x30, 0x41, 0xa3, 0x8b, 0x99, 0x88, 0x9b, 0xce, 0x89, 0x38, 0x9f, 0x69, 0xdb, 0x61, 0xbd, 0xb8, - 0x13, 0x5f, 0xcb, 0xb6, 0x43, 0x3e, 0xd3, 0xb6, 0x79, 0x9d, 0x94, 0xb7, 0x40, 0x28, 0x82, 0x92, - 0x1e, 0xb6, 0x6a, 0x8f, 0xa0, 0x18, 0x4d, 0xbc, 0xd4, 0xce, 0x3f, 0x82, 0x62, 0x34, 0xc1, 0x52, - 0x1b, 0xfd, 0x7b, 0x05, 0x8a, 0x91, 0x70, 0xe0, 0x69, 0x3a, 0x59, 0x59, 0x1f, 0xce, 0x17, 0x1b, - 0xa2, 0xb0, 0xb6, 0x18, 0xa3, 0x4e, 0x2f, 0x60, 0xd8, 0x8f, 0x6a, 0x6b, 0xeb, 0x6a, 0x6d, 0x9d, - 0x57, 0x9e, 0x6f, 0xa9, 0xab, 0xf5, 0xdf, 0x71, 0xa7, 0x42, 0x59, 0x82, 0xda, 0x57, 0x9d, 0xfa, - 0xce, 0x1c, 0xbe, 0xd7, 0xdf, 0xfb, 0xef, 0xf9, 0xf4, 0x27, 0x15, 0xaa, 0xd7, 0xe5, 0x04, 0xda, - 0x87, 0x6c, 0x40, 0x9d, 0xf0, 0x5a, 0xcc, 0xab, 0x47, 0x5d, 0x46, 0x1d, 0xb7, 0x2f, 0xb1, 0x1c, - 0xc2, 0x8b, 0x99, 0x6f, 0x0d, 0xf0, 0x28, 0xba, 0x03, 0x8b, 0x82, 0x43, 0x94, 0x28, 0x86, 0x98, - 0x0d, 0x88, 0x1d, 0x0a, 0x8f, 0x85, 0xf1, 0x12, 0x85, 0x8e, 0xa1, 0x64, 0x06, 0x6c, 0x40, 0xa8, - 0xc3, 0x26, 0x0b, 0xe8, 0x8e, 0x24, 0xc5, 0x14, 0x88, 0xf4, 0x69, 0xe6, 0x94, 0xfa, 0x74, 0x7f, - 0x09, 0x31, 0xd6, 0x48, 0x66, 0xa7, 0x38, 0x9f, 0x72, 0x55, 0x29, 0x94, 0x22, 0x57, 0x27, 0x2b, - 0x52, 0x00, 0xa2, 0x1e, 0xac, 0xf8, 0x24, 0xa0, 0x16, 0x36, 0x86, 0x66, 0x0f, 0x0f, 0xb9, 0x0a, - 0xe1, 0xb3, 0x3d, 0x59, 0x66, 0xb6, 0xae, 0x20, 0x78, 0x2d, 0xf0, 0x72, 0xca, 0x8a, 0x9f, 0xe8, - 0xba, 0xa2, 0xde, 0x8b, 0x57, 0xd5, 0x7b, 0xad, 0x07, 0x95, 0x94, 0x54, 0x7a, 0x90, 0xbc, 0x61, - 0x8b, 0xc7, 0x32, 0x71, 0x83, 0x9f, 0xc2, 0xda, 0x8c, 0x8b, 0x4b, 0x5d, 0xe5, 0xbf, 0xa9, 0xb0, - 0x7e, 0x93, 0x5a, 0x45, 0x1d, 0x28, 0xdb, 0xd3, 0xe6, 0x02, 0xa7, 0x35, 0x79, 0xfc, 0x93, 0x50, - 0x9e, 0xb5, 0x2e, 0xb1, 0xd3, 0x1f, 0x48, 0x75, 0xaf, 0xea, 0x61, 0x6b, 0x9e, 0x5c, 0xc9, 0xa6, - 0xc9, 0x95, 0xdf, 0x28, 0xb7, 0xeb, 0x15, 0xf9, 0xf5, 0xf2, 0xa3, 0x25, 0xe5, 0xf9, 0x47, 0x97, - 0x2e, 0x6a, 0x8a, 0x74, 0xf9, 0xa5, 0x72, 0xab, 0x76, 0xc9, 0x8b, 0x15, 0xbc, 0xba, 0xeb, 0x0a, - 0xee, 0x28, 0x63, 0x0a, 0xcb, 0xcb, 0x98, 0xff, 0x43, 0x11, 0xc2, 0xa0, 0xfa, 0xbf, 0x3f, 0xcb, - 0xf5, 0xbf, 0x64, 0x60, 0x6d, 0xa6, 0x90, 0xa0, 0x26, 0x7c, 0x2d, 0x01, 0x36, 0xfc, 0xa0, 0xe7, - 0xe2, 0xf8, 0xfb, 0x1f, 0x25, 0x86, 0xba, 0x72, 0x24, 0x4e, 0x63, 0x99, 0x44, 0x1a, 0xfb, 0x32, - 0x4e, 0x63, 0x12, 0x2f, 0x72, 0x77, 0x29, 0xca, 0x43, 0x12, 0x89, 0xac, 0xeb, 0xb9, 0x2e, 0x97, - 0x2a, 0x7f, 0x67, 0xdc, 0x5d, 0x2a, 0xd9, 0xa9, 0xd7, 0x92, 0xdd, 0x7f, 0x9c, 0x88, 0xfe, 0x91, - 0x01, 0x34, 0xab, 0x0f, 0xd0, 0x67, 0x50, 0xf2, 0x5d, 0xc7, 0x48, 0x3e, 0x9c, 0x14, 0x7d, 0xd7, - 0xe9, 0x88, 0xb7, 0x93, 0x5b, 0xe2, 0x9b, 0x49, 0x8d, 0x6f, 0x76, 0x5e, 0x7c, 0x73, 0x37, 0xc4, - 0xd7, 0xbe, 0x1e, 0x5f, 0x35, 0xf5, 0xa3, 0x68, 0x76, 0x31, 0x4b, 0x05, 0x38, 0xff, 0xb1, 0x03, - 0x7c, 0x08, 0x95, 0xe4, 0x63, 0x02, 0xc7, 0x46, 0x32, 0xa4, 0x24, 0xe5, 0xc5, 0xe7, 0xc9, 0xf2, - 0x2e, 0xf1, 0xd3, 0x8e, 0xfa, 0x13, 0x28, 0x27, 0x1e, 0x12, 0x96, 0x86, 0x63, 0x28, 0x27, 0x6a, - 0x18, 0xda, 0x00, 0x15, 0x8f, 0x4d, 0x2b, 0x7c, 0x07, 0xea, 0xdc, 0xd3, 0x65, 0x13, 0x69, 0x90, - 0xf7, 0x28, 0x3e, 0x77, 0xc6, 0x92, 0xa1, 0x73, 0x4f, 0x0f, 0xdb, 0x1c, 0x41, 0x71, 0x1f, 0x8f, - 0xe5, 0xf9, 0xe7, 0x08, 0xd1, 0x6c, 0x57, 0x00, 0x84, 0x5e, 0x33, 0xd8, 0xc4, 0xc3, 0xf5, 0x5f, - 0x2b, 0xe1, 0xab, 0x0f, 0xe6, 0xf1, 0xa9, 0x41, 0xd1, 0x64, 0x0c, 0x8f, 0x3c, 0x71, 0x78, 0xf8, - 0x85, 0x8d, 0xdb, 0xa8, 0x05, 0xf7, 0x3d, 0x4c, 0x0d, 0x46, 0x27, 0x46, 0xf4, 0xb6, 0x91, 0x49, - 0x7b, 0xdb, 0x58, 0xf1, 0x30, 0x3d, 0xa3, 0x93, 0xb3, 0xf0, 0x85, 0x63, 0x93, 0x7f, 0x95, 0x70, - 0x02, 0xe2, 0x86, 0xb7, 0x52, 0x3c, 0x5e, 0x4c, 0x4e, 0xdc, 0xfa, 0x1f, 0x33, 0x00, 0xd3, 0xa7, - 0x00, 0xf4, 0x05, 0x54, 0xcc, 0xe1, 0x90, 0x5c, 0x1a, 0x84, 0x3a, 0x7d, 0xc7, 0x0d, 0x4f, 0x72, - 0x59, 0xf4, 0x9d, 0x88, 0x2e, 0x7e, 0x0e, 0xa5, 0x89, 0x14, 0x5b, 0xd1, 0x31, 0x96, 0xb8, 0x37, - 0xb2, 0x6f, 0x6a, 0x74, 0xa5, 0x52, 0x86, 0x46, 0x51, 0x4e, 0xff, 0x0a, 0x56, 0xf1, 0xd8, 0x23, - 0xd7, 0x4a, 0x62, 0x49, 0x5f, 0x91, 0xbd, 0x91, 0xd9, 0x2e, 0x14, 0x46, 0xe6, 0xd8, 0x30, 0xfb, - 0xf2, 0xdd, 0x67, 0xee, 0xc2, 0xf3, 0x23, 0x73, 0xdc, 0xea, 0x63, 0xf4, 0x12, 0xd6, 0xe4, 0xfc, - 0x16, 0xc5, 0x36, 0x76, 0x99, 0x63, 0x0e, 0xfd, 0xf0, 0x49, 0xa8, 0x36, 0x83, 0x6e, 0x13, 0x32, - 0x7c, 0xcb, 0xcf, 0x9f, 0x5e, 0x15, 0xa0, 0xa3, 0x29, 0xa6, 0xfe, 0x07, 0x15, 0xd0, 0xec, 0xab, - 0x0d, 0x7a, 0x05, 0xaa, 0x8d, 0x87, 0xe6, 0x64, 0x91, 0x8f, 0xc6, 0x19, 0x74, 0xe3, 0x98, 0x43, - 0x75, 0xc9, 0xc0, 0xa9, 0xcc, 0x5e, 0x94, 0x4c, 0x97, 0xa6, 0x6a, 0x71, 0xa8, 0x2e, 0x19, 0x6a, - 0xbf, 0xca, 0x80, 0x2a, 0xb8, 0xd1, 0xe7, 0x50, 0xf0, 0x30, 0xb5, 0xb0, 0x2b, 0x0f, 0xae, 0x2a, - 0x2a, 0x6b, 0xd4, 0x85, 0x0e, 0xa0, 0x7c, 0xee, 0x8c, 0xb1, 0x6d, 0xc8, 0x35, 0xa4, 0x1d, 0xa7, - 0xce, 0x3d, 0x1d, 0x84, 0xbd, 0xe4, 0xee, 0xc0, 0x1a, 0xdf, 0x20, 0x57, 0x86, 0x28, 0xe4, 0xc8, - 0xa6, 0x73, 0x54, 0x13, 0x28, 0xc9, 0xd4, 0x06, 0x08, 0x5d, 0x9a, 0x6e, 0xee, 0xbc, 0xba, 0x7e, - 0x2a, 0x8d, 0xf5, 0x04, 0xaa, 0xbd, 0x06, 0xf7, 0x07, 0x8c, 0x79, 0xd2, 0x0d, 0x71, 0xb7, 0x6a, - 0xef, 0x15, 0x50, 0x45, 0x5c, 0x52, 0xc2, 0xf0, 0x05, 0x94, 0x05, 0xd4, 0x67, 0x26, 0x0b, 0x7c, - 0x59, 0x29, 0xf9, 0x5a, 0x79, 0x67, 0x57, 0xf4, 0x71, 0x93, 0x3e, 0xf5, 0xac, 0xc8, 0x24, 0xba, - 0xd2, 0xc0, 0x3b, 0xa7, 0x26, 0x1c, 0xb0, 0x6b, 0x60, 0xf1, 0x7c, 0x97, 0x8b, 0x4c, 0x44, 0xe7, - 0x73, 0xf1, 0x38, 0xf7, 0x31, 0xd6, 0x59, 0x01, 0x10, 0x13, 0xc8, 0xf4, 0xf1, 0x02, 0x2a, 0xc9, - 0xa7, 0x64, 0x9e, 0x8e, 0xdc, 0x60, 0xd4, 0xc3, 0x54, 0xac, 0x73, 0x85, 0xa7, 0x23, 0xd9, 0x46, - 0xeb, 0x90, 0x73, 0xcd, 0xf0, 0x4b, 0x8c, 0xfb, 0x25, 0x5a, 0xed, 0xbc, 0x2c, 0x30, 0xf5, 0xaf, - 0x43, 0x21, 0x9c, 0x6c, 0x9a, 0x91, 0x39, 0x83, 0x12, 0x66, 0xe4, 0x76, 0xe3, 0xaf, 0x1f, 0xb6, - 0x94, 0xbf, 0x7f, 0xd8, 0x52, 0xde, 0x7f, 0xd8, 0x52, 0x7e, 0xba, 0x2d, 0x7d, 0x76, 0x48, 0xd3, - 0xf4, 0x9c, 0xe6, 0x0d, 0xff, 0xc0, 0xe8, 0xe5, 0xc5, 0xce, 0xef, 0xfd, 0x3b, 0x00, 0x00, 0xff, - 0xff, 0x73, 0x7c, 0x3f, 0xb9, 0xde, 0x18, 0x00, 0x00, -} - func (m *VirtualService) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -3133,9 +2286,6 @@ func (m *VirtualService) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3176,9 +2326,6 @@ func (m *Destination) MarshalTo(dAtA []byte) (int, error) { } i += n1 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3394,9 +2541,6 @@ func (m *HTTPRoute) MarshalTo(dAtA []byte) (int, error) { } i += n9 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3435,9 +2579,6 @@ func (m *Headers) MarshalTo(dAtA []byte) (int, error) { } i += n11 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3505,9 +2646,6 @@ func (m *Headers_HeaderOperations) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3550,9 +2688,6 @@ func (m *TLSRoute) MarshalTo(dAtA []byte) (int, error) { i += n } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3595,9 +2730,6 @@ func (m *TCPRoute) MarshalTo(dAtA []byte) (int, error) { i += n } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3721,9 +2853,6 @@ func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3831,9 +2960,6 @@ func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error) { } i += n18 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3867,9 +2993,6 @@ func (m *RouteDestination) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Weight)) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -3946,9 +3069,6 @@ func (m *L4MatchAttributes) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4040,9 +3160,6 @@ func (m *TLSMatchAttributes) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4073,9 +3190,6 @@ func (m *HTTPRedirect) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority))) i += copy(dAtA[i:], m.Authority) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4106,9 +3220,6 @@ func (m *HTTPRewrite) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority))) i += copy(dAtA[i:], m.Authority) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4134,9 +3245,6 @@ func (m *StringMatch) MarshalTo(dAtA []byte) (int, error) { } i += nn20 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4200,9 +3308,6 @@ func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.RetryOn))) i += copy(dAtA[i:], m.RetryOn) } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4301,9 +3406,6 @@ func (m *CorsPolicy) MarshalTo(dAtA []byte) (int, error) { } i += n23 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4342,9 +3444,6 @@ func (m *HTTPFaultInjection) MarshalTo(dAtA []byte) (int, error) { } i += n25 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4385,9 +3484,6 @@ func (m *HTTPFaultInjection_Delay) MarshalTo(dAtA []byte) (int, error) { } i += n27 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4456,9 +3552,6 @@ func (m *HTTPFaultInjection_Abort) MarshalTo(dAtA []byte) (int, error) { } i += n31 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4507,9 +3600,6 @@ func (m *PortSelector) MarshalTo(dAtA []byte) (int, error) { } i += nn32 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4546,12 +3636,9 @@ func (m *Percent) MarshalTo(dAtA []byte) (int, error) { if m.Value != 0 { dAtA[i] = 0x9 i++ - encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) i += 8 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) - } return i, nil } @@ -4565,9 +3652,6 @@ func encodeVarintVirtualService(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *VirtualService) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Hosts) > 0 { @@ -4606,16 +3690,10 @@ func (m *VirtualService) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Destination) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Host) @@ -4630,16 +3708,10 @@ func (m *Destination) Size() (n int) { l = m.Port.Size() n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPRoute) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Match) > 0 { @@ -4725,16 +3797,10 @@ func (m *HTTPRoute) Size() (n int) { l = m.Headers.Size() n += 2 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Headers) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Request != nil { @@ -4745,16 +3811,10 @@ func (m *Headers) Size() (n int) { l = m.Response.Size() n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *Headers_HeaderOperations) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Set) > 0 { @@ -4779,16 +3839,10 @@ func (m *Headers_HeaderOperations) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *TLSRoute) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Match) > 0 { @@ -4803,16 +3857,10 @@ func (m *TLSRoute) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *TCPRoute) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.Match) > 0 { @@ -4827,16 +3875,10 @@ func (m *TCPRoute) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPMatchRequest) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Uri != nil { @@ -4885,16 +3927,10 @@ func (m *HTTPMatchRequest) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPRouteDestination) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Destination != nil { @@ -4936,16 +3972,10 @@ func (m *HTTPRouteDestination) Size() (n int) { l = m.Headers.Size() n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *RouteDestination) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Destination != nil { @@ -4955,16 +3985,10 @@ func (m *RouteDestination) Size() (n int) { if m.Weight != 0 { n += 1 + sovVirtualService(uint64(m.Weight)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *L4MatchAttributes) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.DestinationSubnets) > 0 { @@ -4994,16 +4018,10 @@ func (m *L4MatchAttributes) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *TLSMatchAttributes) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.SniHosts) > 0 { @@ -5039,16 +4057,10 @@ func (m *TLSMatchAttributes) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPRedirect) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Uri) @@ -5059,16 +4071,10 @@ func (m *HTTPRedirect) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPRewrite) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Uri) @@ -5079,31 +4085,19 @@ func (m *HTTPRewrite) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *StringMatch) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.MatchType != nil { n += m.MatchType.Size() } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *StringMatch_Exact) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Exact) @@ -5111,9 +4105,6 @@ func (m *StringMatch_Exact) Size() (n int) { return n } func (m *StringMatch_Prefix) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Prefix) @@ -5121,9 +4112,6 @@ func (m *StringMatch_Prefix) Size() (n int) { return n } func (m *StringMatch_Regex) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Regex) @@ -5131,9 +4119,6 @@ func (m *StringMatch_Regex) Size() (n int) { return n } func (m *HTTPRetry) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Attempts != 0 { @@ -5147,16 +4132,10 @@ func (m *HTTPRetry) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *CorsPolicy) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if len(m.AllowOrigin) > 0 { @@ -5191,16 +4170,10 @@ func (m *CorsPolicy) Size() (n int) { l = m.AllowCredentials.Size() n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPFaultInjection) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Delay != nil { @@ -5211,16 +4184,10 @@ func (m *HTTPFaultInjection) Size() (n int) { l = m.Abort.Size() n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPFaultInjection_Delay) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Percent != 0 { @@ -5233,16 +4200,10 @@ func (m *HTTPFaultInjection_Delay) Size() (n int) { l = m.Percentage.Size() n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.FixedDelay != nil { @@ -5252,9 +4213,6 @@ func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) { return n } func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.ExponentialDelay != nil { @@ -5264,9 +4222,6 @@ func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) { return n } func (m *HTTPFaultInjection_Abort) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Percent != 0 { @@ -5279,25 +4234,16 @@ func (m *HTTPFaultInjection_Abort) Size() (n int) { l = m.Percentage.Size() n += 1 + l + sovVirtualService(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *HTTPFaultInjection_Abort_HttpStatus) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l n += 1 + sovVirtualService(uint64(m.HttpStatus)) return n } func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.GrpcStatus) @@ -5305,9 +4251,6 @@ func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) { return n } func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Http2Error) @@ -5315,33 +4258,21 @@ func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) { return n } func (m *PortSelector) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Port != nil { n += m.Port.Size() } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } func (m *PortSelector_Number) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l n += 1 + sovVirtualService(uint64(m.Number)) return n } func (m *PortSelector_Name) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l l = len(m.Name) @@ -5349,17 +4280,11 @@ func (m *PortSelector_Name) Size() (n int) { return n } func (m *Percent) Size() (n int) { - if m == nil { - return 0 - } var l int _ = l if m.Value != 0 { n += 9 } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } return n } @@ -5391,7 +4316,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5419,7 +4344,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5429,9 +4354,6 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5451,7 +4373,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5461,9 +4383,6 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5483,7 +4402,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5492,9 +4411,6 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5517,7 +4433,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5526,9 +4442,6 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5551,7 +4464,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5560,9 +4473,6 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5585,7 +4495,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5595,9 +4505,6 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5612,13 +4519,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5643,7 +4546,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5671,7 +4574,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5681,9 +4584,6 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5703,7 +4603,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5713,9 +4613,6 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5735,7 +4632,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5744,9 +4641,6 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5766,13 +4660,9 @@ func (m *Destination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5797,7 +4687,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -5825,7 +4715,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5834,9 +4724,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5859,7 +4746,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5868,9 +4755,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5893,7 +4777,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5902,9 +4786,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5929,7 +4810,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5938,9 +4819,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5965,7 +4843,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5985,7 +4863,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -5994,14 +4872,11 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } if m.Timeout == nil { - m.Timeout = &types.Duration{} + m.Timeout = &google_protobuf.Duration{} } if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6021,7 +4896,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6030,9 +4905,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6057,7 +4929,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6066,9 +4938,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6093,7 +4962,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6102,9 +4971,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6129,7 +4995,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6138,9 +5004,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6165,7 +5028,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6174,9 +5037,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6197,7 +5057,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6214,7 +5074,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6224,9 +5084,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6243,7 +5100,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6253,9 +5110,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6292,7 +5146,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6302,9 +5156,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6324,7 +5175,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6333,9 +5184,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6356,7 +5204,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6373,7 +5221,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6383,9 +5231,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6402,7 +5247,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6412,9 +5257,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6451,7 +5293,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6461,9 +5303,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6483,7 +5322,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6492,9 +5331,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6515,7 +5351,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6532,7 +5368,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6542,9 +5378,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6561,7 +5394,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6571,9 +5404,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6610,7 +5440,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6619,9 +5449,6 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6641,13 +5468,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6672,7 +5495,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6700,7 +5523,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6709,9 +5532,6 @@ func (m *Headers) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6736,7 +5556,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6745,9 +5565,6 @@ func (m *Headers) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6767,13 +5584,9 @@ func (m *Headers) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6798,7 +5611,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6826,7 +5639,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6835,9 +5648,6 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6858,7 +5668,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6875,7 +5685,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6885,9 +5695,6 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6904,7 +5711,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -6914,9 +5721,6 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6953,7 +5757,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -6962,9 +5766,6 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6985,7 +5786,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7002,7 +5803,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7012,9 +5813,6 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -7031,7 +5829,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7041,9 +5839,6 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -7080,7 +5875,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7090,9 +5885,6 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7107,13 +5899,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7138,7 +5926,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7166,7 +5954,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7175,9 +5963,6 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7200,7 +5985,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7209,9 +5994,6 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7229,13 +6011,9 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7260,7 +6038,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7288,7 +6066,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7297,9 +6075,6 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7322,7 +6097,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7331,9 +6106,6 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7351,13 +6123,9 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7382,7 +6150,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7410,7 +6178,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7419,9 +6187,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7446,7 +6211,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7455,9 +6220,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7482,7 +6244,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7491,9 +6253,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7518,7 +6277,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7527,9 +6286,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7554,7 +6310,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7563,9 +6319,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7586,7 +6339,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7603,7 +6356,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7613,9 +6366,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -7632,7 +6382,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= int(b&0x7F) << shift + mapmsglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7641,7 +6391,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postmsgIndex := iNdEx + mapmsglen - if postmsgIndex < 0 { + if mapmsglen < 0 { return ErrInvalidLengthVirtualService } if postmsgIndex > l { @@ -7683,7 +6433,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= uint32(b&0x7F) << shift + m.Port |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -7702,7 +6452,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7711,9 +6461,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7734,7 +6481,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7751,7 +6498,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7761,9 +6508,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -7780,7 +6524,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7790,9 +6534,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -7829,7 +6570,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7839,9 +6580,6 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7856,13 +6594,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7887,7 +6621,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7915,7 +6649,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -7924,9 +6658,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7951,7 +6682,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= int32(b&0x7F) << shift + m.Weight |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -7970,7 +6701,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -7980,9 +6711,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8002,7 +6730,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -8011,9 +6739,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8034,7 +6759,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8051,7 +6776,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8061,9 +6786,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -8080,7 +6802,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8090,9 +6812,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -8129,7 +6848,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8139,9 +6858,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8161,7 +6877,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -8170,9 +6886,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8193,7 +6906,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8210,7 +6923,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8220,9 +6933,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -8239,7 +6949,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8249,9 +6959,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -8288,7 +6995,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -8297,9 +7004,6 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8319,13 +7023,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8350,7 +7050,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8378,7 +7078,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -8387,9 +7087,6 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8414,7 +7111,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= int32(b&0x7F) << shift + m.Weight |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -8428,13 +7125,9 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8459,7 +7152,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8487,7 +7180,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8497,9 +7190,6 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8519,7 +7209,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= uint32(b&0x7F) << shift + m.Port |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -8538,7 +7228,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8548,9 +7238,6 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8570,7 +7257,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -8579,9 +7266,6 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8602,7 +7286,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8619,7 +7303,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8629,9 +7313,6 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -8648,7 +7329,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8658,9 +7339,6 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -8697,7 +7375,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8707,9 +7385,6 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8724,13 +7399,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8755,7 +7426,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8783,7 +7454,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8793,9 +7464,6 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8815,7 +7483,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8825,9 +7493,6 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8847,7 +7512,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= uint32(b&0x7F) << shift + m.Port |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -8866,7 +7531,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8876,9 +7541,6 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8898,7 +7560,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -8907,9 +7569,6 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8930,7 +7589,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8947,7 +7606,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift + stringLenmapkey |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8957,9 +7616,6 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -8976,7 +7632,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift + stringLenmapvalue |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -8986,9 +7642,6 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthVirtualService - } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -9025,7 +7678,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9035,9 +7688,6 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9052,13 +7702,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9083,7 +7729,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9111,7 +7757,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9121,9 +7767,6 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9143,7 +7786,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9153,9 +7796,6 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9170,13 +7810,9 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9201,7 +7837,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9229,7 +7865,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9239,9 +7875,6 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9261,7 +7894,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9271,9 +7904,6 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9288,13 +7918,9 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9319,7 +7945,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9347,7 +7973,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9357,9 +7983,6 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9379,7 +8002,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9389,9 +8012,6 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9411,7 +8031,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9421,9 +8041,6 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9438,13 +8055,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9469,7 +8082,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9497,7 +8110,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Attempts |= int32(b&0x7F) << shift + m.Attempts |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -9516,7 +8129,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -9525,14 +8138,11 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } if m.PerTryTimeout == nil { - m.PerTryTimeout = &types.Duration{} + m.PerTryTimeout = &google_protobuf.Duration{} } if err := m.PerTryTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9552,7 +8162,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9562,9 +8172,6 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9579,13 +8186,9 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9610,7 +8213,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9638,7 +8241,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9648,9 +8251,6 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9670,7 +8270,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9680,9 +8280,6 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9702,7 +8299,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9712,9 +8309,6 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9734,7 +8328,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9744,9 +8338,6 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9766,7 +8357,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -9775,14 +8366,11 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } if m.MaxAge == nil { - m.MaxAge = &types.Duration{} + m.MaxAge = &google_protobuf.Duration{} } if err := m.MaxAge.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9802,7 +8390,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -9811,14 +8399,11 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } if m.AllowCredentials == nil { - m.AllowCredentials = &types.BoolValue{} + m.AllowCredentials = &google_protobuf1.BoolValue{} } if err := m.AllowCredentials.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9833,13 +8418,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9864,7 +8445,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -9892,7 +8473,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -9901,9 +8482,6 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9928,7 +8506,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -9937,9 +8515,6 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -9959,13 +8534,9 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9990,7 +8561,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -10018,7 +8589,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Percent |= int32(b&0x7F) << shift + m.Percent |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -10037,7 +8608,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -10046,13 +8617,10 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } - v := &types.Duration{} + v := &google_protobuf.Duration{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -10072,7 +8640,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -10081,13 +8649,10 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } - v := &types.Duration{} + v := &google_protobuf.Duration{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -10107,7 +8672,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -10116,9 +8681,6 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -10138,13 +8700,9 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -10169,7 +8727,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -10197,7 +8755,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Percent |= int32(b&0x7F) << shift + m.Percent |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -10216,7 +8774,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int32(b&0x7F) << shift + v |= (int32(b) & 0x7F) << shift if b < 0x80 { break } @@ -10236,7 +8794,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -10246,9 +8804,6 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -10268,7 +8823,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -10278,9 +8833,6 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -10300,7 +8852,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } @@ -10309,9 +8861,6 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -10331,13 +8880,9 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -10362,7 +8907,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -10390,7 +8935,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint32(b&0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } @@ -10410,7 +8955,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -10420,9 +8965,6 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVirtualService - } if postIndex > l { return io.ErrUnexpectedEOF } @@ -10437,13 +8979,9 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -10468,7 +9006,7 @@ func (m *Percent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= uint64(b&0x7F) << shift + wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -10490,7 +9028,7 @@ func (m *Percent) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Value = float64(math.Float64frombits(v)) default: @@ -10502,13 +9040,9 @@ func (m *Percent) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthVirtualService - } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -10572,11 +9106,8 @@ func skipVirtualService(dAtA []byte) (n int, err error) { break } } - if length < 0 { - return 0, ErrInvalidLengthVirtualService - } iNdEx += length - if iNdEx < 0 { + if length < 0 { return 0, ErrInvalidLengthVirtualService } return iNdEx, nil @@ -10607,9 +9138,6 @@ func skipVirtualService(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthVirtualService - } } return iNdEx, nil case 4: @@ -10628,3 +9156,123 @@ var ( ErrInvalidLengthVirtualService = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVirtualService = fmt.Errorf("proto: integer overflow") ) + +func init() { + proto.RegisterFile("networking/v1alpha3/virtual_service.proto", fileDescriptorVirtualService) +} + +var fileDescriptorVirtualService = []byte{ + // 1785 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xe3, 0x48, + 0x15, 0x1f, 0xd9, 0x96, 0xff, 0x3c, 0x3b, 0x19, 0xa7, 0xc9, 0x66, 0x15, 0xef, 0x56, 0xc8, 0x7a, + 0x59, 0x08, 0xb5, 0xac, 0x5d, 0x24, 0xb0, 0xa4, 0x96, 0x6c, 0x76, 0xed, 0x64, 0x66, 0x3d, 0xd4, + 0x0c, 0x49, 0xc9, 0x61, 0x0e, 0x5c, 0x54, 0xb2, 0xd4, 0xb1, 0xc5, 0xc8, 0x6a, 0xd1, 0x6a, 0x25, + 0x76, 0x71, 0xe4, 0xdf, 0x19, 0x8a, 0x2b, 0xc5, 0xf7, 0xe0, 0xc2, 0x95, 0x13, 0xc5, 0x27, 0xa0, + 0xa6, 0xe6, 0xc0, 0x95, 0xaf, 0x40, 0x75, 0xb7, 0x24, 0x2b, 0x71, 0x62, 0xd9, 0x61, 0xa0, 0x38, + 0xc5, 0xdd, 0xfd, 0x7e, 0xbf, 0x7e, 0xfd, 0xba, 0xfb, 0xbd, 0x9f, 0x3a, 0xf0, 0x6d, 0x0f, 0xb3, + 0x6b, 0x42, 0x5f, 0x39, 0xde, 0xb0, 0x7d, 0xf5, 0x5d, 0xd3, 0xf5, 0x47, 0xe6, 0x41, 0xfb, 0xca, + 0xa1, 0x2c, 0x34, 0x5d, 0x23, 0xc0, 0xf4, 0xca, 0xb1, 0x70, 0xcb, 0xa7, 0x84, 0x11, 0xb4, 0xed, + 0x04, 0xcc, 0x21, 0xad, 0x19, 0xa0, 0x15, 0x03, 0x1a, 0x3b, 0x43, 0x42, 0x86, 0x2e, 0x6e, 0x0b, + 0xc3, 0x41, 0x78, 0xd9, 0xb6, 0x43, 0x6a, 0x32, 0x87, 0x78, 0x12, 0x3a, 0x3f, 0x7e, 0x4d, 0x4d, + 0xdf, 0xc7, 0x34, 0x90, 0xe3, 0xcd, 0xdf, 0xe6, 0x60, 0xfd, 0xa5, 0x9c, 0xb4, 0x2f, 0xe7, 0x44, + 0x9b, 0xa0, 0x8e, 0x48, 0xc0, 0x02, 0x4d, 0xd9, 0xcd, 0xef, 0x55, 0x74, 0xd9, 0x40, 0x0d, 0x28, + 0x0f, 0x4d, 0x86, 0xaf, 0xcd, 0x69, 0xa0, 0xe5, 0xc4, 0x40, 0xd2, 0x46, 0x87, 0x50, 0x18, 0x31, + 0xe6, 0x6b, 0xf9, 0xdd, 0xfc, 0x5e, 0x75, 0xff, 0x1b, 0xad, 0x7b, 0xdd, 0x6d, 0xf5, 0x2e, 0x2e, + 0xce, 0x75, 0x12, 0x32, 0xac, 0x0b, 0x04, 0xfa, 0x3e, 0xe4, 0x99, 0xe5, 0x6b, 0x05, 0x01, 0xfc, + 0x70, 0x01, 0xf0, 0xe2, 0x24, 0xc2, 0x71, 0x7b, 0x01, 0x73, 0x03, 0x4d, 0xcd, 0x86, 0x3d, 0xef, + 0xc7, 0x30, 0x37, 0x40, 0xef, 0x41, 0x05, 0x4f, 0x7c, 0x42, 0x99, 0xc1, 0x88, 0x56, 0x94, 0x8b, + 0x90, 0x1d, 0x17, 0xa4, 0x79, 0x05, 0xd5, 0x53, 0x1c, 0x30, 0xc7, 0x13, 0xe1, 0x43, 0x08, 0x0a, + 0x7c, 0xe1, 0x9a, 0xb2, 0xab, 0xec, 0x55, 0x74, 0xf1, 0x1b, 0x6d, 0x41, 0x31, 0x08, 0x07, 0x01, + 0x66, 0x5a, 0x4e, 0xf4, 0x46, 0x2d, 0xf4, 0x43, 0x28, 0x70, 0x12, 0x2d, 0xbf, 0xab, 0xec, 0x55, + 0xf7, 0xbf, 0xb5, 0xc0, 0x9f, 0x73, 0x42, 0x59, 0x1f, 0xbb, 0xd8, 0x62, 0x84, 0xea, 0x02, 0xd4, + 0xfc, 0x17, 0x40, 0x25, 0x09, 0x0b, 0xea, 0x80, 0x3a, 0x36, 0x99, 0x35, 0x12, 0xc1, 0xaf, 0xee, + 0x7f, 0x9c, 0x11, 0xcb, 0x17, 0xdc, 0x56, 0xc7, 0x3f, 0x0f, 0x71, 0xc0, 0x74, 0x89, 0x44, 0x4f, + 0x40, 0xa5, 0x9c, 0x4b, 0x6c, 0x53, 0x75, 0xbf, 0xbd, 0xcc, 0x76, 0xa4, 0x56, 0xae, 0x4b, 0x34, + 0x3a, 0x81, 0x32, 0xc5, 0xb6, 0x43, 0xb1, 0xb5, 0xcc, 0xc2, 0x04, 0x53, 0x64, 0xae, 0x27, 0x40, + 0xf4, 0x25, 0x94, 0x28, 0xbe, 0xa6, 0x0e, 0xc3, 0x5a, 0x41, 0x70, 0x7c, 0x33, 0x93, 0x43, 0x58, + 0xeb, 0x31, 0x0c, 0x7d, 0x0c, 0x1b, 0xd7, 0x78, 0x10, 0x10, 0xeb, 0x15, 0x66, 0x46, 0xe8, 0x0f, + 0xa9, 0x69, 0x63, 0x4d, 0xdd, 0x55, 0xf6, 0xca, 0x7a, 0x3d, 0x19, 0xf8, 0x89, 0xec, 0x47, 0x07, + 0x50, 0x62, 0xce, 0x18, 0x93, 0x90, 0x69, 0x45, 0x31, 0xdd, 0x76, 0x4b, 0x9e, 0xff, 0x56, 0x7c, + 0xfe, 0x5b, 0xa7, 0xd1, 0xfd, 0xd0, 0x63, 0x4b, 0x74, 0xcc, 0x7d, 0x64, 0xd4, 0xc1, 0x81, 0x56, + 0x12, 0xa0, 0xcc, 0x03, 0x8c, 0x19, 0x9d, 0xea, 0x31, 0x08, 0x9d, 0x80, 0x7a, 0x69, 0x86, 0x2e, + 0xd3, 0xca, 0x02, 0xfd, 0x49, 0x06, 0xfa, 0x29, 0xb7, 0x7d, 0xe6, 0xfd, 0x0c, 0x5b, 0x32, 0xda, + 0x02, 0x8b, 0x8e, 0xa1, 0x38, 0x76, 0x28, 0x25, 0x54, 0xab, 0x64, 0xc6, 0x29, 0xbd, 0x59, 0x11, + 0x0a, 0x3d, 0x85, 0xaa, 0x45, 0x68, 0x60, 0xf8, 0xc4, 0x75, 0xac, 0xa9, 0x06, 0x82, 0xe4, 0xa3, + 0x05, 0x24, 0x27, 0x84, 0x06, 0xe7, 0xc2, 0x58, 0x07, 0x2b, 0xf9, 0x8d, 0x06, 0xb0, 0xce, 0xf3, + 0x83, 0x67, 0x1b, 0x23, 0x6c, 0xda, 0x98, 0x06, 0x5a, 0x55, 0x9c, 0xa2, 0x1f, 0x2c, 0x73, 0x8a, + 0x5a, 0x1d, 0x01, 0xed, 0x49, 0xe4, 0x13, 0x8f, 0xd1, 0x69, 0x37, 0xa7, 0x29, 0xfa, 0x9a, 0x99, + 0xee, 0x47, 0x9f, 0xc1, 0xbb, 0x14, 0x8f, 0xc9, 0x15, 0x36, 0x28, 0x0e, 0x7c, 0xe2, 0x05, 0x38, + 0x99, 0xac, 0xc6, 0x2f, 0xa5, 0xc0, 0xbc, 0x23, 0x4d, 0xf4, 0xc8, 0x22, 0xc6, 0xfe, 0x02, 0xde, + 0x8d, 0xfc, 0x9b, 0xc3, 0xae, 0x09, 0x47, 0xbf, 0x58, 0xc1, 0xd1, 0x5b, 0xe4, 0x33, 0x87, 0xdf, + 0x31, 0xef, 0x1a, 0x47, 0x87, 0xb0, 0x95, 0x38, 0x2e, 0xae, 0x5c, 0x32, 0xf7, 0x7a, 0xe2, 0xf7, + 0x66, 0xec, 0xb7, 0x30, 0x88, 0x91, 0x13, 0xd8, 0x4a, 0xdc, 0xbe, 0x89, 0x7c, 0x2c, 0xbc, 0x3e, + 0x5e, 0xc9, 0xeb, 0x34, 0xf5, 0xcc, 0xe9, 0x4d, 0xf3, 0x8e, 0x61, 0x74, 0x04, 0xa5, 0x78, 0xaa, + 0xba, 0x38, 0x14, 0xcd, 0x45, 0x53, 0x49, 0x4b, 0x3d, 0x86, 0x34, 0xbe, 0x04, 0x34, 0xbf, 0xa7, + 0xa8, 0x0e, 0xf9, 0x57, 0x78, 0x1a, 0xa5, 0x46, 0xfe, 0x93, 0xd7, 0x8c, 0x2b, 0xd3, 0x0d, 0x71, + 0x94, 0x18, 0x65, 0xe3, 0xb3, 0xdc, 0xa1, 0xd2, 0xe8, 0x41, 0xe3, 0xfe, 0x60, 0xaf, 0xc4, 0xf4, + 0x15, 0x6c, 0xdf, 0x1b, 0x80, 0x55, 0x88, 0x9a, 0xff, 0xcc, 0x43, 0x29, 0x0e, 0xcf, 0x0b, 0x7e, + 0xf9, 0x05, 0x9d, 0xc0, 0x56, 0xf7, 0x0f, 0xb2, 0xc3, 0x13, 0xfd, 0x3d, 0xf3, 0xb1, 0x4c, 0x25, + 0x81, 0x1e, 0x73, 0xa0, 0x33, 0x9e, 0x34, 0xe5, 0x3a, 0xc5, 0xbc, 0x0f, 0xe4, 0x4b, 0x48, 0x1a, + 0x7f, 0xce, 0x41, 0xfd, 0xf6, 0x30, 0xfa, 0x31, 0xe4, 0x79, 0x11, 0x92, 0x25, 0xe2, 0xe8, 0x01, + 0x13, 0xb4, 0xfa, 0x98, 0x89, 0xb8, 0xe9, 0x9c, 0x88, 0xf3, 0x99, 0xb6, 0x1d, 0xd5, 0x8b, 0x07, + 0xf1, 0x75, 0x6c, 0x3b, 0xe2, 0x33, 0x6d, 0x9b, 0xd7, 0x49, 0x79, 0x0b, 0x84, 0x22, 0xa8, 0xe8, + 0x51, 0xab, 0xf1, 0x29, 0x94, 0xe3, 0x89, 0x57, 0xda, 0xf9, 0x4f, 0xa1, 0x1c, 0x4f, 0xb0, 0xd2, + 0x46, 0xff, 0x5e, 0x81, 0x72, 0xac, 0x00, 0x78, 0x9a, 0x4e, 0x57, 0xd6, 0x4f, 0x16, 0xab, 0x06, + 0x51, 0x58, 0x3b, 0x8c, 0x51, 0x67, 0x10, 0x32, 0x1c, 0xc4, 0xb5, 0xb5, 0x73, 0xb3, 0xb6, 0x2e, + 0x2a, 0xcf, 0xf7, 0xd4, 0xd5, 0xe6, 0xef, 0xb8, 0x53, 0x91, 0x9a, 0x41, 0xdd, 0x9b, 0x4e, 0x7d, + 0x67, 0x01, 0xdf, 0xf3, 0xef, 0xfd, 0xf7, 0x7c, 0xfa, 0x93, 0x0a, 0xf5, 0xdb, 0x72, 0x02, 0x1d, + 0x42, 0x3e, 0xa4, 0x4e, 0x74, 0x2d, 0x16, 0xd5, 0xa3, 0x3e, 0xa3, 0x8e, 0x37, 0x94, 0x58, 0x0e, + 0xe1, 0xc5, 0x2c, 0xb0, 0x46, 0x78, 0x1c, 0xdf, 0x81, 0x65, 0xc1, 0x11, 0x4a, 0x14, 0x43, 0xcc, + 0x46, 0xc4, 0x8e, 0x84, 0xc7, 0xd2, 0x78, 0x89, 0x42, 0xa7, 0x50, 0x31, 0x43, 0x36, 0x22, 0xd4, + 0x61, 0xd3, 0x25, 0x74, 0x47, 0x9a, 0x62, 0x06, 0x44, 0xfa, 0x2c, 0x73, 0x4a, 0xa1, 0x79, 0xb8, + 0x82, 0x18, 0x6b, 0xa5, 0xb3, 0x53, 0x92, 0x4f, 0xb9, 0xaa, 0x14, 0x4a, 0x91, 0xab, 0x93, 0x35, + 0x29, 0x00, 0xd1, 0x00, 0xd6, 0x02, 0x12, 0x52, 0x0b, 0x1b, 0xae, 0x39, 0xc0, 0x2e, 0x57, 0x21, + 0x7c, 0xb6, 0xcf, 0x57, 0x99, 0xad, 0x2f, 0x08, 0x9e, 0x0b, 0xbc, 0x9c, 0xb2, 0x16, 0xa4, 0xba, + 0x6e, 0xa8, 0xf7, 0xf2, 0x4d, 0xf5, 0xde, 0x18, 0x40, 0x2d, 0x23, 0x95, 0x1e, 0xa5, 0x6f, 0xd8, + 0xf2, 0xb1, 0x4c, 0xdd, 0xe0, 0x2f, 0x60, 0x63, 0xce, 0xc5, 0x95, 0xae, 0xf2, 0xdf, 0x54, 0xd8, + 0xbc, 0x4b, 0xad, 0xa2, 0x1e, 0x54, 0xed, 0x59, 0x73, 0x89, 0xd3, 0x9a, 0x3e, 0xfe, 0x69, 0x28, + 0xcf, 0x5a, 0xd7, 0xd8, 0x19, 0x8e, 0xa4, 0xba, 0x57, 0xf5, 0xa8, 0xb5, 0x48, 0xae, 0xe4, 0xb3, + 0xe4, 0xca, 0x6f, 0x94, 0xfb, 0xf5, 0x8a, 0xfc, 0xe8, 0xf9, 0xd1, 0x8a, 0xf2, 0xfc, 0xad, 0x4b, + 0x17, 0x35, 0x43, 0xba, 0xfc, 0x52, 0xb9, 0x57, 0xbb, 0x14, 0xc5, 0x0a, 0x9e, 0x3d, 0x74, 0x05, + 0x0f, 0x94, 0x31, 0xa5, 0xd5, 0x65, 0xcc, 0xff, 0xa1, 0x08, 0x61, 0x50, 0xff, 0xdf, 0x9f, 0xe5, + 0xe6, 0x5f, 0x72, 0xb0, 0x31, 0x57, 0x48, 0x50, 0x1b, 0xbe, 0x96, 0x02, 0x1b, 0x41, 0x38, 0xf0, + 0x70, 0xf2, 0xfd, 0x8f, 0x52, 0x43, 0x7d, 0x39, 0x92, 0xa4, 0xb1, 0x5c, 0x2a, 0x8d, 0x7d, 0x98, + 0xa4, 0x31, 0x89, 0x17, 0xb9, 0xbb, 0x12, 0xe7, 0x21, 0x89, 0x44, 0xd6, 0xed, 0x5c, 0x57, 0xc8, + 0x94, 0xbf, 0x73, 0xee, 0xae, 0x94, 0xec, 0xd4, 0x5b, 0xc9, 0xee, 0x3f, 0x4e, 0x44, 0xff, 0xc8, + 0x01, 0x9a, 0xd7, 0x07, 0xe8, 0x3d, 0xa8, 0x04, 0x9e, 0x63, 0xa4, 0x1f, 0x4e, 0xca, 0x81, 0xe7, + 0xf4, 0xc4, 0xdb, 0xc9, 0x3d, 0xf1, 0xcd, 0x65, 0xc6, 0x37, 0xbf, 0x28, 0xbe, 0x85, 0x3b, 0xe2, + 0x6b, 0xdf, 0x8e, 0xaf, 0x9a, 0xf9, 0x51, 0x34, 0xbf, 0x98, 0x95, 0x02, 0x5c, 0x7c, 0xdb, 0x01, + 0x3e, 0x86, 0x5a, 0xfa, 0x31, 0x81, 0x63, 0x63, 0x19, 0x52, 0x91, 0xf2, 0xe2, 0xfd, 0x74, 0x79, + 0x97, 0xf8, 0x59, 0x47, 0xf3, 0x73, 0xa8, 0xa6, 0x1e, 0x12, 0x56, 0x86, 0x63, 0xa8, 0xa6, 0x6a, + 0x18, 0xda, 0x02, 0x15, 0x4f, 0x4c, 0x2b, 0x7a, 0x07, 0xea, 0x3d, 0xd2, 0x65, 0x13, 0x69, 0x50, + 0xf4, 0x29, 0xbe, 0x74, 0x26, 0x92, 0xa1, 0xf7, 0x48, 0x8f, 0xda, 0x1c, 0x41, 0xf1, 0x10, 0x4f, + 0xe4, 0xf9, 0xe7, 0x08, 0xd1, 0xec, 0xd6, 0x00, 0x84, 0x5e, 0x33, 0xd8, 0xd4, 0xc7, 0xcd, 0x5f, + 0x2b, 0xd1, 0xab, 0x0f, 0xe6, 0xf1, 0x69, 0x40, 0xd9, 0x64, 0x0c, 0x8f, 0x7d, 0x71, 0x78, 0xf8, + 0x85, 0x4d, 0xda, 0xa8, 0x03, 0x8f, 0x7d, 0x4c, 0x0d, 0x46, 0xa7, 0x46, 0xfc, 0xb6, 0x91, 0xcb, + 0x7a, 0xdb, 0x58, 0xf3, 0x31, 0xbd, 0xa0, 0xd3, 0x8b, 0xe8, 0x85, 0x63, 0x9b, 0x7f, 0x95, 0x70, + 0x02, 0xe2, 0x45, 0xb7, 0x52, 0x3c, 0x5e, 0x4c, 0xcf, 0xbc, 0xe6, 0x1f, 0x73, 0x00, 0xb3, 0xa7, + 0x00, 0xf4, 0x01, 0xd4, 0x4c, 0xd7, 0x25, 0xd7, 0x06, 0xa1, 0xce, 0xd0, 0xf1, 0xa2, 0x93, 0x5c, + 0x15, 0x7d, 0x67, 0xa2, 0x8b, 0x9f, 0x43, 0x69, 0x22, 0xc5, 0x56, 0x7c, 0x8c, 0x25, 0xee, 0x85, + 0xec, 0x9b, 0x19, 0xdd, 0xa8, 0x94, 0x91, 0x51, 0x9c, 0xd3, 0x3f, 0x82, 0x75, 0x3c, 0xf1, 0xc9, + 0xad, 0x92, 0x58, 0xd1, 0xd7, 0x64, 0x6f, 0x6c, 0xb6, 0x0f, 0xa5, 0xb1, 0x39, 0x31, 0xcc, 0xa1, + 0x7c, 0xf7, 0x59, 0xb8, 0xf0, 0xe2, 0xd8, 0x9c, 0x74, 0x86, 0x18, 0x7d, 0x05, 0x1b, 0x72, 0x7e, + 0x8b, 0x62, 0x1b, 0x7b, 0xcc, 0x31, 0xdd, 0x20, 0x7a, 0x12, 0x6a, 0xcc, 0xa1, 0xbb, 0x84, 0xb8, + 0x2f, 0xf9, 0xf9, 0xd3, 0xeb, 0x02, 0x74, 0x32, 0xc3, 0x34, 0xff, 0xa0, 0x02, 0x9a, 0x7f, 0xb5, + 0x41, 0xcf, 0x40, 0xb5, 0xb1, 0x6b, 0x4e, 0x97, 0xf9, 0x68, 0x9c, 0x43, 0xb7, 0x4e, 0x39, 0x54, + 0x97, 0x0c, 0x9c, 0xca, 0x1c, 0xc4, 0xc9, 0x74, 0x65, 0xaa, 0x0e, 0x87, 0xea, 0x92, 0xa1, 0xf1, + 0xab, 0x1c, 0xa8, 0x82, 0x1b, 0xbd, 0x0f, 0x25, 0x1f, 0x53, 0x0b, 0x7b, 0xf2, 0xe0, 0xaa, 0xa2, + 0xb2, 0xc6, 0x5d, 0xe8, 0x08, 0xaa, 0x97, 0xce, 0x04, 0xdb, 0x86, 0x5c, 0x43, 0xd6, 0x71, 0xea, + 0x3d, 0xd2, 0x41, 0xd8, 0x4b, 0xee, 0x1e, 0x6c, 0xf0, 0x0d, 0xf2, 0x64, 0x88, 0x22, 0x8e, 0x7c, + 0x36, 0x47, 0x3d, 0x85, 0x92, 0x4c, 0x5d, 0x80, 0xc8, 0xa5, 0xd9, 0xe6, 0x2e, 0xaa, 0xeb, 0xe7, + 0xd2, 0x58, 0x4f, 0xa1, 0xba, 0x1b, 0xf0, 0x78, 0xc4, 0x98, 0x2f, 0xdd, 0x10, 0x77, 0xab, 0xf1, + 0x5a, 0x01, 0x55, 0xc4, 0x25, 0x23, 0x0c, 0x1f, 0x40, 0x55, 0x40, 0x03, 0x66, 0xb2, 0x30, 0x90, + 0x95, 0x92, 0xaf, 0x95, 0x77, 0xf6, 0x45, 0x1f, 0x37, 0x19, 0x52, 0xdf, 0x8a, 0x4d, 0xe2, 0x2b, + 0x0d, 0xbc, 0x73, 0x66, 0xc2, 0x01, 0xfb, 0x06, 0x16, 0xcf, 0x77, 0x85, 0xd8, 0x44, 0x74, 0x3e, + 0x11, 0x8f, 0x73, 0x6f, 0x63, 0x9d, 0x35, 0x00, 0x31, 0x81, 0x4c, 0x1f, 0x4f, 0xa1, 0x96, 0x7e, + 0x4a, 0xe6, 0xe9, 0xc8, 0x0b, 0xc7, 0x03, 0x4c, 0xc5, 0x3a, 0xd7, 0x78, 0x3a, 0x92, 0x6d, 0xb4, + 0x09, 0x05, 0xcf, 0x8c, 0xbe, 0xc4, 0xb8, 0x5f, 0xa2, 0xd5, 0x2d, 0xca, 0x02, 0xd3, 0xfc, 0x3a, + 0x94, 0xa2, 0xc9, 0x66, 0x19, 0x99, 0x33, 0x28, 0x51, 0x46, 0xee, 0xb6, 0xfe, 0xfa, 0x66, 0x47, + 0xf9, 0xfb, 0x9b, 0x1d, 0xe5, 0xf5, 0x9b, 0x1d, 0xe5, 0xa7, 0xbb, 0xd2, 0x67, 0x87, 0xb4, 0x4d, + 0xdf, 0x69, 0xdf, 0xf1, 0x0f, 0x8c, 0x41, 0x51, 0xec, 0xfc, 0xc1, 0xbf, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x3d, 0x3a, 0x29, 0x1e, 0xde, 0x18, 0x00, 0x00, +} diff --git a/tools/all/Dockerfile b/tools/all/Dockerfile index bbd60038fb8..0c8c47956e2 100644 --- a/tools/all/Dockerfile +++ b/tools/all/Dockerfile @@ -8,7 +8,7 @@ RUN apk update && \ FROM gcr.io/istio-testing/protolock:2018-10-23 as protolock -FROM gcr.io/istio-testing/protoc:2019-02-23 +FROM gcr.io/istio-testing/protoc:2018-06-12 COPY --from=protolock \ /usr/bin/protolock \ From 120a390e09bf11e1dc85b8331e96cc25a5bef93e Mon Sep 17 00:00:00 2001 From: Jason Young Date: Mon, 25 Feb 2019 11:50:46 -0800 Subject: [PATCH 10/34] fix mcp update error diagram (#810) --- mcp/v1alpha1/diagrams/collection-update-error.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcp/v1alpha1/diagrams/collection-update-error.svg b/mcp/v1alpha1/diagrams/collection-update-error.svg index 8b4a86fbade..040e03344aa 100644 --- a/mcp/v1alpha1/diagrams/collection-update-error.svg +++ b/mcp/v1alpha1/diagrams/collection-update-error.svg @@ -1 +1 @@ -Created with Raphaël 2.2.0SinkSinkSourceSourceestablish streamRequestResources{collection=A,nonce=}Resources{collection=A,nonce=1,resource={(foo,v0),(bar,v0)}RequestResources{collection=A,nonce=1} (ACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=2,resource={(baz,v0)}RequestResources{collection=A,nonce=2,error="could not apply"} (NACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=3,resource={(bar, v1)},remove={(foo,v0)}RequestResources{collection=A,nonce=3} (ACK)resources={(bar,v1),(baz,v0)} \ No newline at end of file +Created with Raphaël 2.2.0SinkSinkSourceSourceestablish streamRequestResources{collection=A,nonce=}Resources{collection=A,nonce=1,resource={(foo,v0),(bar,v0)}RequestResources{collection=A,nonce=1} (ACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=2,resource={(baz,v0)}RequestResources{collection=A,nonce=2,error="could not apply"} (NACK)resources={(foo,v0),(bar,v0)}Resources{collection=A,nonce=3,resource={(bar, v1)},remove={(foo,v0)}RequestResources{collection=A,nonce=3} (ACK)resources={(bar,v1)} \ No newline at end of file From eac219de3ebdeced584997a3f34873bacf3705e7 Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Mon, 25 Feb 2019 16:57:32 -0500 Subject: [PATCH 11/34] update istio/tools (#815) --- .circleci/config.yml | 2 +- Makefile | 8 +- authentication/v1alpha1/policy.pb.go | 877 +++++-- .../filter/http/authn/v2alpha1/config.pb.go | 179 +- .../http/jwt_auth/v2alpha1/config.pb.go | 612 ++++- .../http/jwt_auth/v2alpha1/config.proto | 4 +- .../tcp_cluster_rewrite/v2alpha1/config.pb.go | 136 +- mcp/v1alpha1/mcp.pb.go | 831 ++++-- mcp/v1alpha1/metadata.pb.go | 204 +- mcp/v1alpha1/resource.pb.go | 146 +- mesh/v1alpha1/config.pb.go | 800 ++++-- mesh/v1alpha1/network.pb.go | 374 ++- mesh/v1alpha1/proxy.pb.go | 552 ++-- mixer/adapter/model/v1beta1/check.pb.go | 188 +- mixer/adapter/model/v1beta1/extensions.pb.go | 98 +- mixer/adapter/model/v1beta1/info.pb.go | 145 +- .../v1beta1/infrastructure_backend.pb.go | 503 +++- mixer/adapter/model/v1beta1/quota.pb.go | 347 ++- mixer/adapter/model/v1beta1/report.pb.go | 113 +- mixer/adapter/model/v1beta1/template.pb.go | 117 +- mixer/v1/attributes.pb.go | 691 +++-- mixer/v1/config/client/api_spec.pb.go | 462 +++- mixer/v1/config/client/client_config.pb.go | 606 +++-- mixer/v1/config/client/quota.pb.go | 506 +++- mixer/v1/config/client/service.pb.go | 173 +- mixer/v1/mixer.pb.go | 903 +++++-- networking/v1alpha3/destination_rule.pb.go | 1256 ++++++--- networking/v1alpha3/envoy_filter.pb.go | 442 +++- networking/v1alpha3/gateway.pb.go | 468 +++- networking/v1alpha3/service_entry.pb.go | 320 ++- networking/v1alpha3/sidecar.pb.go | 405 ++- networking/v1alpha3/virtual_service.pb.go | 2246 +++++++++++++---- policy/v1beta1/cfg.pb.go | 1365 +++++++--- policy/v1beta1/http_response.pb.go | 259 +- policy/v1beta1/type.pb.go | 565 ++++- policy/v1beta1/value_type.pb.go | 74 +- rbac/v1alpha1/rbac.pb.go | 1157 ++++++--- 37 files changed, 13596 insertions(+), 4538 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a3edfcf89f0..c43aa5f7655 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 defaults: &defaults working_directory: /src/istio.io/api docker: - - image: gcr.io/istio-testing/api-build-tools:2018-10-31 + - image: gcr.io/istio-testing/api-build-tools:2019-02-25 environment: GOPATH: /go OUT_PATH: /src diff --git a/Makefile b/Makefile index 5d804e31ac5..8066ab8f06d 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,9 @@ out_path = $(OUT_PATH) docker_lock = protolock docker_tool = prototool else -gen_img := gcr.io/istio-testing/protoc:2018-06-12 +gen_img := gcr.io/istio-testing/protoc:2019-02-25 lock_img := gcr.io/istio-testing/protolock:2018-10-23 -all_img := gcr.io/istio-testing/api-build-tools:2018-10-31 +all_img := gcr.io/istio-testing/api-build-tools:2019-02-25 pwd := $(shell pwd) mount_dir := /src repo_dir := istio.io/api @@ -328,10 +328,10 @@ envoy_pb_pythons := $(envoy_protos:.proto=_pb2.py) generate-envoy-go: $(envoy_pb_gos) $(envoy_pb_doc) # Envoy APIs is internal APIs, documents is not required. -$(envoy_pb_gos): $(envoy_protos) +$(envoy_pb_gos): %.pb.go : %.proto ## Generate envoy/*/*.pb.go @$(docker_lock) status - @$(docker_gen) $(gogofast_plugin) $^ + @$(docker_gen) $(gogofast_plugin) $< generate-envoy-python: $(envoy_pb_pythons) diff --git a/authentication/v1alpha1/policy.pb.go b/authentication/v1alpha1/policy.pb.go index e8592ef4a31..0954be05da2 100644 --- a/authentication/v1alpha1/policy.pb.go +++ b/authentication/v1alpha1/policy.pb.go @@ -1,31 +1,16 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: authentication/v1alpha1/policy.proto -/* - Package v1alpha1 is a generated protocol buffer package. - - This package defines user-facing authentication policy. - - It is generated from these files: - authentication/v1alpha1/policy.proto - - It has these top-level messages: - StringMatch - MutualTls - Jwt - PeerAuthenticationMethod - OriginAuthenticationMethod - Policy - TargetSelector - PortSelector -*/ -package v1alpha1 +// This package defines user-facing authentication policy. -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +package v1alpha1 -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -52,6 +37,7 @@ var PrincipalBinding_name = map[int32]string{ 0: "USE_PEER", 1: "USE_ORIGIN", } + var PrincipalBinding_value = map[string]int32{ "USE_PEER": 0, "USE_ORIGIN": 1, @@ -60,7 +46,10 @@ var PrincipalBinding_value = map[string]int32{ func (x PrincipalBinding) String() string { return proto.EnumName(PrincipalBinding_name, int32(x)) } -func (PrincipalBinding) EnumDescriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{0} } + +func (PrincipalBinding) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{0} +} // Defines the acceptable connection TLS mode. type MutualTls_Mode int32 @@ -76,6 +65,7 @@ var MutualTls_Mode_name = map[int32]string{ 0: "STRICT", 1: "PERMISSIVE", } + var MutualTls_Mode_value = map[string]int32{ "STRICT": 0, "PERMISSIVE": 1, @@ -84,7 +74,10 @@ var MutualTls_Mode_value = map[string]int32{ func (x MutualTls_Mode) String() string { return proto.EnumName(MutualTls_Mode_name, int32(x)) } -func (MutualTls_Mode) EnumDescriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{1, 0} } + +func (MutualTls_Mode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{1, 0} +} // Describes how to match a given string. Match is case-sensitive. type StringMatch struct { @@ -93,13 +86,44 @@ type StringMatch struct { // *StringMatch_Prefix // *StringMatch_Suffix // *StringMatch_Regex - MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` + MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StringMatch) Reset() { *m = StringMatch{} } +func (m *StringMatch) String() string { return proto.CompactTextString(m) } +func (*StringMatch) ProtoMessage() {} +func (*StringMatch) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{0} +} +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 + } +} +func (m *StringMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringMatch.Merge(m, src) +} +func (m *StringMatch) XXX_Size() int { + return m.Size() +} +func (m *StringMatch) XXX_DiscardUnknown() { + xxx_messageInfo_StringMatch.DiscardUnknown(m) } -func (m *StringMatch) Reset() { *m = StringMatch{} } -func (m *StringMatch) String() string { return proto.CompactTextString(m) } -func (*StringMatch) ProtoMessage() {} -func (*StringMatch) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{0} } +var xxx_messageInfo_StringMatch proto.InternalMessageInfo type isStringMatch_MatchType interface { isStringMatch_MatchType() @@ -234,19 +258,19 @@ func _StringMatch_OneofSizer(msg proto.Message) (n int) { // match_type switch x := m.MatchType.(type) { case *StringMatch_Exact: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Exact))) n += len(x.Exact) case *StringMatch_Prefix: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Prefix))) n += len(x.Prefix) case *StringMatch_Suffix: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Suffix))) n += len(x.Suffix) case *StringMatch_Regex: - n += proto.SizeVarint(4<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Regex))) n += len(x.Regex) case nil: @@ -266,13 +290,44 @@ type MutualTls struct { // When the flag is false (default), request must have client certificate. AllowTls bool `protobuf:"varint,1,opt,name=allow_tls,json=allowTls,proto3" json:"allow_tls,omitempty"` // Defines the mode of mTLS authentication. - Mode MutualTls_Mode `protobuf:"varint,2,opt,name=mode,proto3,enum=istio.authentication.v1alpha1.MutualTls_Mode" json:"mode,omitempty"` + Mode MutualTls_Mode `protobuf:"varint,2,opt,name=mode,proto3,enum=istio.authentication.v1alpha1.MutualTls_Mode" json:"mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MutualTls) Reset() { *m = MutualTls{} } +func (m *MutualTls) String() string { return proto.CompactTextString(m) } +func (*MutualTls) ProtoMessage() {} +func (*MutualTls) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{1} +} +func (m *MutualTls) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MutualTls) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MutualTls.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MutualTls) XXX_Merge(src proto.Message) { + xxx_messageInfo_MutualTls.Merge(m, src) +} +func (m *MutualTls) XXX_Size() int { + return m.Size() +} +func (m *MutualTls) XXX_DiscardUnknown() { + xxx_messageInfo_MutualTls.DiscardUnknown(m) } -func (m *MutualTls) Reset() { *m = MutualTls{} } -func (m *MutualTls) String() string { return proto.CompactTextString(m) } -func (*MutualTls) ProtoMessage() {} -func (*MutualTls) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{1} } +var xxx_messageInfo_MutualTls proto.InternalMessageInfo func (m *MutualTls) GetAllowTls() bool { if m != nil { @@ -365,7 +420,7 @@ type Jwt struct { // - bookstore_android.apps.googleusercontent.com // bookstore_web.apps.googleusercontent.com // ``` - Audiences []string `protobuf:"bytes,2,rep,name=audiences" json:"audiences,omitempty"` + Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"` // URL of the provider's public key set to validate signature of the // JWT. See [OpenID // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). @@ -383,24 +438,55 @@ type Jwt struct { // // For example, if `header=x-goog-iap-jwt-assertion`, the header // format will be x-goog-iap-jwt-assertion: . - JwtHeaders []string `protobuf:"bytes,6,rep,name=jwt_headers,json=jwtHeaders" json:"jwt_headers,omitempty"` + JwtHeaders []string `protobuf:"bytes,6,rep,name=jwt_headers,json=jwtHeaders,proto3" json:"jwt_headers,omitempty"` // JWT is sent in a query parameter. `query` represents the // query parameter name. // // For example, `query=jwt_token`. - JwtParams []string `protobuf:"bytes,7,rep,name=jwt_params,json=jwtParams" json:"jwt_params,omitempty"` + JwtParams []string `protobuf:"bytes,7,rep,name=jwt_params,json=jwtParams,proto3" json:"jwt_params,omitempty"` // List of trigger rules to decide if this JWT should be used to validate the // request. The JWT validation happens if any one of the rules matched. // If the list is not empty and none of the rules matched, authentication will // skip the JWT validation. // Leave this empty to always trigger the JWT validation. - TriggerRules []*Jwt_TriggerRule `protobuf:"bytes,9,rep,name=trigger_rules,json=triggerRules" json:"trigger_rules,omitempty"` + TriggerRules []*Jwt_TriggerRule `protobuf:"bytes,9,rep,name=trigger_rules,json=triggerRules,proto3" json:"trigger_rules,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Jwt) Reset() { *m = Jwt{} } +func (m *Jwt) String() string { return proto.CompactTextString(m) } +func (*Jwt) ProtoMessage() {} +func (*Jwt) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{2} +} +func (m *Jwt) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Jwt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Jwt.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Jwt) XXX_Merge(src proto.Message) { + xxx_messageInfo_Jwt.Merge(m, src) +} +func (m *Jwt) XXX_Size() int { + return m.Size() +} +func (m *Jwt) XXX_DiscardUnknown() { + xxx_messageInfo_Jwt.DiscardUnknown(m) } -func (m *Jwt) Reset() { *m = Jwt{} } -func (m *Jwt) String() string { return proto.CompactTextString(m) } -func (*Jwt) ProtoMessage() {} -func (*Jwt) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{2} } +var xxx_messageInfo_Jwt proto.InternalMessageInfo func (m *Jwt) GetIssuer() string { if m != nil { @@ -449,17 +535,48 @@ func (m *Jwt) GetTriggerRules() []*Jwt_TriggerRule { type Jwt_TriggerRule struct { // List of paths to be excluded from the request. The rule is satisfied if // request path does not match to any of the path in this list. - ExcludedPaths []*StringMatch `protobuf:"bytes,1,rep,name=excluded_paths,json=excludedPaths" json:"excluded_paths,omitempty"` + ExcludedPaths []*StringMatch `protobuf:"bytes,1,rep,name=excluded_paths,json=excludedPaths,proto3" json:"excluded_paths,omitempty"` // List of paths that the request must include. If the list is not empty, the // rule is satisfied if request path matches at least one of the path in the list. // If the list is empty, the rule is ignored, in other words the rule is always satisfied. - IncludedPaths []*StringMatch `protobuf:"bytes,2,rep,name=included_paths,json=includedPaths" json:"included_paths,omitempty"` + IncludedPaths []*StringMatch `protobuf:"bytes,2,rep,name=included_paths,json=includedPaths,proto3" json:"included_paths,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Jwt_TriggerRule) Reset() { *m = Jwt_TriggerRule{} } +func (m *Jwt_TriggerRule) String() string { return proto.CompactTextString(m) } +func (*Jwt_TriggerRule) ProtoMessage() {} +func (*Jwt_TriggerRule) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{2, 0} +} +func (m *Jwt_TriggerRule) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Jwt_TriggerRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Jwt_TriggerRule.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Jwt_TriggerRule) XXX_Merge(src proto.Message) { + xxx_messageInfo_Jwt_TriggerRule.Merge(m, src) +} +func (m *Jwt_TriggerRule) XXX_Size() int { + return m.Size() +} +func (m *Jwt_TriggerRule) XXX_DiscardUnknown() { + xxx_messageInfo_Jwt_TriggerRule.DiscardUnknown(m) } -func (m *Jwt_TriggerRule) Reset() { *m = Jwt_TriggerRule{} } -func (m *Jwt_TriggerRule) String() string { return proto.CompactTextString(m) } -func (*Jwt_TriggerRule) ProtoMessage() {} -func (*Jwt_TriggerRule) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{2, 0} } +var xxx_messageInfo_Jwt_TriggerRule proto.InternalMessageInfo func (m *Jwt_TriggerRule) GetExcludedPaths() []*StringMatch { if m != nil { @@ -484,13 +601,44 @@ type PeerAuthenticationMethod struct { // Types that are valid to be assigned to Params: // *PeerAuthenticationMethod_Mtls // *PeerAuthenticationMethod_Jwt - Params isPeerAuthenticationMethod_Params `protobuf_oneof:"params"` + Params isPeerAuthenticationMethod_Params `protobuf_oneof:"params"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PeerAuthenticationMethod) Reset() { *m = PeerAuthenticationMethod{} } +func (m *PeerAuthenticationMethod) String() string { return proto.CompactTextString(m) } +func (*PeerAuthenticationMethod) ProtoMessage() {} +func (*PeerAuthenticationMethod) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{3} +} +func (m *PeerAuthenticationMethod) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PeerAuthenticationMethod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PeerAuthenticationMethod.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PeerAuthenticationMethod) XXX_Merge(src proto.Message) { + xxx_messageInfo_PeerAuthenticationMethod.Merge(m, src) +} +func (m *PeerAuthenticationMethod) XXX_Size() int { + return m.Size() +} +func (m *PeerAuthenticationMethod) XXX_DiscardUnknown() { + xxx_messageInfo_PeerAuthenticationMethod.DiscardUnknown(m) } -func (m *PeerAuthenticationMethod) Reset() { *m = PeerAuthenticationMethod{} } -func (m *PeerAuthenticationMethod) String() string { return proto.CompactTextString(m) } -func (*PeerAuthenticationMethod) ProtoMessage() {} -func (*PeerAuthenticationMethod) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{3} } +var xxx_messageInfo_PeerAuthenticationMethod proto.InternalMessageInfo type isPeerAuthenticationMethod_Params interface { isPeerAuthenticationMethod_Params() @@ -499,10 +647,10 @@ type isPeerAuthenticationMethod_Params interface { } type PeerAuthenticationMethod_Mtls struct { - Mtls *MutualTls `protobuf:"bytes,1,opt,name=mtls,oneof"` + Mtls *MutualTls `protobuf:"bytes,1,opt,name=mtls,proto3,oneof"` } type PeerAuthenticationMethod_Jwt struct { - Jwt *Jwt `protobuf:"bytes,2,opt,name=jwt,oneof"` + Jwt *Jwt `protobuf:"bytes,2,opt,name=jwt,proto3,oneof"` } func (*PeerAuthenticationMethod_Mtls) isPeerAuthenticationMethod_Params() {} @@ -588,12 +736,12 @@ func _PeerAuthenticationMethod_OneofSizer(msg proto.Message) (n int) { switch x := m.Params.(type) { case *PeerAuthenticationMethod_Mtls: s := proto.Size(x.Mtls) - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *PeerAuthenticationMethod_Jwt: s := proto.Size(x.Jwt) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -608,13 +756,44 @@ func _PeerAuthenticationMethod_OneofSizer(msg proto.Message) (n int) { // Currently, only JWT is supported for origin authentication. type OriginAuthenticationMethod struct { // Jwt params for the method. - Jwt *Jwt `protobuf:"bytes,1,opt,name=jwt" json:"jwt,omitempty"` + Jwt *Jwt `protobuf:"bytes,1,opt,name=jwt,proto3" json:"jwt,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OriginAuthenticationMethod) Reset() { *m = OriginAuthenticationMethod{} } +func (m *OriginAuthenticationMethod) String() string { return proto.CompactTextString(m) } +func (*OriginAuthenticationMethod) ProtoMessage() {} +func (*OriginAuthenticationMethod) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{4} +} +func (m *OriginAuthenticationMethod) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OriginAuthenticationMethod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OriginAuthenticationMethod.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *OriginAuthenticationMethod) XXX_Merge(src proto.Message) { + xxx_messageInfo_OriginAuthenticationMethod.Merge(m, src) +} +func (m *OriginAuthenticationMethod) XXX_Size() int { + return m.Size() +} +func (m *OriginAuthenticationMethod) XXX_DiscardUnknown() { + xxx_messageInfo_OriginAuthenticationMethod.DiscardUnknown(m) } -func (m *OriginAuthenticationMethod) Reset() { *m = OriginAuthenticationMethod{} } -func (m *OriginAuthenticationMethod) String() string { return proto.CompactTextString(m) } -func (*OriginAuthenticationMethod) ProtoMessage() {} -func (*OriginAuthenticationMethod) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{4} } +var xxx_messageInfo_OriginAuthenticationMethod proto.InternalMessageInfo func (m *OriginAuthenticationMethod) GetJwt() *Jwt { if m != nil { @@ -697,13 +876,13 @@ func (m *OriginAuthenticationMethod) GetJwt() *Jwt { type Policy struct { // List rules to select workloads that the policy should be applied on. // If empty, policy will be used on all workloads in the same namespace. - Targets []*TargetSelector `protobuf:"bytes,1,rep,name=targets" json:"targets,omitempty"` + Targets []*TargetSelector `protobuf:"bytes,1,rep,name=targets,proto3" json:"targets,omitempty"` // List of authentication methods that can be used for peer authentication. // They will be evaluated in order; the first validate one will be used to // set peer identity (source.user) and other peer attributes. If none of // these methods pass, request will be rejected with authentication failed error (401). // Leave the list empty if peer authentication is not required - Peers []*PeerAuthenticationMethod `protobuf:"bytes,2,rep,name=peers" json:"peers,omitempty"` + Peers []*PeerAuthenticationMethod `protobuf:"bytes,2,rep,name=peers,proto3" json:"peers,omitempty"` // Set this flag to true to accept request (for peer authentication perspective), // even when none of the peer authentication methods defined above satisfied. // Typically, this is used to delay the rejection decision to next layer (e.g @@ -718,7 +897,7 @@ type Policy struct { // A method may be skipped, depends on its trigger rule. If all of these methods // are skipped, origin authentication will be ignored, as if it is not defined. // Leave the list empty if origin authentication is not required. - Origins []*OriginAuthenticationMethod `protobuf:"bytes,4,rep,name=origins" json:"origins,omitempty"` + Origins []*OriginAuthenticationMethod `protobuf:"bytes,4,rep,name=origins,proto3" json:"origins,omitempty"` // Set this flag to true to accept request (for origin authentication perspective), // even when none of the origin authentication methods defined above satisfied. // Typically, this is used to delay the rejection decision to next layer (e.g @@ -731,13 +910,44 @@ type Policy struct { // authentication is not defined, or failed, principal will be left unset. // In other words, binding rule does not affect the decision to accept or // reject request. - PrincipalBinding PrincipalBinding `protobuf:"varint,6,opt,name=principal_binding,json=principalBinding,proto3,enum=istio.authentication.v1alpha1.PrincipalBinding" json:"principal_binding,omitempty"` + PrincipalBinding PrincipalBinding `protobuf:"varint,6,opt,name=principal_binding,json=principalBinding,proto3,enum=istio.authentication.v1alpha1.PrincipalBinding" json:"principal_binding,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Policy) Reset() { *m = Policy{} } +func (m *Policy) String() string { return proto.CompactTextString(m) } +func (*Policy) ProtoMessage() {} +func (*Policy) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{5} +} +func (m *Policy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Policy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Policy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Policy.Merge(m, src) +} +func (m *Policy) XXX_Size() int { + return m.Size() +} +func (m *Policy) XXX_DiscardUnknown() { + xxx_messageInfo_Policy.DiscardUnknown(m) } -func (m *Policy) Reset() { *m = Policy{} } -func (m *Policy) String() string { return proto.CompactTextString(m) } -func (*Policy) ProtoMessage() {} -func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{5} } +var xxx_messageInfo_Policy proto.InternalMessageInfo func (m *Policy) GetTargets() []*TargetSelector { if m != nil { @@ -791,7 +1001,7 @@ type TargetSelector struct { // $not-implemented-hide // Select workload by labels. // Once implemented, this is a prefer way over using service name. - Labels map[string]string `protobuf:"bytes,3,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + 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"` // Specifies the ports. Note that this is the port(s) exposed by the service, not workload ports. // For example, if a service is defined as below, then `8000` should be used, not `9000`. // ```yaml @@ -806,14 +1016,45 @@ type TargetSelector struct { // selector: // app: backend // ``` - // Leave empty to match all ports that are exposed. - Ports []*PortSelector `protobuf:"bytes,2,rep,name=ports" json:"ports,omitempty"` + //Leave empty to match all ports that are exposed. + Ports []*PortSelector `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TargetSelector) Reset() { *m = TargetSelector{} } +func (m *TargetSelector) String() string { return proto.CompactTextString(m) } +func (*TargetSelector) ProtoMessage() {} +func (*TargetSelector) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{6} +} +func (m *TargetSelector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TargetSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TargetSelector.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TargetSelector) XXX_Merge(src proto.Message) { + xxx_messageInfo_TargetSelector.Merge(m, src) +} +func (m *TargetSelector) XXX_Size() int { + return m.Size() +} +func (m *TargetSelector) XXX_DiscardUnknown() { + xxx_messageInfo_TargetSelector.DiscardUnknown(m) } -func (m *TargetSelector) Reset() { *m = TargetSelector{} } -func (m *TargetSelector) String() string { return proto.CompactTextString(m) } -func (*TargetSelector) ProtoMessage() {} -func (*TargetSelector) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{6} } +var xxx_messageInfo_TargetSelector proto.InternalMessageInfo func (m *TargetSelector) GetName() string { if m != nil { @@ -843,13 +1084,44 @@ type PortSelector struct { // Types that are valid to be assigned to Port: // *PortSelector_Number // *PortSelector_Name - Port isPortSelector_Port `protobuf_oneof:"port"` + Port isPortSelector_Port `protobuf_oneof:"port"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PortSelector) Reset() { *m = PortSelector{} } +func (m *PortSelector) String() string { return proto.CompactTextString(m) } +func (*PortSelector) ProtoMessage() {} +func (*PortSelector) Descriptor() ([]byte, []int) { + return fileDescriptor_30ec3f7cef93301a, []int{7} +} +func (m *PortSelector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PortSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PortSelector.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PortSelector) XXX_Merge(src proto.Message) { + xxx_messageInfo_PortSelector.Merge(m, src) +} +func (m *PortSelector) XXX_Size() int { + return m.Size() +} +func (m *PortSelector) XXX_DiscardUnknown() { + xxx_messageInfo_PortSelector.DiscardUnknown(m) } -func (m *PortSelector) Reset() { *m = PortSelector{} } -func (m *PortSelector) String() string { return proto.CompactTextString(m) } -func (*PortSelector) ProtoMessage() {} -func (*PortSelector) Descriptor() ([]byte, []int) { return fileDescriptorPolicy, []int{7} } +var xxx_messageInfo_PortSelector proto.InternalMessageInfo type isPortSelector_Port interface { isPortSelector_Port() @@ -940,10 +1212,10 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { // port switch x := m.Port.(type) { case *PortSelector_Number: - n += proto.SizeVarint(1<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Number)) case *PortSelector_Name: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Name))) n += len(x.Name) case nil: @@ -954,6 +1226,8 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { } func init() { + proto.RegisterEnum("istio.authentication.v1alpha1.PrincipalBinding", PrincipalBinding_name, PrincipalBinding_value) + proto.RegisterEnum("istio.authentication.v1alpha1.MutualTls_Mode", MutualTls_Mode_name, MutualTls_Mode_value) proto.RegisterType((*StringMatch)(nil), "istio.authentication.v1alpha1.StringMatch") proto.RegisterType((*MutualTls)(nil), "istio.authentication.v1alpha1.MutualTls") proto.RegisterType((*Jwt)(nil), "istio.authentication.v1alpha1.Jwt") @@ -962,10 +1236,71 @@ func init() { proto.RegisterType((*OriginAuthenticationMethod)(nil), "istio.authentication.v1alpha1.OriginAuthenticationMethod") proto.RegisterType((*Policy)(nil), "istio.authentication.v1alpha1.Policy") proto.RegisterType((*TargetSelector)(nil), "istio.authentication.v1alpha1.TargetSelector") + proto.RegisterMapType((map[string]string)(nil), "istio.authentication.v1alpha1.TargetSelector.LabelsEntry") proto.RegisterType((*PortSelector)(nil), "istio.authentication.v1alpha1.PortSelector") - proto.RegisterEnum("istio.authentication.v1alpha1.PrincipalBinding", PrincipalBinding_name, PrincipalBinding_value) - proto.RegisterEnum("istio.authentication.v1alpha1.MutualTls_Mode", MutualTls_Mode_name, MutualTls_Mode_value) } + +func init() { + proto.RegisterFile("authentication/v1alpha1/policy.proto", fileDescriptor_30ec3f7cef93301a) +} + +var fileDescriptor_30ec3f7cef93301a = []byte{ + // 838 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xc1, 0x6e, 0x23, 0x35, + 0x18, 0xee, 0x74, 0x92, 0x69, 0xf2, 0xa7, 0x8d, 0x82, 0xb5, 0x5a, 0x0d, 0x85, 0x2d, 0xd5, 0x68, + 0x0f, 0xd1, 0x02, 0x13, 0x36, 0x20, 0x60, 0x39, 0x20, 0x35, 0x28, 0x6c, 0xb3, 0x22, 0x34, 0xeb, + 0x64, 0x39, 0x20, 0xa4, 0x91, 0x9b, 0x78, 0x13, 0x67, 0x9d, 0x99, 0x91, 0xed, 0xd9, 0x34, 0x27, + 0x1e, 0x81, 0x17, 0xe0, 0xc2, 0x99, 0x23, 0x2f, 0xc1, 0x91, 0x47, 0x40, 0x7d, 0x07, 0xee, 0xc8, + 0xf6, 0x0c, 0x4d, 0x56, 0x94, 0x29, 0x37, 0x7f, 0xff, 0xef, 0xef, 0xf3, 0xef, 0xcf, 0xbf, 0x6d, + 0x78, 0x48, 0x32, 0xb5, 0xa0, 0xb1, 0x62, 0x53, 0xa2, 0x58, 0x12, 0x77, 0x5e, 0x3f, 0x26, 0x3c, + 0x5d, 0x90, 0xc7, 0x9d, 0x34, 0xe1, 0x6c, 0xba, 0x09, 0x53, 0x91, 0xa8, 0x04, 0x3d, 0x60, 0x52, + 0xb1, 0x24, 0xdc, 0x9d, 0x1b, 0x16, 0x73, 0x83, 0x1f, 0xa1, 0x31, 0x56, 0x82, 0xc5, 0xf3, 0x21, + 0x51, 0xd3, 0x05, 0xba, 0x0f, 0x55, 0x7a, 0x45, 0xa6, 0xca, 0x77, 0x4e, 0x9d, 0x76, 0xfd, 0x7c, + 0x0f, 0x5b, 0x88, 0x7c, 0xf0, 0x52, 0x41, 0x5f, 0xb2, 0x2b, 0x7f, 0x3f, 0x4f, 0xe4, 0x58, 0x67, + 0x64, 0xf6, 0x52, 0x67, 0xdc, 0x22, 0x63, 0xb1, 0xd6, 0x12, 0x74, 0x4e, 0xaf, 0xfc, 0x4a, 0xa1, + 0x65, 0x60, 0xef, 0x10, 0x60, 0xa5, 0x17, 0x8b, 0xd4, 0x26, 0xa5, 0xc1, 0x4f, 0x0e, 0xd4, 0x87, + 0x99, 0xca, 0x08, 0x9f, 0x70, 0x89, 0xde, 0x81, 0x3a, 0xe1, 0x3c, 0x59, 0x47, 0x8a, 0x4b, 0x53, + 0x43, 0x0d, 0xd7, 0x4c, 0x40, 0x27, 0xcf, 0xa0, 0xb2, 0x4a, 0x66, 0xd4, 0x94, 0xd0, 0xec, 0x7e, + 0x18, 0xfe, 0xe7, 0xce, 0xc2, 0x7f, 0x44, 0xc3, 0x61, 0x32, 0xa3, 0xd8, 0x50, 0x83, 0x00, 0x2a, + 0x1a, 0x21, 0x00, 0x6f, 0x3c, 0xc1, 0x83, 0xaf, 0x26, 0xad, 0x3d, 0xd4, 0x04, 0x18, 0xf5, 0xf1, + 0x70, 0x30, 0x1e, 0x0f, 0xbe, 0xeb, 0xb7, 0x9c, 0xe0, 0x17, 0x17, 0xdc, 0x67, 0x6b, 0x85, 0xee, + 0x83, 0xc7, 0xa4, 0xcc, 0xa8, 0xb0, 0x66, 0xe0, 0x1c, 0xa1, 0x77, 0xa1, 0x4e, 0xb2, 0x19, 0xa3, + 0xf1, 0x94, 0x4a, 0x7f, 0xff, 0xd4, 0x6d, 0xd7, 0xf1, 0x4d, 0x00, 0xbd, 0x0d, 0xb5, 0xe5, 0xfa, + 0x95, 0x8c, 0x32, 0xc1, 0xac, 0x23, 0xf8, 0x40, 0xe3, 0x17, 0x82, 0xa1, 0xf7, 0xa0, 0xb1, 0x5c, + 0xab, 0x68, 0x41, 0xc9, 0x8c, 0x0a, 0xe9, 0x7b, 0x86, 0x0a, 0xcb, 0xb5, 0x3a, 0xb7, 0x11, 0xf4, + 0x00, 0x34, 0x8a, 0x52, 0x22, 0xc8, 0x4a, 0xfa, 0x07, 0x56, 0x7a, 0xb9, 0x56, 0x23, 0x13, 0x40, + 0x63, 0x38, 0x52, 0x82, 0xcd, 0xe7, 0x54, 0x44, 0x22, 0xe3, 0x54, 0xfa, 0xf5, 0x53, 0xb7, 0xdd, + 0xe8, 0x86, 0x25, 0x46, 0x3c, 0x5b, 0xab, 0x70, 0x62, 0x79, 0x38, 0xe3, 0x14, 0x1f, 0xaa, 0x1b, + 0x20, 0x8f, 0x7f, 0x73, 0xa0, 0xb1, 0x95, 0x45, 0xcf, 0xa1, 0x49, 0xaf, 0xa6, 0x3c, 0x9b, 0xd1, + 0x59, 0x94, 0x12, 0xb5, 0xd0, 0xc7, 0xa0, 0x57, 0x79, 0x54, 0xb2, 0xca, 0x56, 0x17, 0xe1, 0xa3, + 0x42, 0x61, 0xa4, 0x05, 0xb4, 0x24, 0x8b, 0x77, 0x24, 0xf7, 0xff, 0xbf, 0x64, 0xa1, 0x60, 0x24, + 0x83, 0x9f, 0x1d, 0xf0, 0x47, 0x94, 0x8a, 0xb3, 0x1d, 0xea, 0x90, 0xaa, 0x45, 0x32, 0x43, 0x5f, + 0x42, 0x65, 0x55, 0xf4, 0x4f, 0xa3, 0xdb, 0xbe, 0x6b, 0x9f, 0x9c, 0xef, 0x61, 0xc3, 0x43, 0x9f, + 0x82, 0xbb, 0x5c, 0x2b, 0xd3, 0x66, 0x8d, 0x6e, 0x50, 0xee, 0xee, 0xf9, 0x1e, 0xd6, 0x84, 0x5e, + 0x0d, 0x3c, 0x7b, 0x74, 0x01, 0x86, 0xe3, 0x0b, 0xc1, 0xe6, 0x2c, 0xfe, 0xd7, 0xfa, 0x3e, 0xb1, + 0xfa, 0xce, 0x5d, 0xf5, 0x8d, 0x7a, 0xf0, 0xab, 0x0b, 0xde, 0xc8, 0xdc, 0x6c, 0xf4, 0x14, 0x0e, + 0x14, 0x11, 0x73, 0xaa, 0x8a, 0xc3, 0x29, 0xbb, 0x0b, 0x13, 0x33, 0x7b, 0x4c, 0x39, 0x9d, 0xaa, + 0x44, 0xe0, 0x82, 0x8d, 0x86, 0x50, 0x4d, 0xa9, 0xee, 0x45, 0x7b, 0x20, 0x9f, 0x95, 0xc8, 0xdc, + 0xe6, 0x38, 0xb6, 0x2a, 0xa8, 0x0d, 0x2d, 0x3d, 0x88, 0x98, 0x8c, 0x92, 0x54, 0xa7, 0x09, 0x37, + 0x77, 0xa0, 0x86, 0x9b, 0x3a, 0x3e, 0x90, 0x17, 0x79, 0x14, 0x8d, 0xe1, 0x20, 0x31, 0x06, 0x49, + 0xbf, 0x62, 0x96, 0x7e, 0x52, 0xb2, 0xf4, 0xed, 0x76, 0xe2, 0x42, 0x09, 0x7d, 0x00, 0xc8, 0x0e, + 0x77, 0x0a, 0xa8, 0x9a, 0x02, 0x5a, 0x36, 0xb3, 0x55, 0xc2, 0x0f, 0xf0, 0x56, 0x2a, 0x58, 0x3c, + 0x65, 0x29, 0xe1, 0xd1, 0x25, 0x8b, 0x67, 0x2c, 0x9e, 0xfb, 0x9e, 0x79, 0x5a, 0x3a, 0x65, 0x3e, + 0x14, 0xbc, 0x9e, 0xa5, 0xe1, 0x56, 0xfa, 0x46, 0x24, 0xf8, 0xcb, 0x81, 0xe6, 0xae, 0xeb, 0x08, + 0x41, 0x25, 0x26, 0x2b, 0x9a, 0xbf, 0x26, 0x66, 0x8c, 0x9e, 0x83, 0xc7, 0xc9, 0x25, 0xe5, 0xd2, + 0x77, 0xef, 0x64, 0xc3, 0xae, 0x64, 0xf8, 0x8d, 0xe1, 0xf6, 0x63, 0x25, 0x36, 0x38, 0x17, 0x42, + 0x67, 0x50, 0x4d, 0x13, 0xa1, 0x8a, 0x33, 0x7d, 0xbf, 0x6c, 0x2f, 0x89, 0xb8, 0x69, 0x0c, 0xcb, + 0x3c, 0x7e, 0x02, 0x8d, 0x2d, 0x65, 0xd4, 0x02, 0xf7, 0x15, 0xdd, 0xe4, 0x75, 0xeb, 0x21, 0xba, + 0x07, 0xd5, 0xd7, 0x84, 0x67, 0xf6, 0x29, 0xae, 0x63, 0x0b, 0xbe, 0xd8, 0xff, 0xdc, 0x09, 0xbe, + 0x86, 0xc3, 0x6d, 0x45, 0xfd, 0x3d, 0xc4, 0xd9, 0xea, 0x32, 0x7f, 0x44, 0x8f, 0xf4, 0xf7, 0x60, + 0x31, 0xba, 0x97, 0xdb, 0x51, 0x7c, 0x28, 0x06, 0xf5, 0x3c, 0xa8, 0xe8, 0x1a, 0x1e, 0x7d, 0x04, + 0xad, 0x37, 0x5d, 0x46, 0x87, 0x50, 0x7b, 0x31, 0xee, 0x47, 0xa3, 0x7e, 0x1f, 0xdb, 0x67, 0x5b, + 0xa3, 0x0b, 0x3c, 0x78, 0x3a, 0xf8, 0xb6, 0xe5, 0xf4, 0xba, 0xbf, 0x5f, 0x9f, 0x38, 0x7f, 0x5c, + 0x9f, 0x38, 0x7f, 0x5e, 0x9f, 0x38, 0xdf, 0x3f, 0xb4, 0xbb, 0x66, 0x49, 0x87, 0xa4, 0xac, 0x73, + 0xcb, 0x4f, 0x79, 0xe9, 0x99, 0x3f, 0xf2, 0xe3, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x98, 0x47, + 0x3a, 0xbe, 0x4b, 0x07, 0x00, 0x00, +} + func (m *StringMatch) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -988,6 +1323,9 @@ func (m *StringMatch) MarshalTo(dAtA []byte) (int, error) { } i += nn1 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1053,6 +1391,9 @@ func (m *MutualTls) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintPolicy(dAtA, i, uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1140,6 +1481,9 @@ func (m *Jwt) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1182,6 +1526,9 @@ func (m *Jwt_TriggerRule) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1207,6 +1554,9 @@ func (m *PeerAuthenticationMethod) MarshalTo(dAtA []byte) (int, error) { } i += nn2 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1263,6 +1613,9 @@ func (m *OriginAuthenticationMethod) MarshalTo(dAtA []byte) (int, error) { } i += n5 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1342,6 +1695,9 @@ func (m *Policy) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintPolicy(dAtA, i, uint64(m.PrincipalBinding)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1395,6 +1751,9 @@ func (m *TargetSelector) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1420,6 +1779,9 @@ func (m *PortSelector) MarshalTo(dAtA []byte) (int, error) { } i += nn6 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1448,15 +1810,24 @@ func encodeVarintPolicy(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *StringMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.MatchType != nil { n += m.MatchType.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *StringMatch_Exact) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Exact) @@ -1464,6 +1835,9 @@ func (m *StringMatch_Exact) Size() (n int) { return n } func (m *StringMatch_Prefix) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Prefix) @@ -1471,6 +1845,9 @@ func (m *StringMatch_Prefix) Size() (n int) { return n } func (m *StringMatch_Suffix) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Suffix) @@ -1478,6 +1855,9 @@ func (m *StringMatch_Suffix) Size() (n int) { return n } func (m *StringMatch_Regex) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Regex) @@ -1485,6 +1865,9 @@ func (m *StringMatch_Regex) Size() (n int) { return n } func (m *MutualTls) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.AllowTls { @@ -1493,10 +1876,16 @@ func (m *MutualTls) Size() (n int) { if m.Mode != 0 { n += 1 + sovPolicy(uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Jwt) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Issuer) @@ -1531,10 +1920,16 @@ func (m *Jwt) Size() (n int) { n += 1 + l + sovPolicy(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Jwt_TriggerRule) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.ExcludedPaths) > 0 { @@ -1549,19 +1944,31 @@ func (m *Jwt_TriggerRule) Size() (n int) { n += 1 + l + sovPolicy(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *PeerAuthenticationMethod) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Params != nil { n += m.Params.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *PeerAuthenticationMethod_Mtls) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Mtls != nil { @@ -1571,6 +1978,9 @@ func (m *PeerAuthenticationMethod_Mtls) Size() (n int) { return n } func (m *PeerAuthenticationMethod_Jwt) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Jwt != nil { @@ -1580,16 +1990,25 @@ func (m *PeerAuthenticationMethod_Jwt) Size() (n int) { return n } func (m *OriginAuthenticationMethod) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Jwt != nil { l = m.Jwt.Size() n += 1 + l + sovPolicy(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Policy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Targets) > 0 { @@ -1619,10 +2038,16 @@ func (m *Policy) Size() (n int) { if m.PrincipalBinding != 0 { n += 1 + sovPolicy(uint64(m.PrincipalBinding)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TargetSelector) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -1643,25 +2068,40 @@ func (m *TargetSelector) Size() (n int) { n += mapEntrySize + 1 + sovPolicy(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *PortSelector) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { n += m.Port.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *PortSelector_Number) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovPolicy(uint64(m.Number)) return n } func (m *PortSelector_Name) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -1697,7 +2137,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1725,7 +2165,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1735,6 +2175,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1754,7 +2197,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1764,6 +2207,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1783,7 +2229,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1793,6 +2239,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1812,7 +2261,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1822,6 +2271,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1836,9 +2288,13 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1863,7 +2319,7 @@ func (m *MutualTls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1891,7 +2347,7 @@ func (m *MutualTls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1911,7 +2367,7 @@ func (m *MutualTls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (MutualTls_Mode(b) & 0x7F) << shift + m.Mode |= MutualTls_Mode(b&0x7F) << shift if b < 0x80 { break } @@ -1925,9 +2381,13 @@ func (m *MutualTls) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1952,7 +2412,7 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1980,7 +2440,7 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1990,6 +2450,9 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2009,7 +2472,7 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2019,6 +2482,9 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2038,7 +2504,7 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2048,6 +2514,9 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2067,7 +2536,7 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2077,6 +2546,9 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2096,7 +2568,7 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2106,6 +2578,9 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2125,7 +2600,7 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2134,6 +2609,9 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2151,9 +2629,13 @@ func (m *Jwt) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2178,7 +2660,7 @@ func (m *Jwt_TriggerRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2206,7 +2688,7 @@ func (m *Jwt_TriggerRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2215,6 +2697,9 @@ func (m *Jwt_TriggerRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2237,7 +2722,7 @@ func (m *Jwt_TriggerRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2246,6 +2731,9 @@ func (m *Jwt_TriggerRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2263,9 +2751,13 @@ func (m *Jwt_TriggerRule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2290,7 +2782,7 @@ func (m *PeerAuthenticationMethod) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2318,7 +2810,7 @@ func (m *PeerAuthenticationMethod) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2327,6 +2819,9 @@ func (m *PeerAuthenticationMethod) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2350,7 +2845,7 @@ func (m *PeerAuthenticationMethod) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2359,6 +2854,9 @@ func (m *PeerAuthenticationMethod) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2377,9 +2875,13 @@ func (m *PeerAuthenticationMethod) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2404,7 +2906,7 @@ func (m *OriginAuthenticationMethod) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2432,7 +2934,7 @@ func (m *OriginAuthenticationMethod) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2441,6 +2943,9 @@ func (m *OriginAuthenticationMethod) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2460,9 +2965,13 @@ func (m *OriginAuthenticationMethod) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2487,7 +2996,7 @@ func (m *Policy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2515,7 +3024,7 @@ func (m *Policy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2524,6 +3033,9 @@ func (m *Policy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2546,7 +3058,7 @@ func (m *Policy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2555,6 +3067,9 @@ func (m *Policy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2577,7 +3092,7 @@ func (m *Policy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2597,7 +3112,7 @@ func (m *Policy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2606,6 +3121,9 @@ func (m *Policy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2628,7 +3146,7 @@ func (m *Policy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2648,7 +3166,7 @@ func (m *Policy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.PrincipalBinding |= (PrincipalBinding(b) & 0x7F) << shift + m.PrincipalBinding |= PrincipalBinding(b&0x7F) << shift if b < 0x80 { break } @@ -2662,9 +3180,13 @@ func (m *Policy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2689,7 +3211,7 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2717,7 +3239,7 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2727,6 +3249,9 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2746,7 +3271,7 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2755,6 +3280,9 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2777,7 +3305,7 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2786,6 +3314,9 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2806,7 +3337,7 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2823,7 +3354,7 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2833,6 +3364,9 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthPolicy + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -2849,7 +3383,7 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2859,6 +3393,9 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthPolicy + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -2890,9 +3427,13 @@ func (m *TargetSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2917,7 +3458,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2945,7 +3486,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint32(b) & 0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -2965,7 +3506,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2975,6 +3516,9 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthPolicy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPolicy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2989,9 +3533,13 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthPolicy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthPolicy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3055,10 +3603,13 @@ func skipPolicy(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthPolicy } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthPolicy + } return iNdEx, nil case 3: for { @@ -3087,6 +3638,9 @@ func skipPolicy(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthPolicy + } } return iNdEx, nil case 4: @@ -3105,62 +3659,3 @@ var ( ErrInvalidLengthPolicy = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowPolicy = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("authentication/v1alpha1/policy.proto", fileDescriptorPolicy) } - -var fileDescriptorPolicy = []byte{ - // 839 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4f, 0x6f, 0xe3, 0x44, - 0x14, 0xaf, 0xeb, 0xc4, 0x4d, 0x5e, 0xda, 0x28, 0x8c, 0x56, 0x2b, 0x53, 0xd8, 0x52, 0x59, 0x7b, - 0x88, 0x16, 0x70, 0xd8, 0x80, 0x80, 0xe5, 0x80, 0xd4, 0xa0, 0xb0, 0xcd, 0x8a, 0xd0, 0xec, 0x24, - 0xcb, 0x01, 0x21, 0x59, 0xd3, 0x64, 0x36, 0x99, 0xec, 0xc4, 0xb6, 0x66, 0xc6, 0x9b, 0xe6, 0xc4, - 0x47, 0xe0, 0x0b, 0x70, 0xe1, 0xcc, 0x91, 0x2f, 0xc1, 0x91, 0x8f, 0x80, 0xfa, 0x1d, 0xb8, 0xa3, - 0x99, 0xb1, 0x69, 0xb2, 0xa2, 0xb8, 0xdc, 0xe6, 0xf7, 0x9e, 0x7f, 0xbf, 0xf7, 0xfc, 0x7b, 0xf3, - 0x07, 0x1e, 0x92, 0x4c, 0x2d, 0x68, 0xac, 0xd8, 0x94, 0x28, 0x96, 0xc4, 0x9d, 0xd7, 0x8f, 0x09, - 0x4f, 0x17, 0xe4, 0x71, 0x27, 0x4d, 0x38, 0x9b, 0x6e, 0xc2, 0x54, 0x24, 0x2a, 0x41, 0x0f, 0x98, - 0x54, 0x2c, 0x09, 0x77, 0xbf, 0x0d, 0x8b, 0x6f, 0x83, 0x1f, 0xa1, 0x31, 0x56, 0x82, 0xc5, 0xf3, - 0x21, 0x51, 0xd3, 0x05, 0xba, 0x0f, 0x55, 0x7a, 0x45, 0xa6, 0xca, 0x77, 0x4e, 0x9d, 0x76, 0xfd, - 0x7c, 0x0f, 0x5b, 0x88, 0x7c, 0xf0, 0x52, 0x41, 0x5f, 0xb2, 0x2b, 0x7f, 0x3f, 0x4f, 0xe4, 0x58, - 0x67, 0x64, 0xf6, 0x52, 0x67, 0xdc, 0x22, 0x63, 0xb1, 0xd6, 0x12, 0x74, 0x4e, 0xaf, 0xfc, 0x4a, - 0xa1, 0x65, 0x60, 0xef, 0x10, 0x60, 0xa5, 0x8b, 0x45, 0x6a, 0x93, 0xd2, 0xe0, 0x27, 0x07, 0xea, - 0xc3, 0x4c, 0x65, 0x84, 0x4f, 0xb8, 0x44, 0xef, 0x40, 0x9d, 0x70, 0x9e, 0xac, 0x23, 0xc5, 0xa5, - 0xe9, 0xa1, 0x86, 0x6b, 0x26, 0xa0, 0x93, 0x67, 0x50, 0x59, 0x25, 0x33, 0x6a, 0x5a, 0x68, 0x76, - 0x3f, 0x0c, 0xff, 0xf3, 0xcf, 0xc2, 0x7f, 0x44, 0xc3, 0x61, 0x32, 0xa3, 0xd8, 0x50, 0x83, 0x00, - 0x2a, 0x1a, 0x21, 0x00, 0x6f, 0x3c, 0xc1, 0x83, 0xaf, 0x26, 0xad, 0x3d, 0xd4, 0x04, 0x18, 0xf5, - 0xf1, 0x70, 0x30, 0x1e, 0x0f, 0xbe, 0xeb, 0xb7, 0x9c, 0xe0, 0x17, 0x17, 0xdc, 0x67, 0x6b, 0x85, - 0xee, 0x83, 0xc7, 0xa4, 0xcc, 0xa8, 0xb0, 0x66, 0xe0, 0x1c, 0xa1, 0x77, 0xa1, 0x4e, 0xb2, 0x19, - 0xa3, 0xf1, 0x94, 0x4a, 0x7f, 0xff, 0xd4, 0x6d, 0xd7, 0xf1, 0x4d, 0x00, 0xbd, 0x0d, 0xb5, 0xe5, - 0xfa, 0x95, 0x8c, 0x32, 0xc1, 0xac, 0x23, 0xf8, 0x40, 0xe3, 0x17, 0x82, 0xa1, 0xf7, 0xa0, 0xb1, - 0x5c, 0xab, 0x68, 0x41, 0xc9, 0x8c, 0x0a, 0xe9, 0x7b, 0x86, 0x0a, 0xcb, 0xb5, 0x3a, 0xb7, 0x11, - 0xf4, 0x00, 0x34, 0x8a, 0x52, 0x22, 0xc8, 0x4a, 0xfa, 0x07, 0x56, 0x7a, 0xb9, 0x56, 0x23, 0x13, - 0x40, 0x63, 0x38, 0x52, 0x82, 0xcd, 0xe7, 0x54, 0x44, 0x22, 0xe3, 0x54, 0xfa, 0xf5, 0x53, 0xb7, - 0xdd, 0xe8, 0x86, 0x25, 0x46, 0x3c, 0x5b, 0xab, 0x70, 0x62, 0x79, 0x38, 0xe3, 0x14, 0x1f, 0xaa, - 0x1b, 0x20, 0x8f, 0x7f, 0x73, 0xa0, 0xb1, 0x95, 0x45, 0xcf, 0xa1, 0x49, 0xaf, 0xa6, 0x3c, 0x9b, - 0xd1, 0x59, 0x94, 0x12, 0xb5, 0xd0, 0x63, 0xd0, 0x55, 0x1e, 0x95, 0x54, 0xd9, 0xda, 0x45, 0xf8, - 0xa8, 0x50, 0x18, 0x69, 0x01, 0x2d, 0xc9, 0xe2, 0x1d, 0xc9, 0xfd, 0xff, 0x2f, 0x59, 0x28, 0x18, - 0xc9, 0xe0, 0x67, 0x07, 0xfc, 0x11, 0xa5, 0xe2, 0x6c, 0x87, 0x3a, 0xa4, 0x6a, 0x91, 0xcc, 0xd0, - 0x97, 0x50, 0x59, 0x15, 0xfb, 0xa7, 0xd1, 0x6d, 0xdf, 0x75, 0x9f, 0x9c, 0xef, 0x61, 0xc3, 0x43, - 0x9f, 0x82, 0xbb, 0x5c, 0x2b, 0xb3, 0xcd, 0x1a, 0xdd, 0xa0, 0xdc, 0xdd, 0xf3, 0x3d, 0xac, 0x09, - 0xbd, 0x1a, 0x78, 0x76, 0x74, 0x01, 0x86, 0xe3, 0x0b, 0xc1, 0xe6, 0x2c, 0xfe, 0xd7, 0xfe, 0x3e, - 0xb1, 0xfa, 0xce, 0x5d, 0xf5, 0x8d, 0x7a, 0xf0, 0xab, 0x0b, 0xde, 0xc8, 0x9c, 0x6c, 0xf4, 0x14, - 0x0e, 0x14, 0x11, 0x73, 0xaa, 0x8a, 0xe1, 0x94, 0x9d, 0x85, 0x89, 0xf9, 0x7a, 0x4c, 0x39, 0x9d, - 0xaa, 0x44, 0xe0, 0x82, 0x8d, 0x86, 0x50, 0x4d, 0xa9, 0xde, 0x8b, 0x76, 0x20, 0x9f, 0x95, 0xc8, - 0xdc, 0xe6, 0x38, 0xb6, 0x2a, 0xa8, 0x0d, 0x2d, 0xbd, 0x88, 0x98, 0x8c, 0x92, 0x54, 0xa7, 0x09, - 0x37, 0x67, 0xa0, 0x86, 0x9b, 0x3a, 0x3e, 0x90, 0x17, 0x79, 0x14, 0x8d, 0xe1, 0x20, 0x31, 0x06, - 0x49, 0xbf, 0x62, 0x4a, 0x3f, 0x29, 0x29, 0x7d, 0xbb, 0x9d, 0xb8, 0x50, 0x42, 0x1f, 0x00, 0xb2, - 0xcb, 0x9d, 0x06, 0xaa, 0xa6, 0x81, 0x96, 0xcd, 0x6c, 0xb5, 0xf0, 0x03, 0xbc, 0x95, 0x0a, 0x16, - 0x4f, 0x59, 0x4a, 0x78, 0x74, 0xc9, 0xe2, 0x19, 0x8b, 0xe7, 0xbe, 0x67, 0xae, 0x96, 0x4e, 0x99, - 0x0f, 0x05, 0xaf, 0x67, 0x69, 0xb8, 0x95, 0xbe, 0x11, 0x09, 0xfe, 0x72, 0xa0, 0xb9, 0xeb, 0x3a, - 0x42, 0x50, 0x89, 0xc9, 0x8a, 0xe6, 0xb7, 0x89, 0x59, 0xa3, 0x33, 0xa8, 0xa6, 0x89, 0x50, 0xc5, - 0x00, 0xde, 0x2f, 0x2b, 0x9c, 0x88, 0x9b, 0x29, 0x5a, 0x26, 0x7a, 0x0e, 0x1e, 0x27, 0x97, 0x94, - 0x4b, 0xdf, 0xbd, 0x93, 0x93, 0xbb, 0x5d, 0x85, 0xdf, 0x18, 0x6e, 0x3f, 0x56, 0x62, 0x83, 0x73, - 0xa1, 0xe3, 0x27, 0xd0, 0xd8, 0x0a, 0xa3, 0x16, 0xb8, 0xaf, 0xe8, 0x26, 0xef, 0x5b, 0x2f, 0xd1, - 0x3d, 0xa8, 0xbe, 0x26, 0x3c, 0xb3, 0x57, 0x71, 0x1d, 0x5b, 0xf0, 0xc5, 0xfe, 0xe7, 0x4e, 0xf0, - 0x35, 0x1c, 0x6e, 0x37, 0xa9, 0x9f, 0x87, 0x38, 0x5b, 0x5d, 0xe6, 0x97, 0xe8, 0x91, 0x7e, 0x1e, - 0x2c, 0x46, 0xf7, 0x72, 0x3b, 0x8a, 0x07, 0xc5, 0xa0, 0x9e, 0x07, 0x15, 0xfd, 0x5b, 0x8f, 0x3e, - 0x82, 0xd6, 0x9b, 0x2e, 0xa3, 0x43, 0xa8, 0xbd, 0x18, 0xf7, 0xa3, 0x51, 0xbf, 0x8f, 0xed, 0xb5, - 0xad, 0xd1, 0x05, 0x1e, 0x3c, 0x1d, 0x7c, 0xdb, 0x72, 0x7a, 0xdd, 0xdf, 0xaf, 0x4f, 0x9c, 0x3f, - 0xae, 0x4f, 0x9c, 0x3f, 0xaf, 0x4f, 0x9c, 0xef, 0x1f, 0x5a, 0x13, 0x58, 0xd2, 0x21, 0x29, 0xeb, - 0xdc, 0xf2, 0x52, 0x5e, 0x7a, 0xe6, 0x8d, 0xfc, 0xf8, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x46, - 0xc2, 0xaa, 0x6f, 0x4b, 0x07, 0x00, 0x00, -} diff --git a/envoy/config/filter/http/authn/v2alpha1/config.pb.go b/envoy/config/filter/http/authn/v2alpha1/config.pb.go index 4600d1e76bf..7559515833f 100644 --- a/envoy/config/filter/http/authn/v2alpha1/config.pb.go +++ b/envoy/config/filter/http/authn/v2alpha1/config.pb.go @@ -1,32 +1,15 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: envoy/config/filter/http/authn/v2alpha1/config.proto -/* - Package v2alpha1 is a generated protocol buffer package. - - It is generated from these files: - envoy/config/filter/http/authn/v2alpha1/config.proto - envoy/config/filter/http/jwt_auth/v2alpha1/config.proto - envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto - - It has these top-level messages: - FilterConfig - HttpUri - DataSource - JwtRule - RemoteJwks - JwtHeader - JwtAuthentication - TcpClusterRewrite -*/ package v2alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import istio_authentication_v1alpha1 "istio.io/api/authentication/v1alpha1" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + v1alpha1 "istio.io/api/authentication/v1alpha1" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -43,19 +26,50 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // authentication policy on Envoy. type FilterConfig struct { // Policy is the original copy of the policy. - Policy *istio_authentication_v1alpha1.Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` + Policy *v1alpha1.Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` // Map from issuer to location of the payload that is emitted by Jwt filter. // This information is added by pilot when construct and add Jwt and // authN filters. - JwtOutputPayloadLocations map[string]string `protobuf:"bytes,2,rep,name=jwt_output_payload_locations,json=jwtOutputPayloadLocations" json:"jwt_output_payload_locations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + JwtOutputPayloadLocations map[string]string `protobuf:"bytes,2,rep,name=jwt_output_payload_locations,json=jwtOutputPayloadLocations,proto3" json:"jwt_output_payload_locations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FilterConfig) Reset() { *m = FilterConfig{} } -func (m *FilterConfig) String() string { return proto.CompactTextString(m) } -func (*FilterConfig) ProtoMessage() {} -func (*FilterConfig) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0} } +func (m *FilterConfig) Reset() { *m = FilterConfig{} } +func (m *FilterConfig) String() string { return proto.CompactTextString(m) } +func (*FilterConfig) ProtoMessage() {} +func (*FilterConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_b4b13c85ef974588, []int{0} +} +func (m *FilterConfig) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FilterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FilterConfig.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *FilterConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilterConfig.Merge(m, src) +} +func (m *FilterConfig) XXX_Size() int { + return m.Size() +} +func (m *FilterConfig) XXX_DiscardUnknown() { + xxx_messageInfo_FilterConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_FilterConfig proto.InternalMessageInfo -func (m *FilterConfig) GetPolicy() *istio_authentication_v1alpha1.Policy { +func (m *FilterConfig) GetPolicy() *v1alpha1.Policy { if m != nil { return m.Policy } @@ -71,7 +85,36 @@ func (m *FilterConfig) GetJwtOutputPayloadLocations() map[string]string { func init() { proto.RegisterType((*FilterConfig)(nil), "istio.envoy.config.filter.http.authn.v2alpha1.FilterConfig") + proto.RegisterMapType((map[string]string)(nil), "istio.envoy.config.filter.http.authn.v2alpha1.FilterConfig.JwtOutputPayloadLocationsEntry") +} + +func init() { + proto.RegisterFile("envoy/config/filter/http/authn/v2alpha1/config.proto", fileDescriptor_b4b13c85ef974588) +} + +var fileDescriptor_b4b13c85ef974588 = []byte{ + // 302 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x41, 0x4b, 0xc3, 0x30, + 0x14, 0xc7, 0x49, 0x87, 0x03, 0x33, 0x0f, 0x52, 0x3c, 0xcc, 0x21, 0x65, 0x88, 0xc2, 0x2e, 0xbe, + 0xb0, 0xb9, 0x83, 0x08, 0x5e, 0x26, 0x7a, 0x90, 0x81, 0xa3, 0xc7, 0x5d, 0x4a, 0xac, 0x9d, 0xcd, + 0x0c, 0x49, 0xe8, 0x5e, 0x3b, 0xfa, 0x59, 0xfc, 0x24, 0x7e, 0x03, 0x8f, 0x7e, 0x04, 0xe9, 0x27, + 0x91, 0x26, 0x2d, 0xe8, 0x41, 0xd1, 0x5b, 0x5e, 0xde, 0xfb, 0xfd, 0x92, 0x3f, 0x8f, 0x4e, 0x13, + 0x55, 0xe8, 0x92, 0xc5, 0x5a, 0xad, 0xc4, 0x13, 0x5b, 0x09, 0x89, 0x49, 0xc6, 0x52, 0x44, 0xc3, + 0x78, 0x8e, 0xa9, 0x62, 0xc5, 0x84, 0x4b, 0x93, 0xf2, 0x71, 0x33, 0x01, 0x26, 0xd3, 0xa8, 0xfd, + 0x33, 0xb1, 0x41, 0xa1, 0xc1, 0xb2, 0xd0, 0x74, 0x1c, 0x0b, 0x35, 0x0b, 0x96, 0x85, 0x96, 0x1d, + 0x9c, 0xd4, 0x75, 0xa2, 0x50, 0xc4, 0x1c, 0x85, 0x56, 0xac, 0x18, 0x37, 0x52, 0xa3, 0xa5, 0x88, + 0x4b, 0x27, 0x3d, 0x7e, 0xf5, 0xe8, 0xde, 0xad, 0x95, 0x5c, 0x5b, 0xa3, 0x7f, 0x45, 0xbb, 0x6e, + 0xa0, 0x4f, 0x86, 0x64, 0xd4, 0x9b, 0x9c, 0x82, 0x7b, 0xf6, 0xbb, 0x0d, 0x5a, 0x1b, 0x2c, 0xec, + 0x70, 0xd8, 0x40, 0xfe, 0x0b, 0xa1, 0x47, 0xeb, 0x2d, 0x46, 0x3a, 0x47, 0x93, 0x63, 0x64, 0x78, + 0x29, 0x35, 0x7f, 0x8c, 0xa4, 0x76, 0xdc, 0xa6, 0xef, 0x0d, 0x3b, 0xa3, 0xde, 0x64, 0x09, 0xff, + 0x0a, 0x03, 0x5f, 0xbf, 0x08, 0x77, 0x5b, 0xbc, 0xb7, 0xfa, 0x85, 0xb3, 0xcf, 0x5b, 0xf9, 0x8d, + 0xc2, 0xac, 0x0c, 0x0f, 0xd7, 0x3f, 0xf5, 0x07, 0x73, 0x1a, 0xfc, 0x0e, 0xfb, 0xfb, 0xb4, 0xf3, + 0x9c, 0xb8, 0xec, 0xbb, 0x61, 0x7d, 0xf4, 0x0f, 0xe8, 0x4e, 0xc1, 0x65, 0x9e, 0xf4, 0x3d, 0x7b, + 0xe7, 0x8a, 0x4b, 0xef, 0x82, 0xcc, 0x66, 0x6f, 0x55, 0x40, 0xde, 0xab, 0x80, 0x7c, 0x54, 0x01, + 0x59, 0x4e, 0x5d, 0x22, 0xa1, 0x19, 0x37, 0x82, 0xfd, 0x71, 0xc3, 0x0f, 0x5d, 0xbb, 0x86, 0xf3, + 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xce, 0x7c, 0xfe, 0x70, 0x13, 0x02, 0x00, 0x00, } + func (m *FilterConfig) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -114,6 +157,9 @@ func (m *FilterConfig) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -127,6 +173,9 @@ func encodeVarintConfig(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *FilterConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Policy != nil { @@ -141,6 +190,9 @@ func (m *FilterConfig) Size() (n int) { n += mapEntrySize + 1 + sovConfig(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -172,7 +224,7 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -200,7 +252,7 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -209,11 +261,14 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Policy == nil { - m.Policy = &istio_authentication_v1alpha1.Policy{} + m.Policy = &v1alpha1.Policy{} } if err := m.Policy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -233,7 +288,7 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -242,6 +297,9 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -262,7 +320,7 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -279,7 +337,7 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -289,6 +347,9 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthConfig + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -305,7 +366,7 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -315,6 +376,9 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthConfig + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -346,9 +410,13 @@ func (m *FilterConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -412,10 +480,13 @@ func skipConfig(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthConfig } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } return iNdEx, nil case 3: for { @@ -444,6 +515,9 @@ func skipConfig(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } } return iNdEx, nil case 4: @@ -462,30 +536,3 @@ var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("envoy/config/filter/http/authn/v2alpha1/config.proto", fileDescriptorConfig) -} - -var fileDescriptorConfig = []byte{ - // 302 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x41, 0x4b, 0xc3, 0x30, - 0x14, 0xc7, 0x49, 0x87, 0x03, 0x33, 0x0f, 0x52, 0x3c, 0xcc, 0x21, 0x65, 0x88, 0xc2, 0x2e, 0xbe, - 0xb0, 0xb9, 0x83, 0x08, 0x5e, 0x26, 0x7a, 0x90, 0x81, 0xa3, 0xc7, 0x5d, 0x4a, 0xac, 0x9d, 0xcd, - 0x0c, 0x49, 0xe8, 0x5e, 0x3b, 0xfa, 0x59, 0xfc, 0x24, 0x7e, 0x03, 0x8f, 0x7e, 0x04, 0xe9, 0x27, - 0x91, 0x26, 0x2d, 0xe8, 0x41, 0xd1, 0x5b, 0x5e, 0xde, 0xfb, 0xfd, 0x92, 0x3f, 0x8f, 0x4e, 0x13, - 0x55, 0xe8, 0x92, 0xc5, 0x5a, 0xad, 0xc4, 0x13, 0x5b, 0x09, 0x89, 0x49, 0xc6, 0x52, 0x44, 0xc3, - 0x78, 0x8e, 0xa9, 0x62, 0xc5, 0x84, 0x4b, 0x93, 0xf2, 0x71, 0x33, 0x01, 0x26, 0xd3, 0xa8, 0xfd, - 0x33, 0xb1, 0x41, 0xa1, 0xc1, 0xb2, 0xd0, 0x74, 0x1c, 0x0b, 0x35, 0x0b, 0x96, 0x85, 0x96, 0x1d, - 0x9c, 0xd4, 0x75, 0xa2, 0x50, 0xc4, 0x1c, 0x85, 0x56, 0xac, 0x18, 0x37, 0x52, 0xa3, 0xa5, 0x88, - 0x4b, 0x27, 0x3d, 0x7e, 0xf5, 0xe8, 0xde, 0xad, 0x95, 0x5c, 0x5b, 0xa3, 0x7f, 0x45, 0xbb, 0x6e, - 0xa0, 0x4f, 0x86, 0x64, 0xd4, 0x9b, 0x9c, 0x82, 0x7b, 0xf6, 0xbb, 0x0d, 0x5a, 0x1b, 0x2c, 0xec, - 0x70, 0xd8, 0x40, 0xfe, 0x0b, 0xa1, 0x47, 0xeb, 0x2d, 0x46, 0x3a, 0x47, 0x93, 0x63, 0x64, 0x78, - 0x29, 0x35, 0x7f, 0x8c, 0xa4, 0x76, 0xdc, 0xa6, 0xef, 0x0d, 0x3b, 0xa3, 0xde, 0x64, 0x09, 0xff, - 0x0a, 0x03, 0x5f, 0xbf, 0x08, 0x77, 0x5b, 0xbc, 0xb7, 0xfa, 0x85, 0xb3, 0xcf, 0x5b, 0xf9, 0x8d, - 0xc2, 0xac, 0x0c, 0x0f, 0xd7, 0x3f, 0xf5, 0x07, 0x73, 0x1a, 0xfc, 0x0e, 0xfb, 0xfb, 0xb4, 0xf3, - 0x9c, 0xb8, 0xec, 0xbb, 0x61, 0x7d, 0xf4, 0x0f, 0xe8, 0x4e, 0xc1, 0x65, 0x9e, 0xf4, 0x3d, 0x7b, - 0xe7, 0x8a, 0x4b, 0xef, 0x82, 0xcc, 0x66, 0x6f, 0x55, 0x40, 0xde, 0xab, 0x80, 0x7c, 0x54, 0x01, - 0x59, 0x4e, 0x5d, 0x22, 0xa1, 0x19, 0x37, 0x82, 0xfd, 0x71, 0xc3, 0x0f, 0x5d, 0xbb, 0x86, 0xf3, - 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xce, 0x7c, 0xfe, 0x70, 0x13, 0x02, 0x00, 0x00, -} 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 fee80f4f45b..87ce22a8f38 100644 --- a/envoy/config/filter/http/jwt_auth/v2alpha1/config.pb.go +++ b/envoy/config/filter/http/jwt_auth/v2alpha1/config.pb.go @@ -3,18 +3,25 @@ package v2alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Copied from @envoy/api/envoy/api/v2/core/http_uri.proto // Envoy external URI descriptor type HttpUri struct { @@ -36,13 +43,44 @@ type HttpUri struct { // *HttpUri_Cluster HttpUpstreamType isHttpUri_HttpUpstreamType `protobuf_oneof:"http_upstream_type"` // Sets the maximum duration in milliseconds that a response can take to arrive upon request. - Timeout *google_protobuf.Duration `protobuf:"bytes,3,opt,name=timeout" json:"timeout,omitempty"` + Timeout *types.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HttpUri) Reset() { *m = HttpUri{} } +func (m *HttpUri) String() string { return proto.CompactTextString(m) } +func (*HttpUri) ProtoMessage() {} +func (*HttpUri) Descriptor() ([]byte, []int) { + return fileDescriptor_7c36de3e06e3b641, []int{0} +} +func (m *HttpUri) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HttpUri) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HttpUri.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HttpUri) XXX_Merge(src proto.Message) { + xxx_messageInfo_HttpUri.Merge(m, src) +} +func (m *HttpUri) XXX_Size() int { + return m.Size() +} +func (m *HttpUri) XXX_DiscardUnknown() { + xxx_messageInfo_HttpUri.DiscardUnknown(m) } -func (m *HttpUri) Reset() { *m = HttpUri{} } -func (m *HttpUri) String() string { return proto.CompactTextString(m) } -func (*HttpUri) ProtoMessage() {} -func (*HttpUri) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0} } +var xxx_messageInfo_HttpUri proto.InternalMessageInfo type isHttpUri_HttpUpstreamType interface { isHttpUri_HttpUpstreamType() @@ -77,7 +115,7 @@ func (m *HttpUri) GetCluster() string { return "" } -func (m *HttpUri) GetTimeout() *google_protobuf.Duration { +func (m *HttpUri) GetTimeout() *types.Duration { if m != nil { return m.Timeout } @@ -125,7 +163,7 @@ func _HttpUri_OneofSizer(msg proto.Message) (n int) { // http_upstream_type switch x := m.HttpUpstreamType.(type) { case *HttpUri_Cluster: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Cluster))) n += len(x.Cluster) case nil: @@ -142,13 +180,44 @@ type DataSource struct { // *DataSource_Filename // *DataSource_InlineBytes // *DataSource_InlineString - Specifier isDataSource_Specifier `protobuf_oneof:"specifier"` + Specifier isDataSource_Specifier `protobuf_oneof:"specifier"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DataSource) Reset() { *m = DataSource{} } +func (m *DataSource) String() string { return proto.CompactTextString(m) } +func (*DataSource) ProtoMessage() {} +func (*DataSource) Descriptor() ([]byte, []int) { + return fileDescriptor_7c36de3e06e3b641, []int{1} +} +func (m *DataSource) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DataSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DataSource.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DataSource) XXX_Merge(src proto.Message) { + xxx_messageInfo_DataSource.Merge(m, src) +} +func (m *DataSource) XXX_Size() int { + return m.Size() +} +func (m *DataSource) XXX_DiscardUnknown() { + xxx_messageInfo_DataSource.DiscardUnknown(m) } -func (m *DataSource) Reset() { *m = DataSource{} } -func (m *DataSource) String() string { return proto.CompactTextString(m) } -func (*DataSource) ProtoMessage() {} -func (*DataSource) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{1} } +var xxx_messageInfo_DataSource proto.InternalMessageInfo type isDataSource_Specifier interface { isDataSource_Specifier() @@ -261,15 +330,15 @@ func _DataSource_OneofSizer(msg proto.Message) (n int) { // specifier switch x := m.Specifier.(type) { case *DataSource_Filename: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Filename))) n += len(x.Filename) case *DataSource_InlineBytes: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.InlineBytes))) n += len(x.InlineBytes) case *DataSource_InlineString: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.InlineString))) n += len(x.InlineString) case nil: @@ -320,7 +389,7 @@ type JwtRule struct { // - bookstore_android.apps.googleusercontent.com // bookstore_web.apps.googleusercontent.com // - Audiences []string `protobuf:"bytes,2,rep,name=audiences" json:"audiences,omitempty"` + Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"` // `JSON Web Key Set `_ is needed. to validate // signature of the JWT. This field specifies where to fetch JWKS. // @@ -342,7 +411,7 @@ type JwtRule struct { // // x-goog-iap-jwt-assertion: . // - FromHeaders []*JwtHeader `protobuf:"bytes,6,rep,name=from_headers,json=fromHeaders" json:"from_headers,omitempty"` + FromHeaders []*JwtHeader `protobuf:"bytes,6,rep,name=from_headers,json=fromHeaders,proto3" json:"from_headers,omitempty"` // JWT is sent in a query parameter. `jwt_params` represents the query parameter names. // // For example, if config is: @@ -356,7 +425,7 @@ type JwtRule struct { // // /path?jwt_token= // - FromParams []string `protobuf:"bytes,7,rep,name=from_params,json=fromParams" json:"from_params,omitempty"` + FromParams []string `protobuf:"bytes,7,rep,name=from_params,json=fromParams,proto3" json:"from_params,omitempty"` // This field specifies the header name to forward a successfully verified JWT payload to the // backend. The forwarded data is:: // @@ -367,13 +436,44 @@ type JwtRule struct { // same issuer will not be supported. Each issuer can config this `forward_payload_header`. If // multiple JWTs from different issuers want to forward their payloads, their // `forward_payload_header` should be different. - ForwardPayloadHeader string `protobuf:"bytes,8,opt,name=forward_payload_header,json=forwardPayloadHeader,proto3" json:"forward_payload_header,omitempty"` + ForwardPayloadHeader string `protobuf:"bytes,8,opt,name=forward_payload_header,json=forwardPayloadHeader,proto3" json:"forward_payload_header,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JwtRule) Reset() { *m = JwtRule{} } +func (m *JwtRule) String() string { return proto.CompactTextString(m) } +func (*JwtRule) ProtoMessage() {} +func (*JwtRule) Descriptor() ([]byte, []int) { + return fileDescriptor_7c36de3e06e3b641, []int{2} +} +func (m *JwtRule) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *JwtRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_JwtRule.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *JwtRule) XXX_Merge(src proto.Message) { + xxx_messageInfo_JwtRule.Merge(m, src) +} +func (m *JwtRule) XXX_Size() int { + return m.Size() +} +func (m *JwtRule) XXX_DiscardUnknown() { + xxx_messageInfo_JwtRule.DiscardUnknown(m) } -func (m *JwtRule) Reset() { *m = JwtRule{} } -func (m *JwtRule) String() string { return proto.CompactTextString(m) } -func (*JwtRule) ProtoMessage() {} -func (*JwtRule) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{2} } +var xxx_messageInfo_JwtRule proto.InternalMessageInfo type isJwtRule_JwksSourceSpecifier interface { isJwtRule_JwksSourceSpecifier() @@ -382,10 +482,10 @@ type isJwtRule_JwksSourceSpecifier interface { } type JwtRule_RemoteJwks struct { - RemoteJwks *RemoteJwks `protobuf:"bytes,3,opt,name=remote_jwks,json=remoteJwks,oneof"` + RemoteJwks *RemoteJwks `protobuf:"bytes,3,opt,name=remote_jwks,json=remoteJwks,proto3,oneof"` } type JwtRule_LocalJwks struct { - LocalJwks *DataSource `protobuf:"bytes,4,opt,name=local_jwks,json=localJwks,oneof"` + LocalJwks *DataSource `protobuf:"bytes,4,opt,name=local_jwks,json=localJwks,proto3,oneof"` } func (*JwtRule_RemoteJwks) isJwtRule_JwksSourceSpecifier() {} @@ -513,12 +613,12 @@ func _JwtRule_OneofSizer(msg proto.Message) (n int) { switch x := m.JwksSourceSpecifier.(type) { case *JwtRule_RemoteJwks: s := proto.Size(x.RemoteJwks) - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *JwtRule_LocalJwks: s := proto.Size(x.LocalJwks) - n += proto.SizeVarint(4<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -538,16 +638,47 @@ type RemoteJwks struct { // - uri: https://www.googleapis.com/oauth2/v1/certs // cluster: jwt.www.googleapis.com|443 // - HttpUri *HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri" json:"http_uri,omitempty"` + HttpUri *HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // Duration after which the cached JWKS should be expired. If not specified, default cache // duration is 5 minutes. - CacheDuration *google_protobuf.Duration `protobuf:"bytes,2,opt,name=cache_duration,json=cacheDuration" json:"cache_duration,omitempty"` + CacheDuration *types.Duration `protobuf:"bytes,2,opt,name=cache_duration,json=cacheDuration,proto3" json:"cache_duration,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoteJwks) Reset() { *m = RemoteJwks{} } +func (m *RemoteJwks) String() string { return proto.CompactTextString(m) } +func (*RemoteJwks) ProtoMessage() {} +func (*RemoteJwks) Descriptor() ([]byte, []int) { + return fileDescriptor_7c36de3e06e3b641, []int{3} +} +func (m *RemoteJwks) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RemoteJwks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RemoteJwks.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RemoteJwks) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoteJwks.Merge(m, src) +} +func (m *RemoteJwks) XXX_Size() int { + return m.Size() +} +func (m *RemoteJwks) XXX_DiscardUnknown() { + xxx_messageInfo_RemoteJwks.DiscardUnknown(m) } -func (m *RemoteJwks) Reset() { *m = RemoteJwks{} } -func (m *RemoteJwks) String() string { return proto.CompactTextString(m) } -func (*RemoteJwks) ProtoMessage() {} -func (*RemoteJwks) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{3} } +var xxx_messageInfo_RemoteJwks proto.InternalMessageInfo func (m *RemoteJwks) GetHttpUri() *HttpUri { if m != nil { @@ -556,7 +687,7 @@ func (m *RemoteJwks) GetHttpUri() *HttpUri { return nil } -func (m *RemoteJwks) GetCacheDuration() *google_protobuf.Duration { +func (m *RemoteJwks) GetCacheDuration() *types.Duration { if m != nil { return m.CacheDuration } @@ -570,13 +701,44 @@ type JwtHeader struct { // The value prefix. The value format is "value_prefix" // For example, for "Authorization: Bearer ", value_prefix="Bearer " with a space at the // end. - ValuePrefix string `protobuf:"bytes,2,opt,name=value_prefix,json=valuePrefix,proto3" json:"value_prefix,omitempty"` + ValuePrefix string `protobuf:"bytes,2,opt,name=value_prefix,json=valuePrefix,proto3" json:"value_prefix,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JwtHeader) Reset() { *m = JwtHeader{} } +func (m *JwtHeader) String() string { return proto.CompactTextString(m) } +func (*JwtHeader) ProtoMessage() {} +func (*JwtHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_7c36de3e06e3b641, []int{4} +} +func (m *JwtHeader) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *JwtHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_JwtHeader.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *JwtHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_JwtHeader.Merge(m, src) +} +func (m *JwtHeader) XXX_Size() int { + return m.Size() +} +func (m *JwtHeader) XXX_DiscardUnknown() { + xxx_messageInfo_JwtHeader.DiscardUnknown(m) } -func (m *JwtHeader) Reset() { *m = JwtHeader{} } -func (m *JwtHeader) String() string { return proto.CompactTextString(m) } -func (*JwtHeader) ProtoMessage() {} -func (*JwtHeader) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{4} } +var xxx_messageInfo_JwtHeader proto.InternalMessageInfo func (m *JwtHeader) GetName() string { if m != nil { @@ -596,16 +758,47 @@ func (m *JwtHeader) GetValuePrefix() string { // [#not-implemented-hide:] type JwtAuthentication struct { // List of JWT rules to valide. - Rules []*JwtRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"` + Rules []*JwtRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` // If true, the request is allowed if JWT is missing or JWT verification fails. // Default is false, a request without JWT or failed JWT verification is not allowed. - AllowMissingOrFailed bool `protobuf:"varint,2,opt,name=allow_missing_or_failed,json=allowMissingOrFailed,proto3" json:"allow_missing_or_failed,omitempty"` + AllowMissingOrFailed bool `protobuf:"varint,2,opt,name=allow_missing_or_failed,json=allowMissingOrFailed,proto3" json:"allow_missing_or_failed,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JwtAuthentication) Reset() { *m = JwtAuthentication{} } +func (m *JwtAuthentication) String() string { return proto.CompactTextString(m) } +func (*JwtAuthentication) ProtoMessage() {} +func (*JwtAuthentication) Descriptor() ([]byte, []int) { + return fileDescriptor_7c36de3e06e3b641, []int{5} +} +func (m *JwtAuthentication) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *JwtAuthentication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_JwtAuthentication.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *JwtAuthentication) XXX_Merge(src proto.Message) { + xxx_messageInfo_JwtAuthentication.Merge(m, src) +} +func (m *JwtAuthentication) XXX_Size() int { + return m.Size() +} +func (m *JwtAuthentication) XXX_DiscardUnknown() { + xxx_messageInfo_JwtAuthentication.DiscardUnknown(m) } -func (m *JwtAuthentication) Reset() { *m = JwtAuthentication{} } -func (m *JwtAuthentication) String() string { return proto.CompactTextString(m) } -func (*JwtAuthentication) ProtoMessage() {} -func (*JwtAuthentication) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{5} } +var xxx_messageInfo_JwtAuthentication proto.InternalMessageInfo func (m *JwtAuthentication) GetRules() []*JwtRule { if m != nil { @@ -629,6 +822,58 @@ func init() { proto.RegisterType((*JwtHeader)(nil), "istio.envoy.config.filter.http.jwt_auth.v2alpha1.JwtHeader") proto.RegisterType((*JwtAuthentication)(nil), "istio.envoy.config.filter.http.jwt_auth.v2alpha1.JwtAuthentication") } + +func init() { + proto.RegisterFile("envoy/config/filter/http/jwt_auth/v2alpha1/config.proto", fileDescriptor_7c36de3e06e3b641) +} + +var fileDescriptor_7c36de3e06e3b641 = []byte{ + // 678 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xc1, 0x6e, 0xd3, 0x4a, + 0x14, 0x8d, 0x5f, 0xda, 0x26, 0xb9, 0x4e, 0x9f, 0xde, 0x1b, 0x95, 0xd6, 0x54, 0x55, 0x08, 0x41, + 0x48, 0x59, 0xd9, 0x90, 0x82, 0xaa, 0x0a, 0x16, 0x10, 0x15, 0x14, 0x45, 0x42, 0xad, 0xa6, 0xb0, + 0x41, 0x82, 0xd1, 0xd4, 0x19, 0x27, 0xd3, 0x8e, 0x3d, 0xd6, 0xcc, 0xb8, 0x26, 0x5b, 0xf8, 0x0c, + 0xb6, 0x7c, 0x0c, 0x4b, 0x3e, 0x01, 0x75, 0xc7, 0x5f, 0x20, 0x8f, 0xed, 0x66, 0x87, 0x68, 0x77, + 0x73, 0xcf, 0x9d, 0x7b, 0xee, 0xf1, 0xb9, 0x73, 0x0d, 0x07, 0x2c, 0xb9, 0x94, 0xcb, 0x20, 0x94, + 0x49, 0xc4, 0xe7, 0x41, 0xc4, 0x85, 0x61, 0x2a, 0x58, 0x18, 0x93, 0x06, 0xe7, 0xb9, 0x21, 0x34, + 0x33, 0x8b, 0xe0, 0x72, 0x44, 0x45, 0xba, 0xa0, 0x8f, 0xab, 0x4b, 0x7e, 0xaa, 0xa4, 0x91, 0xe8, + 0x11, 0xd7, 0x86, 0x4b, 0xdf, 0x96, 0xfb, 0x55, 0xa6, 0x2c, 0xf7, 0x8b, 0x72, 0xbf, 0x2e, 0xf7, + 0xeb, 0xf2, 0xdd, 0xde, 0x5c, 0xca, 0xb9, 0x60, 0x81, 0xad, 0x3f, 0xcb, 0xa2, 0x60, 0x96, 0x29, + 0x6a, 0xb8, 0x4c, 0x4a, 0xc6, 0xc1, 0x67, 0x07, 0x5a, 0x13, 0x63, 0xd2, 0x77, 0x8a, 0xa3, 0xff, + 0xa0, 0x99, 0x29, 0xee, 0x39, 0x7d, 0x67, 0xd8, 0xc1, 0xc5, 0x11, 0xed, 0x42, 0x2b, 0x14, 0x99, + 0x36, 0x4c, 0x79, 0xff, 0x14, 0xe8, 0xa4, 0x81, 0x6b, 0x00, 0xed, 0x43, 0xcb, 0xf0, 0x98, 0xc9, + 0xcc, 0x78, 0xcd, 0xbe, 0x33, 0x74, 0x47, 0x77, 0xfd, 0xb2, 0x97, 0x5f, 0xf7, 0xf2, 0x8f, 0xaa, + 0x5e, 0xb8, 0xbe, 0x39, 0xde, 0x02, 0x54, 0x08, 0x25, 0x59, 0xaa, 0x8d, 0x62, 0x34, 0x26, 0x66, + 0x99, 0xb2, 0xc1, 0x17, 0x07, 0xe0, 0x88, 0x1a, 0x7a, 0x2a, 0x33, 0x15, 0x32, 0xb4, 0x07, 0xed, + 0x88, 0x0b, 0x96, 0xd0, 0x98, 0x95, 0x62, 0x26, 0x0d, 0x7c, 0x8d, 0xa0, 0x07, 0xd0, 0xe5, 0x89, + 0xe0, 0x09, 0x23, 0x67, 0x4b, 0xc3, 0xb4, 0x15, 0xd6, 0x9d, 0x34, 0xb0, 0x5b, 0xa2, 0xe3, 0x02, + 0x44, 0x0f, 0x61, 0xb3, 0xba, 0xa4, 0x8d, 0xe2, 0xc9, 0xdc, 0x4a, 0x2c, 0x78, 0xaa, 0xda, 0x53, + 0x8b, 0x8e, 0x5d, 0xe8, 0xe8, 0x94, 0x85, 0x3c, 0xe2, 0x4c, 0x0d, 0x7e, 0x35, 0xa1, 0x35, 0xcd, + 0x0d, 0xce, 0x04, 0x43, 0xdb, 0xb0, 0xc1, 0xb5, 0xce, 0x98, 0xaa, 0xdc, 0xa8, 0x22, 0xb4, 0x07, + 0x1d, 0x9a, 0xcd, 0x38, 0x4b, 0x42, 0xdb, 0xb9, 0x39, 0xec, 0xe0, 0x15, 0x80, 0x08, 0xb8, 0x8a, + 0xc5, 0xd2, 0x30, 0x72, 0x9e, 0x5f, 0xe8, 0xca, 0x96, 0xe7, 0xfe, 0x4d, 0x87, 0xe6, 0x63, 0x4b, + 0x32, 0xcd, 0x2f, 0xf4, 0xa4, 0x81, 0x41, 0x5d, 0x47, 0xe8, 0x03, 0x80, 0x90, 0x21, 0x15, 0x25, + 0xff, 0xda, 0x6d, 0xf9, 0x57, 0x5e, 0x4f, 0x1a, 0xb8, 0x63, 0x19, 0x2d, 0xbd, 0x07, 0xad, 0x48, + 0xaa, 0x9c, 0xaa, 0x99, 0xb7, 0xde, 0x77, 0x86, 0x6d, 0x5c, 0x87, 0xe8, 0x23, 0x74, 0x23, 0x25, + 0x63, 0xb2, 0x60, 0x74, 0xc6, 0x94, 0xf6, 0x36, 0xfa, 0xcd, 0xa1, 0x3b, 0x7a, 0x76, 0xf3, 0xd6, + 0xd3, 0xdc, 0x4c, 0x2c, 0x07, 0x76, 0x0b, 0xc2, 0xf2, 0xac, 0xd1, 0x3d, 0xb0, 0x21, 0x49, 0xa9, + 0xa2, 0xb1, 0xf6, 0x5a, 0xd6, 0x59, 0x28, 0xa0, 0x13, 0x8b, 0xa0, 0x27, 0xb0, 0x5d, 0x69, 0x21, + 0x29, 0x5d, 0x0a, 0x49, 0x67, 0x95, 0x16, 0xaf, 0x6d, 0x07, 0xb4, 0x55, 0x65, 0x4f, 0xca, 0x64, + 0xc9, 0x3b, 0xde, 0x81, 0x3b, 0x85, 0x53, 0x44, 0xdb, 0x8f, 0x25, 0xab, 0x59, 0x7f, 0x73, 0x00, + 0x56, 0x2e, 0xa3, 0xb7, 0xd0, 0x2e, 0x9f, 0x65, 0xf5, 0xfc, 0xdd, 0xd1, 0xe1, 0xcd, 0x3f, 0xad, + 0x5a, 0x23, 0xdc, 0x5a, 0x54, 0xfb, 0xf4, 0x02, 0xfe, 0x0d, 0x69, 0xb8, 0x60, 0xa4, 0xde, 0x39, + 0xfb, 0x56, 0xff, 0xb8, 0x28, 0x9b, 0xb6, 0xa0, 0x0e, 0x07, 0x63, 0xe8, 0x5c, 0x1b, 0x86, 0x10, + 0xac, 0xad, 0x56, 0x02, 0xdb, 0x33, 0xba, 0x0f, 0xdd, 0x4b, 0x2a, 0x32, 0x46, 0x52, 0xc5, 0x22, + 0xfe, 0xa9, 0xdc, 0x52, 0xec, 0x5a, 0xec, 0xc4, 0x42, 0x83, 0xaf, 0x0e, 0xfc, 0x3f, 0xcd, 0xcd, + 0xcb, 0xcc, 0x2c, 0x58, 0x62, 0x78, 0x68, 0x99, 0xd1, 0x31, 0xac, 0xab, 0x4c, 0x30, 0xed, 0x39, + 0x76, 0x92, 0x87, 0xb7, 0x9a, 0x64, 0xb1, 0x2a, 0xb8, 0xe4, 0x41, 0x4f, 0x61, 0x87, 0x0a, 0x21, + 0x73, 0x12, 0x73, 0xad, 0x79, 0x32, 0x27, 0x52, 0x91, 0x88, 0x72, 0xc1, 0x66, 0x56, 0x54, 0x1b, + 0x6f, 0xd9, 0xf4, 0x9b, 0x32, 0x7b, 0xac, 0x5e, 0xdb, 0xdc, 0xf8, 0xd5, 0xf7, 0xab, 0x9e, 0xf3, + 0xe3, 0xaa, 0xe7, 0xfc, 0xbc, 0xea, 0x39, 0xef, 0x0f, 0x4a, 0x15, 0x5c, 0x06, 0x34, 0xe5, 0xc1, + 0xdf, 0xff, 0x25, 0xcf, 0x36, 0xac, 0x95, 0xfb, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x4f, + 0x9e, 0x6b, 0x5a, 0x05, 0x00, 0x00, +} + func (m *HttpUri) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -667,6 +912,9 @@ func (m *HttpUri) MarshalTo(dAtA []byte) (int, error) { } i += n2 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -700,6 +948,9 @@ func (m *DataSource) MarshalTo(dAtA []byte) (int, error) { } i += nn3 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -815,6 +1066,9 @@ func (m *JwtRule) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintConfig(dAtA, i, uint64(len(m.ForwardPayloadHeader))) i += copy(dAtA[i:], m.ForwardPayloadHeader) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -881,6 +1135,9 @@ func (m *RemoteJwks) MarshalTo(dAtA []byte) (int, error) { } i += n8 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -911,6 +1168,9 @@ func (m *JwtHeader) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintConfig(dAtA, i, uint64(len(m.ValuePrefix))) i += copy(dAtA[i:], m.ValuePrefix) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -951,6 +1211,9 @@ func (m *JwtAuthentication) MarshalTo(dAtA []byte) (int, error) { } i++ } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -964,6 +1227,9 @@ func encodeVarintConfig(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *HttpUri) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Uri) @@ -977,10 +1243,16 @@ func (m *HttpUri) Size() (n int) { l = m.Timeout.Size() n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HttpUri_Cluster) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Cluster) @@ -988,15 +1260,24 @@ func (m *HttpUri_Cluster) Size() (n int) { return n } func (m *DataSource) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Specifier != nil { n += m.Specifier.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *DataSource_Filename) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Filename) @@ -1004,6 +1285,9 @@ func (m *DataSource_Filename) Size() (n int) { return n } func (m *DataSource_InlineBytes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.InlineBytes != nil { @@ -1013,6 +1297,9 @@ func (m *DataSource_InlineBytes) Size() (n int) { return n } func (m *DataSource_InlineString) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.InlineString) @@ -1020,6 +1307,9 @@ func (m *DataSource_InlineString) Size() (n int) { return n } func (m *JwtRule) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Issuer) @@ -1054,10 +1344,16 @@ func (m *JwtRule) Size() (n int) { if l > 0 { n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *JwtRule_RemoteJwks) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.RemoteJwks != nil { @@ -1067,6 +1363,9 @@ func (m *JwtRule_RemoteJwks) Size() (n int) { return n } func (m *JwtRule_LocalJwks) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.LocalJwks != nil { @@ -1076,6 +1375,9 @@ func (m *JwtRule_LocalJwks) Size() (n int) { return n } func (m *RemoteJwks) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.HttpUri != nil { @@ -1086,10 +1388,16 @@ func (m *RemoteJwks) Size() (n int) { l = m.CacheDuration.Size() n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *JwtHeader) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -1100,10 +1408,16 @@ func (m *JwtHeader) Size() (n int) { if l > 0 { n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *JwtAuthentication) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Rules) > 0 { @@ -1115,6 +1429,9 @@ func (m *JwtAuthentication) Size() (n int) { if m.AllowMissingOrFailed { n += 2 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -1146,7 +1463,7 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1174,7 +1491,7 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1184,6 +1501,9 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1203,7 +1523,7 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1213,6 +1533,9 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1232,7 +1555,7 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1241,11 +1564,14 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Timeout == nil { - m.Timeout = &google_protobuf.Duration{} + m.Timeout = &types.Duration{} } if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1260,9 +1586,13 @@ func (m *HttpUri) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1287,7 +1617,7 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1315,7 +1645,7 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1325,6 +1655,9 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1344,7 +1677,7 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= (int(b) & 0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1353,6 +1686,9 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1374,7 +1710,7 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1384,6 +1720,9 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1398,9 +1737,13 @@ func (m *DataSource) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1425,7 +1768,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1453,7 +1796,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1463,6 +1806,9 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1482,7 +1828,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1492,6 +1838,9 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1511,7 +1860,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1520,6 +1869,9 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1543,7 +1895,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1552,6 +1904,9 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1575,7 +1930,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1595,7 +1950,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1604,6 +1959,9 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1626,7 +1984,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1636,6 +1994,9 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1655,7 +2016,7 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1665,6 +2026,9 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1679,9 +2043,13 @@ func (m *JwtRule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1706,7 +2074,7 @@ func (m *RemoteJwks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1734,7 +2102,7 @@ func (m *RemoteJwks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1743,6 +2111,9 @@ func (m *RemoteJwks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1767,7 +2138,7 @@ func (m *RemoteJwks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1776,11 +2147,14 @@ func (m *RemoteJwks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.CacheDuration == nil { - m.CacheDuration = &google_protobuf.Duration{} + m.CacheDuration = &types.Duration{} } if err := m.CacheDuration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1795,9 +2169,13 @@ func (m *RemoteJwks) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1822,7 +2200,7 @@ func (m *JwtHeader) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1850,7 +2228,7 @@ func (m *JwtHeader) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1860,6 +2238,9 @@ func (m *JwtHeader) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1879,7 +2260,7 @@ func (m *JwtHeader) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1889,6 +2270,9 @@ func (m *JwtHeader) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1903,9 +2287,13 @@ func (m *JwtHeader) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1930,7 +2318,7 @@ func (m *JwtAuthentication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1958,7 +2346,7 @@ func (m *JwtAuthentication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1967,6 +2355,9 @@ func (m *JwtAuthentication) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1989,7 +2380,7 @@ func (m *JwtAuthentication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2004,9 +2395,13 @@ func (m *JwtAuthentication) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2070,10 +2465,13 @@ func skipConfig(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthConfig } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } return iNdEx, nil case 3: for { @@ -2102,6 +2500,9 @@ func skipConfig(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } } return iNdEx, nil case 4: @@ -2120,54 +2521,3 @@ var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("envoy/config/filter/http/jwt_auth/v2alpha1/config.proto", fileDescriptorConfig) -} - -var fileDescriptorConfig = []byte{ - // 678 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xc1, 0x6e, 0xd3, 0x4a, - 0x14, 0x8d, 0x5f, 0xda, 0x26, 0xb9, 0x4e, 0x9f, 0xde, 0x1b, 0x95, 0xd6, 0x54, 0x55, 0x08, 0x41, - 0x48, 0x59, 0xd9, 0x90, 0x82, 0xaa, 0x0a, 0x16, 0x10, 0x15, 0x14, 0x45, 0x42, 0xad, 0xa6, 0xb0, - 0x41, 0x82, 0xd1, 0xd4, 0x19, 0x27, 0xd3, 0x8e, 0x3d, 0xd6, 0xcc, 0xb8, 0x26, 0x5b, 0xf8, 0x0c, - 0xb6, 0x7c, 0x0c, 0x4b, 0x3e, 0x01, 0x75, 0xc7, 0x5f, 0x20, 0x8f, 0xed, 0x66, 0x87, 0x68, 0x77, - 0x73, 0xcf, 0x9d, 0x7b, 0xee, 0xf1, 0xb9, 0x73, 0x0d, 0x07, 0x2c, 0xb9, 0x94, 0xcb, 0x20, 0x94, - 0x49, 0xc4, 0xe7, 0x41, 0xc4, 0x85, 0x61, 0x2a, 0x58, 0x18, 0x93, 0x06, 0xe7, 0xb9, 0x21, 0x34, - 0x33, 0x8b, 0xe0, 0x72, 0x44, 0x45, 0xba, 0xa0, 0x8f, 0xab, 0x4b, 0x7e, 0xaa, 0xa4, 0x91, 0xe8, - 0x11, 0xd7, 0x86, 0x4b, 0xdf, 0x96, 0xfb, 0x55, 0xa6, 0x2c, 0xf7, 0x8b, 0x72, 0xbf, 0x2e, 0xf7, - 0xeb, 0xf2, 0xdd, 0xde, 0x5c, 0xca, 0xb9, 0x60, 0x81, 0xad, 0x3f, 0xcb, 0xa2, 0x60, 0x96, 0x29, - 0x6a, 0xb8, 0x4c, 0x4a, 0xc6, 0xc1, 0x67, 0x07, 0x5a, 0x13, 0x63, 0xd2, 0x77, 0x8a, 0xa3, 0xff, - 0xa0, 0x99, 0x29, 0xee, 0x39, 0x7d, 0x67, 0xd8, 0xc1, 0xc5, 0x11, 0xed, 0x42, 0x2b, 0x14, 0x99, - 0x36, 0x4c, 0x79, 0xff, 0x14, 0xe8, 0xa4, 0x81, 0x6b, 0x00, 0xed, 0x43, 0xcb, 0xf0, 0x98, 0xc9, - 0xcc, 0x78, 0xcd, 0xbe, 0x33, 0x74, 0x47, 0x77, 0xfd, 0xb2, 0x97, 0x5f, 0xf7, 0xf2, 0x8f, 0xaa, - 0x5e, 0xb8, 0xbe, 0x39, 0xde, 0x02, 0x54, 0x08, 0x25, 0x59, 0xaa, 0x8d, 0x62, 0x34, 0x26, 0x66, - 0x99, 0xb2, 0xc1, 0x17, 0x07, 0xe0, 0x88, 0x1a, 0x7a, 0x2a, 0x33, 0x15, 0x32, 0xb4, 0x07, 0xed, - 0x88, 0x0b, 0x96, 0xd0, 0x98, 0x95, 0x62, 0x26, 0x0d, 0x7c, 0x8d, 0xa0, 0x07, 0xd0, 0xe5, 0x89, - 0xe0, 0x09, 0x23, 0x67, 0x4b, 0xc3, 0xb4, 0x15, 0xd6, 0x9d, 0x34, 0xb0, 0x5b, 0xa2, 0xe3, 0x02, - 0x44, 0x0f, 0x61, 0xb3, 0xba, 0xa4, 0x8d, 0xe2, 0xc9, 0xdc, 0x4a, 0x2c, 0x78, 0xaa, 0xda, 0x53, - 0x8b, 0x8e, 0x5d, 0xe8, 0xe8, 0x94, 0x85, 0x3c, 0xe2, 0x4c, 0x0d, 0x7e, 0x35, 0xa1, 0x35, 0xcd, - 0x0d, 0xce, 0x04, 0x43, 0xdb, 0xb0, 0xc1, 0xb5, 0xce, 0x98, 0xaa, 0xdc, 0xa8, 0x22, 0xb4, 0x07, - 0x1d, 0x9a, 0xcd, 0x38, 0x4b, 0x42, 0xdb, 0xb9, 0x39, 0xec, 0xe0, 0x15, 0x80, 0x08, 0xb8, 0x8a, - 0xc5, 0xd2, 0x30, 0x72, 0x9e, 0x5f, 0xe8, 0xca, 0x96, 0xe7, 0xfe, 0x4d, 0x87, 0xe6, 0x63, 0x4b, - 0x32, 0xcd, 0x2f, 0xf4, 0xa4, 0x81, 0x41, 0x5d, 0x47, 0xe8, 0x03, 0x80, 0x90, 0x21, 0x15, 0x25, - 0xff, 0xda, 0x6d, 0xf9, 0x57, 0x5e, 0x4f, 0x1a, 0xb8, 0x63, 0x19, 0x2d, 0xbd, 0x07, 0xad, 0x48, - 0xaa, 0x9c, 0xaa, 0x99, 0xb7, 0xde, 0x77, 0x86, 0x6d, 0x5c, 0x87, 0xe8, 0x23, 0x74, 0x23, 0x25, - 0x63, 0xb2, 0x60, 0x74, 0xc6, 0x94, 0xf6, 0x36, 0xfa, 0xcd, 0xa1, 0x3b, 0x7a, 0x76, 0xf3, 0xd6, - 0xd3, 0xdc, 0x4c, 0x2c, 0x07, 0x76, 0x0b, 0xc2, 0xf2, 0xac, 0xd1, 0x3d, 0xb0, 0x21, 0x49, 0xa9, - 0xa2, 0xb1, 0xf6, 0x5a, 0xd6, 0x59, 0x28, 0xa0, 0x13, 0x8b, 0xa0, 0x27, 0xb0, 0x5d, 0x69, 0x21, - 0x29, 0x5d, 0x0a, 0x49, 0x67, 0x95, 0x16, 0xaf, 0x6d, 0x07, 0xb4, 0x55, 0x65, 0x4f, 0xca, 0x64, - 0xc9, 0x3b, 0xde, 0x81, 0x3b, 0x85, 0x53, 0x44, 0xdb, 0x8f, 0x25, 0xab, 0x59, 0x7f, 0x73, 0x00, - 0x56, 0x2e, 0xa3, 0xb7, 0xd0, 0x2e, 0x9f, 0x65, 0xf5, 0xfc, 0xdd, 0xd1, 0xe1, 0xcd, 0x3f, 0xad, - 0x5a, 0x23, 0xdc, 0x5a, 0x54, 0xfb, 0xf4, 0x02, 0xfe, 0x0d, 0x69, 0xb8, 0x60, 0xa4, 0xde, 0x39, - 0xfb, 0x56, 0xff, 0xb8, 0x28, 0x9b, 0xb6, 0xa0, 0x0e, 0x07, 0x63, 0xe8, 0x5c, 0x1b, 0x86, 0x10, - 0xac, 0xad, 0x56, 0x02, 0xdb, 0x33, 0xba, 0x0f, 0xdd, 0x4b, 0x2a, 0x32, 0x46, 0x52, 0xc5, 0x22, - 0xfe, 0xa9, 0xdc, 0x52, 0xec, 0x5a, 0xec, 0xc4, 0x42, 0x83, 0xaf, 0x0e, 0xfc, 0x3f, 0xcd, 0xcd, - 0xcb, 0xcc, 0x2c, 0x58, 0x62, 0x78, 0x68, 0x99, 0xd1, 0x31, 0xac, 0xab, 0x4c, 0x30, 0xed, 0x39, - 0x76, 0x92, 0x87, 0xb7, 0x9a, 0x64, 0xb1, 0x2a, 0xb8, 0xe4, 0x41, 0x4f, 0x61, 0x87, 0x0a, 0x21, - 0x73, 0x12, 0x73, 0xad, 0x79, 0x32, 0x27, 0x52, 0x91, 0x88, 0x72, 0xc1, 0x66, 0x56, 0x54, 0x1b, - 0x6f, 0xd9, 0xf4, 0x9b, 0x32, 0x7b, 0xac, 0x5e, 0xdb, 0xdc, 0xf8, 0xd5, 0xf7, 0xab, 0x9e, 0xf3, - 0xe3, 0xaa, 0xe7, 0xfc, 0xbc, 0xea, 0x39, 0xef, 0x0f, 0x4a, 0x15, 0x5c, 0x06, 0x34, 0xe5, 0xc1, - 0xdf, 0xff, 0x25, 0xcf, 0x36, 0xac, 0x95, 0xfb, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x4f, - 0x9e, 0x6b, 0x5a, 0x05, 0x00, 0x00, -} diff --git a/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto b/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto index 43b07be768a..477be41f756 100644 --- a/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto +++ b/envoy/config/filter/http/jwt_auth/v2alpha1/config.proto @@ -14,10 +14,10 @@ syntax = "proto3"; -package istio.envoy.config.filter.http.jwt_auth.v2alpha1; - import "google/protobuf/duration.proto"; +package istio.envoy.config.filter.http.jwt_auth.v2alpha1; + option go_package = "istio.io/api/envoy/config/filter/http/jwt_auth/v2alpha1"; // Copied from @envoy/api/envoy/api/v2/core/http_uri.proto diff --git a/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.pb.go b/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.pb.go index 8240044eaf7..f0e9caa049c 100644 --- a/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.pb.go +++ b/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.pb.go @@ -3,29 +3,67 @@ package v2alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // TcpClusterRewrite is the config for the TCP cluster rewrite filter. type TcpClusterRewrite struct { // Specifies the regex pattern to be matched in the cluster name. ClusterPattern string `protobuf:"bytes,1,opt,name=cluster_pattern,json=clusterPattern,proto3" json:"cluster_pattern,omitempty"` // Specifies the replacement for the matched cluster pattern. - ClusterReplacement string `protobuf:"bytes,2,opt,name=cluster_replacement,json=clusterReplacement,proto3" json:"cluster_replacement,omitempty"` + ClusterReplacement string `protobuf:"bytes,2,opt,name=cluster_replacement,json=clusterReplacement,proto3" json:"cluster_replacement,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *TcpClusterRewrite) Reset() { *m = TcpClusterRewrite{} } -func (m *TcpClusterRewrite) String() string { return proto.CompactTextString(m) } -func (*TcpClusterRewrite) ProtoMessage() {} -func (*TcpClusterRewrite) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0} } +func (m *TcpClusterRewrite) Reset() { *m = TcpClusterRewrite{} } +func (m *TcpClusterRewrite) String() string { return proto.CompactTextString(m) } +func (*TcpClusterRewrite) ProtoMessage() {} +func (*TcpClusterRewrite) Descriptor() ([]byte, []int) { + return fileDescriptor_3df0613c72936227, []int{0} +} +func (m *TcpClusterRewrite) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TcpClusterRewrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TcpClusterRewrite.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TcpClusterRewrite) XXX_Merge(src proto.Message) { + xxx_messageInfo_TcpClusterRewrite.Merge(m, src) +} +func (m *TcpClusterRewrite) XXX_Size() int { + return m.Size() +} +func (m *TcpClusterRewrite) XXX_DiscardUnknown() { + xxx_messageInfo_TcpClusterRewrite.DiscardUnknown(m) +} + +var xxx_messageInfo_TcpClusterRewrite proto.InternalMessageInfo func (m *TcpClusterRewrite) GetClusterPattern() string { if m != nil { @@ -44,6 +82,29 @@ func (m *TcpClusterRewrite) GetClusterReplacement() string { func init() { proto.RegisterType((*TcpClusterRewrite)(nil), "istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1.TcpClusterRewrite") } + +func init() { + proto.RegisterFile("envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto", fileDescriptor_3df0613c72936227) +} + +var fileDescriptor_3df0613c72936227 = []byte{ + // 213 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcd, 0x2b, 0xcb, + 0xaf, 0xd4, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x4f, 0xcb, 0xcc, 0x29, 0x49, 0x2d, 0xd2, + 0xcf, 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0xd6, 0x2f, 0x49, 0x2e, 0x88, 0x4f, 0xce, 0x29, 0x2d, + 0x2e, 0x49, 0x2d, 0x8a, 0x2f, 0x4a, 0x2d, 0x2f, 0xca, 0x2c, 0x49, 0xd5, 0x2f, 0x33, 0x4a, 0xcc, + 0x29, 0xc8, 0x48, 0x34, 0x84, 0x6a, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xb2, 0xcb, 0x2c, + 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0x1b, 0xa6, 0x07, 0x95, 0x81, 0x18, 0xa6, 0x07, 0x35, 0x4c, 0x0f, + 0x8b, 0x61, 0x7a, 0x30, 0xc3, 0x94, 0x72, 0xb9, 0x04, 0x43, 0x92, 0x0b, 0x9c, 0x21, 0xd2, 0x41, + 0x10, 0x59, 0x21, 0x75, 0x2e, 0x7e, 0x98, 0x86, 0x82, 0xc4, 0x92, 0x92, 0xd4, 0xa2, 0x3c, 0x09, + 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x3e, 0xa8, 0x70, 0x00, 0x44, 0x54, 0x48, 0x9f, 0x4b, 0x18, + 0x61, 0x72, 0x41, 0x4e, 0x62, 0x72, 0x6a, 0x6e, 0x6a, 0x5e, 0x89, 0x04, 0x13, 0x58, 0xb1, 0x50, + 0x32, 0xcc, 0x54, 0xb8, 0x8c, 0x53, 0xf0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, + 0x78, 0x24, 0xc7, 0x18, 0xe5, 0x0a, 0x71, 0x7c, 0x66, 0xbe, 0x7e, 0x62, 0x41, 0xa6, 0x3e, 0xb9, + 0x01, 0x92, 0xc4, 0x06, 0x0e, 0x0a, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x0d, 0xa4, + 0x2b, 0x53, 0x01, 0x00, 0x00, +} + func (m *TcpClusterRewrite) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -71,6 +132,9 @@ func (m *TcpClusterRewrite) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintConfig(dAtA, i, uint64(len(m.ClusterReplacement))) i += copy(dAtA[i:], m.ClusterReplacement) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -84,6 +148,9 @@ func encodeVarintConfig(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *TcpClusterRewrite) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.ClusterPattern) @@ -94,6 +161,9 @@ func (m *TcpClusterRewrite) Size() (n int) { if l > 0 { n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -125,7 +195,7 @@ func (m *TcpClusterRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -153,7 +223,7 @@ func (m *TcpClusterRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -163,6 +233,9 @@ func (m *TcpClusterRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -182,7 +255,7 @@ func (m *TcpClusterRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -192,6 +265,9 @@ func (m *TcpClusterRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -206,9 +282,13 @@ func (m *TcpClusterRewrite) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -272,10 +352,13 @@ func skipConfig(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthConfig } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } return iNdEx, nil case 3: for { @@ -304,6 +387,9 @@ func skipConfig(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } } return iNdEx, nil case 4: @@ -322,25 +408,3 @@ var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto", fileDescriptorConfig) -} - -var fileDescriptorConfig = []byte{ - // 213 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcd, 0x2b, 0xcb, - 0xaf, 0xd4, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x4f, 0xcb, 0xcc, 0x29, 0x49, 0x2d, 0xd2, - 0xcf, 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0xd6, 0x2f, 0x49, 0x2e, 0x88, 0x4f, 0xce, 0x29, 0x2d, - 0x2e, 0x49, 0x2d, 0x8a, 0x2f, 0x4a, 0x2d, 0x2f, 0xca, 0x2c, 0x49, 0xd5, 0x2f, 0x33, 0x4a, 0xcc, - 0x29, 0xc8, 0x48, 0x34, 0x84, 0x6a, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xb2, 0xcb, 0x2c, - 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0x1b, 0xa6, 0x07, 0x95, 0x81, 0x18, 0xa6, 0x07, 0x35, 0x4c, 0x0f, - 0x8b, 0x61, 0x7a, 0x30, 0xc3, 0x94, 0x72, 0xb9, 0x04, 0x43, 0x92, 0x0b, 0x9c, 0x21, 0xd2, 0x41, - 0x10, 0x59, 0x21, 0x75, 0x2e, 0x7e, 0x98, 0x86, 0x82, 0xc4, 0x92, 0x92, 0xd4, 0xa2, 0x3c, 0x09, - 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x3e, 0xa8, 0x70, 0x00, 0x44, 0x54, 0x48, 0x9f, 0x4b, 0x18, - 0x61, 0x72, 0x41, 0x4e, 0x62, 0x72, 0x6a, 0x6e, 0x6a, 0x5e, 0x89, 0x04, 0x13, 0x58, 0xb1, 0x50, - 0x32, 0xcc, 0x54, 0xb8, 0x8c, 0x53, 0xf0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, - 0x78, 0x24, 0xc7, 0x18, 0xe5, 0x0a, 0x71, 0x7c, 0x66, 0xbe, 0x7e, 0x62, 0x41, 0xa6, 0x3e, 0xb9, - 0x01, 0x92, 0xc4, 0x06, 0x0e, 0x0a, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x0d, 0xa4, - 0x2b, 0x53, 0x01, 0x00, 0x00, -} diff --git a/mcp/v1alpha1/mcp.pb.go b/mcp/v1alpha1/mcp.pb.go index c38f7e36a05..c20686b0b42 100644 --- a/mcp/v1alpha1/mcp.pb.go +++ b/mcp/v1alpha1/mcp.pb.go @@ -1,37 +1,19 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mcp/v1alpha1/mcp.proto -/* - Package v1alpha1 is a generated protocol buffer package. - - It is generated from these files: - mcp/v1alpha1/mcp.proto - mcp/v1alpha1/metadata.proto - mcp/v1alpha1/resource.proto - - It has these top-level messages: - SinkNode - MeshConfigRequest - MeshConfigResponse - IncrementalMeshConfigRequest - IncrementalMeshConfigResponse - RequestResources - Resources - Metadata - Resource -*/ package v1alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_rpc "github.com/gogo/googleapis/google/rpc" -import _ "github.com/gogo/protobuf/gogoproto" - -import context "golang.org/x/net/context" -import grpc "google.golang.org/grpc" - -import io "io" +import ( + bytes "bytes" + context "context" + fmt "fmt" + rpc "github.com/gogo/googleapis/google/rpc" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + grpc "google.golang.org/grpc" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -53,13 +35,44 @@ type SinkNode struct { // An opaque identifier for the MCP node. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Opaque annotations extending the node identifier. - Annotations map[string]string `protobuf:"bytes,2,rep,name=annotations" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Annotations map[string]string `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SinkNode) Reset() { *m = SinkNode{} } +func (m *SinkNode) String() string { return proto.CompactTextString(m) } +func (*SinkNode) ProtoMessage() {} +func (*SinkNode) Descriptor() ([]byte, []int) { + return fileDescriptor_0713683a7297bd65, []int{0} +} +func (m *SinkNode) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SinkNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SinkNode.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *SinkNode) XXX_Merge(src proto.Message) { + xxx_messageInfo_SinkNode.Merge(m, src) +} +func (m *SinkNode) XXX_Size() int { + return m.Size() +} +func (m *SinkNode) XXX_DiscardUnknown() { + xxx_messageInfo_SinkNode.DiscardUnknown(m) } -func (m *SinkNode) Reset() { *m = SinkNode{} } -func (m *SinkNode) String() string { return proto.CompactTextString(m) } -func (*SinkNode) ProtoMessage() {} -func (*SinkNode) Descriptor() ([]byte, []int) { return fileDescriptorMcp, []int{0} } +var xxx_messageInfo_SinkNode proto.InternalMessageInfo func (m *SinkNode) GetId() string { if m != nil { @@ -88,7 +101,7 @@ type MeshConfigRequest struct { // below) has an independent version associated with it. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The sink node making the request. - SinkNode *SinkNode `protobuf:"bytes,2,opt,name=sink_node,json=sinkNode" json:"sink_node,omitempty"` + SinkNode *SinkNode `protobuf:"bytes,2,opt,name=sink_node,json=sinkNode,proto3" json:"sink_node,omitempty"` // Type of the resource that is being requested, e.g. // "type.googleapis.com/istio.io.networking.v1alpha3.VirtualService". TypeUrl string `protobuf:"bytes,3,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` @@ -103,13 +116,44 @@ type MeshConfigRequest struct { // is only intended for consumption during manual debugging, the // string provided is not guaranteed to be stable across client // versions. - ErrorDetail *google_rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail" json:"error_detail,omitempty"` + ErrorDetail *rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MeshConfigRequest) Reset() { *m = MeshConfigRequest{} } +func (m *MeshConfigRequest) String() string { return proto.CompactTextString(m) } +func (*MeshConfigRequest) ProtoMessage() {} +func (*MeshConfigRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0713683a7297bd65, []int{1} +} +func (m *MeshConfigRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshConfigRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshConfigRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshConfigRequest.Merge(m, src) +} +func (m *MeshConfigRequest) XXX_Size() int { + return m.Size() +} +func (m *MeshConfigRequest) XXX_DiscardUnknown() { + xxx_messageInfo_MeshConfigRequest.DiscardUnknown(m) } -func (m *MeshConfigRequest) Reset() { *m = MeshConfigRequest{} } -func (m *MeshConfigRequest) String() string { return proto.CompactTextString(m) } -func (*MeshConfigRequest) ProtoMessage() {} -func (*MeshConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorMcp, []int{1} } +var xxx_messageInfo_MeshConfigRequest proto.InternalMessageInfo func (m *MeshConfigRequest) GetVersionInfo() string { if m != nil { @@ -139,7 +183,7 @@ func (m *MeshConfigRequest) GetResponseNonce() string { return "" } -func (m *MeshConfigRequest) GetErrorDetail() *google_rpc.Status { +func (m *MeshConfigRequest) GetErrorDetail() *rpc.Status { if m != nil { return m.ErrorDetail } @@ -153,7 +197,7 @@ type MeshConfigResponse struct { VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The response resources wrapped in the common MCP *Resource* // message. - Resources []Resource `protobuf:"bytes,2,rep,name=resources" json:"resources"` + Resources []Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources"` // Type URL for resources wrapped in the provided resources(s). This // must be consistent with the type_url in the wrapper messages if // resources is non-empty. @@ -166,13 +210,44 @@ type MeshConfigResponse struct { // time. The nonce allows the management server to ignore any // further MeshConfigRequests for the previous version until a // MeshConfigRequest bearing the nonce. - Nonce string `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"` + Nonce string `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MeshConfigResponse) Reset() { *m = MeshConfigResponse{} } +func (m *MeshConfigResponse) String() string { return proto.CompactTextString(m) } +func (*MeshConfigResponse) ProtoMessage() {} +func (*MeshConfigResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0713683a7297bd65, []int{2} +} +func (m *MeshConfigResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshConfigResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshConfigResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshConfigResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshConfigResponse.Merge(m, src) +} +func (m *MeshConfigResponse) XXX_Size() int { + return m.Size() +} +func (m *MeshConfigResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MeshConfigResponse.DiscardUnknown(m) } -func (m *MeshConfigResponse) Reset() { *m = MeshConfigResponse{} } -func (m *MeshConfigResponse) String() string { return proto.CompactTextString(m) } -func (*MeshConfigResponse) ProtoMessage() {} -func (*MeshConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorMcp, []int{2} } +var xxx_messageInfo_MeshConfigResponse proto.InternalMessageInfo func (m *MeshConfigResponse) GetVersionInfo() string { if m != nil { @@ -211,7 +286,7 @@ func (m *MeshConfigResponse) GetNonce() string { // ACK or NACK is determined by the absence or presence of error_detail. type IncrementalMeshConfigRequest struct { // The sink node making the request. - SinkNode *SinkNode `protobuf:"bytes,1,opt,name=sink_node,json=sinkNode" json:"sink_node,omitempty"` + SinkNode *SinkNode `protobuf:"bytes,1,opt,name=sink_node,json=sinkNode,proto3" json:"sink_node,omitempty"` // Type of the resource that is being requested, e.g. // "type.googleapis.com/istio.io.networking.v1alpha3.VirtualService". TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` @@ -220,7 +295,7 @@ type IncrementalMeshConfigRequest struct { // initial_resource_versions must be omitted. The keys are the // resources names of the MCP resources known to the MCP client. The // values in the map are the associated resource level version info. - InitialResourceVersions map[string]string `protobuf:"bytes,3,rep,name=initial_resource_versions,json=initialResourceVersions" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + InitialResourceVersions map[string]string `protobuf:"bytes,3,rep,name=initial_resource_versions,json=initialResourceVersions,proto3" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // When the IncrementalMeshConfigRequest is a ACK or NACK message in response // to a previous IncrementalMeshConfigResponse, the response_nonce must be the // nonce in the IncrementalMeshConfigResponse. @@ -229,13 +304,44 @@ type IncrementalMeshConfigRequest struct { // This is populated when the previous IncrementalMeshConfigResponses // failed to update configuration. The *message* field in *error_details* // provides the client internal exception related to the failure. - ErrorDetail *google_rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail" json:"error_detail,omitempty"` + ErrorDetail *rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IncrementalMeshConfigRequest) Reset() { *m = IncrementalMeshConfigRequest{} } +func (m *IncrementalMeshConfigRequest) String() string { return proto.CompactTextString(m) } +func (*IncrementalMeshConfigRequest) ProtoMessage() {} +func (*IncrementalMeshConfigRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0713683a7297bd65, []int{3} +} +func (m *IncrementalMeshConfigRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IncrementalMeshConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IncrementalMeshConfigRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IncrementalMeshConfigRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_IncrementalMeshConfigRequest.Merge(m, src) +} +func (m *IncrementalMeshConfigRequest) XXX_Size() int { + return m.Size() +} +func (m *IncrementalMeshConfigRequest) XXX_DiscardUnknown() { + xxx_messageInfo_IncrementalMeshConfigRequest.DiscardUnknown(m) } -func (m *IncrementalMeshConfigRequest) Reset() { *m = IncrementalMeshConfigRequest{} } -func (m *IncrementalMeshConfigRequest) String() string { return proto.CompactTextString(m) } -func (*IncrementalMeshConfigRequest) ProtoMessage() {} -func (*IncrementalMeshConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorMcp, []int{3} } +var xxx_messageInfo_IncrementalMeshConfigRequest proto.InternalMessageInfo func (m *IncrementalMeshConfigRequest) GetSinkNode() *SinkNode { if m != nil { @@ -265,7 +371,7 @@ func (m *IncrementalMeshConfigRequest) GetResponseNonce() string { return "" } -func (m *IncrementalMeshConfigRequest) GetErrorDetail() *google_rpc.Status { +func (m *IncrementalMeshConfigRequest) GetErrorDetail() *rpc.Status { if m != nil { return m.ErrorDetail } @@ -290,21 +396,52 @@ type IncrementalMeshConfigResponse struct { // The response resources wrapped in the common MCP *Resource* // message. These are typed resources that match the type url in the // IncrementalMeshConfigRequest. - Resources []Resource `protobuf:"bytes,2,rep,name=resources" json:"resources"` + Resources []Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources"` // Resources names of resources that have be deleted and to be // removed from the MCP Client. Removed resources for missing // resources can be ignored. - RemovedResources []string `protobuf:"bytes,3,rep,name=removed_resources,json=removedResources" json:"removed_resources,omitempty"` + RemovedResources []string `protobuf:"bytes,3,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"` // The nonce provides a way for IncrementalMeshConfigRequests to // uniquely reference an IncrementalMeshConfigResponse. The nonce is // required. - Nonce string `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"` + Nonce string `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IncrementalMeshConfigResponse) Reset() { *m = IncrementalMeshConfigResponse{} } +func (m *IncrementalMeshConfigResponse) String() string { return proto.CompactTextString(m) } +func (*IncrementalMeshConfigResponse) ProtoMessage() {} +func (*IncrementalMeshConfigResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0713683a7297bd65, []int{4} +} +func (m *IncrementalMeshConfigResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IncrementalMeshConfigResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IncrementalMeshConfigResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IncrementalMeshConfigResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_IncrementalMeshConfigResponse.Merge(m, src) +} +func (m *IncrementalMeshConfigResponse) XXX_Size() int { + return m.Size() +} +func (m *IncrementalMeshConfigResponse) XXX_DiscardUnknown() { + xxx_messageInfo_IncrementalMeshConfigResponse.DiscardUnknown(m) } -func (m *IncrementalMeshConfigResponse) Reset() { *m = IncrementalMeshConfigResponse{} } -func (m *IncrementalMeshConfigResponse) String() string { return proto.CompactTextString(m) } -func (*IncrementalMeshConfigResponse) ProtoMessage() {} -func (*IncrementalMeshConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorMcp, []int{4} } +var xxx_messageInfo_IncrementalMeshConfigResponse proto.InternalMessageInfo func (m *IncrementalMeshConfigResponse) GetSystemVersionInfo() string { if m != nil { @@ -348,7 +485,7 @@ func (m *IncrementalMeshConfigResponse) GetNonce() string { // type RequestResources struct { // The sink node making the request. - SinkNode *SinkNode `protobuf:"bytes,1,opt,name=sink_node,json=sinkNode" json:"sink_node,omitempty"` + SinkNode *SinkNode `protobuf:"bytes,1,opt,name=sink_node,json=sinkNode,proto3" json:"sink_node,omitempty"` // Type of resource collection that is being requested, e.g. // // istio/networking/v1alpha3/VirtualService @@ -358,7 +495,7 @@ type RequestResources struct { // be populated. Otherwise, initial_resource_versions must be omitted. The keys are the // resources names of the MCP resources known to the MCP client. The values in the map // are the associated resource level version info. - InitialResourceVersions map[string]string `protobuf:"bytes,3,rep,name=initial_resource_versions,json=initialResourceVersions" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + InitialResourceVersions map[string]string `protobuf:"bytes,3,rep,name=initial_resource_versions,json=initialResourceVersions,proto3" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // When the RequestResources is an ACK or NACK message in response to a previous RequestResources, // the response_nonce must be the nonce in the RequestResources. Otherwise response_nonce must // be omitted. @@ -366,17 +503,48 @@ type RequestResources struct { // This is populated when the previously received resources could not be applied // The *message* field in *error_details* provides the source internal error // related to the failure. - ErrorDetail *google_rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail" json:"error_detail,omitempty"` + ErrorDetail *rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"` // Request an incremental update for the specified collection. The source may choose to // honor this request or ignore and and provide a full-state update in the corresponding // `Resource` response. - Incremental bool `protobuf:"varint,6,opt,name=incremental,proto3" json:"incremental,omitempty"` + Incremental bool `protobuf:"varint,6,opt,name=incremental,proto3" json:"incremental,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RequestResources) Reset() { *m = RequestResources{} } +func (m *RequestResources) String() string { return proto.CompactTextString(m) } +func (*RequestResources) ProtoMessage() {} +func (*RequestResources) Descriptor() ([]byte, []int) { + return fileDescriptor_0713683a7297bd65, []int{5} +} +func (m *RequestResources) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestResources.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestResources) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestResources.Merge(m, src) +} +func (m *RequestResources) XXX_Size() int { + return m.Size() +} +func (m *RequestResources) XXX_DiscardUnknown() { + xxx_messageInfo_RequestResources.DiscardUnknown(m) } -func (m *RequestResources) Reset() { *m = RequestResources{} } -func (m *RequestResources) String() string { return proto.CompactTextString(m) } -func (*RequestResources) ProtoMessage() {} -func (*RequestResources) Descriptor() ([]byte, []int) { return fileDescriptorMcp, []int{5} } +var xxx_messageInfo_RequestResources proto.InternalMessageInfo func (m *RequestResources) GetSinkNode() *SinkNode { if m != nil { @@ -406,7 +574,7 @@ func (m *RequestResources) GetResponseNonce() string { return "" } -func (m *RequestResources) GetErrorDetail() *google_rpc.Status { +func (m *RequestResources) GetErrorDetail() *rpc.Status { if m != nil { return m.ErrorDetail } @@ -447,7 +615,7 @@ type Resources struct { // // When `incremental` is false, this contains the full set of resources for the // specified collection. This replaces any previously delivered resources. - Resources []Resource `protobuf:"bytes,3,rep,name=resources" json:"resources"` + Resources []Resource `protobuf:"bytes,3,rep,name=resources,proto3" json:"resources"` // Names of resources that have been deleted and to be // removed from the MCP sink node. Removed resources for missing // resources can be ignored. @@ -457,19 +625,50 @@ type Resources struct { // the sink. // // When `incremental` is false, this field should be ignored. - RemovedResources []string `protobuf:"bytes,4,rep,name=removed_resources,json=removedResources" json:"removed_resources,omitempty"` + RemovedResources []string `protobuf:"bytes,4,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"` // Required. The nonce provides a way for RequestChange to uniquely // reference a RequestResources. Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"` // This resource response is an incremental update. The source should only send // incremental updates if the sink requested them. - Incremental bool `protobuf:"varint,6,opt,name=incremental,proto3" json:"incremental,omitempty"` + Incremental bool `protobuf:"varint,6,opt,name=incremental,proto3" json:"incremental,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Resources) Reset() { *m = Resources{} } +func (m *Resources) String() string { return proto.CompactTextString(m) } +func (*Resources) ProtoMessage() {} +func (*Resources) Descriptor() ([]byte, []int) { + return fileDescriptor_0713683a7297bd65, []int{6} +} +func (m *Resources) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Resources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Resources.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Resources) XXX_Merge(src proto.Message) { + xxx_messageInfo_Resources.Merge(m, src) +} +func (m *Resources) XXX_Size() int { + return m.Size() +} +func (m *Resources) XXX_DiscardUnknown() { + xxx_messageInfo_Resources.DiscardUnknown(m) } -func (m *Resources) Reset() { *m = Resources{} } -func (m *Resources) String() string { return proto.CompactTextString(m) } -func (*Resources) ProtoMessage() {} -func (*Resources) Descriptor() ([]byte, []int) { return fileDescriptorMcp, []int{6} } +var xxx_messageInfo_Resources proto.InternalMessageInfo func (m *Resources) GetSystemVersionInfo() string { if m != nil { @@ -515,13 +714,72 @@ func (m *Resources) GetIncremental() bool { func init() { proto.RegisterType((*SinkNode)(nil), "istio.mcp.v1alpha1.SinkNode") + proto.RegisterMapType((map[string]string)(nil), "istio.mcp.v1alpha1.SinkNode.AnnotationsEntry") proto.RegisterType((*MeshConfigRequest)(nil), "istio.mcp.v1alpha1.MeshConfigRequest") proto.RegisterType((*MeshConfigResponse)(nil), "istio.mcp.v1alpha1.MeshConfigResponse") proto.RegisterType((*IncrementalMeshConfigRequest)(nil), "istio.mcp.v1alpha1.IncrementalMeshConfigRequest") + proto.RegisterMapType((map[string]string)(nil), "istio.mcp.v1alpha1.IncrementalMeshConfigRequest.InitialResourceVersionsEntry") proto.RegisterType((*IncrementalMeshConfigResponse)(nil), "istio.mcp.v1alpha1.IncrementalMeshConfigResponse") proto.RegisterType((*RequestResources)(nil), "istio.mcp.v1alpha1.RequestResources") + proto.RegisterMapType((map[string]string)(nil), "istio.mcp.v1alpha1.RequestResources.InitialResourceVersionsEntry") proto.RegisterType((*Resources)(nil), "istio.mcp.v1alpha1.Resources") } + +func init() { proto.RegisterFile("mcp/v1alpha1/mcp.proto", fileDescriptor_0713683a7297bd65) } + +var fileDescriptor_0713683a7297bd65 = []byte{ + // 774 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x6e, 0xeb, 0x44, + 0x14, 0xbe, 0xe3, 0x34, 0x97, 0xe4, 0xa4, 0x54, 0xe9, 0x50, 0x51, 0xc7, 0xf7, 0xde, 0x10, 0x22, + 0x8a, 0x22, 0x55, 0x38, 0x6d, 0x10, 0x12, 0xb0, 0x40, 0xb4, 0xd0, 0x45, 0x91, 0x5a, 0x24, 0x47, + 0x74, 0xc1, 0xc6, 0x72, 0xed, 0xa9, 0x3b, 0x8a, 0x33, 0x63, 0x66, 0x26, 0x91, 0xb2, 0x60, 0xc3, + 0x0e, 0xf1, 0x0c, 0xec, 0x51, 0x79, 0x01, 0x1e, 0xa1, 0x4b, 0x16, 0xac, 0x11, 0xca, 0x92, 0xa7, + 0x40, 0xfe, 0xab, 0x1d, 0xea, 0x26, 0x0d, 0x14, 0x89, 0x8d, 0x35, 0x73, 0xce, 0x99, 0xef, 0xfc, + 0x7c, 0xdf, 0x8c, 0x0c, 0x6f, 0x8e, 0xdd, 0xb0, 0x3f, 0x3d, 0x74, 0x82, 0xf0, 0xda, 0x39, 0xec, + 0x8f, 0xdd, 0xd0, 0x0c, 0x05, 0x57, 0x1c, 0x63, 0x2a, 0x15, 0xe5, 0x66, 0x64, 0xc8, 0xbc, 0xc6, + 0xae, 0xcf, 0xb9, 0x1f, 0x90, 0xbe, 0x08, 0xdd, 0xbe, 0x54, 0x8e, 0x9a, 0xc8, 0x24, 0xd8, 0xd8, + 0xf1, 0xb9, 0xcf, 0xe3, 0x65, 0x3f, 0x5a, 0xa5, 0xd6, 0x17, 0x0b, 0xd0, 0x82, 0x48, 0x3e, 0x11, + 0x2e, 0x49, 0x9c, 0xdd, 0x9f, 0x11, 0xd4, 0x86, 0x94, 0x8d, 0xce, 0xb9, 0x47, 0xf0, 0x16, 0x68, + 0xd4, 0xd3, 0x51, 0x07, 0xf5, 0xea, 0x96, 0x46, 0x3d, 0xfc, 0x25, 0x34, 0x1c, 0xc6, 0xb8, 0x72, + 0x14, 0xe5, 0x4c, 0xea, 0x5a, 0xa7, 0xd2, 0x6b, 0x0c, 0xde, 0x33, 0xef, 0x97, 0x64, 0x66, 0x10, + 0xe6, 0x51, 0x1e, 0x7f, 0xc2, 0x94, 0x98, 0x59, 0x45, 0x04, 0xe3, 0x13, 0x68, 0xfe, 0x3d, 0x00, + 0x37, 0xa1, 0x32, 0x22, 0xb3, 0x34, 0x6b, 0xb4, 0xc4, 0x3b, 0x50, 0x9d, 0x3a, 0xc1, 0x84, 0xe8, + 0x5a, 0x6c, 0x4b, 0x36, 0x1f, 0x6b, 0x1f, 0xa2, 0xee, 0x9f, 0x08, 0xb6, 0xcf, 0x88, 0xbc, 0xfe, + 0x8c, 0xb3, 0x2b, 0xea, 0x5b, 0xe4, 0x9b, 0x09, 0x91, 0x0a, 0xbf, 0x0d, 0x9b, 0x53, 0x22, 0x24, + 0xe5, 0xcc, 0xa6, 0xec, 0x8a, 0xa7, 0x50, 0x8d, 0xd4, 0x76, 0xca, 0xae, 0x38, 0xfe, 0x08, 0xea, + 0x92, 0xb2, 0x91, 0xcd, 0xb8, 0x97, 0xc0, 0x36, 0x06, 0x2f, 0x97, 0xf5, 0x61, 0xd5, 0x64, 0x36, + 0x94, 0x16, 0xd4, 0xd4, 0x2c, 0x24, 0xf6, 0x44, 0x04, 0x7a, 0x25, 0x46, 0x7e, 0x2d, 0xda, 0x7f, + 0x25, 0x02, 0xbc, 0x07, 0x5b, 0x82, 0xc8, 0x90, 0x33, 0x49, 0x6c, 0xc6, 0x99, 0x4b, 0xf4, 0x8d, + 0x38, 0xe0, 0xf5, 0xcc, 0x7a, 0x1e, 0x19, 0xf1, 0x07, 0xb0, 0x49, 0x84, 0xe0, 0xc2, 0xf6, 0x88, + 0x72, 0x68, 0xa0, 0x57, 0xe3, 0xfc, 0xd8, 0x4c, 0x68, 0x34, 0x45, 0xe8, 0x9a, 0xc3, 0x98, 0x46, + 0xab, 0x11, 0xc7, 0x7d, 0x1e, 0x87, 0x75, 0x6f, 0x10, 0xe0, 0x62, 0xb3, 0x09, 0xe4, 0x63, 0xba, + 0xfd, 0x14, 0xea, 0x19, 0xcd, 0x19, 0x6b, 0xa5, 0xdd, 0x5a, 0x69, 0xd0, 0xf1, 0xc6, 0xed, 0xef, + 0x6f, 0x3d, 0xb3, 0xf2, 0x43, 0xcb, 0x9a, 0xde, 0x81, 0x6a, 0xb1, 0xd7, 0x64, 0xd3, 0xbd, 0xa9, + 0xc0, 0xcb, 0x53, 0xe6, 0x0a, 0x32, 0x26, 0x4c, 0x39, 0xc1, 0x7d, 0x92, 0x16, 0x18, 0x40, 0xff, + 0x98, 0x01, 0x6d, 0xb1, 0x98, 0xef, 0x11, 0xb4, 0x28, 0xa3, 0x8a, 0x3a, 0x81, 0x9d, 0x55, 0x6f, + 0xa7, 0xa3, 0x90, 0x7a, 0x25, 0x6e, 0xfd, 0xac, 0x2c, 0xcd, 0xb2, 0x5a, 0xcd, 0xd3, 0x04, 0x31, + 0x1b, 0xcf, 0x45, 0x8a, 0x97, 0x08, 0x7a, 0x97, 0x96, 0x7b, 0xff, 0x5b, 0x35, 0x18, 0x5f, 0x44, + 0xf3, 0x7d, 0xb8, 0xac, 0xb5, 0xae, 0xd1, 0x6f, 0x08, 0x5e, 0x3d, 0x30, 0x80, 0x54, 0x64, 0x26, + 0xbc, 0x21, 0x67, 0x52, 0x91, 0xb1, 0x5d, 0xa2, 0xb5, 0xed, 0xc4, 0x75, 0xf1, 0xa4, 0x8a, 0xdb, + 0x87, 0x6d, 0x41, 0xc6, 0x7c, 0x4a, 0x3c, 0x3b, 0x47, 0x8a, 0x08, 0xac, 0x5b, 0xcd, 0xd4, 0x61, + 0xdd, 0x05, 0x97, 0x6b, 0xf0, 0x97, 0x0a, 0x34, 0x53, 0x0a, 0xf3, 0xd0, 0x7f, 0xa1, 0xbb, 0x36, + 0x80, 0xcb, 0x83, 0x80, 0xb8, 0xd1, 0x6b, 0x95, 0x4e, 0xb1, 0x60, 0xc1, 0xdf, 0xae, 0xd6, 0xde, + 0x51, 0xf9, 0x10, 0x16, 0x6b, 0xfc, 0x3f, 0xea, 0x0d, 0x77, 0xa0, 0x41, 0x73, 0x89, 0xe8, 0xcf, + 0x3b, 0xa8, 0x57, 0xb3, 0x8a, 0xa6, 0x27, 0x55, 0xe4, 0x77, 0x1a, 0xd4, 0x73, 0xce, 0xd6, 0x55, + 0xdf, 0x2a, 0xa2, 0x16, 0xd4, 0x59, 0x79, 0x32, 0x75, 0x6e, 0xac, 0x52, 0x67, 0xb5, 0xa0, 0xce, + 0xd5, 0x03, 0x1d, 0xfc, 0xa8, 0xc1, 0x8b, 0x23, 0xdf, 0x17, 0xc4, 0x77, 0x14, 0xf1, 0xf2, 0x5b, + 0x39, 0x24, 0x62, 0x4a, 0x5d, 0x82, 0x43, 0x68, 0x0d, 0x95, 0x20, 0xce, 0x38, 0x0f, 0xca, 0x93, + 0xee, 0x95, 0x35, 0x74, 0xef, 0x69, 0x33, 0xde, 0x5d, 0x15, 0x96, 0x48, 0xa7, 0xfb, 0xac, 0x87, + 0x0e, 0x10, 0xfe, 0x01, 0x41, 0xbb, 0xf0, 0x50, 0x94, 0xe5, 0x3d, 0x58, 0xf7, 0x75, 0x35, 0x0e, + 0xd7, 0x38, 0x51, 0xac, 0x66, 0x30, 0x85, 0xad, 0x2c, 0xef, 0x30, 0xfe, 0x62, 0x0f, 0x76, 0x4f, + 0xa4, 0x72, 0x2e, 0x03, 0x2a, 0xaf, 0xef, 0x5c, 0xf1, 0x88, 0xf0, 0x3b, 0x8f, 0xb9, 0x79, 0xc6, + 0xab, 0x65, 0x32, 0x90, 0x69, 0x5e, 0x05, 0x9b, 0x77, 0xe0, 0x94, 0x8d, 0x96, 0x65, 0x5d, 0x8e, + 0x67, 0x3c, 0xaa, 0xa8, 0x24, 0xeb, 0xf1, 0xfe, 0x4f, 0xf3, 0x36, 0xba, 0x9d, 0xb7, 0xd1, 0xaf, + 0xf3, 0x36, 0xfa, 0x63, 0xde, 0x46, 0x5f, 0xb7, 0x92, 0xc3, 0x94, 0xf7, 0x9d, 0x90, 0xf6, 0x8b, + 0x7f, 0x75, 0x97, 0xcf, 0xe3, 0xbf, 0xb9, 0xf7, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x31, + 0xdd, 0xdb, 0x47, 0x0a, 0x00, 0x00, +} + func (this *SinkNode) Equal(that interface{}) bool { if that == nil { return this == nil @@ -552,6 +810,9 @@ func (this *SinkNode) Equal(that interface{}) bool { return false } } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *MeshConfigRequest) Equal(that interface{}) bool { @@ -588,6 +849,9 @@ func (this *MeshConfigRequest) Equal(that interface{}) bool { if !this.ErrorDetail.Equal(that1.ErrorDetail) { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *MeshConfigResponse) Equal(that interface{}) bool { @@ -626,6 +890,9 @@ func (this *MeshConfigResponse) Equal(that interface{}) bool { if this.Nonce != that1.Nonce { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *IncrementalMeshConfigRequest) Equal(that interface{}) bool { @@ -667,6 +934,9 @@ func (this *IncrementalMeshConfigRequest) Equal(that interface{}) bool { if !this.ErrorDetail.Equal(that1.ErrorDetail) { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *IncrementalMeshConfigResponse) Equal(that interface{}) bool { @@ -710,6 +980,9 @@ func (this *IncrementalMeshConfigResponse) Equal(that interface{}) bool { if this.Nonce != that1.Nonce { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *RequestResources) Equal(that interface{}) bool { @@ -754,6 +1027,9 @@ func (this *RequestResources) Equal(that interface{}) bool { if this.Incremental != that1.Incremental { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Resources) Equal(that interface{}) bool { @@ -803,6 +1079,9 @@ func (this *Resources) Equal(that interface{}) bool { if this.Incremental != that1.Incremental { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } @@ -814,8 +1093,9 @@ var _ grpc.ClientConn // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion4 -// Client API for AggregatedMeshConfigService service - +// AggregatedMeshConfigServiceClient is the client API for AggregatedMeshConfigService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AggregatedMeshConfigServiceClient interface { // StreamAggregatedResources provides the ability to carefully // sequence updates across multiple resource types. A single stream @@ -837,7 +1117,7 @@ func NewAggregatedMeshConfigServiceClient(cc *grpc.ClientConn) AggregatedMeshCon } func (c *aggregatedMeshConfigServiceClient) StreamAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedMeshConfigService_StreamAggregatedResourcesClient, error) { - stream, err := grpc.NewClientStream(ctx, &_AggregatedMeshConfigService_serviceDesc.Streams[0], c.cc, "/istio.mcp.v1alpha1.AggregatedMeshConfigService/StreamAggregatedResources", opts...) + stream, err := c.cc.NewStream(ctx, &_AggregatedMeshConfigService_serviceDesc.Streams[0], "/istio.mcp.v1alpha1.AggregatedMeshConfigService/StreamAggregatedResources", opts...) if err != nil { return nil, err } @@ -868,7 +1148,7 @@ func (x *aggregatedMeshConfigServiceStreamAggregatedResourcesClient) Recv() (*Me } func (c *aggregatedMeshConfigServiceClient) IncrementalAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedMeshConfigService_IncrementalAggregatedResourcesClient, error) { - stream, err := grpc.NewClientStream(ctx, &_AggregatedMeshConfigService_serviceDesc.Streams[1], c.cc, "/istio.mcp.v1alpha1.AggregatedMeshConfigService/IncrementalAggregatedResources", opts...) + stream, err := c.cc.NewStream(ctx, &_AggregatedMeshConfigService_serviceDesc.Streams[1], "/istio.mcp.v1alpha1.AggregatedMeshConfigService/IncrementalAggregatedResources", opts...) if err != nil { return nil, err } @@ -898,8 +1178,7 @@ func (x *aggregatedMeshConfigServiceIncrementalAggregatedResourcesClient) Recv() return m, nil } -// Server API for AggregatedMeshConfigService service - +// AggregatedMeshConfigServiceServer is the server API for AggregatedMeshConfigService service. type AggregatedMeshConfigServiceServer interface { // StreamAggregatedResources provides the ability to carefully // sequence updates across multiple resource types. A single stream @@ -989,8 +1268,9 @@ var _AggregatedMeshConfigService_serviceDesc = grpc.ServiceDesc{ Metadata: "mcp/v1alpha1/mcp.proto", } -// Client API for ResourceSource service - +// ResourceSourceClient is the client API for ResourceSource service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ResourceSourceClient interface { // The sink, acting as gRPC client, establishes a new resource stream // with the source. The sink sends RequestResources message to @@ -1007,7 +1287,7 @@ func NewResourceSourceClient(cc *grpc.ClientConn) ResourceSourceClient { } func (c *resourceSourceClient) EstablishResourceStream(ctx context.Context, opts ...grpc.CallOption) (ResourceSource_EstablishResourceStreamClient, error) { - stream, err := grpc.NewClientStream(ctx, &_ResourceSource_serviceDesc.Streams[0], c.cc, "/istio.mcp.v1alpha1.ResourceSource/EstablishResourceStream", opts...) + stream, err := c.cc.NewStream(ctx, &_ResourceSource_serviceDesc.Streams[0], "/istio.mcp.v1alpha1.ResourceSource/EstablishResourceStream", opts...) if err != nil { return nil, err } @@ -1037,8 +1317,7 @@ func (x *resourceSourceEstablishResourceStreamClient) Recv() (*Resources, error) return m, nil } -// Server API for ResourceSource service - +// ResourceSourceServer is the server API for ResourceSource service. type ResourceSourceServer interface { // The sink, acting as gRPC client, establishes a new resource stream // with the source. The sink sends RequestResources message to @@ -1091,8 +1370,9 @@ var _ResourceSource_serviceDesc = grpc.ServiceDesc{ Metadata: "mcp/v1alpha1/mcp.proto", } -// Client API for ResourceSink service - +// ResourceSinkClient is the client API for ResourceSink service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ResourceSinkClient interface { // The source, acting as gRPC client, establishes a new resource stream // with the sink. The sink sends RequestResources message to and @@ -1109,7 +1389,7 @@ func NewResourceSinkClient(cc *grpc.ClientConn) ResourceSinkClient { } func (c *resourceSinkClient) EstablishResourceStream(ctx context.Context, opts ...grpc.CallOption) (ResourceSink_EstablishResourceStreamClient, error) { - stream, err := grpc.NewClientStream(ctx, &_ResourceSink_serviceDesc.Streams[0], c.cc, "/istio.mcp.v1alpha1.ResourceSink/EstablishResourceStream", opts...) + stream, err := c.cc.NewStream(ctx, &_ResourceSink_serviceDesc.Streams[0], "/istio.mcp.v1alpha1.ResourceSink/EstablishResourceStream", opts...) if err != nil { return nil, err } @@ -1139,8 +1419,7 @@ func (x *resourceSinkEstablishResourceStreamClient) Recv() (*RequestResources, e return m, nil } -// Server API for ResourceSink service - +// ResourceSinkServer is the server API for ResourceSink service. type ResourceSinkServer interface { // The source, acting as gRPC client, establishes a new resource stream // with the sink. The sink sends RequestResources message to and @@ -1231,6 +1510,9 @@ func (m *SinkNode) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1287,6 +1569,9 @@ func (m *MeshConfigRequest) MarshalTo(dAtA []byte) (int, error) { } i += n2 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1335,6 +1620,9 @@ func (m *MeshConfigResponse) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintMcp(dAtA, i, uint64(len(m.Nonce))) i += copy(dAtA[i:], m.Nonce) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1402,6 +1690,9 @@ func (m *IncrementalMeshConfigRequest) MarshalTo(dAtA []byte) (int, error) { } i += n4 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1459,6 +1750,9 @@ func (m *IncrementalMeshConfigResponse) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintMcp(dAtA, i, uint64(len(m.Nonce))) i += copy(dAtA[i:], m.Nonce) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1536,6 +1830,9 @@ func (m *RequestResources) MarshalTo(dAtA []byte) (int, error) { } i++ } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1609,6 +1906,9 @@ func (m *Resources) MarshalTo(dAtA []byte) (int, error) { } i++ } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1622,6 +1922,9 @@ func encodeVarintMcp(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *SinkNode) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Id) @@ -1636,10 +1939,16 @@ func (m *SinkNode) Size() (n int) { n += mapEntrySize + 1 + sovMcp(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *MeshConfigRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.VersionInfo) @@ -1662,10 +1971,16 @@ func (m *MeshConfigRequest) Size() (n int) { l = m.ErrorDetail.Size() n += 1 + l + sovMcp(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *MeshConfigResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.VersionInfo) @@ -1686,10 +2001,16 @@ func (m *MeshConfigResponse) Size() (n int) { if l > 0 { n += 1 + l + sovMcp(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *IncrementalMeshConfigRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.SinkNode != nil { @@ -1716,10 +2037,16 @@ func (m *IncrementalMeshConfigRequest) Size() (n int) { l = m.ErrorDetail.Size() n += 1 + l + sovMcp(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *IncrementalMeshConfigResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.SystemVersionInfo) @@ -1742,10 +2069,16 @@ func (m *IncrementalMeshConfigResponse) Size() (n int) { if l > 0 { n += 1 + l + sovMcp(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *RequestResources) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.SinkNode != nil { @@ -1775,10 +2108,16 @@ func (m *RequestResources) Size() (n int) { if m.Incremental { n += 2 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Resources) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.SystemVersionInfo) @@ -1808,6 +2147,9 @@ func (m *Resources) Size() (n int) { if m.Incremental { n += 2 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -1839,7 +2181,7 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1867,7 +2209,7 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1877,6 +2219,9 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1896,7 +2241,7 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1905,6 +2250,9 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1925,7 +2273,7 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1942,7 +2290,7 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1952,6 +2300,9 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthMcp + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1968,7 +2319,7 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1978,6 +2329,9 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthMcp + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -2009,9 +2363,13 @@ func (m *SinkNode) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMcp } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMcp + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2036,7 +2394,7 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2064,7 +2422,7 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2074,6 +2432,9 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2093,7 +2454,7 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2102,6 +2463,9 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2126,7 +2490,7 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2136,6 +2500,9 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2155,7 +2522,7 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2165,6 +2532,9 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2184,7 +2554,7 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2193,11 +2563,14 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ErrorDetail == nil { - m.ErrorDetail = &google_rpc.Status{} + m.ErrorDetail = &rpc.Status{} } if err := m.ErrorDetail.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2212,9 +2585,13 @@ func (m *MeshConfigRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMcp } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMcp + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2239,7 +2616,7 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2267,7 +2644,7 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2277,6 +2654,9 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2296,7 +2676,7 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2305,6 +2685,9 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2327,7 +2710,7 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2337,6 +2720,9 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2356,7 +2742,7 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2366,6 +2752,9 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2380,9 +2769,13 @@ func (m *MeshConfigResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMcp } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMcp + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2407,7 +2800,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2435,7 +2828,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2444,6 +2837,9 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2468,7 +2864,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2478,6 +2874,9 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2497,7 +2896,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2506,6 +2905,9 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2526,7 +2928,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2543,7 +2945,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2553,6 +2955,9 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthMcp + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -2569,7 +2974,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2579,6 +2984,9 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthMcp + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -2615,7 +3023,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2625,6 +3033,9 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2644,7 +3055,7 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2653,11 +3064,14 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ErrorDetail == nil { - m.ErrorDetail = &google_rpc.Status{} + m.ErrorDetail = &rpc.Status{} } if err := m.ErrorDetail.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2672,9 +3086,13 @@ func (m *IncrementalMeshConfigRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMcp } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMcp + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2699,7 +3117,7 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2727,7 +3145,7 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2737,6 +3155,9 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2756,7 +3177,7 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2765,6 +3186,9 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2787,7 +3211,7 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2797,6 +3221,9 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2816,7 +3243,7 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2826,6 +3253,9 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2840,9 +3270,13 @@ func (m *IncrementalMeshConfigResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMcp } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMcp + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2867,7 +3301,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2895,7 +3329,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2904,6 +3338,9 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2928,7 +3365,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2938,6 +3375,9 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2957,7 +3397,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2966,6 +3406,9 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2986,7 +3429,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3003,7 +3446,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3013,6 +3456,9 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthMcp + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -3029,7 +3475,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3039,6 +3485,9 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthMcp + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -3075,7 +3524,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3085,6 +3534,9 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3104,7 +3556,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3113,11 +3565,14 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ErrorDetail == nil { - m.ErrorDetail = &google_rpc.Status{} + m.ErrorDetail = &rpc.Status{} } if err := m.ErrorDetail.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3137,7 +3592,7 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3152,9 +3607,13 @@ func (m *RequestResources) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMcp } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMcp + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3179,7 +3638,7 @@ func (m *Resources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3207,7 +3666,7 @@ func (m *Resources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3217,6 +3676,9 @@ func (m *Resources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3236,7 +3698,7 @@ func (m *Resources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3246,6 +3708,9 @@ func (m *Resources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3265,7 +3730,7 @@ func (m *Resources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3274,6 +3739,9 @@ func (m *Resources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3296,7 +3764,7 @@ func (m *Resources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3306,6 +3774,9 @@ func (m *Resources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3325,7 +3796,7 @@ func (m *Resources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3335,6 +3806,9 @@ func (m *Resources) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMcp } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMcp + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3354,7 +3828,7 @@ func (m *Resources) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3369,9 +3843,13 @@ func (m *Resources) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMcp } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMcp + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3435,10 +3913,13 @@ func skipMcp(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthMcp } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthMcp + } return iNdEx, nil case 3: for { @@ -3467,6 +3948,9 @@ func skipMcp(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthMcp + } } return iNdEx, nil case 4: @@ -3485,58 +3969,3 @@ var ( ErrInvalidLengthMcp = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMcp = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mcp/v1alpha1/mcp.proto", fileDescriptorMcp) } - -var fileDescriptorMcp = []byte{ - // 774 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x6e, 0xeb, 0x44, - 0x14, 0xbe, 0xe3, 0x34, 0x97, 0xe4, 0xa4, 0x54, 0xe9, 0x50, 0x51, 0xc7, 0xf7, 0xde, 0x10, 0x22, - 0x8a, 0x22, 0x55, 0x38, 0x6d, 0x10, 0x12, 0xb0, 0x40, 0xb4, 0xd0, 0x45, 0x91, 0x5a, 0x24, 0x47, - 0x74, 0xc1, 0xc6, 0x72, 0xed, 0xa9, 0x3b, 0x8a, 0x33, 0x63, 0x66, 0x26, 0x91, 0xb2, 0x60, 0xc3, - 0x0e, 0xf1, 0x0c, 0xec, 0x51, 0x79, 0x01, 0x1e, 0xa1, 0x4b, 0x16, 0xac, 0x11, 0xca, 0x92, 0xa7, - 0x40, 0xfe, 0xab, 0x1d, 0xea, 0x26, 0x0d, 0x14, 0x89, 0x8d, 0x35, 0x73, 0xce, 0x99, 0xef, 0xfc, - 0x7c, 0xdf, 0x8c, 0x0c, 0x6f, 0x8e, 0xdd, 0xb0, 0x3f, 0x3d, 0x74, 0x82, 0xf0, 0xda, 0x39, 0xec, - 0x8f, 0xdd, 0xd0, 0x0c, 0x05, 0x57, 0x1c, 0x63, 0x2a, 0x15, 0xe5, 0x66, 0x64, 0xc8, 0xbc, 0xc6, - 0xae, 0xcf, 0xb9, 0x1f, 0x90, 0xbe, 0x08, 0xdd, 0xbe, 0x54, 0x8e, 0x9a, 0xc8, 0x24, 0xd8, 0xd8, - 0xf1, 0xb9, 0xcf, 0xe3, 0x65, 0x3f, 0x5a, 0xa5, 0xd6, 0x17, 0x0b, 0xd0, 0x82, 0x48, 0x3e, 0x11, - 0x2e, 0x49, 0x9c, 0xdd, 0x9f, 0x11, 0xd4, 0x86, 0x94, 0x8d, 0xce, 0xb9, 0x47, 0xf0, 0x16, 0x68, - 0xd4, 0xd3, 0x51, 0x07, 0xf5, 0xea, 0x96, 0x46, 0x3d, 0xfc, 0x25, 0x34, 0x1c, 0xc6, 0xb8, 0x72, - 0x14, 0xe5, 0x4c, 0xea, 0x5a, 0xa7, 0xd2, 0x6b, 0x0c, 0xde, 0x33, 0xef, 0x97, 0x64, 0x66, 0x10, - 0xe6, 0x51, 0x1e, 0x7f, 0xc2, 0x94, 0x98, 0x59, 0x45, 0x04, 0xe3, 0x13, 0x68, 0xfe, 0x3d, 0x00, - 0x37, 0xa1, 0x32, 0x22, 0xb3, 0x34, 0x6b, 0xb4, 0xc4, 0x3b, 0x50, 0x9d, 0x3a, 0xc1, 0x84, 0xe8, - 0x5a, 0x6c, 0x4b, 0x36, 0x1f, 0x6b, 0x1f, 0xa2, 0xee, 0x9f, 0x08, 0xb6, 0xcf, 0x88, 0xbc, 0xfe, - 0x8c, 0xb3, 0x2b, 0xea, 0x5b, 0xe4, 0x9b, 0x09, 0x91, 0x0a, 0xbf, 0x0d, 0x9b, 0x53, 0x22, 0x24, - 0xe5, 0xcc, 0xa6, 0xec, 0x8a, 0xa7, 0x50, 0x8d, 0xd4, 0x76, 0xca, 0xae, 0x38, 0xfe, 0x08, 0xea, - 0x92, 0xb2, 0x91, 0xcd, 0xb8, 0x97, 0xc0, 0x36, 0x06, 0x2f, 0x97, 0xf5, 0x61, 0xd5, 0x64, 0x36, - 0x94, 0x16, 0xd4, 0xd4, 0x2c, 0x24, 0xf6, 0x44, 0x04, 0x7a, 0x25, 0x46, 0x7e, 0x2d, 0xda, 0x7f, - 0x25, 0x02, 0xbc, 0x07, 0x5b, 0x82, 0xc8, 0x90, 0x33, 0x49, 0x6c, 0xc6, 0x99, 0x4b, 0xf4, 0x8d, - 0x38, 0xe0, 0xf5, 0xcc, 0x7a, 0x1e, 0x19, 0xf1, 0x07, 0xb0, 0x49, 0x84, 0xe0, 0xc2, 0xf6, 0x88, - 0x72, 0x68, 0xa0, 0x57, 0xe3, 0xfc, 0xd8, 0x4c, 0x68, 0x34, 0x45, 0xe8, 0x9a, 0xc3, 0x98, 0x46, - 0xab, 0x11, 0xc7, 0x7d, 0x1e, 0x87, 0x75, 0x6f, 0x10, 0xe0, 0x62, 0xb3, 0x09, 0xe4, 0x63, 0xba, - 0xfd, 0x14, 0xea, 0x19, 0xcd, 0x19, 0x6b, 0xa5, 0xdd, 0x5a, 0x69, 0xd0, 0xf1, 0xc6, 0xed, 0xef, - 0x6f, 0x3d, 0xb3, 0xf2, 0x43, 0xcb, 0x9a, 0xde, 0x81, 0x6a, 0xb1, 0xd7, 0x64, 0xd3, 0xbd, 0xa9, - 0xc0, 0xcb, 0x53, 0xe6, 0x0a, 0x32, 0x26, 0x4c, 0x39, 0xc1, 0x7d, 0x92, 0x16, 0x18, 0x40, 0xff, - 0x98, 0x01, 0x6d, 0xb1, 0x98, 0xef, 0x11, 0xb4, 0x28, 0xa3, 0x8a, 0x3a, 0x81, 0x9d, 0x55, 0x6f, - 0xa7, 0xa3, 0x90, 0x7a, 0x25, 0x6e, 0xfd, 0xac, 0x2c, 0xcd, 0xb2, 0x5a, 0xcd, 0xd3, 0x04, 0x31, - 0x1b, 0xcf, 0x45, 0x8a, 0x97, 0x08, 0x7a, 0x97, 0x96, 0x7b, 0xff, 0x5b, 0x35, 0x18, 0x5f, 0x44, - 0xf3, 0x7d, 0xb8, 0xac, 0xb5, 0xae, 0xd1, 0x6f, 0x08, 0x5e, 0x3d, 0x30, 0x80, 0x54, 0x64, 0x26, - 0xbc, 0x21, 0x67, 0x52, 0x91, 0xb1, 0x5d, 0xa2, 0xb5, 0xed, 0xc4, 0x75, 0xf1, 0xa4, 0x8a, 0xdb, - 0x87, 0x6d, 0x41, 0xc6, 0x7c, 0x4a, 0x3c, 0x3b, 0x47, 0x8a, 0x08, 0xac, 0x5b, 0xcd, 0xd4, 0x61, - 0xdd, 0x05, 0x97, 0x6b, 0xf0, 0x97, 0x0a, 0x34, 0x53, 0x0a, 0xf3, 0xd0, 0x7f, 0xa1, 0xbb, 0x36, - 0x80, 0xcb, 0x83, 0x80, 0xb8, 0xd1, 0x6b, 0x95, 0x4e, 0xb1, 0x60, 0xc1, 0xdf, 0xae, 0xd6, 0xde, - 0x51, 0xf9, 0x10, 0x16, 0x6b, 0xfc, 0x3f, 0xea, 0x0d, 0x77, 0xa0, 0x41, 0x73, 0x89, 0xe8, 0xcf, - 0x3b, 0xa8, 0x57, 0xb3, 0x8a, 0xa6, 0x27, 0x55, 0xe4, 0x77, 0x1a, 0xd4, 0x73, 0xce, 0xd6, 0x55, - 0xdf, 0x2a, 0xa2, 0x16, 0xd4, 0x59, 0x79, 0x32, 0x75, 0x6e, 0xac, 0x52, 0x67, 0xb5, 0xa0, 0xce, - 0xd5, 0x03, 0x1d, 0xfc, 0xa8, 0xc1, 0x8b, 0x23, 0xdf, 0x17, 0xc4, 0x77, 0x14, 0xf1, 0xf2, 0x5b, - 0x39, 0x24, 0x62, 0x4a, 0x5d, 0x82, 0x43, 0x68, 0x0d, 0x95, 0x20, 0xce, 0x38, 0x0f, 0xca, 0x93, - 0xee, 0x95, 0x35, 0x74, 0xef, 0x69, 0x33, 0xde, 0x5d, 0x15, 0x96, 0x48, 0xa7, 0xfb, 0xac, 0x87, - 0x0e, 0x10, 0xfe, 0x01, 0x41, 0xbb, 0xf0, 0x50, 0x94, 0xe5, 0x3d, 0x58, 0xf7, 0x75, 0x35, 0x0e, - 0xd7, 0x38, 0x51, 0xac, 0x66, 0x30, 0x85, 0xad, 0x2c, 0xef, 0x30, 0xfe, 0x62, 0x0f, 0x76, 0x4f, - 0xa4, 0x72, 0x2e, 0x03, 0x2a, 0xaf, 0xef, 0x5c, 0xf1, 0x88, 0xf0, 0x3b, 0x8f, 0xb9, 0x79, 0xc6, - 0xab, 0x65, 0x32, 0x90, 0x69, 0x5e, 0x05, 0x9b, 0x77, 0xe0, 0x94, 0x8d, 0x96, 0x65, 0x5d, 0x8e, - 0x67, 0x3c, 0xaa, 0xa8, 0x24, 0xeb, 0xf1, 0xfe, 0x4f, 0xf3, 0x36, 0xba, 0x9d, 0xb7, 0xd1, 0xaf, - 0xf3, 0x36, 0xfa, 0x63, 0xde, 0x46, 0x5f, 0xb7, 0x92, 0xc3, 0x94, 0xf7, 0x9d, 0x90, 0xf6, 0x8b, - 0x7f, 0x75, 0x97, 0xcf, 0xe3, 0xbf, 0xb9, 0xf7, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x31, - 0xdd, 0xdb, 0x47, 0x0a, 0x00, 0x00, -} diff --git a/mcp/v1alpha1/metadata.pb.go b/mcp/v1alpha1/metadata.pb.go index bdd4632a26e..91534a30e7b 100644 --- a/mcp/v1alpha1/metadata.pb.go +++ b/mcp/v1alpha1/metadata.pb.go @@ -3,20 +3,27 @@ package v1alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import google_protobuf2 "github.com/gogo/protobuf/types" -import _ "github.com/gogo/protobuf/types" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Metadata information that all resources within the Mesh Configuration Protocol must have. type Metadata struct { // Fully qualified name of the resource. Unique in context of a collection. @@ -53,22 +60,53 @@ type Metadata struct { // "/" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The creation timestamp of the resource. - CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime" json:"create_time,omitempty"` + CreateTime *types.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // Resource version. This is used to determine when resources change across // resource updates. It should be treated as opaque by consumers/sinks. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // Map of string keys and values that can be used to organize and categorize // resources within a collection. - Labels map[string]string `protobuf:"bytes,4,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map of string keys and values that can be used by source and sink to communicate // arbitrary metadata about this resource. - Annotations map[string]string `protobuf:"bytes,5,rep,name=annotations" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Annotations map[string]string `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Metadata) Reset() { *m = Metadata{} } +func (m *Metadata) String() string { return proto.CompactTextString(m) } +func (*Metadata) ProtoMessage() {} +func (*Metadata) Descriptor() ([]byte, []int) { + return fileDescriptor_12ba26a99e116dc7, []int{0} +} +func (m *Metadata) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Metadata.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Metadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_Metadata.Merge(m, src) +} +func (m *Metadata) XXX_Size() int { + return m.Size() +} +func (m *Metadata) XXX_DiscardUnknown() { + xxx_messageInfo_Metadata.DiscardUnknown(m) } -func (m *Metadata) Reset() { *m = Metadata{} } -func (m *Metadata) String() string { return proto.CompactTextString(m) } -func (*Metadata) ProtoMessage() {} -func (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptorMetadata, []int{0} } +var xxx_messageInfo_Metadata proto.InternalMessageInfo func (m *Metadata) GetName() string { if m != nil { @@ -77,7 +115,7 @@ func (m *Metadata) GetName() string { return "" } -func (m *Metadata) GetCreateTime() *google_protobuf2.Timestamp { +func (m *Metadata) GetCreateTime() *types.Timestamp { if m != nil { return m.CreateTime } @@ -107,7 +145,37 @@ func (m *Metadata) GetAnnotations() map[string]string { func init() { proto.RegisterType((*Metadata)(nil), "istio.mcp.v1alpha1.Metadata") + proto.RegisterMapType((map[string]string)(nil), "istio.mcp.v1alpha1.Metadata.AnnotationsEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.mcp.v1alpha1.Metadata.LabelsEntry") +} + +func init() { proto.RegisterFile("mcp/v1alpha1/metadata.proto", fileDescriptor_12ba26a99e116dc7) } + +var fileDescriptor_12ba26a99e116dc7 = []byte{ + // 335 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x4a, 0xf3, 0x40, + 0x10, 0xc0, 0xd9, 0xa6, 0xed, 0xf7, 0x75, 0x73, 0x29, 0x4b, 0x0f, 0x31, 0x4a, 0x2c, 0x9e, 0x02, + 0xe2, 0x2e, 0xad, 0x17, 0xff, 0x80, 0xa8, 0xe0, 0x4d, 0x11, 0x82, 0x27, 0x2f, 0x32, 0x8d, 0x6b, + 0x5c, 0x4c, 0xb2, 0x21, 0xbb, 0x2d, 0xf4, 0xec, 0xcb, 0xf8, 0x28, 0x1e, 0x7d, 0x04, 0xc9, 0x93, + 0x48, 0x76, 0x13, 0x0c, 0x15, 0x04, 0x6f, 0x33, 0x99, 0xdf, 0xfc, 0x26, 0x33, 0x2c, 0xde, 0xce, + 0xe2, 0x82, 0xad, 0x66, 0x90, 0x16, 0xcf, 0x30, 0x63, 0x19, 0xd7, 0xf0, 0x08, 0x1a, 0x68, 0x51, + 0x4a, 0x2d, 0x09, 0x11, 0x4a, 0x0b, 0x49, 0xb3, 0xb8, 0xa0, 0x2d, 0xe2, 0x4f, 0x12, 0x99, 0x48, + 0x53, 0x66, 0x75, 0x64, 0x49, 0x7f, 0x37, 0x91, 0x32, 0x49, 0x39, 0x33, 0xd9, 0x62, 0xf9, 0xc4, + 0xb4, 0xc8, 0xb8, 0xd2, 0x90, 0x15, 0x0d, 0xb0, 0xb3, 0x09, 0x28, 0x5d, 0x2e, 0x63, 0x6d, 0xab, + 0x7b, 0xaf, 0x0e, 0xfe, 0x7f, 0xd3, 0xcc, 0x26, 0x04, 0xf7, 0x73, 0xc8, 0xb8, 0x87, 0xa6, 0x28, + 0x1c, 0x45, 0x26, 0x26, 0xa7, 0xd8, 0x8d, 0x4b, 0x0e, 0x9a, 0x3f, 0xd4, 0x62, 0xaf, 0x37, 0x45, + 0xa1, 0x3b, 0xf7, 0xa9, 0x95, 0xd2, 0x56, 0x4a, 0xef, 0xda, 0xa9, 0x11, 0xb6, 0x78, 0xfd, 0x81, + 0x78, 0xf8, 0xdf, 0x8a, 0x97, 0x4a, 0xc8, 0xdc, 0x73, 0x8c, 0xb3, 0x4d, 0xc9, 0x39, 0x1e, 0xa6, + 0xb0, 0xe0, 0xa9, 0xf2, 0xfa, 0x53, 0x27, 0x74, 0xe7, 0x21, 0xfd, 0xb9, 0x31, 0x6d, 0x7f, 0x8c, + 0x5e, 0x1b, 0xf4, 0x2a, 0xd7, 0xe5, 0x3a, 0x6a, 0xfa, 0xc8, 0x2d, 0x76, 0x21, 0xcf, 0xa5, 0x06, + 0x2d, 0x64, 0xae, 0xbc, 0x81, 0xd1, 0x1c, 0xfc, 0xaa, 0xb9, 0xf8, 0xe6, 0xad, 0xab, 0x6b, 0xf0, + 0x8f, 0xb1, 0xdb, 0x99, 0x43, 0xc6, 0xd8, 0x79, 0xe1, 0xeb, 0xe6, 0x16, 0x75, 0x48, 0x26, 0x78, + 0xb0, 0x82, 0x74, 0x69, 0x8f, 0x30, 0x8a, 0x6c, 0x72, 0xd2, 0x3b, 0x42, 0xfe, 0x19, 0x1e, 0x6f, + 0xba, 0xff, 0xd2, 0x7f, 0xb9, 0xff, 0x56, 0x05, 0xe8, 0xbd, 0x0a, 0xd0, 0x47, 0x15, 0xa0, 0xcf, + 0x2a, 0x40, 0xf7, 0x5b, 0x76, 0x0f, 0x21, 0x19, 0x14, 0x82, 0x75, 0x9f, 0xca, 0x62, 0x68, 0x8e, + 0x7e, 0xf8, 0x15, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x5a, 0x3a, 0xeb, 0x41, 0x02, 0x00, 0x00, } + func (this *Metadata) Equal(that interface{}) bool { if that == nil { return this == nil @@ -152,6 +220,9 @@ func (this *Metadata) Equal(that interface{}) bool { return false } } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (m *Metadata) Marshal() (dAtA []byte, err error) { @@ -225,6 +296,9 @@ func (m *Metadata) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -238,6 +312,9 @@ func encodeVarintMetadata(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Metadata) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -268,6 +345,9 @@ func (m *Metadata) Size() (n int) { n += mapEntrySize + 1 + sovMetadata(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -299,7 +379,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -327,7 +407,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -337,6 +417,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMetadata + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -356,7 +439,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -365,11 +448,14 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetadata + } if postIndex > l { return io.ErrUnexpectedEOF } if m.CreateTime == nil { - m.CreateTime = &google_protobuf2.Timestamp{} + m.CreateTime = &types.Timestamp{} } if err := m.CreateTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -389,7 +475,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -399,6 +485,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMetadata + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -418,7 +507,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -427,6 +516,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetadata + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -447,7 +539,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -464,7 +556,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -474,6 +566,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthMetadata + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -490,7 +585,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -500,6 +595,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthMetadata + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -536,7 +634,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -545,6 +643,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetadata + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -565,7 +666,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -582,7 +683,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -592,6 +693,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthMetadata + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -608,7 +712,7 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -618,6 +722,9 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMetadata } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthMetadata + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -649,9 +756,13 @@ func (m *Metadata) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMetadata } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMetadata + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -715,10 +826,13 @@ func skipMetadata(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthMetadata } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthMetadata + } return iNdEx, nil case 3: for { @@ -747,6 +861,9 @@ func skipMetadata(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthMetadata + } } return iNdEx, nil case 4: @@ -765,30 +882,3 @@ var ( ErrInvalidLengthMetadata = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMetadata = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mcp/v1alpha1/metadata.proto", fileDescriptorMetadata) } - -var fileDescriptorMetadata = []byte{ - // 335 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x4a, 0xf3, 0x40, - 0x10, 0xc0, 0xd9, 0xa6, 0xed, 0xf7, 0x75, 0x73, 0x29, 0x4b, 0x0f, 0x31, 0x4a, 0x2c, 0x9e, 0x02, - 0xe2, 0x2e, 0xad, 0x17, 0xff, 0x80, 0xa8, 0xe0, 0x4d, 0x11, 0x82, 0x27, 0x2f, 0x32, 0x8d, 0x6b, - 0x5c, 0x4c, 0xb2, 0x21, 0xbb, 0x2d, 0xf4, 0xec, 0xcb, 0xf8, 0x28, 0x1e, 0x7d, 0x04, 0xc9, 0x93, - 0x48, 0x76, 0x13, 0x0c, 0x15, 0x04, 0x6f, 0x33, 0x99, 0xdf, 0xfc, 0x26, 0x33, 0x2c, 0xde, 0xce, - 0xe2, 0x82, 0xad, 0x66, 0x90, 0x16, 0xcf, 0x30, 0x63, 0x19, 0xd7, 0xf0, 0x08, 0x1a, 0x68, 0x51, - 0x4a, 0x2d, 0x09, 0x11, 0x4a, 0x0b, 0x49, 0xb3, 0xb8, 0xa0, 0x2d, 0xe2, 0x4f, 0x12, 0x99, 0x48, - 0x53, 0x66, 0x75, 0x64, 0x49, 0x7f, 0x37, 0x91, 0x32, 0x49, 0x39, 0x33, 0xd9, 0x62, 0xf9, 0xc4, - 0xb4, 0xc8, 0xb8, 0xd2, 0x90, 0x15, 0x0d, 0xb0, 0xb3, 0x09, 0x28, 0x5d, 0x2e, 0x63, 0x6d, 0xab, - 0x7b, 0xaf, 0x0e, 0xfe, 0x7f, 0xd3, 0xcc, 0x26, 0x04, 0xf7, 0x73, 0xc8, 0xb8, 0x87, 0xa6, 0x28, - 0x1c, 0x45, 0x26, 0x26, 0xa7, 0xd8, 0x8d, 0x4b, 0x0e, 0x9a, 0x3f, 0xd4, 0x62, 0xaf, 0x37, 0x45, - 0xa1, 0x3b, 0xf7, 0xa9, 0x95, 0xd2, 0x56, 0x4a, 0xef, 0xda, 0xa9, 0x11, 0xb6, 0x78, 0xfd, 0x81, - 0x78, 0xf8, 0xdf, 0x8a, 0x97, 0x4a, 0xc8, 0xdc, 0x73, 0x8c, 0xb3, 0x4d, 0xc9, 0x39, 0x1e, 0xa6, - 0xb0, 0xe0, 0xa9, 0xf2, 0xfa, 0x53, 0x27, 0x74, 0xe7, 0x21, 0xfd, 0xb9, 0x31, 0x6d, 0x7f, 0x8c, - 0x5e, 0x1b, 0xf4, 0x2a, 0xd7, 0xe5, 0x3a, 0x6a, 0xfa, 0xc8, 0x2d, 0x76, 0x21, 0xcf, 0xa5, 0x06, - 0x2d, 0x64, 0xae, 0xbc, 0x81, 0xd1, 0x1c, 0xfc, 0xaa, 0xb9, 0xf8, 0xe6, 0xad, 0xab, 0x6b, 0xf0, - 0x8f, 0xb1, 0xdb, 0x99, 0x43, 0xc6, 0xd8, 0x79, 0xe1, 0xeb, 0xe6, 0x16, 0x75, 0x48, 0x26, 0x78, - 0xb0, 0x82, 0x74, 0x69, 0x8f, 0x30, 0x8a, 0x6c, 0x72, 0xd2, 0x3b, 0x42, 0xfe, 0x19, 0x1e, 0x6f, - 0xba, 0xff, 0xd2, 0x7f, 0xb9, 0xff, 0x56, 0x05, 0xe8, 0xbd, 0x0a, 0xd0, 0x47, 0x15, 0xa0, 0xcf, - 0x2a, 0x40, 0xf7, 0x5b, 0x76, 0x0f, 0x21, 0x19, 0x14, 0x82, 0x75, 0x9f, 0xca, 0x62, 0x68, 0x8e, - 0x7e, 0xf8, 0x15, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x5a, 0x3a, 0xeb, 0x41, 0x02, 0x00, 0x00, -} diff --git a/mcp/v1alpha1/resource.pb.go b/mcp/v1alpha1/resource.pb.go index 9ea11cf6d3e..53c10d90d11 100644 --- a/mcp/v1alpha1/resource.pb.go +++ b/mcp/v1alpha1/resource.pb.go @@ -1,34 +1,75 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mcp/v1alpha1/resource.proto -package v1alpha1 +// This package defines the common, core types used by the Mesh Configuration Protocol. -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import _ "github.com/gogo/protobuf/gogoproto" +package v1alpha1 -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Resource as transferred via the Mesh Configuration Protocol. Each // resource is made up of common metadata, and a type-specific resource payload. type Resource struct { // Common metadata describing the resource. - Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata" json:"metadata,omitempty"` + Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // The primary payload for the resource. - Body *google_protobuf.Any `protobuf:"bytes,2,opt,name=body" json:"body,omitempty"` + Body *types.Any `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Resource) Reset() { *m = Resource{} } -func (m *Resource) String() string { return proto.CompactTextString(m) } -func (*Resource) ProtoMessage() {} -func (*Resource) Descriptor() ([]byte, []int) { return fileDescriptorResource, []int{0} } +func (m *Resource) Reset() { *m = Resource{} } +func (m *Resource) String() string { return proto.CompactTextString(m) } +func (*Resource) ProtoMessage() {} +func (*Resource) Descriptor() ([]byte, []int) { + return fileDescriptor_d75ce896e5708e1a, []int{0} +} +func (m *Resource) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Resource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Resource.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Resource) XXX_Merge(src proto.Message) { + xxx_messageInfo_Resource.Merge(m, src) +} +func (m *Resource) XXX_Size() int { + return m.Size() +} +func (m *Resource) XXX_DiscardUnknown() { + xxx_messageInfo_Resource.DiscardUnknown(m) +} + +var xxx_messageInfo_Resource proto.InternalMessageInfo func (m *Resource) GetMetadata() *Metadata { if m != nil { @@ -37,7 +78,7 @@ func (m *Resource) GetMetadata() *Metadata { return nil } -func (m *Resource) GetBody() *google_protobuf.Any { +func (m *Resource) GetBody() *types.Any { if m != nil { return m.Body } @@ -47,6 +88,26 @@ func (m *Resource) GetBody() *google_protobuf.Any { func init() { proto.RegisterType((*Resource)(nil), "istio.mcp.v1alpha1.Resource") } + +func init() { proto.RegisterFile("mcp/v1alpha1/resource.proto", fileDescriptor_d75ce896e5708e1a) } + +var fileDescriptor_d75ce896e5708e1a = []byte{ + // 207 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xce, 0x4d, 0x2e, 0xd0, + 0x2f, 0x33, 0x4c, 0xcc, 0x29, 0xc8, 0x48, 0x34, 0xd4, 0x2f, 0x4a, 0x2d, 0xce, 0x2f, 0x2d, 0x4a, + 0x4e, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xca, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, 0xcb, + 0x4d, 0x2e, 0xd0, 0x83, 0x29, 0x91, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x07, 0xab, + 0x48, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0x84, 0x28, 0x97, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, + 0x33, 0xf5, 0x41, 0x2c, 0xa8, 0x28, 0xaa, 0x0d, 0xb9, 0xa9, 0x25, 0x89, 0x29, 0x89, 0x25, 0x89, + 0x10, 0x49, 0xa5, 0x3c, 0x2e, 0x8e, 0x20, 0xa8, 0x9d, 0x42, 0x16, 0x5c, 0x1c, 0x30, 0x59, 0x09, + 0x46, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x19, 0x3d, 0x4c, 0x07, 0xe8, 0xf9, 0x42, 0xd5, 0x04, 0xc1, + 0x55, 0x0b, 0x69, 0x70, 0xb1, 0x24, 0xe5, 0xa7, 0x54, 0x4a, 0x30, 0x81, 0x75, 0x89, 0xe8, 0x41, + 0x9c, 0xa8, 0x07, 0x73, 0xa2, 0x9e, 0x63, 0x5e, 0x65, 0x10, 0x58, 0x85, 0x93, 0xf6, 0x8a, 0x47, + 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0x63, 0x94, + 0x24, 0xc4, 0x8a, 0xcc, 0x7c, 0xfd, 0xc4, 0x82, 0x4c, 0x7d, 0x64, 0xb7, 0x26, 0xb1, 0x81, 0x0d, + 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xae, 0x63, 0x31, 0x24, 0x01, 0x00, 0x00, +} + func (this *Resource) Equal(that interface{}) bool { if that == nil { return this == nil @@ -72,6 +133,9 @@ func (this *Resource) Equal(that interface{}) bool { if !this.Body.Equal(that1.Body) { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (m *Resource) Marshal() (dAtA []byte, err error) { @@ -109,6 +173,9 @@ func (m *Resource) MarshalTo(dAtA []byte) (int, error) { } i += n2 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -122,6 +189,9 @@ func encodeVarintResource(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Resource) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Metadata != nil { @@ -132,6 +202,9 @@ func (m *Resource) Size() (n int) { l = m.Body.Size() n += 1 + l + sovResource(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -163,7 +236,7 @@ func (m *Resource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -191,7 +264,7 @@ func (m *Resource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -200,6 +273,9 @@ func (m *Resource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthResource } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthResource + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -224,7 +300,7 @@ func (m *Resource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -233,11 +309,14 @@ func (m *Resource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthResource } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthResource + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = &google_protobuf.Any{} + m.Body = &types.Any{} } if err := m.Body.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -252,9 +331,13 @@ func (m *Resource) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthResource } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthResource + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -318,10 +401,13 @@ func skipResource(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthResource } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthResource + } return iNdEx, nil case 3: for { @@ -350,6 +436,9 @@ func skipResource(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthResource + } } return iNdEx, nil case 4: @@ -368,22 +457,3 @@ var ( ErrInvalidLengthResource = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowResource = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mcp/v1alpha1/resource.proto", fileDescriptorResource) } - -var fileDescriptorResource = []byte{ - // 207 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xce, 0x4d, 0x2e, 0xd0, - 0x2f, 0x33, 0x4c, 0xcc, 0x29, 0xc8, 0x48, 0x34, 0xd4, 0x2f, 0x4a, 0x2d, 0xce, 0x2f, 0x2d, 0x4a, - 0x4e, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xca, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, 0xcb, - 0x4d, 0x2e, 0xd0, 0x83, 0x29, 0x91, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x07, 0xab, - 0x48, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0x84, 0x28, 0x97, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, - 0x33, 0xf5, 0x41, 0x2c, 0xa8, 0x28, 0xaa, 0x0d, 0xb9, 0xa9, 0x25, 0x89, 0x29, 0x89, 0x25, 0x89, - 0x10, 0x49, 0xa5, 0x3c, 0x2e, 0x8e, 0x20, 0xa8, 0x9d, 0x42, 0x16, 0x5c, 0x1c, 0x30, 0x59, 0x09, - 0x46, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x19, 0x3d, 0x4c, 0x07, 0xe8, 0xf9, 0x42, 0xd5, 0x04, 0xc1, - 0x55, 0x0b, 0x69, 0x70, 0xb1, 0x24, 0xe5, 0xa7, 0x54, 0x4a, 0x30, 0x81, 0x75, 0x89, 0xe8, 0x41, - 0x9c, 0xa8, 0x07, 0x73, 0xa2, 0x9e, 0x63, 0x5e, 0x65, 0x10, 0x58, 0x85, 0x93, 0xf6, 0x8a, 0x47, - 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0x63, 0x94, - 0x24, 0xc4, 0x8a, 0xcc, 0x7c, 0xfd, 0xc4, 0x82, 0x4c, 0x7d, 0x64, 0xb7, 0x26, 0xb1, 0x81, 0x0d, - 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xae, 0x63, 0x31, 0x24, 0x01, 0x00, 0x00, -} diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 06a61fd9bf0..19ae37cb2c2 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -1,34 +1,18 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mesh/v1alpha1/config.proto -/* - Package v1alpha1 is a generated protocol buffer package. - - Configuration affecting the service mesh as a whole. - - It is generated from these files: - mesh/v1alpha1/config.proto - mesh/v1alpha1/network.proto - mesh/v1alpha1/proxy.proto - - It has these top-level messages: - MeshConfig - ConfigSource - LocalityLoadBalancerSetting - Network - MeshNetworks - Tracing - ProxyConfig -*/ -package v1alpha1 +// Configuration affecting the service mesh as a whole. -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import istio_networking_v1alpha31 "istio.io/api/networking/v1alpha3" +package v1alpha1 -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + v1alpha3 "istio.io/api/networking/v1alpha3" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -65,6 +49,7 @@ var MeshConfig_IngressControllerMode_name = map[int32]string{ 1: "DEFAULT", 2: "STRICT", } + var MeshConfig_IngressControllerMode_value = map[string]int32{ "OFF": 0, "DEFAULT": 1, @@ -74,8 +59,9 @@ var MeshConfig_IngressControllerMode_value = map[string]int32{ func (x MeshConfig_IngressControllerMode) String() string { return proto.EnumName(MeshConfig_IngressControllerMode_name, int32(x)) } + func (MeshConfig_IngressControllerMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 0} } // $hide_from_docs @@ -90,6 +76,7 @@ var MeshConfig_AuthPolicy_name = map[int32]string{ 0: "NONE", 1: "MUTUAL_TLS", } + var MeshConfig_AuthPolicy_value = map[string]int32{ "NONE": 0, "MUTUAL_TLS": 1, @@ -98,8 +85,9 @@ var MeshConfig_AuthPolicy_value = map[string]int32{ func (x MeshConfig_AuthPolicy) String() string { return proto.EnumName(MeshConfig_AuthPolicy_name, int32(x)) } + func (MeshConfig_AuthPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 1} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 1} } type MeshConfig_AccessLogEncoding int32 @@ -113,6 +101,7 @@ var MeshConfig_AccessLogEncoding_name = map[int32]string{ 0: "TEXT", 1: "JSON", } + var MeshConfig_AccessLogEncoding_value = map[string]int32{ "TEXT": 0, "JSON": 1, @@ -121,8 +110,9 @@ var MeshConfig_AccessLogEncoding_value = map[string]int32{ func (x MeshConfig_AccessLogEncoding) String() string { return proto.EnumName(MeshConfig_AccessLogEncoding_name, int32(x)) } + func (MeshConfig_AccessLogEncoding) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 2} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 2} } type MeshConfig_OutboundTrafficPolicy_Mode int32 @@ -140,6 +130,7 @@ var MeshConfig_OutboundTrafficPolicy_Mode_name = map[int32]string{ 0: "REGISTRY_ONLY", 1: "ALLOW_ANY", } + var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{ "REGISTRY_ONLY": 0, "ALLOW_ANY": 1, @@ -148,8 +139,9 @@ var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{ func (x MeshConfig_OutboundTrafficPolicy_Mode) String() string { return proto.EnumName(MeshConfig_OutboundTrafficPolicy_Mode_name, int32(x)) } + func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 0, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 0, 0} } // MeshConfig defines mesh-wide variables shared by all Envoy instances in the @@ -190,9 +182,9 @@ type MeshConfig struct { // Port on which Envoy should listen for HTTP PROXY requests if set. ProxyHttpPort int32 `protobuf:"varint,5,opt,name=proxy_http_port,json=proxyHttpPort,proto3" json:"proxy_http_port,omitempty"` // Connection timeout used by Envoy. (MUST BE >=1ms) - ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + ConnectTimeout *types.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. - TcpKeepalive *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` + TcpKeepalive *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` // Class of ingress resources to be processed by Istio ingress // controller. This corresponds to the value of // "kubernetes.io/ingress.class" annotation. @@ -202,9 +194,9 @@ type MeshConfig struct { // Defines whether to use Istio ingress controller for annotated or all ingress resources. IngressControllerMode MeshConfig_IngressControllerMode `protobuf:"varint,9,opt,name=ingress_controller_mode,json=ingressControllerMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_IngressControllerMode" json:"ingress_controller_mode,omitempty"` // $hide_from_docs - AuthPolicy MeshConfig_AuthPolicy `protobuf:"varint,10,opt,name=auth_policy,json=authPolicy,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AuthPolicy" json:"auth_policy,omitempty"` + AuthPolicy MeshConfig_AuthPolicy `protobuf:"varint,10,opt,name=auth_policy,json=authPolicy,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AuthPolicy" json:"auth_policy,omitempty"` // Deprecated: Do not use. // $hide_from_docs - RdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,11,opt,name=rds_refresh_delay,json=rdsRefreshDelay" json:"rds_refresh_delay,omitempty"` + RdsRefreshDelay *types.Duration `protobuf:"bytes,11,opt,name=rds_refresh_delay,json=rdsRefreshDelay,proto3" json:"rds_refresh_delay,omitempty"` // Deprecated: Do not use. // Flag to control generation of trace spans and request IDs. // Requires a trace span collector defined in the proxy configuration. EnableTracing bool `protobuf:"varint,12,opt,name=enable_tracing,json=enableTracing,proto3" json:"enable_tracing,omitempty"` @@ -222,9 +214,9 @@ type MeshConfig struct { // In case of Kubernetes, the proxy config is applied once during the injection process, // and remain constant for the duration of the pod. The rest of the mesh config can be changed // at runtime and config gets distributed dynamically. - DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig" json:"default_config,omitempty"` + DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"` // $hide_from_docs - MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"` + MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"` // Deprecated: Do not use. // Set the default behavior of the sidecar for handling outbound traffic // from the application. If your application uses one or more external // services that are not known apriori, setting the policy to ALLOW_ANY @@ -233,18 +225,18 @@ type MeshConfig struct { // encouraged to use ServiceEntries to explicitly declare any external // dependencies, instead of using allow_any, so that traffic to these // services can be monitored. - OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy" json:"outbound_traffic_policy,omitempty"` + OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy,proto3" json:"outbound_traffic_policy,omitempty"` // Enables clide side policy checks. EnableClientSidePolicyCheck bool `protobuf:"varint,19,opt,name=enable_client_side_policy_check,json=enableClientSidePolicyCheck,proto3" json:"enable_client_side_policy_check,omitempty"` // Unix Domain Socket through which envoy communicates with NodeAgent SDS to get key/cert for mTLS. // Use secret-mount files instead of SDS if set to empty. SdsUdsPath string `protobuf:"bytes,20,opt,name=sds_uds_path,json=sdsUdsPath,proto3" json:"sds_uds_path,omitempty"` // $hide_from_docs - SdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,21,opt,name=sds_refresh_delay,json=sdsRefreshDelay" json:"sds_refresh_delay,omitempty"` + SdsRefreshDelay *types.Duration `protobuf:"bytes,21,opt,name=sds_refresh_delay,json=sdsRefreshDelay,proto3" json:"sds_refresh_delay,omitempty"` // Deprecated: Do not use. // ConfigSource describes a source of configuration data for networking // rules, and other Istio configuration artifacts. Multiple data sources // can be configured for a single control plane. - ConfigSources []*ConfigSource `protobuf:"bytes,22,rep,name=config_sources,json=configSources" json:"config_sources,omitempty"` + 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 @@ -289,21 +281,21 @@ type MeshConfig struct { // // For further discussion see the reference documentation for ServiceEntry, // Sidecar, and Gateway. - DefaultServiceExportTo []string `protobuf:"bytes,31,rep,name=default_service_export_to,json=defaultServiceExportTo" json:"default_service_export_to,omitempty"` + DefaultServiceExportTo []string `protobuf:"bytes,31,rep,name=default_service_export_to,json=defaultServiceExportTo,proto3" json:"default_service_export_to,omitempty"` // $hide_from_docs // The default value for the VirtualService.export_to field. Has the same // syntax as 'default_service_export_to'. // // If not set the system will use "*" as the default value which implies that // virtual services are exported to all namespaces - DefaultVirtualServiceExportTo []string `protobuf:"bytes,32,rep,name=default_virtual_service_export_to,json=defaultVirtualServiceExportTo" json:"default_virtual_service_export_to,omitempty"` + DefaultVirtualServiceExportTo []string `protobuf:"bytes,32,rep,name=default_virtual_service_export_to,json=defaultVirtualServiceExportTo,proto3" json:"default_virtual_service_export_to,omitempty"` // $hide_from_docs // The default value for the DestinationRule.export_to field. Has the same // syntax as 'default_service_export_to'. // // If not set the system will use "*" as the default value which implies that // destination rules are exported to all namespaces - DefaultDestinationRuleExportTo []string `protobuf:"bytes,33,rep,name=default_destination_rule_export_to,json=defaultDestinationRuleExportTo" json:"default_destination_rule_export_to,omitempty"` + 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 @@ -321,13 +313,44 @@ type MeshConfig struct { // 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"` // Locality based load balancing distribution or failover settings. - LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting" json:"locality_lb_setting,omitempty"` + LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MeshConfig) Reset() { *m = MeshConfig{} } +func (m *MeshConfig) String() string { return proto.CompactTextString(m) } +func (*MeshConfig) ProtoMessage() {} +func (*MeshConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c7ece76d5d5022, []int{0} +} +func (m *MeshConfig) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshConfig.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshConfig.Merge(m, src) +} +func (m *MeshConfig) XXX_Size() int { + return m.Size() +} +func (m *MeshConfig) XXX_DiscardUnknown() { + xxx_messageInfo_MeshConfig.DiscardUnknown(m) } -func (m *MeshConfig) Reset() { *m = MeshConfig{} } -func (m *MeshConfig) String() string { return proto.CompactTextString(m) } -func (*MeshConfig) ProtoMessage() {} -func (*MeshConfig) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0} } +var xxx_messageInfo_MeshConfig proto.InternalMessageInfo func (m *MeshConfig) GetMixerCheckServer() string { if m != nil { @@ -378,14 +401,14 @@ func (m *MeshConfig) GetProxyHttpPort() int32 { return 0 } -func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration { +func (m *MeshConfig) GetConnectTimeout() *types.Duration { if m != nil { return m.ConnectTimeout } return nil } -func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive { +func (m *MeshConfig) GetTcpKeepalive() *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive { if m != nil { return m.TcpKeepalive } @@ -413,6 +436,7 @@ func (m *MeshConfig) GetIngressControllerMode() MeshConfig_IngressControllerMode return MeshConfig_OFF } +// Deprecated: Do not use. func (m *MeshConfig) GetAuthPolicy() MeshConfig_AuthPolicy { if m != nil { return m.AuthPolicy @@ -420,7 +444,8 @@ func (m *MeshConfig) GetAuthPolicy() MeshConfig_AuthPolicy { return MeshConfig_NONE } -func (m *MeshConfig) GetRdsRefreshDelay() *google_protobuf.Duration { +// Deprecated: Do not use. +func (m *MeshConfig) GetRdsRefreshDelay() *types.Duration { if m != nil { return m.RdsRefreshDelay } @@ -462,6 +487,7 @@ func (m *MeshConfig) GetDefaultConfig() *ProxyConfig { return nil } +// Deprecated: Do not use. func (m *MeshConfig) GetMixerAddress() string { if m != nil { return m.MixerAddress @@ -490,7 +516,8 @@ func (m *MeshConfig) GetSdsUdsPath() string { return "" } -func (m *MeshConfig) GetSdsRefreshDelay() *google_protobuf.Duration { +// Deprecated: Do not use. +func (m *MeshConfig) GetSdsRefreshDelay() *types.Duration { if m != nil { return m.SdsRefreshDelay } @@ -561,15 +588,44 @@ func (m *MeshConfig) GetLocalityLbSetting() *LocalityLoadBalancerSetting { } type MeshConfig_OutboundTrafficPolicy struct { - Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` + Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *MeshConfig_OutboundTrafficPolicy) Reset() { *m = MeshConfig_OutboundTrafficPolicy{} } func (m *MeshConfig_OutboundTrafficPolicy) String() string { return proto.CompactTextString(m) } func (*MeshConfig_OutboundTrafficPolicy) ProtoMessage() {} func (*MeshConfig_OutboundTrafficPolicy) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{0, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{0, 0} +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.Merge(m, src) } +func (m *MeshConfig_OutboundTrafficPolicy) XXX_Size() int { + return m.Size() +} +func (m *MeshConfig_OutboundTrafficPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_MeshConfig_OutboundTrafficPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_MeshConfig_OutboundTrafficPolicy proto.InternalMessageInfo func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficPolicy_Mode { if m != nil { @@ -589,13 +645,44 @@ type ConfigSource struct { // Use the tls_settings to specify the tls mode to use. If the MCP server // uses Istio MTLS and shares the root CA with Pilot, specify the TLS // mode as ISTIO_MUTUAL. - TlsSettings *istio_networking_v1alpha31.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"` + 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:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigSource) Reset() { *m = ConfigSource{} } +func (m *ConfigSource) String() string { return proto.CompactTextString(m) } +func (*ConfigSource) ProtoMessage() {} +func (*ConfigSource) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c7ece76d5d5022, []int{1} +} +func (m *ConfigSource) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConfigSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConfigSource.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConfigSource) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigSource.Merge(m, src) +} +func (m *ConfigSource) XXX_Size() int { + return m.Size() +} +func (m *ConfigSource) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigSource.DiscardUnknown(m) } -func (m *ConfigSource) Reset() { *m = ConfigSource{} } -func (m *ConfigSource) String() string { return proto.CompactTextString(m) } -func (*ConfigSource) ProtoMessage() {} -func (*ConfigSource) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{1} } +var xxx_messageInfo_ConfigSource proto.InternalMessageInfo func (m *ConfigSource) GetAddress() string { if m != nil { @@ -604,7 +691,7 @@ func (m *ConfigSource) GetAddress() string { return "" } -func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha31.TLSSettings { +func (m *ConfigSource) GetTlsSettings() *v1alpha3.TLSSettings { if m != nil { return m.TlsSettings } @@ -663,21 +750,50 @@ type LocalityLoadBalancerSetting struct { // 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) // If empty, the locality weight is set according to the endpoints number within it. - Distribute []*LocalityLoadBalancerSetting_Distribute `protobuf:"bytes,1,rep,name=distribute" json:"distribute,omitempty"` + Distribute []*LocalityLoadBalancerSetting_Distribute `protobuf:"bytes,1,rep,name=distribute,proto3" json:"distribute,omitempty"` // Optional: only failover or distribute can be set. // Explicitly specify the region traffic will land on when endpoints in local region becomes unhealthy. // Should be used together with OutlierDetection to detect unhealthy endpoints. // Note: if no OutlierDetection specified, this will not take effect. - Failover []*LocalityLoadBalancerSetting_Failover `protobuf:"bytes,2,rep,name=failover" json:"failover,omitempty"` + Failover []*LocalityLoadBalancerSetting_Failover `protobuf:"bytes,2,rep,name=failover,proto3" json:"failover,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LocalityLoadBalancerSetting) Reset() { *m = LocalityLoadBalancerSetting{} } func (m *LocalityLoadBalancerSetting) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting) ProtoMessage() {} func (*LocalityLoadBalancerSetting) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{2} + return fileDescriptor_b5c7ece76d5d5022, []int{2} +} +func (m *LocalityLoadBalancerSetting) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LocalityLoadBalancerSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LocalityLoadBalancerSetting.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LocalityLoadBalancerSetting) XXX_Merge(src proto.Message) { + xxx_messageInfo_LocalityLoadBalancerSetting.Merge(m, src) +} +func (m *LocalityLoadBalancerSetting) XXX_Size() int { + return m.Size() +} +func (m *LocalityLoadBalancerSetting) XXX_DiscardUnknown() { + xxx_messageInfo_LocalityLoadBalancerSetting.DiscardUnknown(m) } +var xxx_messageInfo_LocalityLoadBalancerSetting proto.InternalMessageInfo + func (m *LocalityLoadBalancerSetting) GetDistribute() []*LocalityLoadBalancerSetting_Distribute { if m != nil { return m.Distribute @@ -705,7 +821,10 @@ type LocalityLoadBalancerSetting_Distribute struct { // Map of upstream localities to traffic distribution weights. The sum of // all weights should be == 100. Any locality not assigned a weight will // receive no traffic. - To map[string]uint32 `protobuf:"bytes,2,rep,name=to" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + To map[string]uint32 `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LocalityLoadBalancerSetting_Distribute) Reset() { @@ -714,8 +833,34 @@ func (m *LocalityLoadBalancerSetting_Distribute) Reset() { func (m *LocalityLoadBalancerSetting_Distribute) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting_Distribute) ProtoMessage() {} func (*LocalityLoadBalancerSetting_Distribute) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{2, 0} + return fileDescriptor_b5c7ece76d5d5022, []int{2, 0} +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Merge(src proto.Message) { + xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.Merge(m, src) +} +func (m *LocalityLoadBalancerSetting_Distribute) XXX_Size() int { + return m.Size() } +func (m *LocalityLoadBalancerSetting_Distribute) XXX_DiscardUnknown() { + xxx_messageInfo_LocalityLoadBalancerSetting_Distribute.DiscardUnknown(m) +} + +var xxx_messageInfo_LocalityLoadBalancerSetting_Distribute proto.InternalMessageInfo func (m *LocalityLoadBalancerSetting_Distribute) GetFrom() string { if m != nil { @@ -743,15 +888,44 @@ type LocalityLoadBalancerSetting_Failover struct { From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` // Destination region the traffic will fail over to when endpoints in // the 'from' region becomes unhealthy. - To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` + To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LocalityLoadBalancerSetting_Failover) Reset() { *m = LocalityLoadBalancerSetting_Failover{} } func (m *LocalityLoadBalancerSetting_Failover) String() string { return proto.CompactTextString(m) } func (*LocalityLoadBalancerSetting_Failover) ProtoMessage() {} func (*LocalityLoadBalancerSetting_Failover) Descriptor() ([]byte, []int) { - return fileDescriptorConfig, []int{2, 1} + return fileDescriptor_b5c7ece76d5d5022, []int{2, 1} +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Merge(src proto.Message) { + xxx_messageInfo_LocalityLoadBalancerSetting_Failover.Merge(m, src) +} +func (m *LocalityLoadBalancerSetting_Failover) XXX_Size() int { + return m.Size() } +func (m *LocalityLoadBalancerSetting_Failover) XXX_DiscardUnknown() { + xxx_messageInfo_LocalityLoadBalancerSetting_Failover.DiscardUnknown(m) +} + +var xxx_messageInfo_LocalityLoadBalancerSetting_Failover proto.InternalMessageInfo func (m *LocalityLoadBalancerSetting_Failover) GetFrom() string { if m != nil { @@ -768,17 +942,117 @@ func (m *LocalityLoadBalancerSetting_Failover) GetTo() string { } func init() { + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) proto.RegisterType((*MeshConfig)(nil), "istio.mesh.v1alpha1.MeshConfig") proto.RegisterType((*MeshConfig_OutboundTrafficPolicy)(nil), "istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy") proto.RegisterType((*ConfigSource)(nil), "istio.mesh.v1alpha1.ConfigSource") proto.RegisterType((*LocalityLoadBalancerSetting)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting") proto.RegisterType((*LocalityLoadBalancerSetting_Distribute)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute") + proto.RegisterMapType((map[string]uint32)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute.ToEntry") proto.RegisterType((*LocalityLoadBalancerSetting_Failover)(nil), "istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Failover") - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) } + +func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptor_b5c7ece76d5d5022) } + +var fileDescriptor_b5c7ece76d5d5022 = []byte{ + // 1461 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xb8, + 0x15, 0x36, 0x65, 0x25, 0x96, 0x8f, 0x7e, 0x4c, 0xc1, 0x71, 0x96, 0x56, 0xba, 0x5e, 0x59, 0x3b, + 0x49, 0x34, 0x9e, 0x0e, 0xdd, 0xd8, 0xb3, 0x33, 0xc9, 0xf6, 0xca, 0x96, 0xe4, 0x8d, 0xbd, 0xb2, + 0xe5, 0xa1, 0xe8, 0xb4, 0x69, 0x2f, 0x50, 0x98, 0x84, 0x24, 0xd4, 0x14, 0xc1, 0x21, 0x40, 0x27, + 0x7a, 0xa7, 0x76, 0xa6, 0x8f, 0xd1, 0xcb, 0x3e, 0x42, 0x27, 0x77, 0x7d, 0x8b, 0x0e, 0x01, 0xd2, + 0x52, 0xbc, 0x9a, 0xb8, 0xe9, 0xde, 0x11, 0xdf, 0xf9, 0xce, 0x07, 0xe2, 0x9c, 0x83, 0x8f, 0x84, + 0xc6, 0x94, 0x8a, 0xc9, 0xfe, 0xed, 0x2b, 0x12, 0x44, 0x13, 0xf2, 0x6a, 0xdf, 0xe3, 0xe1, 0x88, + 0x8d, 0xed, 0x28, 0xe6, 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x76, 0xca, 0xb0, 0x73, 0x46, 0x63, + 0x67, 0xcc, 0xf9, 0x38, 0xa0, 0xfb, 0x8a, 0x72, 0x9d, 0x8c, 0xf6, 0xfd, 0x24, 0x26, 0x92, 0xf1, + 0x50, 0x27, 0x35, 0xb6, 0x3f, 0x17, 0x8c, 0x62, 0xfe, 0x71, 0x96, 0x85, 0xf6, 0x42, 0x2a, 0x3f, + 0xf0, 0xf8, 0x86, 0x85, 0xe3, 0x9c, 0x70, 0xb8, 0xef, 0x53, 0x21, 0x59, 0xa8, 0x14, 0x70, 0x9c, + 0x04, 0x54, 0x73, 0x5b, 0xff, 0x41, 0x00, 0xe7, 0x54, 0x4c, 0x3a, 0xea, 0x85, 0xd0, 0x6f, 0x01, + 0x4d, 0xd9, 0x47, 0x1a, 0x63, 0x6f, 0x42, 0xbd, 0x1b, 0x2c, 0x68, 0x7c, 0x4b, 0x63, 0xcb, 0x68, + 0x1a, 0xed, 0x75, 0xc7, 0x54, 0x91, 0x4e, 0x1a, 0x18, 0x2a, 0x1c, 0xd9, 0xb0, 0xa9, 0xd9, 0x31, + 0x8d, 0x78, 0x2c, 0x73, 0x7a, 0x41, 0xd1, 0xeb, 0x2a, 0xe4, 0xa8, 0x48, 0xc6, 0x3f, 0x80, 0x2d, + 0x9f, 0x09, 0x72, 0x1d, 0x50, 0x1c, 0xf1, 0x80, 0x79, 0x33, 0xbd, 0x8d, 0xb0, 0x56, 0x9b, 0x46, + 0xbb, 0xe4, 0x6c, 0x66, 0xc1, 0x4b, 0x15, 0x53, 0x1b, 0x09, 0x74, 0x08, 0x4f, 0x17, 0xb9, 0x78, + 0x44, 0x58, 0x80, 0x79, 0x44, 0x43, 0x6b, 0x5b, 0x27, 0x45, 0x73, 0xf6, 0x09, 0x61, 0xc1, 0x20, + 0xa2, 0x21, 0xba, 0x84, 0xe7, 0x82, 0xf9, 0xd4, 0x23, 0x31, 0x96, 0x1c, 0x4b, 0x1a, 0xd0, 0x29, + 0x95, 0xf1, 0x0c, 0x0b, 0x2a, 0x44, 0x5a, 0x00, 0x32, 0x1a, 0xb1, 0x90, 0xc9, 0x99, 0xb5, 0xa3, + 0x34, 0x76, 0x33, 0xb2, 0xcb, 0xdd, 0x9c, 0x3a, 0xd4, 0xcc, 0xa3, 0x8c, 0x88, 0xf6, 0xa0, 0xae, + 0x4a, 0x8c, 0x03, 0x26, 0x24, 0x0d, 0x71, 0x7a, 0x2a, 0xab, 0xd8, 0x34, 0xda, 0x8f, 0x9c, 0x0d, + 0x15, 0xe8, 0x2b, 0xfc, 0x92, 0xc7, 0x12, 0xbd, 0x00, 0x0d, 0xe1, 0x89, 0x94, 0x91, 0x66, 0x3e, + 0x52, 0xcc, 0xaa, 0x82, 0xdf, 0x4a, 0x19, 0x29, 0xde, 0x31, 0x6c, 0x78, 0x3c, 0x0c, 0xa9, 0x27, + 0xb1, 0x64, 0x53, 0xca, 0x13, 0x69, 0x3d, 0x6e, 0x1a, 0xed, 0xf2, 0xc1, 0xb6, 0xad, 0x9b, 0x6f, + 0xe7, 0xcd, 0xb7, 0xbb, 0x59, 0xf3, 0x9d, 0x5a, 0x96, 0xe1, 0xea, 0x04, 0xc4, 0xa1, 0x2a, 0xbd, + 0x08, 0xdf, 0x50, 0x1a, 0x91, 0x80, 0xdd, 0x52, 0xeb, 0x37, 0x4a, 0xe1, 0xcc, 0xd6, 0x33, 0x35, + 0x9f, 0x84, 0x7c, 0xb2, 0x0e, 0xed, 0x8e, 0x56, 0x60, 0x3c, 0xbc, 0xe4, 0x3c, 0x18, 0x52, 0x29, + 0x59, 0x38, 0x16, 0xb6, 0xdb, 0xb9, 0x9c, 0x3f, 0x7b, 0xd1, 0xcf, 0xb9, 0xa2, 0x53, 0x91, 0x0b, + 0x2b, 0xf4, 0x3d, 0x54, 0x59, 0x38, 0x8e, 0xa9, 0x10, 0xd8, 0x0b, 0x88, 0x10, 0xd6, 0x9a, 0xea, + 0x76, 0x25, 0x03, 0x3b, 0x29, 0x86, 0x5e, 0xc2, 0x46, 0x4e, 0x4a, 0x67, 0x82, 0x79, 0xd4, 0x2a, + 0x29, 0x5a, 0x2d, 0x83, 0x87, 0x1a, 0x45, 0x53, 0xf8, 0xe6, 0x4e, 0x8d, 0x87, 0x32, 0xe6, 0x41, + 0x40, 0x63, 0x3c, 0xe5, 0x3e, 0xb5, 0xd6, 0x9b, 0x46, 0xbb, 0x76, 0xf0, 0x83, 0xbd, 0xe4, 0x72, + 0xd8, 0xf3, 0x89, 0xb5, 0x4f, 0xb3, 0x7d, 0xef, 0xb2, 0xcf, 0xb9, 0x4f, 0x9d, 0x2d, 0xb6, 0x0c, + 0x46, 0x03, 0x28, 0x93, 0x44, 0x4e, 0xb2, 0xe9, 0xb3, 0x40, 0x6d, 0xb1, 0xf7, 0xd0, 0x16, 0x47, + 0x89, 0x9c, 0xe8, 0x99, 0x3c, 0x2e, 0x58, 0x86, 0x03, 0xe4, 0x6e, 0x8d, 0x4e, 0xa1, 0x1e, 0xfb, + 0x02, 0xc7, 0x74, 0x14, 0x53, 0x31, 0xc1, 0x3e, 0x0d, 0xc8, 0xcc, 0x2a, 0x3f, 0xd0, 0x44, 0xa5, + 0xb2, 0x11, 0xfb, 0xc2, 0xd1, 0x69, 0xdd, 0x34, 0x0b, 0x3d, 0x87, 0x1a, 0x0d, 0xd5, 0xdd, 0x90, + 0x31, 0xf1, 0x58, 0x38, 0xb6, 0x2a, 0x6a, 0x38, 0xab, 0x1a, 0x75, 0x35, 0x98, 0x0e, 0x17, 0xf1, + 0xbc, 0xb4, 0x60, 0x01, 0x1f, 0xe3, 0x11, 0x0b, 0xa8, 0x55, 0x55, 0xa5, 0xad, 0x6a, 0xb8, 0xcf, + 0xc7, 0x27, 0x2c, 0xa0, 0xe9, 0xc0, 0x2e, 0xf2, 0x78, 0x3c, 0x25, 0xd2, 0xb2, 0x14, 0x73, 0x63, + 0xce, 0x54, 0x30, 0x22, 0xb0, 0xb9, 0xc0, 0xa5, 0xa1, 0xc7, 0xfd, 0x74, 0xff, 0x67, 0xaa, 0x3c, + 0xaf, 0x1e, 0x2c, 0x4f, 0xae, 0xd6, 0xcb, 0x12, 0x9d, 0x3a, 0xb9, 0x0f, 0xa1, 0x9f, 0xa0, 0xe6, + 0xd3, 0x11, 0x49, 0x02, 0x89, 0xb5, 0xf7, 0x59, 0x35, 0x55, 0xa5, 0xe6, 0x52, 0xf5, 0xcb, 0xf4, + 0x9e, 0x68, 0x79, 0xa7, 0x9a, 0xe5, 0x65, 0x0e, 0xf5, 0x12, 0xaa, 0xda, 0x73, 0x88, 0xef, 0xa7, + 0x1d, 0xb6, 0xcc, 0xf4, 0x4c, 0xaa, 0xa4, 0x15, 0x15, 0x38, 0xd2, 0x78, 0x3a, 0x5a, 0x3c, 0x91, + 0xd7, 0x3c, 0x09, 0xfd, 0xb4, 0xa2, 0xa3, 0x11, 0xf3, 0xf2, 0xbe, 0xd7, 0xd5, 0xd6, 0x0f, 0x8e, + 0xd6, 0x20, 0x4b, 0x77, 0x75, 0xb6, 0x6e, 0xb9, 0xb3, 0xc5, 0x97, 0xc1, 0xa8, 0x0b, 0xdf, 0x65, + 0xed, 0xf3, 0x02, 0x46, 0x43, 0x89, 0x53, 0x4f, 0xf9, 0xcc, 0xe6, 0xac, 0x4d, 0xd5, 0xcf, 0x67, + 0x9a, 0xd6, 0x51, 0xac, 0x21, 0xf3, 0x17, 0xed, 0x0e, 0x35, 0xa1, 0x22, 0x7c, 0x81, 0x13, 0x5f, + 0xe0, 0x88, 0xc8, 0x89, 0xf5, 0x44, 0x35, 0x0c, 0x84, 0x2f, 0xae, 0x7c, 0x71, 0x49, 0xe4, 0x24, + 0x9d, 0x38, 0xf1, 0x8b, 0x89, 0xdb, 0xfa, 0x9f, 0x26, 0x4e, 0xdc, 0x9b, 0xb8, 0xb7, 0x50, 0xd3, + 0xbd, 0xc0, 0x82, 0x27, 0xb1, 0x47, 0x85, 0xf5, 0xb4, 0xb9, 0xda, 0x2e, 0x1f, 0xec, 0x2e, 0x2d, + 0x8c, 0x2e, 0xca, 0x50, 0x31, 0x9d, 0xaa, 0xb7, 0xb0, 0x52, 0x26, 0x9d, 0x1d, 0x3e, 0x7d, 0x37, + 0xc9, 0x6f, 0x68, 0x88, 0xa7, 0x3c, 0x09, 0xa5, 0xf5, 0x8d, 0x36, 0x69, 0x1d, 0x1d, 0xfa, 0xc2, + 0x4d, 0x63, 0xe7, 0x69, 0x08, 0xed, 0x01, 0x52, 0x67, 0x15, 0x14, 0xdf, 0xbc, 0x16, 0x58, 0x10, + 0xfc, 0xd7, 0x0f, 0xd2, 0xfa, 0x56, 0x25, 0xd4, 0xd2, 0x13, 0x0b, 0xfa, 0xf3, 0x6b, 0x31, 0x24, + 0x67, 0x1f, 0x24, 0xda, 0x85, 0x8a, 0x8c, 0x13, 0x21, 0xb1, 0xcf, 0xa7, 0x84, 0x85, 0x56, 0x43, + 0xd5, 0xa5, 0xac, 0xb0, 0xae, 0x82, 0xd0, 0x1b, 0xd8, 0xce, 0x27, 0x2c, 0xf3, 0x1c, 0x4c, 0x3f, + 0xaa, 0xcf, 0x92, 0xe4, 0xd6, 0x77, 0xcd, 0xd5, 0xf6, 0xba, 0xf3, 0x34, 0x23, 0x64, 0xee, 0xd3, + 0x53, 0x61, 0x97, 0xa3, 0xb7, 0xb0, 0x9b, 0xa7, 0xde, 0xb2, 0x58, 0x26, 0x24, 0x58, 0x22, 0xd1, + 0x54, 0x12, 0xdf, 0x66, 0xc4, 0x77, 0x9a, 0x77, 0x5f, 0xe9, 0x0c, 0x5a, 0xb9, 0xd2, 0xfd, 0x0f, + 0xee, 0x82, 0xd4, 0xae, 0x92, 0xda, 0xc9, 0x98, 0xdd, 0x39, 0xd1, 0x49, 0x82, 0xb9, 0xd6, 0x73, + 0xa8, 0xc5, 0x9c, 0x4b, 0x1c, 0x92, 0x29, 0x15, 0x11, 0xf1, 0xa8, 0xd5, 0xd2, 0x17, 0x3d, 0x45, + 0x2f, 0x72, 0x10, 0xfd, 0x05, 0x36, 0x03, 0xee, 0x91, 0x80, 0xc9, 0x19, 0x0e, 0xae, 0xb1, 0xd0, + 0x1e, 0x6e, 0x7d, 0xaf, 0x46, 0xe2, 0x77, 0x4b, 0x5b, 0xd9, 0xcf, 0xf8, 0x7d, 0x4e, 0xfc, 0x63, + 0x12, 0x90, 0xd0, 0xa3, 0x71, 0xe6, 0xfd, 0x4e, 0x3d, 0x17, 0xeb, 0x5f, 0x67, 0x50, 0xe3, 0xef, + 0x06, 0x6c, 0x2d, 0xbd, 0x0b, 0xe8, 0x02, 0x8a, 0xca, 0xab, 0x0d, 0xe5, 0x14, 0x3f, 0xfe, 0x5f, + 0x17, 0xca, 0x56, 0x86, 0xad, 0x74, 0x5a, 0x5d, 0x28, 0x2a, 0x9f, 0xae, 0x43, 0xd5, 0xe9, 0xfd, + 0x74, 0x3a, 0x74, 0x9d, 0xf7, 0x78, 0x70, 0xd1, 0x7f, 0x6f, 0xae, 0xa0, 0x2a, 0xac, 0x1f, 0xf5, + 0xfb, 0x83, 0x3f, 0xe0, 0xa3, 0x8b, 0xf7, 0xa6, 0xd1, 0x2a, 0x96, 0x0a, 0x66, 0x61, 0xef, 0xc9, + 0xbb, 0x53, 0xc7, 0xbd, 0x3a, 0xea, 0xe3, 0x61, 0xcf, 0x79, 0x77, 0xda, 0xe9, 0x29, 0x72, 0xeb, + 0x0d, 0x6c, 0x2d, 0xfd, 0x2a, 0xa0, 0x35, 0x58, 0x1d, 0x9c, 0x9c, 0x98, 0x2b, 0xa8, 0x0c, 0x6b, + 0xdd, 0xde, 0xc9, 0xd1, 0x55, 0xdf, 0x35, 0x0d, 0x04, 0xf0, 0x78, 0xe8, 0x3a, 0xa7, 0x1d, 0xd7, + 0x2c, 0xb4, 0x5e, 0x00, 0xcc, 0xdd, 0x1e, 0x95, 0xa0, 0x78, 0x31, 0xb8, 0xe8, 0x99, 0x2b, 0xa8, + 0x06, 0x70, 0x7e, 0xa5, 0x76, 0x72, 0xfb, 0x43, 0xd3, 0x68, 0xbd, 0x84, 0xfa, 0x2f, 0x6c, 0x2f, + 0xa5, 0xbb, 0xbd, 0x3f, 0xba, 0xe6, 0x4a, 0xfa, 0x74, 0x36, 0x1c, 0x5c, 0x98, 0xc6, 0x59, 0xb1, + 0xb4, 0x61, 0x9a, 0x67, 0xc5, 0x12, 0x32, 0x37, 0x5b, 0x02, 0x2a, 0x8b, 0x97, 0x08, 0x59, 0xb0, + 0x96, 0x9b, 0x98, 0xfe, 0xc3, 0xca, 0x97, 0xe8, 0x14, 0x2a, 0x32, 0x10, 0x79, 0x2f, 0x85, 0xfa, + 0xa3, 0x2a, 0x1f, 0xbc, 0xf8, 0xc2, 0x47, 0xdd, 0xed, 0x0f, 0xf3, 0xaf, 0xb7, 0x53, 0x96, 0x81, + 0xc8, 0x17, 0xad, 0x7f, 0xac, 0xc2, 0xb3, 0x2f, 0xf4, 0x1b, 0xfd, 0x19, 0xc0, 0x67, 0x42, 0xc6, + 0xec, 0x3a, 0x91, 0x69, 0x23, 0x53, 0x03, 0xf8, 0xfd, 0xd7, 0x4e, 0x8d, 0xdd, 0xbd, 0x93, 0x70, + 0x16, 0xe4, 0xd0, 0x15, 0x94, 0xd2, 0xff, 0x35, 0xae, 0xff, 0x0a, 0x53, 0xe9, 0x37, 0x5f, 0x2d, + 0x7d, 0x92, 0x09, 0x38, 0x77, 0x52, 0x8d, 0xbf, 0x19, 0x00, 0xf3, 0x1d, 0x11, 0x82, 0xe2, 0x28, + 0xe6, 0xd3, 0xac, 0x88, 0xea, 0x19, 0x0d, 0xa1, 0x20, 0x79, 0xb6, 0x67, 0xe7, 0x57, 0x1c, 0xc7, + 0x76, 0x79, 0x2f, 0x94, 0xf1, 0xcc, 0x29, 0x48, 0xde, 0xf8, 0x01, 0xd6, 0xb2, 0x25, 0x32, 0x61, + 0xf5, 0x86, 0xce, 0xb2, 0x2d, 0xd3, 0x47, 0xf4, 0x04, 0x1e, 0xdd, 0x92, 0x20, 0xa1, 0xaa, 0x59, + 0x55, 0x47, 0x2f, 0x7e, 0x2c, 0xbc, 0x36, 0x1a, 0x36, 0x94, 0xf2, 0x43, 0x2c, 0x7d, 0xd7, 0x5a, + 0xf6, 0xae, 0x29, 0x52, 0x90, 0xfc, 0xb8, 0xfd, 0xcf, 0x4f, 0x3b, 0xc6, 0xbf, 0x3e, 0xed, 0x18, + 0xff, 0xfe, 0xb4, 0x63, 0xfc, 0xa9, 0xa1, 0x5f, 0x9e, 0xf1, 0x7d, 0x12, 0xb1, 0xfd, 0xcf, 0xfe, + 0xfa, 0xaf, 0x1f, 0x2b, 0xa7, 0x3f, 0xfc, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5b, 0xff, 0xe8, + 0x08, 0x5e, 0x0c, 0x00, 0x00, +} + func (m *MeshConfig) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1114,6 +1388,9 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n7 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1137,6 +1414,9 @@ func (m *MeshConfig_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintConfig(dAtA, i, uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1171,6 +1451,9 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { } i += n8 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1213,6 +1496,9 @@ func (m *LocalityLoadBalancerSetting) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1253,6 +1539,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) MarshalTo(dAtA []byte) (int, er i = encodeVarintConfig(dAtA, i, uint64(v)) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1283,6 +1572,9 @@ func (m *LocalityLoadBalancerSetting_Failover) MarshalTo(dAtA []byte) (int, erro i = encodeVarintConfig(dAtA, i, uint64(len(m.To))) i += copy(dAtA[i:], m.To) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1296,6 +1588,9 @@ func encodeVarintConfig(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *MeshConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.MixerCheckServer) @@ -1426,19 +1721,31 @@ func (m *MeshConfig) Size() (n int) { l = m.LocalityLbSetting.Size() n += 2 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Mode != 0 { n += 1 + sovConfig(uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConfigSource) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -1449,10 +1756,16 @@ func (m *ConfigSource) Size() (n int) { l = m.TlsSettings.Size() n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LocalityLoadBalancerSetting) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Distribute) > 0 { @@ -1467,10 +1780,16 @@ func (m *LocalityLoadBalancerSetting) Size() (n int) { n += 1 + l + sovConfig(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.From) @@ -1485,10 +1804,16 @@ func (m *LocalityLoadBalancerSetting_Distribute) Size() (n int) { n += mapEntrySize + 1 + sovConfig(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.From) @@ -1499,6 +1824,9 @@ func (m *LocalityLoadBalancerSetting_Failover) Size() (n int) { if l > 0 { n += 1 + l + sovConfig(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -1530,7 +1858,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1558,7 +1886,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1568,6 +1896,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1587,7 +1918,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1597,6 +1928,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1616,7 +1950,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1636,7 +1970,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyListenPort |= (int32(b) & 0x7F) << shift + m.ProxyListenPort |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1655,7 +1989,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyHttpPort |= (int32(b) & 0x7F) << shift + m.ProxyHttpPort |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1674,7 +2008,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1683,11 +2017,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &google_protobuf.Duration{} + m.ConnectTimeout = &types.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1707,7 +2044,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1717,6 +2054,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1736,7 +2076,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1746,6 +2086,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1765,7 +2108,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.IngressControllerMode |= (MeshConfig_IngressControllerMode(b) & 0x7F) << shift + m.IngressControllerMode |= MeshConfig_IngressControllerMode(b&0x7F) << shift if b < 0x80 { break } @@ -1784,7 +2127,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AuthPolicy |= (MeshConfig_AuthPolicy(b) & 0x7F) << shift + m.AuthPolicy |= MeshConfig_AuthPolicy(b&0x7F) << shift if b < 0x80 { break } @@ -1803,7 +2146,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1812,11 +2155,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.RdsRefreshDelay == nil { - m.RdsRefreshDelay = &google_protobuf.Duration{} + m.RdsRefreshDelay = &types.Duration{} } if err := m.RdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1836,7 +2182,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1856,7 +2202,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1866,6 +2212,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1885,7 +2234,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1894,6 +2243,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1918,7 +2270,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1928,6 +2280,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1947,7 +2302,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1956,6 +2311,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1980,7 +2338,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2000,7 +2358,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2010,6 +2368,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2029,7 +2390,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2038,11 +2399,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.SdsRefreshDelay == nil { - m.SdsRefreshDelay = &google_protobuf.Duration{} + m.SdsRefreshDelay = &types.Duration{} } if err := m.SdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2062,7 +2426,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2071,6 +2435,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2093,7 +2460,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2113,7 +2480,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2123,6 +2490,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2142,7 +2512,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2162,7 +2532,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2172,6 +2542,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2191,7 +2564,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AccessLogEncoding |= (MeshConfig_AccessLogEncoding(b) & 0x7F) << shift + m.AccessLogEncoding |= MeshConfig_AccessLogEncoding(b&0x7F) << shift if b < 0x80 { break } @@ -2210,7 +2583,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2219,11 +2592,14 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.TcpKeepalive == nil { - m.TcpKeepalive = &istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + m.TcpKeepalive = &v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} } if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2243,7 +2619,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2263,7 +2639,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2283,7 +2659,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2293,6 +2669,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2312,7 +2691,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2322,6 +2701,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2341,7 +2723,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2351,6 +2733,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2370,7 +2755,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2380,6 +2765,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2399,7 +2787,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2408,6 +2796,9 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2427,9 +2818,13 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2454,7 +2849,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2482,7 +2877,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (MeshConfig_OutboundTrafficPolicy_Mode(b) & 0x7F) << shift + m.Mode |= MeshConfig_OutboundTrafficPolicy_Mode(b&0x7F) << shift if b < 0x80 { break } @@ -2496,9 +2891,13 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2523,7 +2922,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2551,7 +2950,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2561,6 +2960,9 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2580,7 +2982,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2589,11 +2991,14 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.TlsSettings == nil { - m.TlsSettings = &istio_networking_v1alpha31.TLSSettings{} + m.TlsSettings = &v1alpha3.TLSSettings{} } if err := m.TlsSettings.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2608,9 +3013,13 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2635,7 +3044,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2663,7 +3072,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2672,6 +3081,9 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2694,7 +3106,7 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2703,6 +3115,9 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2720,9 +3135,13 @@ func (m *LocalityLoadBalancerSetting) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2747,7 +3166,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2775,7 +3194,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2785,6 +3204,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2804,7 +3226,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2813,6 +3235,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2833,7 +3258,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2850,7 +3275,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2860,6 +3285,9 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthConfig + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -2875,7 +3303,7 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvalue |= (uint32(b) & 0x7F) << shift + mapvalue |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -2906,9 +3334,13 @@ func (m *LocalityLoadBalancerSetting_Distribute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2933,7 +3365,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2961,7 +3393,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2971,6 +3403,9 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2990,7 +3425,7 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3000,6 +3435,9 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { return ErrInvalidLengthConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3014,9 +3452,13 @@ func (m *LocalityLoadBalancerSetting_Failover) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3080,10 +3522,13 @@ func skipConfig(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthConfig } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } return iNdEx, nil case 3: for { @@ -3112,6 +3557,9 @@ func skipConfig(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthConfig + } } return iNdEx, nil case 4: @@ -3130,101 +3578,3 @@ var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } - -var fileDescriptorConfig = []byte{ - // 1463 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xb8, - 0x15, 0x0e, 0x65, 0x27, 0x76, 0x8e, 0x7e, 0x4c, 0xc1, 0x71, 0x96, 0x51, 0xba, 0x5e, 0x59, 0x3b, - 0x49, 0x34, 0x9e, 0x8e, 0xdc, 0x38, 0xb3, 0x33, 0xc9, 0xf6, 0xca, 0x91, 0xe4, 0x8d, 0xbd, 0x8a, - 0xe5, 0xa1, 0xe8, 0xb4, 0x69, 0x2f, 0x50, 0x98, 0x84, 0x24, 0xd4, 0x14, 0xc1, 0x21, 0x40, 0x27, - 0x7a, 0xa7, 0x76, 0xa6, 0x8f, 0xd1, 0xcb, 0x3e, 0x42, 0x27, 0x77, 0x7d, 0x8b, 0x0e, 0x7e, 0x68, - 0x29, 0x59, 0xcd, 0xba, 0xdb, 0xbd, 0x23, 0xbe, 0xf3, 0x9d, 0xef, 0x00, 0xe7, 0x1c, 0xe0, 0x10, - 0x1a, 0x33, 0x2a, 0xa6, 0x07, 0xd7, 0xcf, 0x49, 0x9c, 0x4e, 0xc9, 0xf3, 0x83, 0x90, 0x27, 0x63, - 0x36, 0xe9, 0xa4, 0x19, 0x97, 0x1c, 0x6d, 0x33, 0x21, 0x19, 0xef, 0x28, 0x46, 0xa7, 0x60, 0x34, - 0x76, 0x27, 0x9c, 0x4f, 0x62, 0x7a, 0xa0, 0x29, 0x97, 0xf9, 0xf8, 0x20, 0xca, 0x33, 0x22, 0x19, - 0x4f, 0x8c, 0x53, 0xe3, 0xd1, 0xe7, 0x82, 0x69, 0xc6, 0x3f, 0xce, 0xad, 0x69, 0x3f, 0xa1, 0xf2, - 0x03, 0xcf, 0xae, 0x58, 0x32, 0x29, 0x08, 0x2f, 0x0e, 0x22, 0x2a, 0x24, 0x4b, 0xb4, 0x02, 0xce, - 0xf2, 0x98, 0x1a, 0x6e, 0xeb, 0x3f, 0x08, 0xe0, 0x2d, 0x15, 0xd3, 0xae, 0xde, 0x10, 0xfa, 0x2d, - 0xa0, 0x19, 0xfb, 0x48, 0x33, 0x1c, 0x4e, 0x69, 0x78, 0x85, 0x05, 0xcd, 0xae, 0x69, 0xe6, 0x39, - 0x4d, 0xa7, 0x7d, 0xdf, 0x77, 0xb5, 0xa5, 0xab, 0x0c, 0x23, 0x8d, 0xa3, 0x0e, 0x6c, 0x1b, 0x76, - 0x46, 0x53, 0x9e, 0xc9, 0x82, 0x5e, 0xd2, 0xf4, 0xba, 0x36, 0xf9, 0xda, 0x62, 0xf9, 0x87, 0xb0, - 0x13, 0x31, 0x41, 0x2e, 0x63, 0x8a, 0x53, 0x1e, 0xb3, 0x70, 0x6e, 0xc2, 0x08, 0x6f, 0xad, 0xe9, - 0xb4, 0x37, 0xfd, 0x6d, 0x6b, 0x3c, 0xd7, 0x36, 0x1d, 0x48, 0xa0, 0x7d, 0xa8, 0xeb, 0xb3, 0xe1, - 0x98, 0x09, 0x49, 0x13, 0xac, 0xe4, 0xbc, 0xf5, 0xa6, 0xd3, 0xbe, 0xeb, 0x6f, 0x69, 0xc3, 0x40, - 0xe3, 0xe7, 0x3c, 0x93, 0xe8, 0x29, 0x18, 0x08, 0x4f, 0xa5, 0x4c, 0x0d, 0xf3, 0xae, 0x66, 0x56, - 0x35, 0xfc, 0x46, 0xca, 0x54, 0xf3, 0x5e, 0xc3, 0x56, 0xc8, 0x93, 0x84, 0x86, 0x12, 0x4b, 0x36, - 0xa3, 0x3c, 0x97, 0xde, 0xbd, 0xa6, 0xd3, 0x2e, 0x1f, 0x3e, 0xea, 0x98, 0xac, 0x77, 0x8a, 0xac, - 0x77, 0x7a, 0x36, 0xeb, 0x7e, 0xcd, 0x7a, 0x04, 0xc6, 0x01, 0x7d, 0x0b, 0x55, 0x96, 0x4c, 0x32, - 0x2a, 0x04, 0x0e, 0x63, 0x22, 0x84, 0xb7, 0xa1, 0x4f, 0x5d, 0xb1, 0x60, 0x57, 0x61, 0xe8, 0x19, - 0x6c, 0x15, 0x24, 0x95, 0x1b, 0x16, 0x52, 0x6f, 0x53, 0xd3, 0x6a, 0x16, 0x1e, 0x19, 0x14, 0xcd, - 0xe0, 0xab, 0x1b, 0x35, 0x9e, 0xc8, 0x8c, 0xc7, 0x31, 0xcd, 0xf0, 0x8c, 0x47, 0xd4, 0xbb, 0xdf, - 0x74, 0xda, 0xb5, 0xc3, 0xef, 0x3a, 0x2b, 0x9a, 0xa4, 0xb3, 0xa8, 0x5c, 0xe7, 0xc4, 0xc6, 0xbd, - 0xf1, 0x7e, 0xcb, 0x23, 0xea, 0xef, 0xb0, 0x55, 0x30, 0x1a, 0x42, 0x99, 0xe4, 0x72, 0x6a, 0xab, - 0xe0, 0x81, 0x0e, 0xb1, 0x7f, 0x5b, 0x88, 0xa3, 0x5c, 0x4e, 0x4d, 0x6d, 0x5e, 0x97, 0x3c, 0xc7, - 0x07, 0x72, 0xb3, 0x46, 0x27, 0x50, 0xcf, 0x22, 0x81, 0x33, 0x3a, 0xce, 0xa8, 0x98, 0xe2, 0x88, - 0xc6, 0x64, 0xee, 0x95, 0x6f, 0xc9, 0xa9, 0x56, 0xd9, 0xca, 0x22, 0xe1, 0x1b, 0xb7, 0x9e, 0xf2, - 0x42, 0x4f, 0xa0, 0x46, 0x13, 0xdd, 0x23, 0x32, 0x23, 0x21, 0x4b, 0x26, 0x5e, 0x45, 0x77, 0x47, - 0xd5, 0xa0, 0x81, 0x01, 0x55, 0xad, 0x49, 0x18, 0xaa, 0x84, 0xc5, 0x7c, 0x82, 0xc7, 0x2c, 0xa6, - 0x5e, 0x55, 0xa7, 0xb6, 0x6a, 0xe0, 0x01, 0x9f, 0x1c, 0xb3, 0x98, 0xa2, 0x1f, 0xa0, 0x16, 0xd1, - 0x31, 0xc9, 0x63, 0x89, 0xcd, 0xa5, 0xf3, 0x6a, 0x7a, 0x5b, 0xcd, 0x95, 0xa7, 0x3d, 0x57, 0x7d, - 0x62, 0x8e, 0xeb, 0x57, 0xad, 0x9f, 0xbd, 0x1a, 0xcf, 0xa0, 0x6a, 0x9a, 0x9d, 0x44, 0x91, 0x4a, - 0xa9, 0xe7, 0xaa, 0x70, 0xfa, 0x0c, 0x15, 0x6d, 0x38, 0x32, 0xb8, 0xaa, 0x25, 0xcf, 0xe5, 0x25, - 0xcf, 0x93, 0x48, 0x1d, 0x61, 0x3c, 0x66, 0x61, 0x91, 0xe8, 0xba, 0x0e, 0x7d, 0x6b, 0x2d, 0x87, - 0xd6, 0x3d, 0x30, 0xde, 0x26, 0xc7, 0xfe, 0x0e, 0x5f, 0x05, 0xa3, 0x1e, 0x7c, 0x63, 0xf3, 0x15, - 0xc6, 0x8c, 0x26, 0x12, 0x0b, 0x16, 0x7d, 0x7e, 0xbf, 0xbc, 0x6d, 0x9d, 0xc0, 0xc7, 0x86, 0xd6, - 0xd5, 0xac, 0x11, 0x8b, 0x96, 0xef, 0x19, 0x6a, 0x42, 0x45, 0x44, 0x02, 0xe7, 0x91, 0xc0, 0x29, - 0x91, 0x53, 0xef, 0x81, 0xce, 0x25, 0x88, 0x48, 0x5c, 0x44, 0xe2, 0x9c, 0xc8, 0xa9, 0x2a, 0xb1, - 0xf8, 0x49, 0x89, 0x77, 0xfe, 0xa7, 0x12, 0x8b, 0x2f, 0x4a, 0xfc, 0x06, 0x6a, 0xa6, 0x16, 0x58, - 0xf0, 0x3c, 0x0b, 0xa9, 0xf0, 0x1e, 0x36, 0xd7, 0xda, 0xe5, 0xc3, 0xbd, 0x95, 0x89, 0x31, 0x49, - 0x19, 0x69, 0xa6, 0x5f, 0x0d, 0x97, 0x56, 0x02, 0xbd, 0x80, 0x87, 0xf6, 0xf0, 0x6a, 0x6f, 0x92, - 0x5f, 0xd1, 0x04, 0xcf, 0x78, 0x9e, 0x48, 0xef, 0x2b, 0xf3, 0xa4, 0x18, 0xeb, 0x28, 0x12, 0x81, - 0xb2, 0xbd, 0x55, 0x26, 0xf5, 0xa4, 0x2c, 0xb7, 0x0e, 0xcf, 0x66, 0x44, 0x7a, 0x9e, 0x3e, 0xf0, - 0xd6, 0xa2, 0x79, 0x34, 0xac, 0x02, 0x2c, 0xa7, 0x12, 0x8f, 0x09, 0x8b, 0x31, 0x4f, 0x69, 0xe2, - 0x3d, 0x32, 0x01, 0xd2, 0x45, 0x12, 0x8f, 0x09, 0x8b, 0x87, 0x29, 0x4d, 0xd0, 0x1e, 0x54, 0x64, - 0x96, 0x0b, 0x89, 0x23, 0x3e, 0x23, 0x2c, 0xf1, 0x1a, 0x5a, 0xbb, 0xac, 0xb1, 0x9e, 0x86, 0x10, - 0x81, 0xed, 0xa5, 0x3d, 0xd0, 0x24, 0xe4, 0x91, 0x6a, 0xf5, 0xc7, 0xfa, 0x26, 0x3e, 0xbf, 0xf5, - 0x26, 0x16, 0xbb, 0xec, 0x5b, 0x47, 0xbf, 0x4e, 0xbe, 0x84, 0x10, 0x87, 0xaa, 0x0c, 0x53, 0x7c, - 0x45, 0x69, 0x4a, 0x62, 0x76, 0x4d, 0xbd, 0xdf, 0xe8, 0x62, 0x9d, 0x5a, 0xf1, 0xc5, 0x90, 0x28, - 0x42, 0xbc, 0x50, 0xa9, 0x56, 0x6f, 0x1c, 0xe3, 0xc9, 0x39, 0xe7, 0xf1, 0x88, 0x4a, 0xc9, 0x92, - 0x89, 0xe8, 0x04, 0xdd, 0xf3, 0xc5, 0x77, 0x98, 0xfe, 0x58, 0x28, 0xfa, 0x15, 0xb9, 0xb4, 0x42, - 0xfb, 0x80, 0x74, 0x0f, 0x09, 0x8a, 0xaf, 0x5e, 0x0a, 0x2c, 0x08, 0xfe, 0xeb, 0x07, 0xe9, 0x7d, - 0xad, 0xf3, 0x54, 0x53, 0x9d, 0x24, 0xe8, 0x8f, 0x2f, 0xc5, 0x88, 0x9c, 0x7e, 0x90, 0xe8, 0x1c, - 0x9e, 0xa8, 0x3e, 0x0d, 0x49, 0x86, 0x25, 0xc7, 0x92, 0xc6, 0x74, 0x46, 0x65, 0x36, 0xc7, 0x82, - 0x0a, 0xa1, 0x46, 0x94, 0xea, 0xf0, 0x84, 0xc9, 0xb9, 0xb7, 0xab, 0xdd, 0xf7, 0x2c, 0x39, 0xe0, - 0x41, 0x41, 0x1d, 0x19, 0xe6, 0x91, 0x25, 0xa2, 0x57, 0xf0, 0xa8, 0xb8, 0xe8, 0xf6, 0xad, 0xc5, - 0xf4, 0xa3, 0x1e, 0x4b, 0x92, 0x7b, 0xdf, 0x34, 0xd7, 0xda, 0xf7, 0xfd, 0x87, 0x96, 0x60, 0x5f, - 0xdd, 0xbe, 0x36, 0x07, 0x1c, 0xbd, 0x81, 0xbd, 0xc2, 0xf5, 0x9a, 0x65, 0x32, 0x27, 0xf1, 0x0a, - 0x89, 0xa6, 0x96, 0xf8, 0xda, 0x12, 0xdf, 0x19, 0xde, 0x97, 0x4a, 0xa7, 0xd0, 0x2a, 0x94, 0xbe, - 0x1c, 0xb8, 0x4b, 0x52, 0x7b, 0x5a, 0x6a, 0xd7, 0x32, 0x7b, 0x0b, 0xa2, 0x9f, 0xc7, 0x0b, 0xad, - 0x27, 0x50, 0xcb, 0x38, 0x97, 0x38, 0x21, 0x33, 0x2a, 0x52, 0x12, 0x52, 0xaf, 0x65, 0x1e, 0x38, - 0x85, 0x9e, 0x15, 0x20, 0xfa, 0x0b, 0x6c, 0xc7, 0x3c, 0x24, 0x31, 0x93, 0x73, 0x1c, 0x5f, 0x62, - 0x61, 0x0a, 0xe5, 0x7d, 0xab, 0x8b, 0xfd, 0xbb, 0x95, 0x9d, 0x34, 0xb0, 0xfc, 0x01, 0x27, 0xd1, - 0x6b, 0x12, 0x93, 0x24, 0xa4, 0x99, 0x2d, 0xb0, 0x5f, 0x2f, 0xc4, 0x06, 0x97, 0x16, 0x6a, 0xfc, - 0xdd, 0x81, 0x9d, 0x95, 0x4f, 0x12, 0x3a, 0x83, 0x75, 0x3d, 0xa3, 0x1c, 0xdd, 0xb6, 0xdf, 0xff, - 0x5f, 0xef, 0x5a, 0x47, 0x0f, 0x2a, 0xad, 0xd3, 0xea, 0xc1, 0xba, 0x9e, 0x4f, 0x75, 0xa8, 0xfa, - 0xfd, 0x1f, 0x4e, 0x46, 0x81, 0xff, 0x1e, 0x0f, 0xcf, 0x06, 0xef, 0xdd, 0x3b, 0xa8, 0x0a, 0xf7, - 0x8f, 0x06, 0x83, 0xe1, 0x1f, 0xf0, 0xd1, 0xd9, 0x7b, 0xd7, 0x69, 0xad, 0x6f, 0x96, 0xdc, 0xd2, - 0xfe, 0x83, 0x77, 0x27, 0x7e, 0x70, 0x71, 0x34, 0xc0, 0xa3, 0xbe, 0xff, 0xee, 0xa4, 0xdb, 0xd7, - 0xe4, 0xd6, 0x2b, 0xd8, 0x59, 0x39, 0x0d, 0xd1, 0x06, 0xac, 0x0d, 0x8f, 0x8f, 0xdd, 0x3b, 0xa8, - 0x0c, 0x1b, 0xbd, 0xfe, 0xf1, 0xd1, 0xc5, 0x20, 0x70, 0x1d, 0x04, 0x70, 0x6f, 0x14, 0xf8, 0x27, - 0xdd, 0xc0, 0x2d, 0xb5, 0x9e, 0x02, 0x2c, 0xa6, 0x1c, 0xda, 0x84, 0xf5, 0xb3, 0xe1, 0x59, 0xdf, - 0xbd, 0x83, 0x6a, 0x00, 0x6f, 0x2f, 0x74, 0xa4, 0x60, 0x30, 0x72, 0x9d, 0xd6, 0x33, 0xa8, 0xff, - 0xe4, 0x0e, 0x2a, 0x7a, 0xd0, 0xff, 0x63, 0xe0, 0xde, 0x51, 0x5f, 0xa7, 0xa3, 0xe1, 0x99, 0xeb, - 0x9c, 0xae, 0x6f, 0x6e, 0xb9, 0xee, 0xe9, 0xfa, 0x26, 0x72, 0xb7, 0x5b, 0x02, 0x2a, 0xcb, 0x6f, - 0x19, 0xf2, 0x60, 0xa3, 0x98, 0x25, 0xe6, 0x0f, 0xab, 0x58, 0xa2, 0x13, 0xa8, 0xc8, 0x58, 0x14, - 0xb5, 0x14, 0xfa, 0x8f, 0xaa, 0x7c, 0xf8, 0xf4, 0x67, 0x6e, 0x6e, 0x30, 0x18, 0x15, 0x57, 0xd4, - 0x2f, 0xcb, 0x58, 0x14, 0x8b, 0xd6, 0x3f, 0xd6, 0xe0, 0xf1, 0xcf, 0xd4, 0x1b, 0xfd, 0x19, 0x20, - 0x62, 0x42, 0x66, 0xec, 0x32, 0x97, 0xaa, 0x90, 0xea, 0x1d, 0xfe, 0xfd, 0x2f, 0xed, 0x9a, 0x4e, - 0xef, 0x46, 0xc2, 0x5f, 0x92, 0x43, 0x17, 0xb0, 0xa9, 0x1e, 0x4c, 0x6e, 0xfe, 0x0a, 0x95, 0xf4, - 0xab, 0x5f, 0x2c, 0x7d, 0x6c, 0x05, 0xfc, 0x1b, 0xa9, 0xc6, 0xdf, 0x1c, 0x80, 0x45, 0x44, 0x84, - 0x60, 0x7d, 0x9c, 0xf1, 0x99, 0x4d, 0xa2, 0xfe, 0x46, 0x23, 0x28, 0x49, 0x6e, 0x63, 0x76, 0x7f, - 0xc5, 0x71, 0x3a, 0x01, 0xef, 0x27, 0x32, 0x9b, 0xfb, 0x25, 0xc9, 0x1b, 0xdf, 0xc1, 0x86, 0x5d, - 0x22, 0x17, 0xd6, 0xae, 0xe8, 0xdc, 0x86, 0x54, 0x9f, 0xe8, 0x01, 0xdc, 0xbd, 0x26, 0x71, 0x4e, - 0x75, 0xb1, 0xaa, 0xbe, 0x59, 0x7c, 0x5f, 0x7a, 0xe9, 0x34, 0x3a, 0xb0, 0x59, 0x1c, 0x62, 0xe5, - 0x5e, 0x6b, 0x76, 0xaf, 0x0a, 0x29, 0x49, 0xfe, 0xba, 0xfd, 0xcf, 0x4f, 0xbb, 0xce, 0xbf, 0x3e, - 0xed, 0x3a, 0xff, 0xfe, 0xb4, 0xeb, 0xfc, 0xa9, 0x61, 0x36, 0xcf, 0xf8, 0x01, 0x49, 0xd9, 0xc1, - 0x67, 0x7f, 0xfd, 0x97, 0xf7, 0xf4, 0xc0, 0x7d, 0xf1, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, - 0xc5, 0xfa, 0x45, 0x5e, 0x0c, 0x00, 0x00, -} diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go index 6c7f002b4ff..d29f114fd78 100644 --- a/mesh/v1alpha1/network.pb.go +++ b/mesh/v1alpha1/network.pb.go @@ -3,17 +3,24 @@ package v1alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Network provides information about the endpoints in a routable L3 // network. A single routable L3 network can have one or more service // registries. Note that the network has no relation to the locality of the @@ -23,15 +30,46 @@ type Network struct { // REQUIRED: The list of endpoints in the network (obtained through the // constituent service registries or from CIDR ranges). All endpoints in // the network are directly accessible to one another. - Endpoints []*Network_NetworkEndpoints `protobuf:"bytes,2,rep,name=endpoints" json:"endpoints,omitempty"` + Endpoints []*Network_NetworkEndpoints `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // REQUIRED: Set of gateways associated with the network. - Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways" json:"gateways,omitempty"` + Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Network) Reset() { *m = Network{} } +func (m *Network) String() string { return proto.CompactTextString(m) } +func (*Network) ProtoMessage() {} +func (*Network) Descriptor() ([]byte, []int) { + return fileDescriptor_a15df2a96e10cd86, []int{0} +} +func (m *Network) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Network) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Network.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Network) XXX_Merge(src proto.Message) { + xxx_messageInfo_Network.Merge(m, src) +} +func (m *Network) XXX_Size() int { + return m.Size() +} +func (m *Network) XXX_DiscardUnknown() { + xxx_messageInfo_Network.DiscardUnknown(m) } -func (m *Network) Reset() { *m = Network{} } -func (m *Network) String() string { return proto.CompactTextString(m) } -func (*Network) ProtoMessage() {} -func (*Network) Descriptor() ([]byte, []int) { return fileDescriptorNetwork, []int{0} } +var xxx_messageInfo_Network proto.InternalMessageInfo func (m *Network) GetEndpoints() []*Network_NetworkEndpoints { if m != nil { @@ -71,15 +109,44 @@ type Network_NetworkEndpoints struct { // Types that are valid to be assigned to Ne: // *Network_NetworkEndpoints_FromCidr // *Network_NetworkEndpoints_FromRegistry - Ne isNetwork_NetworkEndpoints_Ne `protobuf_oneof:"ne"` + Ne isNetwork_NetworkEndpoints_Ne `protobuf_oneof:"ne"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Network_NetworkEndpoints) Reset() { *m = Network_NetworkEndpoints{} } func (m *Network_NetworkEndpoints) String() string { return proto.CompactTextString(m) } func (*Network_NetworkEndpoints) ProtoMessage() {} func (*Network_NetworkEndpoints) Descriptor() ([]byte, []int) { - return fileDescriptorNetwork, []int{0, 0} + return fileDescriptor_a15df2a96e10cd86, []int{0, 0} +} +func (m *Network_NetworkEndpoints) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Network_NetworkEndpoints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Network_NetworkEndpoints.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Network_NetworkEndpoints) XXX_Merge(src proto.Message) { + xxx_messageInfo_Network_NetworkEndpoints.Merge(m, src) +} +func (m *Network_NetworkEndpoints) XXX_Size() int { + return m.Size() } +func (m *Network_NetworkEndpoints) XXX_DiscardUnknown() { + xxx_messageInfo_Network_NetworkEndpoints.DiscardUnknown(m) +} + +var xxx_messageInfo_Network_NetworkEndpoints proto.InternalMessageInfo type isNetwork_NetworkEndpoints_Ne interface { isNetwork_NetworkEndpoints_Ne() @@ -170,11 +237,11 @@ func _Network_NetworkEndpoints_OneofSizer(msg proto.Message) (n int) { // ne switch x := m.Ne.(type) { case *Network_NetworkEndpoints_FromCidr: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.FromCidr))) n += len(x.FromCidr) case *Network_NetworkEndpoints_FromRegistry: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.FromRegistry))) n += len(x.FromRegistry) case nil: @@ -195,16 +262,45 @@ type Network_IstioNetworkGateway struct { // REQUIRED: The port associated with the gateway. Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // The locality associated with an explicitly specified gateway (i.e. ip) - Locality string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` + Locality string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Network_IstioNetworkGateway) Reset() { *m = Network_IstioNetworkGateway{} } func (m *Network_IstioNetworkGateway) String() string { return proto.CompactTextString(m) } func (*Network_IstioNetworkGateway) ProtoMessage() {} func (*Network_IstioNetworkGateway) Descriptor() ([]byte, []int) { - return fileDescriptorNetwork, []int{0, 1} + return fileDescriptor_a15df2a96e10cd86, []int{0, 1} +} +func (m *Network_IstioNetworkGateway) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Network_IstioNetworkGateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Network_IstioNetworkGateway.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Network_IstioNetworkGateway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Network_IstioNetworkGateway.Merge(m, src) +} +func (m *Network_IstioNetworkGateway) XXX_Size() int { + return m.Size() +} +func (m *Network_IstioNetworkGateway) XXX_DiscardUnknown() { + xxx_messageInfo_Network_IstioNetworkGateway.DiscardUnknown(m) } +var xxx_messageInfo_Network_IstioNetworkGateway proto.InternalMessageInfo + type isNetwork_IstioNetworkGateway_Gw interface { isNetwork_IstioNetworkGateway_Gw() MarshalTo([]byte) (int, error) @@ -308,11 +404,11 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) { // gw switch x := m.Gw.(type) { case *Network_IstioNetworkGateway_RegistryServiceName: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.RegistryServiceName))) n += len(x.RegistryServiceName) case *Network_IstioNetworkGateway_Address: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Address))) n += len(x.Address) case nil: @@ -339,13 +435,44 @@ 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 // the network as well as the gateways associated with the network. - Networks map[string]*Network `protobuf:"bytes,1,rep,name=networks" json:"networks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Networks map[string]*Network `protobuf:"bytes,1,rep,name=networks,proto3" json:"networks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MeshNetworks) Reset() { *m = MeshNetworks{} } -func (m *MeshNetworks) String() string { return proto.CompactTextString(m) } -func (*MeshNetworks) ProtoMessage() {} -func (*MeshNetworks) Descriptor() ([]byte, []int) { return fileDescriptorNetwork, []int{1} } +func (m *MeshNetworks) Reset() { *m = MeshNetworks{} } +func (m *MeshNetworks) String() string { return proto.CompactTextString(m) } +func (*MeshNetworks) ProtoMessage() {} +func (*MeshNetworks) Descriptor() ([]byte, []int) { + return fileDescriptor_a15df2a96e10cd86, []int{1} +} +func (m *MeshNetworks) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshNetworks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshNetworks.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshNetworks) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshNetworks.Merge(m, src) +} +func (m *MeshNetworks) XXX_Size() int { + return m.Size() +} +func (m *MeshNetworks) XXX_DiscardUnknown() { + xxx_messageInfo_MeshNetworks.DiscardUnknown(m) +} + +var xxx_messageInfo_MeshNetworks proto.InternalMessageInfo func (m *MeshNetworks) GetNetworks() map[string]*Network { if m != nil { @@ -359,7 +486,41 @@ func init() { proto.RegisterType((*Network_NetworkEndpoints)(nil), "istio.mesh.v1alpha1.Network.NetworkEndpoints") proto.RegisterType((*Network_IstioNetworkGateway)(nil), "istio.mesh.v1alpha1.Network.IstioNetworkGateway") proto.RegisterType((*MeshNetworks)(nil), "istio.mesh.v1alpha1.MeshNetworks") + proto.RegisterMapType((map[string]*Network)(nil), "istio.mesh.v1alpha1.MeshNetworks.NetworksEntry") +} + +func init() { proto.RegisterFile("mesh/v1alpha1/network.proto", fileDescriptor_a15df2a96e10cd86) } + +var fileDescriptor_a15df2a96e10cd86 = []byte{ + // 403 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x8e, 0xda, 0x30, + 0x10, 0xc6, 0xeb, 0x84, 0x96, 0x30, 0x80, 0x84, 0x8c, 0x2a, 0x45, 0x69, 0x8b, 0x10, 0x52, 0xa5, + 0x5c, 0x9a, 0x14, 0xda, 0x43, 0xd5, 0x23, 0x15, 0x6a, 0x2b, 0x5a, 0x0e, 0xee, 0xa9, 0x3d, 0x14, + 0xb9, 0xc4, 0x05, 0x8b, 0x24, 0x8e, 0x6c, 0x2f, 0x28, 0x0f, 0xb3, 0xb7, 0x7d, 0x86, 0x7d, 0x86, + 0x3d, 0xee, 0x23, 0xac, 0x78, 0x92, 0x55, 0xfe, 0xee, 0xb2, 0x42, 0x9c, 0x6c, 0xcf, 0xf7, 0xfd, + 0x66, 0xc6, 0x63, 0xc3, 0xab, 0x88, 0xa9, 0x8d, 0xbf, 0x1b, 0xd3, 0x30, 0xd9, 0xd0, 0xb1, 0x1f, + 0x33, 0xbd, 0x17, 0x72, 0xeb, 0x25, 0x52, 0x68, 0x81, 0xfb, 0x5c, 0x69, 0x2e, 0xbc, 0xcc, 0xe2, + 0x55, 0x96, 0xd1, 0x95, 0x09, 0xcd, 0x45, 0x61, 0xc3, 0x73, 0x68, 0xb1, 0x38, 0x48, 0x04, 0x8f, + 0xb5, 0xb2, 0x8d, 0xa1, 0xe9, 0xb6, 0x27, 0xef, 0xbc, 0x13, 0x90, 0x57, 0x02, 0xd5, 0x3a, 0xab, + 0x20, 0xf2, 0xc0, 0xe3, 0x1f, 0x60, 0xad, 0xa9, 0x66, 0x7b, 0x9a, 0x2a, 0xdb, 0xcc, 0x73, 0xbd, + 0x3f, 0x9b, 0xeb, 0x7b, 0xa6, 0x95, 0x87, 0xaf, 0x05, 0x48, 0xea, 0x0c, 0xce, 0x5f, 0xe8, 0x3d, + 0x2d, 0x86, 0xdf, 0x40, 0xeb, 0xbf, 0x14, 0xd1, 0x72, 0xc5, 0x03, 0x69, 0xa3, 0x21, 0x72, 0x5b, + 0xdf, 0x9e, 0x11, 0x2b, 0x0b, 0x7d, 0xe1, 0x81, 0xc4, 0x6f, 0xa1, 0x9b, 0xcb, 0x92, 0xad, 0xb9, + 0xd2, 0x32, 0xb5, 0x8d, 0xd2, 0xd2, 0xc9, 0xc2, 0xa4, 0x8c, 0x4e, 0x1b, 0x60, 0xc4, 0xcc, 0xb9, + 0x44, 0xd0, 0x3f, 0xd1, 0x01, 0xfe, 0x08, 0x2f, 0x2b, 0x7e, 0xa9, 0x98, 0xdc, 0xf1, 0x15, 0x5b, + 0xc6, 0x34, 0x62, 0x75, 0xbd, 0x7e, 0x25, 0xff, 0x2a, 0xd4, 0x05, 0x8d, 0x18, 0x76, 0xa0, 0x49, + 0x83, 0x40, 0x32, 0xa5, 0xea, 0xa2, 0x55, 0x00, 0x63, 0x68, 0x24, 0x42, 0x6a, 0xdb, 0x1c, 0x22, + 0xb7, 0x4b, 0xf2, 0x3d, 0x76, 0xc0, 0x0a, 0xc5, 0x8a, 0x86, 0x5c, 0xa7, 0x76, 0x23, 0x03, 0x48, + 0x7d, 0xce, 0xfa, 0x5b, 0xef, 0x47, 0xd7, 0x08, 0x3a, 0x3f, 0x99, 0xda, 0x94, 0xed, 0x29, 0x3c, + 0x07, 0xab, 0x7c, 0x5d, 0x65, 0xa3, 0x7c, 0xbc, 0xfe, 0xc9, 0xf1, 0x3e, 0x86, 0xaa, 0x59, 0xab, + 0x59, 0xac, 0x65, 0x4a, 0xea, 0x04, 0xce, 0x6f, 0xe8, 0x1e, 0x49, 0xb8, 0x07, 0xe6, 0x96, 0xa5, + 0xc5, 0x25, 0x49, 0xb6, 0xc5, 0x13, 0x78, 0xbe, 0xa3, 0xe1, 0x05, 0xcb, 0x2f, 0xd4, 0x9e, 0xbc, + 0x3e, 0xf7, 0x96, 0xa4, 0xb0, 0x7e, 0x36, 0x3e, 0xa1, 0xa9, 0x7b, 0x73, 0x18, 0xa0, 0xdb, 0xc3, + 0x00, 0xdd, 0x1d, 0x06, 0xe8, 0x8f, 0x53, 0x50, 0x5c, 0xf8, 0x34, 0xe1, 0xfe, 0xd1, 0x67, 0xfd, + 0xf7, 0x22, 0xff, 0xa5, 0x1f, 0xee, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x70, 0x44, 0x24, 0xc4, + 0x02, 0x00, 0x00, } + func (m *Network) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -399,6 +560,9 @@ func (m *Network) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -424,6 +588,9 @@ func (m *Network_NetworkEndpoints) MarshalTo(dAtA []byte) (int, error) { } i += nn1 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -476,6 +643,9 @@ func (m *Network_IstioNetworkGateway) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintNetwork(dAtA, i, uint64(len(m.Locality))) i += copy(dAtA[i:], m.Locality) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -538,6 +708,9 @@ func (m *MeshNetworks) MarshalTo(dAtA []byte) (int, error) { } } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -551,6 +724,9 @@ func encodeVarintNetwork(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Network) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Endpoints) > 0 { @@ -565,19 +741,31 @@ func (m *Network) Size() (n int) { n += 1 + l + sovNetwork(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Network_NetworkEndpoints) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Ne != nil { n += m.Ne.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Network_NetworkEndpoints_FromCidr) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.FromCidr) @@ -585,6 +773,9 @@ func (m *Network_NetworkEndpoints_FromCidr) Size() (n int) { return n } func (m *Network_NetworkEndpoints_FromRegistry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.FromRegistry) @@ -592,6 +783,9 @@ func (m *Network_NetworkEndpoints_FromRegistry) Size() (n int) { return n } func (m *Network_IstioNetworkGateway) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Gw != nil { @@ -604,10 +798,16 @@ func (m *Network_IstioNetworkGateway) Size() (n int) { if l > 0 { n += 1 + l + sovNetwork(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Network_IstioNetworkGateway_RegistryServiceName) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.RegistryServiceName) @@ -615,6 +815,9 @@ func (m *Network_IstioNetworkGateway_RegistryServiceName) Size() (n int) { return n } func (m *Network_IstioNetworkGateway_Address) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -622,6 +825,9 @@ func (m *Network_IstioNetworkGateway_Address) Size() (n int) { return n } func (m *MeshNetworks) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Networks) > 0 { @@ -637,6 +843,9 @@ func (m *MeshNetworks) Size() (n int) { n += mapEntrySize + 1 + sovNetwork(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -668,7 +877,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -696,7 +905,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -705,6 +914,9 @@ func (m *Network) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -727,7 +939,7 @@ func (m *Network) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -736,6 +948,9 @@ func (m *Network) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -753,9 +968,13 @@ func (m *Network) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -780,7 +999,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -808,7 +1027,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -818,6 +1037,9 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -837,7 +1059,7 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -847,6 +1069,9 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -861,9 +1086,13 @@ func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -888,7 +1117,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -916,7 +1145,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -926,6 +1155,9 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -945,7 +1177,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -955,6 +1187,9 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -974,7 +1209,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -993,7 +1228,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1003,6 +1238,9 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1017,9 +1255,13 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1044,7 +1286,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1072,7 +1314,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1081,6 +1323,9 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNetwork + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1101,7 +1346,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1118,7 +1363,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1128,6 +1373,9 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthNetwork + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1144,7 +1392,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1153,7 +1401,7 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNetwork } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthNetwork } if postmsgIndex > l { @@ -1190,9 +1438,13 @@ func (m *MeshNetworks) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNetwork } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNetwork + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1256,10 +1508,13 @@ func skipNetwork(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthNetwork } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthNetwork + } return iNdEx, nil case 3: for { @@ -1288,6 +1543,9 @@ func skipNetwork(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthNetwork + } } return iNdEx, nil case 4: @@ -1306,35 +1564,3 @@ var ( ErrInvalidLengthNetwork = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowNetwork = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mesh/v1alpha1/network.proto", fileDescriptorNetwork) } - -var fileDescriptorNetwork = []byte{ - // 403 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x8e, 0xda, 0x30, - 0x10, 0xc6, 0xeb, 0x84, 0x96, 0x30, 0x80, 0x84, 0x8c, 0x2a, 0x45, 0x69, 0x8b, 0x10, 0x52, 0xa5, - 0x5c, 0x9a, 0x14, 0xda, 0x43, 0xd5, 0x23, 0x15, 0x6a, 0x2b, 0x5a, 0x0e, 0xee, 0xa9, 0x3d, 0x14, - 0xb9, 0xc4, 0x05, 0x8b, 0x24, 0x8e, 0x6c, 0x2f, 0x28, 0x0f, 0xb3, 0xb7, 0x7d, 0x86, 0x7d, 0x86, - 0x3d, 0xee, 0x23, 0xac, 0x78, 0x92, 0x55, 0xfe, 0xee, 0xb2, 0x42, 0x9c, 0x6c, 0xcf, 0xf7, 0xfd, - 0x66, 0xc6, 0x63, 0xc3, 0xab, 0x88, 0xa9, 0x8d, 0xbf, 0x1b, 0xd3, 0x30, 0xd9, 0xd0, 0xb1, 0x1f, - 0x33, 0xbd, 0x17, 0x72, 0xeb, 0x25, 0x52, 0x68, 0x81, 0xfb, 0x5c, 0x69, 0x2e, 0xbc, 0xcc, 0xe2, - 0x55, 0x96, 0xd1, 0x95, 0x09, 0xcd, 0x45, 0x61, 0xc3, 0x73, 0x68, 0xb1, 0x38, 0x48, 0x04, 0x8f, - 0xb5, 0xb2, 0x8d, 0xa1, 0xe9, 0xb6, 0x27, 0xef, 0xbc, 0x13, 0x90, 0x57, 0x02, 0xd5, 0x3a, 0xab, - 0x20, 0xf2, 0xc0, 0xe3, 0x1f, 0x60, 0xad, 0xa9, 0x66, 0x7b, 0x9a, 0x2a, 0xdb, 0xcc, 0x73, 0xbd, - 0x3f, 0x9b, 0xeb, 0x7b, 0xa6, 0x95, 0x87, 0xaf, 0x05, 0x48, 0xea, 0x0c, 0xce, 0x5f, 0xe8, 0x3d, - 0x2d, 0x86, 0xdf, 0x40, 0xeb, 0xbf, 0x14, 0xd1, 0x72, 0xc5, 0x03, 0x69, 0xa3, 0x21, 0x72, 0x5b, - 0xdf, 0x9e, 0x11, 0x2b, 0x0b, 0x7d, 0xe1, 0x81, 0xc4, 0x6f, 0xa1, 0x9b, 0xcb, 0x92, 0xad, 0xb9, - 0xd2, 0x32, 0xb5, 0x8d, 0xd2, 0xd2, 0xc9, 0xc2, 0xa4, 0x8c, 0x4e, 0x1b, 0x60, 0xc4, 0xcc, 0xb9, - 0x44, 0xd0, 0x3f, 0xd1, 0x01, 0xfe, 0x08, 0x2f, 0x2b, 0x7e, 0xa9, 0x98, 0xdc, 0xf1, 0x15, 0x5b, - 0xc6, 0x34, 0x62, 0x75, 0xbd, 0x7e, 0x25, 0xff, 0x2a, 0xd4, 0x05, 0x8d, 0x18, 0x76, 0xa0, 0x49, - 0x83, 0x40, 0x32, 0xa5, 0xea, 0xa2, 0x55, 0x00, 0x63, 0x68, 0x24, 0x42, 0x6a, 0xdb, 0x1c, 0x22, - 0xb7, 0x4b, 0xf2, 0x3d, 0x76, 0xc0, 0x0a, 0xc5, 0x8a, 0x86, 0x5c, 0xa7, 0x76, 0x23, 0x03, 0x48, - 0x7d, 0xce, 0xfa, 0x5b, 0xef, 0x47, 0xd7, 0x08, 0x3a, 0x3f, 0x99, 0xda, 0x94, 0xed, 0x29, 0x3c, - 0x07, 0xab, 0x7c, 0x5d, 0x65, 0xa3, 0x7c, 0xbc, 0xfe, 0xc9, 0xf1, 0x3e, 0x86, 0xaa, 0x59, 0xab, - 0x59, 0xac, 0x65, 0x4a, 0xea, 0x04, 0xce, 0x6f, 0xe8, 0x1e, 0x49, 0xb8, 0x07, 0xe6, 0x96, 0xa5, - 0xc5, 0x25, 0x49, 0xb6, 0xc5, 0x13, 0x78, 0xbe, 0xa3, 0xe1, 0x05, 0xcb, 0x2f, 0xd4, 0x9e, 0xbc, - 0x3e, 0xf7, 0x96, 0xa4, 0xb0, 0x7e, 0x36, 0x3e, 0xa1, 0xa9, 0x7b, 0x73, 0x18, 0xa0, 0xdb, 0xc3, - 0x00, 0xdd, 0x1d, 0x06, 0xe8, 0x8f, 0x53, 0x50, 0x5c, 0xf8, 0x34, 0xe1, 0xfe, 0xd1, 0x67, 0xfd, - 0xf7, 0x22, 0xff, 0xa5, 0x1f, 0xee, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x70, 0x44, 0x24, 0xc4, - 0x02, 0x00, 0x00, -} diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index 1a5eba036dd..0056c3caf6c 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -3,18 +3,25 @@ package v1alpha1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // AuthenticationPolicy defines authentication policy. It can be set for // different scopes (mesh, service …), and the most narrow scope with // non-INHERIT value will be used. @@ -36,6 +43,7 @@ var AuthenticationPolicy_name = map[int32]string{ 1: "MUTUAL_TLS", 1000: "INHERIT", } + var AuthenticationPolicy_value = map[string]int32{ "NONE": 0, "MUTUAL_TLS": 1, @@ -45,7 +53,10 @@ var AuthenticationPolicy_value = map[string]int32{ func (x AuthenticationPolicy) String() string { return proto.EnumName(AuthenticationPolicy_name, int32(x)) } -func (AuthenticationPolicy) EnumDescriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0} } + +func (AuthenticationPolicy) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0} +} // The mode used to redirect inbound traffic to Envoy. // This setting has no effect on outbound traffic: iptables REDIRECT is always used for @@ -67,6 +78,7 @@ var ProxyConfig_InboundInterceptionMode_name = map[int32]string{ 0: "REDIRECT", 1: "TPROXY", } + var ProxyConfig_InboundInterceptionMode_value = map[string]int32{ "REDIRECT": 0, "TPROXY": 1, @@ -75,8 +87,9 @@ var ProxyConfig_InboundInterceptionMode_value = map[string]int32{ func (x ProxyConfig_InboundInterceptionMode) String() string { return proto.EnumName(ProxyConfig_InboundInterceptionMode_name, int32(x)) } + func (ProxyConfig_InboundInterceptionMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorProxy, []int{1, 0} + return fileDescriptor_5efecd978cf3d28d, []int{1, 0} } // Tracing defines configuration for the tracing performed by Envoy instances. @@ -86,13 +99,44 @@ type Tracing struct { // Types that are valid to be assigned to Tracer: // *Tracing_Zipkin_ // *Tracing_Lightstep_ - Tracer isTracing_Tracer `protobuf_oneof:"tracer"` + Tracer isTracing_Tracer `protobuf_oneof:"tracer"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Tracing) Reset() { *m = Tracing{} } +func (m *Tracing) String() string { return proto.CompactTextString(m) } +func (*Tracing) ProtoMessage() {} +func (*Tracing) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0} +} +func (m *Tracing) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tracing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tracing.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Tracing) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tracing.Merge(m, src) +} +func (m *Tracing) XXX_Size() int { + return m.Size() +} +func (m *Tracing) XXX_DiscardUnknown() { + xxx_messageInfo_Tracing.DiscardUnknown(m) } -func (m *Tracing) Reset() { *m = Tracing{} } -func (m *Tracing) String() string { return proto.CompactTextString(m) } -func (*Tracing) ProtoMessage() {} -func (*Tracing) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0} } +var xxx_messageInfo_Tracing proto.InternalMessageInfo type isTracing_Tracer interface { isTracing_Tracer() @@ -101,10 +145,10 @@ type isTracing_Tracer interface { } type Tracing_Zipkin_ struct { - Zipkin *Tracing_Zipkin `protobuf:"bytes,1,opt,name=zipkin,oneof"` + Zipkin *Tracing_Zipkin `protobuf:"bytes,1,opt,name=zipkin,proto3,oneof"` } type Tracing_Lightstep_ struct { - Lightstep *Tracing_Lightstep `protobuf:"bytes,2,opt,name=lightstep,oneof"` + Lightstep *Tracing_Lightstep `protobuf:"bytes,2,opt,name=lightstep,proto3,oneof"` } func (*Tracing_Zipkin_) isTracing_Tracer() {} @@ -190,12 +234,12 @@ func _Tracing_OneofSizer(msg proto.Message) (n int) { switch x := m.Tracer.(type) { case *Tracing_Zipkin_: s := proto.Size(x.Zipkin) - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Tracing_Lightstep_: s := proto.Size(x.Lightstep) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -208,13 +252,44 @@ func _Tracing_OneofSizer(msg proto.Message) (n int) { // Zipkin defines configuration for a Zipkin tracer. type Tracing_Zipkin struct { // Address of the Zipkin service (e.g. _zipkin:9411_). - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Tracing_Zipkin) Reset() { *m = Tracing_Zipkin{} } +func (m *Tracing_Zipkin) String() string { return proto.CompactTextString(m) } +func (*Tracing_Zipkin) ProtoMessage() {} +func (*Tracing_Zipkin) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0, 0} +} +func (m *Tracing_Zipkin) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tracing_Zipkin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tracing_Zipkin.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Tracing_Zipkin) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tracing_Zipkin.Merge(m, src) +} +func (m *Tracing_Zipkin) XXX_Size() int { + return m.Size() +} +func (m *Tracing_Zipkin) XXX_DiscardUnknown() { + xxx_messageInfo_Tracing_Zipkin.DiscardUnknown(m) } -func (m *Tracing_Zipkin) Reset() { *m = Tracing_Zipkin{} } -func (m *Tracing_Zipkin) String() string { return proto.CompactTextString(m) } -func (*Tracing_Zipkin) ProtoMessage() {} -func (*Tracing_Zipkin) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0, 0} } +var xxx_messageInfo_Tracing_Zipkin proto.InternalMessageInfo func (m *Tracing_Zipkin) GetAddress() string { if m != nil { @@ -232,13 +307,44 @@ type Tracing_Lightstep struct { // True if a secure connection should be used when communicating with the pool. Secure bool `protobuf:"varint,3,opt,name=secure,proto3" json:"secure,omitempty"` // Path to the trusted cacert used to authenticate the pool. - CacertPath string `protobuf:"bytes,4,opt,name=cacert_path,json=cacertPath,proto3" json:"cacert_path,omitempty"` + CacertPath string `protobuf:"bytes,4,opt,name=cacert_path,json=cacertPath,proto3" json:"cacert_path,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Tracing_Lightstep) Reset() { *m = Tracing_Lightstep{} } +func (m *Tracing_Lightstep) String() string { return proto.CompactTextString(m) } +func (*Tracing_Lightstep) ProtoMessage() {} +func (*Tracing_Lightstep) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{0, 1} +} +func (m *Tracing_Lightstep) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tracing_Lightstep) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tracing_Lightstep.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Tracing_Lightstep) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tracing_Lightstep.Merge(m, src) +} +func (m *Tracing_Lightstep) XXX_Size() int { + return m.Size() +} +func (m *Tracing_Lightstep) XXX_DiscardUnknown() { + xxx_messageInfo_Tracing_Lightstep.DiscardUnknown(m) } -func (m *Tracing_Lightstep) Reset() { *m = Tracing_Lightstep{} } -func (m *Tracing_Lightstep) String() string { return proto.CompactTextString(m) } -func (*Tracing_Lightstep) ProtoMessage() {} -func (*Tracing_Lightstep) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{0, 1} } +var xxx_messageInfo_Tracing_Lightstep proto.InternalMessageInfo func (m *Tracing_Lightstep) GetAddress() string { if m != nil { @@ -291,20 +397,20 @@ type ProxyConfig struct { ServiceCluster string `protobuf:"bytes,3,opt,name=service_cluster,json=serviceCluster,proto3" json:"service_cluster,omitempty"` // The time in seconds that Envoy will drain connections during a hot // restart. MUST be >=1s (e.g., _1s/1m/1h_) - DrainDuration *google_protobuf.Duration `protobuf:"bytes,4,opt,name=drain_duration,json=drainDuration" json:"drain_duration,omitempty"` + DrainDuration *types.Duration `protobuf:"bytes,4,opt,name=drain_duration,json=drainDuration,proto3" json:"drain_duration,omitempty"` // The time in seconds that Envoy will wait before shutting down the // parent process during a hot restart. MUST be >=1s (e.g., _1s/1m/1h_). // MUST BE greater than _drain_duration_ parameter. - ParentShutdownDuration *google_protobuf.Duration `protobuf:"bytes,5,opt,name=parent_shutdown_duration,json=parentShutdownDuration" json:"parent_shutdown_duration,omitempty"` + ParentShutdownDuration *types.Duration `protobuf:"bytes,5,opt,name=parent_shutdown_duration,json=parentShutdownDuration,proto3" json:"parent_shutdown_duration,omitempty"` // Address of the discovery service exposing xDS with mTLS connection. DiscoveryAddress string `protobuf:"bytes,6,opt,name=discovery_address,json=discoveryAddress,proto3" json:"discovery_address,omitempty"` // $hide_from_docs - DiscoveryRefreshDelay *google_protobuf.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay" json:"discovery_refresh_delay,omitempty"` + DiscoveryRefreshDelay *types.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay,proto3" json:"discovery_refresh_delay,omitempty"` // Deprecated: Do not use. // Address of the Zipkin service (e.g. _zipkin:9411_). // DEPRECATED: Use [tracing][istio.mesh.v1alpha1.ProxyConfig.tracing] instead. - ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"` + ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"` // Deprecated: Do not use. // Connection timeout used by Envoy for supporting services. (MUST BE >=1ms) - ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,9,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + ConnectTimeout *types.Duration `protobuf:"bytes,9,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // 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). @@ -314,7 +420,7 @@ type ProxyConfig struct { // Port on which Envoy should listen for administrative commands. ProxyAdminPort int32 `protobuf:"varint,11,opt,name=proxy_admin_port,json=proxyAdminPort,proto3" json:"proxy_admin_port,omitempty"` // $hide_from_docs - AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"` + AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"` // Deprecated: Do not use. // Authentication policy defines the global switch to control authentication // for Envoy-to-Envoy communication for istio components Mixer and Pilot. ControlPlaneAuthPolicy AuthenticationPolicy `protobuf:"varint,13,opt,name=control_plane_auth_policy,json=controlPlaneAuthPolicy,proto3,enum=istio.mesh.v1alpha1.AuthenticationPolicy" json:"control_plane_auth_policy,omitempty"` @@ -334,13 +440,44 @@ type ProxyConfig struct { // The mode used to redirect inbound traffic to Envoy. InterceptionMode ProxyConfig_InboundInterceptionMode `protobuf:"varint,18,opt,name=interception_mode,json=interceptionMode,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode" json:"interception_mode,omitempty"` // Tracing configuration to be used by the proxy. - Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing" json:"tracing,omitempty"` + Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProxyConfig) Reset() { *m = ProxyConfig{} } +func (m *ProxyConfig) String() string { return proto.CompactTextString(m) } +func (*ProxyConfig) ProtoMessage() {} +func (*ProxyConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_5efecd978cf3d28d, []int{1} +} +func (m *ProxyConfig) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProxyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProxyConfig.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProxyConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProxyConfig.Merge(m, src) +} +func (m *ProxyConfig) XXX_Size() int { + return m.Size() +} +func (m *ProxyConfig) XXX_DiscardUnknown() { + xxx_messageInfo_ProxyConfig.DiscardUnknown(m) } -func (m *ProxyConfig) Reset() { *m = ProxyConfig{} } -func (m *ProxyConfig) String() string { return proto.CompactTextString(m) } -func (*ProxyConfig) ProtoMessage() {} -func (*ProxyConfig) Descriptor() ([]byte, []int) { return fileDescriptorProxy, []int{1} } +var xxx_messageInfo_ProxyConfig proto.InternalMessageInfo func (m *ProxyConfig) GetConfigPath() string { if m != nil { @@ -363,14 +500,14 @@ func (m *ProxyConfig) GetServiceCluster() string { return "" } -func (m *ProxyConfig) GetDrainDuration() *google_protobuf.Duration { +func (m *ProxyConfig) GetDrainDuration() *types.Duration { if m != nil { return m.DrainDuration } return nil } -func (m *ProxyConfig) GetParentShutdownDuration() *google_protobuf.Duration { +func (m *ProxyConfig) GetParentShutdownDuration() *types.Duration { if m != nil { return m.ParentShutdownDuration } @@ -384,13 +521,15 @@ func (m *ProxyConfig) GetDiscoveryAddress() string { return "" } -func (m *ProxyConfig) GetDiscoveryRefreshDelay() *google_protobuf.Duration { +// Deprecated: Do not use. +func (m *ProxyConfig) GetDiscoveryRefreshDelay() *types.Duration { if m != nil { return m.DiscoveryRefreshDelay } return nil } +// Deprecated: Do not use. func (m *ProxyConfig) GetZipkinAddress() string { if m != nil { return m.ZipkinAddress @@ -398,7 +537,7 @@ func (m *ProxyConfig) GetZipkinAddress() string { return "" } -func (m *ProxyConfig) GetConnectTimeout() *google_protobuf.Duration { +func (m *ProxyConfig) GetConnectTimeout() *types.Duration { if m != nil { return m.ConnectTimeout } @@ -426,6 +565,7 @@ func (m *ProxyConfig) GetProxyAdminPort() int32 { return 0 } +// Deprecated: Do not use. func (m *ProxyConfig) GetAvailabilityZone() string { if m != nil { return m.AvailabilityZone @@ -483,13 +623,76 @@ func (m *ProxyConfig) GetTracing() *Tracing { } func init() { + proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) + proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) proto.RegisterType((*Tracing)(nil), "istio.mesh.v1alpha1.Tracing") proto.RegisterType((*Tracing_Zipkin)(nil), "istio.mesh.v1alpha1.Tracing.Zipkin") proto.RegisterType((*Tracing_Lightstep)(nil), "istio.mesh.v1alpha1.Tracing.Lightstep") proto.RegisterType((*ProxyConfig)(nil), "istio.mesh.v1alpha1.ProxyConfig") - proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) - proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) } + +func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptor_5efecd978cf3d28d) } + +var fileDescriptor_5efecd978cf3d28d = []byte{ + // 890 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xe3, 0xc4, + 0x17, 0xad, 0xfb, 0xdb, 0xcd, 0x9f, 0x9b, 0x36, 0x75, 0x67, 0xf7, 0xd7, 0x75, 0x23, 0x28, 0xa1, + 0x48, 0x90, 0x05, 0xe4, 0x68, 0xbb, 0x12, 0xe2, 0x05, 0x44, 0xd2, 0x76, 0xd5, 0x48, 0x6d, 0x37, + 0x72, 0x53, 0x09, 0xfa, 0x32, 0x9a, 0xd8, 0xb7, 0xf1, 0x68, 0x9d, 0x19, 0x6b, 0x3c, 0x0e, 0x64, + 0xdf, 0xf8, 0x6a, 0x48, 0x48, 0x3c, 0xf2, 0x11, 0x50, 0x9f, 0xf8, 0x18, 0xc8, 0x33, 0x76, 0x36, + 0xa0, 0xee, 0xf6, 0x2d, 0x73, 0xee, 0x39, 0x67, 0xee, 0x1f, 0xdf, 0x09, 0xec, 0xcf, 0x31, 0x8b, + 0xfb, 0x8b, 0x17, 0x2c, 0x49, 0x63, 0xf6, 0xa2, 0x9f, 0x2a, 0xf9, 0xcb, 0xd2, 0x4f, 0x95, 0xd4, + 0x92, 0x3c, 0xe1, 0x99, 0xe6, 0xd2, 0x2f, 0x08, 0x7e, 0x45, 0xe8, 0x1c, 0xcc, 0xa4, 0x9c, 0x25, + 0xd8, 0x37, 0x94, 0x69, 0x7e, 0xdb, 0x8f, 0x72, 0xc5, 0x34, 0x97, 0xc2, 0x8a, 0x0e, 0x7f, 0xdb, + 0x84, 0xfa, 0x44, 0xb1, 0x90, 0x8b, 0x19, 0xf9, 0x0e, 0x6a, 0x6f, 0x79, 0xfa, 0x86, 0x0b, 0xcf, + 0xe9, 0x3a, 0xbd, 0xd6, 0xd1, 0x67, 0xfe, 0x3d, 0x8e, 0x7e, 0xc9, 0xf6, 0x6f, 0x0c, 0xf5, 0x6c, + 0x23, 0x28, 0x45, 0xe4, 0x15, 0x34, 0x13, 0x3e, 0x8b, 0x75, 0xa6, 0x31, 0xf5, 0x36, 0x8d, 0xc3, + 0xe7, 0x1f, 0x74, 0x38, 0xaf, 0xd8, 0x67, 0x1b, 0xc1, 0x3b, 0x69, 0xe7, 0x10, 0x6a, 0xd6, 0x9b, + 0x78, 0x50, 0x67, 0x51, 0xa4, 0x30, 0xcb, 0x4c, 0x46, 0xcd, 0xa0, 0x3a, 0x76, 0x7e, 0x75, 0xa0, + 0xb9, 0x92, 0xbf, 0x9f, 0x47, 0x3e, 0x85, 0x2d, 0x16, 0x86, 0x98, 0x65, 0x54, 0xcb, 0x37, 0x28, + 0x4c, 0x5a, 0xcd, 0xa0, 0x65, 0xb1, 0x49, 0x01, 0x91, 0x3d, 0xa8, 0x65, 0x18, 0xe6, 0x0a, 0xbd, + 0xff, 0x75, 0x9d, 0x5e, 0x23, 0x28, 0x4f, 0xe4, 0x13, 0x68, 0x85, 0x2c, 0x44, 0xa5, 0x69, 0xca, + 0x74, 0xec, 0x3d, 0x32, 0x4a, 0xb0, 0xd0, 0x98, 0xe9, 0x78, 0xd8, 0x80, 0x9a, 0x56, 0xc5, 0xf1, + 0xf0, 0xf7, 0x26, 0xb4, 0xc6, 0xc5, 0x24, 0x8e, 0xa5, 0xb8, 0xe5, 0x33, 0x23, 0x35, 0xbf, 0xac, + 0xd4, 0x29, 0xa5, 0x06, 0x2a, 0xa4, 0x05, 0x61, 0xca, 0x05, 0x53, 0x4b, 0x4b, 0xb0, 0x59, 0x81, + 0x85, 0x0c, 0xe1, 0x0b, 0xd8, 0xc9, 0x50, 0x2d, 0x78, 0x88, 0x34, 0x4c, 0xf2, 0x4c, 0xa3, 0x32, + 0xd9, 0x35, 0x83, 0x76, 0x09, 0x1f, 0x5b, 0x94, 0xfc, 0x00, 0xed, 0x48, 0x31, 0x2e, 0x68, 0x35, + 0x57, 0x93, 0x68, 0xeb, 0x68, 0xdf, 0xb7, 0x83, 0xf7, 0xab, 0xc1, 0xfb, 0x27, 0x25, 0x21, 0xd8, + 0x36, 0x82, 0xea, 0x48, 0xae, 0xc0, 0x4b, 0x99, 0x42, 0xa1, 0x69, 0x16, 0xe7, 0x3a, 0x92, 0x3f, + 0xaf, 0x79, 0x3d, 0x7e, 0xc8, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xca, 0xf4, 0x2b, 0xd8, 0x8d, + 0x78, 0x16, 0xca, 0x05, 0xaa, 0x25, 0xad, 0x66, 0x53, 0x33, 0x15, 0xb8, 0xab, 0xc0, 0xa0, 0x1c, + 0xd2, 0x35, 0x3c, 0x7b, 0x47, 0x56, 0x78, 0xab, 0x30, 0x8b, 0x69, 0x84, 0x09, 0x5b, 0x7a, 0xf5, + 0x07, 0x12, 0x18, 0x6e, 0x7a, 0x4e, 0xf0, 0xff, 0x95, 0x3a, 0xb0, 0xe2, 0x93, 0x42, 0x4b, 0x9e, + 0x43, 0xdb, 0x7e, 0x99, 0xab, 0x04, 0x1a, 0x45, 0x02, 0x46, 0xb2, 0x6d, 0x23, 0x55, 0x06, 0x43, + 0xd8, 0x09, 0xa5, 0x10, 0x18, 0x6a, 0xaa, 0xf9, 0x1c, 0x65, 0xae, 0xbd, 0xe6, 0x43, 0xa5, 0xb7, + 0x4b, 0xc5, 0xc4, 0x0a, 0xc8, 0xd7, 0x40, 0x32, 0xcd, 0x74, 0x16, 0xd1, 0x3c, 0x4a, 0x57, 0x57, + 0x82, 0xad, 0xd9, 0x46, 0xae, 0xa3, 0xb4, 0xba, 0x71, 0x00, 0x1f, 0xa3, 0x58, 0xc8, 0x25, 0x9d, + 0xa3, 0x56, 0x3c, 0xcc, 0x68, 0x35, 0xee, 0x4a, 0xf8, 0xd4, 0x08, 0x3b, 0x86, 0x74, 0x61, 0x39, + 0x57, 0x96, 0x52, 0x59, 0xf4, 0xc0, 0x35, 0xeb, 0x4f, 0x59, 0x34, 0xe7, 0x82, 0xa6, 0x52, 0x69, + 0xaf, 0xd5, 0x75, 0x7a, 0x8f, 0x83, 0xb6, 0xc1, 0x07, 0x05, 0x3c, 0x96, 0x4a, 0x93, 0x3e, 0xec, + 0xb2, 0x05, 0xe3, 0x09, 0x9b, 0xf2, 0x84, 0xeb, 0x25, 0x7d, 0x2b, 0x05, 0x7a, 0x5b, 0xab, 0x66, + 0xb8, 0xeb, 0xc1, 0x1b, 0x29, 0x90, 0x44, 0xb0, 0x1f, 0x4a, 0xa1, 0x95, 0x4c, 0x68, 0x9a, 0x30, + 0x81, 0x94, 0xe5, 0x3a, 0xa6, 0xa9, 0x4c, 0x78, 0xb8, 0xf4, 0xb6, 0xbb, 0x4e, 0xaf, 0x7d, 0xf4, + 0xfc, 0xde, 0xd5, 0x1e, 0xe4, 0x3a, 0x46, 0xa1, 0x79, 0x68, 0x7a, 0x34, 0x36, 0x82, 0x60, 0xaf, + 0xf4, 0x1a, 0x17, 0x56, 0x05, 0xc3, 0xe2, 0x45, 0xc7, 0xc2, 0x3c, 0xd3, 0x72, 0x4e, 0xcb, 0x6d, + 0xb9, 0xe5, 0x09, 0x7a, 0x6d, 0xdb, 0x31, 0x1b, 0xb1, 0x0b, 0xf5, 0x8a, 0x27, 0x58, 0x94, 0x5b, + 0x74, 0x91, 0x0a, 0x36, 0x47, 0x9a, 0xa0, 0x98, 0xe9, 0xd8, 0xdb, 0xb1, 0xe5, 0x16, 0xf8, 0x25, + 0x9b, 0xe3, 0xb9, 0x41, 0x49, 0xd7, 0xac, 0x5f, 0x98, 0x2b, 0x85, 0x22, 0x5c, 0x7a, 0xae, 0x21, + 0xad, 0x43, 0x45, 0xf7, 0x6d, 0xeb, 0xa6, 0x52, 0xea, 0x4c, 0x2b, 0x96, 0x52, 0x8d, 0xf3, 0x34, + 0x61, 0x1a, 0xed, 0x46, 0xee, 0xda, 0xee, 0x1b, 0xd2, 0xb0, 0xe2, 0x4c, 0x4a, 0x8a, 0xd9, 0x50, + 0x84, 0x5d, 0x2e, 0x34, 0xaa, 0x10, 0xd3, 0xa2, 0x54, 0x3a, 0x97, 0x11, 0x7a, 0xc4, 0xb4, 0xe6, + 0xdb, 0x7b, 0x5b, 0xb3, 0xf6, 0x40, 0xf8, 0x23, 0x31, 0x95, 0xb9, 0x88, 0x46, 0x6b, 0x06, 0x17, + 0x32, 0xc2, 0xc0, 0xe5, 0xff, 0x41, 0xc8, 0x37, 0x50, 0xd7, 0xf6, 0xb9, 0xf4, 0x9e, 0x98, 0x2f, + 0xf2, 0xa3, 0x0f, 0x3d, 0xa9, 0x41, 0x45, 0x3e, 0x7c, 0x09, 0xcf, 0xde, 0x73, 0x09, 0xd9, 0x82, + 0x46, 0x70, 0x7a, 0x32, 0x0a, 0x4e, 0x8f, 0x27, 0xee, 0x06, 0x01, 0xa8, 0x4d, 0xc6, 0xc1, 0xeb, + 0x1f, 0x7f, 0x72, 0x9d, 0x2f, 0xbf, 0x87, 0xa7, 0xf7, 0x0d, 0x90, 0x34, 0xe0, 0xd1, 0xe5, 0xeb, + 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, 0xbf, 0x72, + 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, 0xbd, 0x3f, + 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0x4d, 0x94, 0xcb, + 0x3e, 0x4b, 0x79, 0xff, 0x5f, 0xff, 0x5b, 0xd3, 0x9a, 0xd9, 0xa7, 0x97, 0xff, 0x04, 0x00, 0x00, + 0xff, 0xff, 0x92, 0x7b, 0x1a, 0x92, 0xcf, 0x06, 0x00, 0x00, +} + func (m *Tracing) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -512,6 +715,9 @@ func (m *Tracing) MarshalTo(dAtA []byte) (int, error) { } i += nn1 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -564,6 +770,9 @@ func (m *Tracing_Zipkin) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.Address))) i += copy(dAtA[i:], m.Address) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -610,6 +819,9 @@ func (m *Tracing_Lightstep) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.CacertPath))) i += copy(dAtA[i:], m.CacertPath) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -773,6 +985,9 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.EnvoyMetricsServiceAddress))) i += copy(dAtA[i:], m.EnvoyMetricsServiceAddress) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -786,15 +1001,24 @@ func encodeVarintProxy(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Tracing) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Tracer != nil { n += m.Tracer.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Tracing_Zipkin_) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Zipkin != nil { @@ -804,6 +1028,9 @@ func (m *Tracing_Zipkin_) Size() (n int) { return n } func (m *Tracing_Lightstep_) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Lightstep != nil { @@ -813,16 +1040,25 @@ func (m *Tracing_Lightstep_) Size() (n int) { return n } func (m *Tracing_Zipkin) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) if l > 0 { n += 1 + l + sovProxy(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Tracing_Lightstep) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -840,10 +1076,16 @@ func (m *Tracing_Lightstep) Size() (n int) { if l > 0 { n += 1 + l + sovProxy(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ProxyConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.ConfigPath) @@ -921,6 +1163,9 @@ func (m *ProxyConfig) Size() (n int) { if l > 0 { n += 2 + l + sovProxy(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -952,7 +1197,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -980,7 +1225,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -989,6 +1234,9 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1012,7 +1260,7 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1021,6 +1269,9 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1039,9 +1290,13 @@ func (m *Tracing) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1066,7 +1321,7 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1094,7 +1349,7 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1104,6 +1359,9 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1118,9 +1376,13 @@ func (m *Tracing_Zipkin) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1145,7 +1407,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1173,7 +1435,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1183,6 +1445,9 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1202,7 +1467,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1212,6 +1477,9 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1231,7 +1499,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1251,7 +1519,7 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1261,6 +1529,9 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1275,9 +1546,13 @@ func (m *Tracing_Lightstep) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1302,7 +1577,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1330,7 +1605,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1340,6 +1615,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1359,7 +1637,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1369,6 +1647,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1388,7 +1669,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1398,6 +1679,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1417,7 +1701,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1426,11 +1710,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.DrainDuration == nil { - m.DrainDuration = &google_protobuf.Duration{} + m.DrainDuration = &types.Duration{} } if err := m.DrainDuration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1450,7 +1737,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1459,11 +1746,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ParentShutdownDuration == nil { - m.ParentShutdownDuration = &google_protobuf.Duration{} + m.ParentShutdownDuration = &types.Duration{} } if err := m.ParentShutdownDuration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1483,7 +1773,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1493,6 +1783,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1512,7 +1805,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1521,11 +1814,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.DiscoveryRefreshDelay == nil { - m.DiscoveryRefreshDelay = &google_protobuf.Duration{} + m.DiscoveryRefreshDelay = &types.Duration{} } if err := m.DiscoveryRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1545,7 +1841,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1555,6 +1851,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1574,7 +1873,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1583,11 +1882,14 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &google_protobuf.Duration{} + m.ConnectTimeout = &types.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1607,7 +1909,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1617,6 +1919,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1636,7 +1941,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProxyAdminPort |= (int32(b) & 0x7F) << shift + m.ProxyAdminPort |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1655,7 +1960,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1665,6 +1970,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1684,7 +1992,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ControlPlaneAuthPolicy |= (AuthenticationPolicy(b) & 0x7F) << shift + m.ControlPlaneAuthPolicy |= AuthenticationPolicy(b&0x7F) << shift if b < 0x80 { break } @@ -1703,7 +2011,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1713,6 +2021,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1732,7 +2043,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.StatNameLength |= (int32(b) & 0x7F) << shift + m.StatNameLength |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1751,7 +2062,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Concurrency |= (int32(b) & 0x7F) << shift + m.Concurrency |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1770,7 +2081,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1780,6 +2091,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1799,7 +2113,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.InterceptionMode |= (ProxyConfig_InboundInterceptionMode(b) & 0x7F) << shift + m.InterceptionMode |= ProxyConfig_InboundInterceptionMode(b&0x7F) << shift if b < 0x80 { break } @@ -1818,7 +2132,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1827,6 +2141,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1851,7 +2168,7 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1861,6 +2178,9 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthProxy } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1875,9 +2195,13 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthProxy } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthProxy + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1941,10 +2265,13 @@ func skipProxy(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthProxy } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthProxy + } return iNdEx, nil case 3: for { @@ -1973,6 +2300,9 @@ func skipProxy(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthProxy + } } return iNdEx, nil case 4: @@ -1991,65 +2321,3 @@ var ( ErrInvalidLengthProxy = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProxy = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptorProxy) } - -var fileDescriptorProxy = []byte{ - // 892 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xdb, 0xb6, - 0x17, 0x8d, 0xf2, 0x6b, 0xfd, 0xe7, 0x3a, 0x71, 0x14, 0xb6, 0xbf, 0x54, 0x31, 0xb6, 0xcc, 0xcb, - 0x80, 0xcd, 0xdd, 0x06, 0x19, 0x4d, 0x81, 0x61, 0x2f, 0x1b, 0x66, 0x27, 0x29, 0x62, 0x20, 0x49, - 0x0d, 0xc5, 0x01, 0xb6, 0xbc, 0x10, 0xb4, 0x74, 0x63, 0x11, 0x95, 0x49, 0x81, 0xa2, 0xbc, 0xb9, - 0x6f, 0xfb, 0x6a, 0x03, 0x06, 0xec, 0x71, 0x1f, 0x61, 0xc8, 0xd3, 0x3e, 0xc6, 0x20, 0x52, 0x72, - 0xbd, 0x21, 0x6d, 0xde, 0xcc, 0xc3, 0x73, 0xae, 0xce, 0x21, 0xef, 0xa5, 0x61, 0x7f, 0x8e, 0x59, - 0xdc, 0x5f, 0xbc, 0x60, 0x49, 0x1a, 0xb3, 0x17, 0xfd, 0x54, 0xc9, 0x5f, 0x96, 0x7e, 0xaa, 0xa4, - 0x96, 0xe4, 0x09, 0xcf, 0x34, 0x97, 0x7e, 0x41, 0xf0, 0x2b, 0x42, 0xe7, 0x60, 0x26, 0xe5, 0x2c, - 0xc1, 0xbe, 0xa1, 0x4c, 0xf3, 0xdb, 0x7e, 0x94, 0x2b, 0xa6, 0xb9, 0x14, 0x56, 0x74, 0xf8, 0xdb, - 0x26, 0xd4, 0x27, 0x8a, 0x85, 0x5c, 0xcc, 0xc8, 0x77, 0x50, 0x7b, 0xcb, 0xd3, 0x37, 0x5c, 0x78, - 0x4e, 0xd7, 0xe9, 0xb5, 0x8e, 0x3e, 0xf3, 0xef, 0xa9, 0xe8, 0x97, 0x6c, 0xff, 0xc6, 0x50, 0xcf, - 0x36, 0x82, 0x52, 0x44, 0x5e, 0x41, 0x33, 0xe1, 0xb3, 0x58, 0x67, 0x1a, 0x53, 0x6f, 0xd3, 0x54, - 0xf8, 0xfc, 0x83, 0x15, 0xce, 0x2b, 0xf6, 0xd9, 0x46, 0xf0, 0x4e, 0xda, 0x39, 0x84, 0x9a, 0xad, - 0x4d, 0x3c, 0xa8, 0xb3, 0x28, 0x52, 0x98, 0x65, 0xc6, 0x51, 0x33, 0xa8, 0x96, 0x9d, 0x5f, 0x1d, - 0x68, 0xae, 0xe4, 0xef, 0xe7, 0x91, 0x4f, 0x61, 0x8b, 0x85, 0x21, 0x66, 0x19, 0xd5, 0xf2, 0x0d, - 0x0a, 0x63, 0xab, 0x19, 0xb4, 0x2c, 0x36, 0x29, 0x20, 0xb2, 0x07, 0xb5, 0x0c, 0xc3, 0x5c, 0xa1, - 0xf7, 0xbf, 0xae, 0xd3, 0x6b, 0x04, 0xe5, 0x8a, 0x7c, 0x02, 0xad, 0x90, 0x85, 0xa8, 0x34, 0x4d, - 0x99, 0x8e, 0xbd, 0x47, 0x46, 0x09, 0x16, 0x1a, 0x33, 0x1d, 0x0f, 0x1b, 0x50, 0xd3, 0xaa, 0x58, - 0x1e, 0xfe, 0xde, 0x84, 0xd6, 0xb8, 0xb8, 0x89, 0x63, 0x29, 0x6e, 0xf9, 0xcc, 0x48, 0xcd, 0x2f, - 0x2b, 0x75, 0x4a, 0xa9, 0x81, 0x0a, 0x69, 0x41, 0x98, 0x72, 0xc1, 0xd4, 0xd2, 0x12, 0xac, 0x2b, - 0xb0, 0x90, 0x21, 0x7c, 0x01, 0x3b, 0x19, 0xaa, 0x05, 0x0f, 0x91, 0x86, 0x49, 0x9e, 0x69, 0x54, - 0xc6, 0x5d, 0x33, 0x68, 0x97, 0xf0, 0xb1, 0x45, 0xc9, 0x0f, 0xd0, 0x8e, 0x14, 0xe3, 0x82, 0x56, - 0xf7, 0x6a, 0x8c, 0xb6, 0x8e, 0xf6, 0x7d, 0x7b, 0xf1, 0x7e, 0x75, 0xf1, 0xfe, 0x49, 0x49, 0x08, - 0xb6, 0x8d, 0xa0, 0x5a, 0x92, 0x2b, 0xf0, 0x52, 0xa6, 0x50, 0x68, 0x9a, 0xc5, 0xb9, 0x8e, 0xe4, - 0xcf, 0x6b, 0xb5, 0x1e, 0x3f, 0x54, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xaa, 0xe8, 0x57, 0xb0, - 0x1b, 0xf1, 0x2c, 0x94, 0x0b, 0x54, 0x4b, 0x5a, 0xdd, 0x4d, 0xcd, 0x24, 0x70, 0x57, 0x1b, 0x83, - 0xf2, 0x92, 0xae, 0xe1, 0xd9, 0x3b, 0xb2, 0xc2, 0x5b, 0x85, 0x59, 0x4c, 0x23, 0x4c, 0xd8, 0xd2, - 0xab, 0x3f, 0x60, 0x60, 0xb8, 0xe9, 0x39, 0xc1, 0xff, 0x57, 0xea, 0xc0, 0x8a, 0x4f, 0x0a, 0x2d, - 0x79, 0x0e, 0x6d, 0xdb, 0x99, 0x2b, 0x03, 0x8d, 0xc2, 0x80, 0x91, 0x6c, 0xdb, 0x9d, 0xca, 0xc1, - 0x10, 0x76, 0x42, 0x29, 0x04, 0x86, 0x9a, 0x6a, 0x3e, 0x47, 0x99, 0x6b, 0xaf, 0xf9, 0x50, 0xf4, - 0x76, 0xa9, 0x98, 0x58, 0x01, 0xf9, 0x1a, 0x48, 0xa6, 0x99, 0xce, 0x22, 0x9a, 0x47, 0xe9, 0xea, - 0x93, 0x60, 0x33, 0xdb, 0x9d, 0xeb, 0x28, 0xad, 0xbe, 0xd8, 0x03, 0xd7, 0xcc, 0x2e, 0x65, 0xd1, - 0x9c, 0x0b, 0x9a, 0x4a, 0xa5, 0xbd, 0x56, 0xd7, 0xe9, 0x3d, 0x0e, 0xda, 0x06, 0x1f, 0x14, 0xf0, - 0x58, 0x2a, 0x4d, 0xfa, 0xb0, 0xcb, 0x16, 0x8c, 0x27, 0x6c, 0xca, 0x13, 0xae, 0x97, 0xf4, 0xad, - 0x14, 0xe8, 0x6d, 0xad, 0x92, 0xb8, 0xeb, 0x9b, 0x37, 0x52, 0x20, 0x89, 0x60, 0x3f, 0x94, 0x42, - 0x2b, 0x99, 0xd0, 0x34, 0x61, 0x02, 0x29, 0xcb, 0x75, 0x4c, 0x53, 0x99, 0xf0, 0x70, 0xe9, 0x6d, - 0x77, 0x9d, 0x5e, 0xfb, 0xe8, 0xf9, 0xbd, 0x73, 0x39, 0xc8, 0x75, 0x8c, 0x42, 0xf3, 0xd0, 0x04, - 0x1c, 0x1b, 0x41, 0xb0, 0x57, 0xd6, 0x1a, 0x17, 0xa5, 0x0a, 0x86, 0xc5, 0x8b, 0xb8, 0x61, 0x9e, - 0x69, 0x39, 0xa7, 0x65, 0xab, 0xdf, 0xf2, 0x04, 0xbd, 0xb6, 0x8d, 0x6b, 0x77, 0xec, 0x34, 0xbc, - 0xe2, 0x09, 0x16, 0x71, 0x8b, 0x23, 0xa0, 0x82, 0xcd, 0x91, 0x26, 0x28, 0x66, 0x3a, 0xf6, 0x76, - 0x6c, 0xdc, 0x02, 0xbf, 0x64, 0x73, 0x3c, 0x37, 0x28, 0xe9, 0x9a, 0xd9, 0x09, 0x73, 0xa5, 0x50, - 0x84, 0x4b, 0xcf, 0x35, 0xa4, 0x75, 0x88, 0x0c, 0xe0, 0x63, 0x7b, 0x74, 0x53, 0x29, 0x75, 0xa6, - 0x15, 0x4b, 0xa9, 0xc6, 0x79, 0x9a, 0x30, 0x8d, 0x76, 0x9c, 0x76, 0x8d, 0x89, 0x8e, 0x21, 0x0d, - 0x2b, 0xce, 0xa4, 0xa4, 0x98, 0xf1, 0x42, 0xd8, 0xe5, 0x42, 0xa3, 0x0a, 0x31, 0x2d, 0xa2, 0xd2, - 0xb9, 0x8c, 0xd0, 0x23, 0xe6, 0x68, 0xbe, 0xbd, 0xf7, 0x68, 0xd6, 0xa6, 0xdb, 0x1f, 0x89, 0xa9, - 0xcc, 0x45, 0x34, 0x5a, 0x2b, 0x70, 0x21, 0x23, 0x0c, 0x5c, 0xfe, 0x1f, 0x84, 0x7c, 0x03, 0x75, - 0x6d, 0xdf, 0x3a, 0xef, 0x89, 0x69, 0xa7, 0x8f, 0x3e, 0xf4, 0x1e, 0x06, 0x15, 0xb9, 0x48, 0x88, - 0x62, 0x21, 0x97, 0x74, 0x8e, 0x5a, 0xf1, 0x30, 0xa3, 0xd5, 0x5b, 0x50, 0x75, 0xd5, 0x53, 0x9b, - 0xd0, 0x90, 0x2e, 0x2c, 0xe7, 0xca, 0x52, 0xca, 0xfe, 0x3a, 0x7c, 0x09, 0xcf, 0xde, 0xe3, 0x93, - 0x6c, 0x41, 0x23, 0x38, 0x3d, 0x19, 0x05, 0xa7, 0xc7, 0x13, 0x77, 0x83, 0x00, 0xd4, 0x26, 0xe3, - 0xe0, 0xf5, 0x8f, 0x3f, 0xb9, 0xce, 0x97, 0xdf, 0xc3, 0xd3, 0xfb, 0x7a, 0x80, 0x34, 0xe0, 0xd1, - 0xe5, 0xeb, 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, - 0xbf, 0x72, 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, - 0xbd, 0x3f, 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0xcd, - 0xca, 0x65, 0x9f, 0xa5, 0xbc, 0xff, 0xaf, 0xff, 0xad, 0x69, 0xcd, 0xcc, 0xd3, 0xcb, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0x3f, 0x0f, 0x26, 0x61, 0xcf, 0x06, 0x00, 0x00, -} diff --git a/mixer/adapter/model/v1beta1/check.pb.go b/mixer/adapter/model/v1beta1/check.pb.go index 95a431c4786..93d0e8b1503 100644 --- a/mixer/adapter/model/v1beta1/check.pb.go +++ b/mixer/adapter/model/v1beta1/check.pb.go @@ -1,49 +1,21 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mixer/adapter/model/v1beta1/check.proto -/* - Package v1beta1 is a generated protocol buffer package. - - It is generated from these files: - mixer/adapter/model/v1beta1/check.proto - mixer/adapter/model/v1beta1/extensions.proto - mixer/adapter/model/v1beta1/info.proto - mixer/adapter/model/v1beta1/infrastructure_backend.proto - mixer/adapter/model/v1beta1/quota.proto - mixer/adapter/model/v1beta1/report.proto - mixer/adapter/model/v1beta1/template.proto - - It has these top-level messages: - CheckResult - Info - CreateSessionRequest - CreateSessionResponse - ValidateRequest - ValidateResponse - CloseSessionRequest - CloseSessionResponse - QuotaRequest - QuotaResult - ReportResult - Template -*/ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" -import google_rpc "github.com/gogo/googleapis/google/rpc" - -import time "time" - -import types "github.com/gogo/protobuf/types" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + rpc "github.com/gogo/googleapis/google/rpc" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/types" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + io "io" + math "math" + reflect "reflect" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -61,20 +33,78 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type CheckResult struct { // A status code of OK indicates preconditions were satisfied. Any other code indicates preconditions were not // satisfied and details describe why. - Status google_rpc.Status `protobuf:"bytes,1,opt,name=status" json:"status"` + Status rpc.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` // The amount of time for which this result can be considered valid. - ValidDuration time.Duration `protobuf:"bytes,2,opt,name=valid_duration,json=validDuration,stdduration" json:"valid_duration"` + ValidDuration time.Duration `protobuf:"bytes,2,opt,name=valid_duration,json=validDuration,proto3,stdduration" json:"valid_duration"` // The number of uses for which this result can be considered valid. ValidUseCount int32 `protobuf:"varint,3,opt,name=valid_use_count,json=validUseCount,proto3" json:"valid_use_count,omitempty"` } -func (m *CheckResult) Reset() { *m = CheckResult{} } -func (*CheckResult) ProtoMessage() {} -func (*CheckResult) Descriptor() ([]byte, []int) { return fileDescriptorCheck, []int{0} } +func (m *CheckResult) Reset() { *m = CheckResult{} } +func (*CheckResult) ProtoMessage() {} +func (*CheckResult) Descriptor() ([]byte, []int) { + return fileDescriptor_b5cd393dc2a446fd, []int{0} +} +func (m *CheckResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CheckResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CheckResult.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CheckResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckResult.Merge(m, src) +} +func (m *CheckResult) XXX_Size() int { + return m.Size() +} +func (m *CheckResult) XXX_DiscardUnknown() { + xxx_messageInfo_CheckResult.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckResult proto.InternalMessageInfo func init() { proto.RegisterType((*CheckResult)(nil), "istio.mixer.adapter.model.v1beta1.CheckResult") } + +func init() { + proto.RegisterFile("mixer/adapter/model/v1beta1/check.proto", fileDescriptor_b5cd393dc2a446fd) +} + +var fileDescriptor_b5cd393dc2a446fd = []byte{ + // 322 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x3d, 0x4e, 0xc3, 0x30, + 0x18, 0x86, 0x6d, 0x7e, 0x2a, 0x94, 0x0a, 0x90, 0x22, 0x24, 0x4a, 0x87, 0xaf, 0x85, 0x01, 0x3a, + 0xd9, 0x14, 0x6e, 0xd0, 0x32, 0x31, 0x16, 0xb1, 0xb0, 0x54, 0x4e, 0x62, 0x82, 0x45, 0x5a, 0x47, + 0x89, 0x53, 0x31, 0x72, 0x04, 0x46, 0x8e, 0xc0, 0xce, 0x25, 0x3a, 0x76, 0xec, 0x04, 0xc4, 0x59, + 0x18, 0x7b, 0x04, 0x14, 0xdb, 0x59, 0xd9, 0x6c, 0x3f, 0xcf, 0xfb, 0xf9, 0x95, 0xed, 0x5d, 0xcc, + 0xc4, 0x0b, 0xcf, 0x28, 0x8b, 0x58, 0xaa, 0x78, 0x46, 0x67, 0x32, 0xe2, 0x09, 0x5d, 0x0c, 0x03, + 0xae, 0xd8, 0x90, 0x86, 0x4f, 0x3c, 0x7c, 0x26, 0x69, 0x26, 0x95, 0xf4, 0x4f, 0x45, 0xae, 0x84, + 0x24, 0x46, 0x27, 0x4e, 0x27, 0x46, 0x27, 0x4e, 0xef, 0x1e, 0xc5, 0x32, 0x96, 0xc6, 0xa6, 0xf5, + 0xca, 0x06, 0xbb, 0x10, 0x4b, 0x19, 0x27, 0x9c, 0x9a, 0x5d, 0x50, 0x3c, 0xd2, 0xa8, 0xc8, 0x98, + 0x12, 0x72, 0xee, 0xf8, 0xb1, 0xe3, 0x59, 0x1a, 0xd2, 0x5c, 0x31, 0x55, 0xe4, 0x16, 0x9c, 0x7d, + 0x62, 0xaf, 0x3d, 0xae, 0x1b, 0x4c, 0x78, 0x5e, 0x24, 0xca, 0xbf, 0xf4, 0x5a, 0x96, 0x77, 0x70, + 0x1f, 0x0f, 0xda, 0x57, 0x3e, 0xb1, 0x49, 0x92, 0xa5, 0x21, 0xb9, 0x33, 0x64, 0xb4, 0xb3, 0xfc, + 0xea, 0xa1, 0x89, 0xf3, 0xfc, 0x5b, 0xef, 0x60, 0xc1, 0x12, 0x11, 0x4d, 0x9b, 0x2b, 0x3b, 0x5b, + 0x26, 0x79, 0xd2, 0x24, 0x9b, 0x4e, 0xe4, 0xc6, 0x09, 0xa3, 0xbd, 0x7a, 0xc0, 0xfb, 0x77, 0x0f, + 0x4f, 0xf6, 0x4d, 0xb4, 0x01, 0xfe, 0xb9, 0x77, 0x68, 0x67, 0x15, 0x39, 0x9f, 0x86, 0xb2, 0x98, + 0xab, 0xce, 0x76, 0x1f, 0x0f, 0x76, 0x9d, 0x77, 0x9f, 0xf3, 0x71, 0x7d, 0x38, 0x0a, 0x96, 0x25, + 0xa0, 0x55, 0x09, 0x68, 0x5d, 0x02, 0xda, 0x94, 0x80, 0x5e, 0x35, 0xe0, 0x0f, 0x0d, 0x68, 0xa9, + 0x01, 0xaf, 0x34, 0xe0, 0x1f, 0x0d, 0xf8, 0x57, 0x03, 0xda, 0x68, 0xc0, 0x6f, 0x15, 0xa0, 0x55, + 0x05, 0x68, 0x5d, 0x01, 0x7a, 0x18, 0xd8, 0x17, 0x16, 0x92, 0xb2, 0x54, 0xd0, 0x7f, 0xfe, 0x25, + 0x68, 0x99, 0xde, 0xd7, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x5b, 0xc8, 0xb5, 0xbd, 0x01, + 0x00, 0x00, +} + func (m *CheckResult) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -100,8 +130,8 @@ func (m *CheckResult) MarshalTo(dAtA []byte) (int, error) { i += n1 dAtA[i] = 0x12 i++ - i = encodeVarintCheck(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration))) - n2, err := types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) + i = encodeVarintCheck(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration))) + n2, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) if err != nil { return 0, err } @@ -124,11 +154,14 @@ func encodeVarintCheck(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *CheckResult) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Status.Size() n += 1 + l + sovCheck(uint64(l)) - l = types.SizeOfStdDuration(m.ValidDuration) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration) n += 1 + l + sovCheck(uint64(l)) if m.ValidUseCount != 0 { n += 1 + sovCheck(uint64(m.ValidUseCount)) @@ -154,8 +187,8 @@ func (this *CheckResult) String() string { return "nil" } s := strings.Join([]string{`&CheckResult{`, - `Status:` + strings.Replace(strings.Replace(this.Status.String(), "Status", "google_rpc.Status", 1), `&`, ``, 1) + `,`, - `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "google_protobuf1.Duration", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "Status", "rpc.Status", 1), `&`, ``, 1) + `,`, + `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "types.Duration", 1), `&`, ``, 1) + `,`, `ValidUseCount:` + fmt.Sprintf("%v", this.ValidUseCount) + `,`, `}`, }, "") @@ -184,7 +217,7 @@ func (m *CheckResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -212,7 +245,7 @@ func (m *CheckResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -221,6 +254,9 @@ func (m *CheckResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCheck } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCheck + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -242,7 +278,7 @@ func (m *CheckResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -251,10 +287,13 @@ func (m *CheckResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCheck } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCheck + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -272,7 +311,7 @@ func (m *CheckResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ValidUseCount |= (int32(b) & 0x7F) << shift + m.ValidUseCount |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -286,6 +325,9 @@ func (m *CheckResult) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCheck } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCheck + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -352,10 +394,13 @@ func skipCheck(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthCheck } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthCheck + } return iNdEx, nil case 3: for { @@ -384,6 +429,9 @@ func skipCheck(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthCheck + } } return iNdEx, nil case 4: @@ -402,29 +450,3 @@ var ( ErrInvalidLengthCheck = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCheck = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/adapter/model/v1beta1/check.proto", fileDescriptorCheck) } - -var fileDescriptorCheck = []byte{ - // 317 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x31, 0x4e, 0xf3, 0x30, - 0x18, 0x86, 0xed, 0xff, 0x87, 0x0a, 0xa5, 0x02, 0xa4, 0x08, 0x89, 0xd2, 0xe1, 0x6b, 0x61, 0x80, - 0x4e, 0x36, 0x85, 0x1b, 0xb4, 0x4c, 0x8c, 0x45, 0x2c, 0x5d, 0x2a, 0x37, 0x31, 0xc1, 0x22, 0xad, - 0xa3, 0xc4, 0xae, 0x18, 0x39, 0x02, 0x23, 0x47, 0x60, 0xe7, 0x12, 0x19, 0x3b, 0x32, 0x01, 0x31, - 0x0b, 0x63, 0x8f, 0x80, 0x62, 0x3b, 0x2b, 0x9b, 0xed, 0xe7, 0x79, 0x3f, 0xbf, 0xb2, 0x83, 0xb3, - 0x85, 0x78, 0xe4, 0x39, 0x65, 0x31, 0xcb, 0x14, 0xcf, 0xe9, 0x42, 0xc6, 0x3c, 0xa5, 0xab, 0xe1, - 0x9c, 0x2b, 0x36, 0xa4, 0xd1, 0x3d, 0x8f, 0x1e, 0x48, 0x96, 0x4b, 0x25, 0xc3, 0x63, 0x51, 0x28, - 0x21, 0x89, 0xd5, 0x89, 0xd7, 0x89, 0xd5, 0x89, 0xd7, 0xbb, 0x07, 0x89, 0x4c, 0xa4, 0xb5, 0x69, - 0xbd, 0x72, 0xc1, 0x2e, 0x24, 0x52, 0x26, 0x29, 0xa7, 0x76, 0x37, 0xd7, 0x77, 0x34, 0xd6, 0x39, - 0x53, 0x42, 0x2e, 0x3d, 0x3f, 0xf4, 0x3c, 0xcf, 0x22, 0x5a, 0x28, 0xa6, 0x74, 0xe1, 0xc0, 0xc9, - 0x1b, 0x0e, 0xda, 0xe3, 0xba, 0xc1, 0x84, 0x17, 0x3a, 0x55, 0xe1, 0x79, 0xd0, 0x72, 0xbc, 0x83, - 0xfb, 0x78, 0xd0, 0xbe, 0x08, 0x89, 0x4b, 0x92, 0x3c, 0x8b, 0xc8, 0x8d, 0x25, 0xa3, 0xad, 0xf2, - 0xa3, 0x87, 0x26, 0xde, 0x0b, 0xaf, 0x83, 0xbd, 0x15, 0x4b, 0x45, 0x3c, 0x6b, 0xae, 0xec, 0xfc, - 0xb3, 0xc9, 0xa3, 0x26, 0xd9, 0x74, 0x22, 0x57, 0x5e, 0x18, 0xed, 0xd4, 0x03, 0x5e, 0x3e, 0x7b, - 0x78, 0xb2, 0x6b, 0xa3, 0x0d, 0x08, 0x4f, 0x83, 0x7d, 0x37, 0x4b, 0x17, 0x7c, 0x16, 0x49, 0xbd, - 0x54, 0x9d, 0xff, 0x7d, 0x3c, 0xd8, 0xf6, 0xde, 0x6d, 0xc1, 0xc7, 0xf5, 0xe1, 0x68, 0x5a, 0x56, - 0x80, 0xd6, 0x15, 0xa0, 0xf7, 0x0a, 0xd0, 0xa6, 0x02, 0xf4, 0x64, 0x00, 0xbf, 0x1a, 0x40, 0xa5, - 0x01, 0xbc, 0x36, 0x80, 0xbf, 0x0c, 0xe0, 0x1f, 0x03, 0x68, 0x63, 0x00, 0x3f, 0x7f, 0x03, 0x9a, - 0x0e, 0xdc, 0xcb, 0x0a, 0x49, 0x59, 0x26, 0xe8, 0x1f, 0xff, 0x31, 0x6f, 0xd9, 0xbe, 0x97, 0xbf, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x50, 0x63, 0xd3, 0xb5, 0x01, 0x00, 0x00, -} diff --git a/mixer/adapter/model/v1beta1/extensions.pb.go b/mixer/adapter/model/v1beta1/extensions.pb.go index 1d510977c52..074e787c05e 100644 --- a/mixer/adapter/model/v1beta1/extensions.pb.go +++ b/mixer/adapter/model/v1beta1/extensions.pb.go @@ -3,18 +3,25 @@ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" - -import strconv "strconv" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + math "math" + strconv "strconv" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // The available varieties of templates, controlling the semantics of what an adapter does with each instance. type TemplateVariety int32 @@ -43,6 +50,7 @@ var TemplateVariety_name = map[int32]string{ 3: "TEMPLATE_VARIETY_ATTRIBUTE_GENERATOR", 4: "TEMPLATE_VARIETY_CHECK_WITH_OUTPUT", } + var TemplateVariety_value = map[string]int32{ "TEMPLATE_VARIETY_CHECK": 0, "TEMPLATE_VARIETY_REPORT": 1, @@ -51,23 +59,25 @@ var TemplateVariety_value = map[string]int32{ "TEMPLATE_VARIETY_CHECK_WITH_OUTPUT": 4, } -func (TemplateVariety) EnumDescriptor() ([]byte, []int) { return fileDescriptorExtensions, []int{0} } +func (TemplateVariety) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_3163b5e8dc3ddc37, []int{0} +} var E_TemplateVariety = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*TemplateVariety)(nil), Field: 72295727, Name: "istio.mixer.adapter.model.v1beta1.template_variety", - Tag: "varint,72295727,opt,name=template_variety,json=templateVariety,enum=istio.mixer.adapter.model.v1beta1.TemplateVariety", + Tag: "varint,72295727,opt,name=template_variety,enum=istio.mixer.adapter.model.v1beta1.TemplateVariety", Filename: "mixer/adapter/model/v1beta1/extensions.proto", } var E_TemplateName = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*string)(nil), Field: 72295888, Name: "istio.mixer.adapter.model.v1beta1.template_name", - Tag: "bytes,72295888,opt,name=template_name,json=templateName", + Tag: "bytes,72295888,opt,name=template_name", Filename: "mixer/adapter/model/v1beta1/extensions.proto", } @@ -76,6 +86,40 @@ func init() { proto.RegisterExtension(E_TemplateVariety) proto.RegisterExtension(E_TemplateName) } + +func init() { + proto.RegisterFile("mixer/adapter/model/v1beta1/extensions.proto", fileDescriptor_3163b5e8dc3ddc37) +} + +var fileDescriptor_3163b5e8dc3ddc37 = []byte{ + // 389 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x41, 0xcb, 0xd3, 0x30, + 0x18, 0xc7, 0x1b, 0x15, 0xc1, 0xa0, 0xae, 0xf4, 0xa0, 0x32, 0x25, 0xcc, 0x21, 0x32, 0x44, 0x12, + 0x36, 0x6f, 0xbb, 0x75, 0x33, 0xba, 0xa1, 0xae, 0x33, 0xa4, 0x13, 0x3d, 0x58, 0x32, 0x17, 0x47, + 0xa0, 0x5d, 0x4a, 0x1b, 0xc7, 0xbc, 0x88, 0x1f, 0xc1, 0x8f, 0xe1, 0xcd, 0xab, 0x07, 0x3f, 0x80, + 0xe8, 0xa5, 0xc7, 0x1d, 0x5d, 0x77, 0xf1, 0xb8, 0x8f, 0x20, 0x76, 0xdd, 0x0b, 0xef, 0xbb, 0xf1, + 0xee, 0x9a, 0x87, 0x5f, 0xfe, 0xbf, 0xe7, 0xcf, 0x03, 0x1f, 0x46, 0x6a, 0x21, 0x13, 0x22, 0x26, + 0x22, 0x36, 0x32, 0x21, 0x91, 0x9e, 0xc8, 0x90, 0xcc, 0x9b, 0x63, 0x69, 0x44, 0x93, 0xc8, 0x85, + 0x91, 0xb3, 0x54, 0xe9, 0x59, 0x8a, 0xe3, 0x44, 0x1b, 0xed, 0xdc, 0x55, 0xa9, 0x51, 0x1a, 0x17, + 0x0c, 0x2e, 0x19, 0x5c, 0x30, 0xb8, 0x64, 0xaa, 0xb5, 0xa9, 0xd6, 0xd3, 0x50, 0x92, 0x02, 0x18, + 0x7f, 0x78, 0x4f, 0x26, 0x32, 0x7d, 0x97, 0xa8, 0xd8, 0xe8, 0x64, 0xfb, 0xc9, 0x83, 0xef, 0x00, + 0x56, 0xb8, 0x8c, 0xe2, 0x50, 0x18, 0x39, 0x12, 0x89, 0x92, 0xe6, 0xa3, 0x53, 0x85, 0x37, 0x38, + 0x7d, 0x31, 0x7c, 0xee, 0x72, 0x1a, 0x8c, 0x5c, 0xd6, 0xa7, 0xfc, 0x75, 0xd0, 0xed, 0xd1, 0xee, + 0x33, 0xdb, 0x72, 0x6e, 0xc3, 0x9b, 0x7b, 0x33, 0x46, 0x87, 0x1e, 0xe3, 0x36, 0x38, 0x08, 0xbe, + 0xf4, 0x3d, 0xee, 0xda, 0x17, 0x9c, 0x06, 0xbc, 0xb7, 0x37, 0x73, 0x39, 0x67, 0xfd, 0x8e, 0xcf, + 0x69, 0xf0, 0x94, 0x0e, 0x28, 0x73, 0xb9, 0xc7, 0xec, 0x8b, 0xce, 0x7d, 0x58, 0x3f, 0x1c, 0x1f, + 0xbc, 0xea, 0xf3, 0x5e, 0xe0, 0xf9, 0x7c, 0xe8, 0x73, 0xfb, 0x52, 0xfb, 0x13, 0xb4, 0x4d, 0x69, + 0x1e, 0xcc, 0x4b, 0xf5, 0x3b, 0x78, 0xbb, 0x31, 0xde, 0x6d, 0x8c, 0x9f, 0xa8, 0x50, 0x7a, 0xb1, + 0xf9, 0xdf, 0xdb, 0xad, 0x6f, 0xbf, 0x7e, 0xd4, 0x6b, 0xa0, 0x71, 0xbd, 0xd5, 0xc2, 0x47, 0xbb, + 0xc3, 0x67, 0x5a, 0x61, 0x15, 0x73, 0xfa, 0xa1, 0xfd, 0x18, 0x5e, 0x3b, 0xc9, 0x9f, 0x89, 0x48, + 0x1e, 0x09, 0xcf, 0x7e, 0x17, 0xe1, 0x57, 0xd8, 0xd5, 0x1d, 0x35, 0x10, 0x91, 0xec, 0xbc, 0xcd, + 0x56, 0xc8, 0x5a, 0xae, 0x90, 0xb5, 0x59, 0x21, 0xf0, 0x39, 0x47, 0xe0, 0x6b, 0x8e, 0xc0, 0xcf, + 0x1c, 0x81, 0x2c, 0x47, 0xe0, 0x4f, 0x8e, 0xc0, 0xdf, 0x1c, 0x59, 0x9b, 0x1c, 0x81, 0x2f, 0x6b, + 0x64, 0x65, 0x6b, 0x64, 0x2d, 0xd7, 0xc8, 0x7a, 0xd3, 0xd8, 0xfa, 0x2b, 0x4d, 0x44, 0xac, 0xc8, + 0x39, 0x67, 0x33, 0xbe, 0x5c, 0xc8, 0x3c, 0xfa, 0x17, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x15, 0x3b, + 0xb8, 0x5c, 0x02, 0x00, 0x00, +} + func (x TemplateVariety) String() string { s, ok := TemplateVariety_name[int32(x)] if ok { @@ -83,35 +127,3 @@ func (x TemplateVariety) String() string { } return strconv.Itoa(int(x)) } - -func init() { - proto.RegisterFile("mixer/adapter/model/v1beta1/extensions.proto", fileDescriptorExtensions) -} - -var fileDescriptorExtensions = []byte{ - // 382 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xc9, 0xcd, 0xac, 0x48, - 0x2d, 0xd2, 0x4f, 0x4c, 0x49, 0x2c, 0x28, 0x49, 0x2d, 0xd2, 0xcf, 0xcd, 0x4f, 0x49, 0xcd, 0xd1, - 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0xad, 0x28, 0x49, 0xcd, 0x2b, 0xce, 0xcc, - 0xcf, 0x2b, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0xcc, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, - 0x03, 0xeb, 0xd1, 0x83, 0xea, 0xd1, 0x03, 0xeb, 0xd1, 0x83, 0xea, 0x91, 0x52, 0x48, 0xcf, 0xcf, - 0x4f, 0xcf, 0x49, 0xd5, 0x07, 0x6b, 0x48, 0x2a, 0x4d, 0xd3, 0x4f, 0x49, 0x2d, 0x4e, 0x2e, 0xca, - 0x2c, 0x28, 0xc9, 0x2f, 0x82, 0x18, 0xa2, 0xb5, 0x83, 0x91, 0x8b, 0x3f, 0x24, 0x35, 0xb7, 0x20, - 0x27, 0xb1, 0x24, 0x35, 0x2c, 0xb1, 0x28, 0x33, 0xb5, 0xa4, 0x52, 0x48, 0x8a, 0x4b, 0x2c, 0xc4, - 0xd5, 0x37, 0xc0, 0xc7, 0x31, 0xc4, 0x35, 0x3e, 0xcc, 0x31, 0xc8, 0xd3, 0x35, 0x24, 0x32, 0xde, - 0xd9, 0xc3, 0xd5, 0xd9, 0x5b, 0x80, 0x41, 0x48, 0x9a, 0x4b, 0x1c, 0x43, 0x2e, 0xc8, 0x35, 0xc0, - 0x3f, 0x28, 0x44, 0x80, 0x11, 0xab, 0xc6, 0xc0, 0x50, 0xff, 0x10, 0x47, 0x01, 0x26, 0x21, 0x0d, - 0x2e, 0x15, 0x0c, 0x39, 0xc7, 0x90, 0x90, 0x20, 0x4f, 0xa7, 0xd0, 0x10, 0xd7, 0x78, 0x77, 0x57, - 0x3f, 0xd7, 0x20, 0xc7, 0x10, 0xff, 0x20, 0x01, 0x66, 0x21, 0x35, 0x2e, 0x25, 0xec, 0xd6, 0xc7, - 0x87, 0x7b, 0x86, 0x78, 0xc4, 0xfb, 0x87, 0x86, 0x04, 0x84, 0x86, 0x08, 0xb0, 0x58, 0xd5, 0x71, - 0x09, 0x94, 0x40, 0x5d, 0x1e, 0x5f, 0x06, 0x75, 0xba, 0x8c, 0x1e, 0xc4, 0xc7, 0x7a, 0x30, 0x1f, - 0xeb, 0xb9, 0x65, 0xe6, 0xa4, 0xfa, 0x17, 0x94, 0x80, 0xc2, 0x4d, 0x62, 0xfd, 0xa9, 0x3d, 0x4a, - 0x0a, 0x8c, 0x1a, 0x7c, 0x46, 0x46, 0x7a, 0x04, 0xc3, 0x4e, 0x0f, 0x2d, 0x54, 0x82, 0xf8, 0x4b, - 0x50, 0x05, 0xac, 0x5c, 0xb8, 0x78, 0xe1, 0xf6, 0xe7, 0x25, 0xe6, 0xa6, 0x12, 0xb0, 0xfc, 0xc2, - 0x69, 0xb0, 0xe5, 0x9c, 0x41, 0x3c, 0x30, 0x5d, 0x7e, 0x89, 0xb9, 0xa9, 0x4e, 0x61, 0x17, 0x1e, - 0xca, 0x31, 0xdc, 0x78, 0x28, 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, - 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, - 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0x21, 0x4a, 0x03, 0xe2, - 0xee, 0xcc, 0x7c, 0xfd, 0xc4, 0x82, 0x4c, 0x7d, 0x3c, 0xc9, 0x25, 0x89, 0x0d, 0xec, 0x08, 0x63, - 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x93, 0x1c, 0x86, 0x54, 0x02, 0x00, 0x00, -} diff --git a/mixer/adapter/model/v1beta1/info.pb.go b/mixer/adapter/model/v1beta1/info.pb.go index 86041840e6b..230fdaf47ba 100644 --- a/mixer/adapter/model/v1beta1/info.pb.go +++ b/mixer/adapter/model/v1beta1/info.pb.go @@ -3,20 +3,26 @@ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Info describes an adapter or a backend that wants to provide telemetry and policy functionality to Mixer as an // out of process adapter. type Info struct { @@ -30,7 +36,7 @@ type Info struct { // User-friendly description of the adapter. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // Names of the templates the adapter supports. - Templates []string `protobuf:"bytes,3,rep,name=templates" json:"templates,omitempty"` + Templates []string `protobuf:"bytes,3,rep,name=templates,proto3" json:"templates,omitempty"` // Base64 encoded proto descriptor of the adapter configuration. Config string `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` // True if backend has implemented the @@ -49,9 +55,37 @@ type Info struct { SessionBased bool `protobuf:"varint,5,opt,name=session_based,json=sessionBased,proto3" json:"session_based,omitempty"` } -func (m *Info) Reset() { *m = Info{} } -func (*Info) ProtoMessage() {} -func (*Info) Descriptor() ([]byte, []int) { return fileDescriptorInfo, []int{0} } +func (m *Info) Reset() { *m = Info{} } +func (*Info) ProtoMessage() {} +func (*Info) Descriptor() ([]byte, []int) { + return fileDescriptor_62b7a6e7e280c38a, []int{0} +} +func (m *Info) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Info) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Info.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Info) XXX_Merge(src proto.Message) { + xxx_messageInfo_Info.Merge(m, src) +} +func (m *Info) XXX_Size() int { + return m.Size() +} +func (m *Info) XXX_DiscardUnknown() { + xxx_messageInfo_Info.DiscardUnknown(m) +} + +var xxx_messageInfo_Info proto.InternalMessageInfo func (m *Info) GetName() string { if m != nil { @@ -91,6 +125,32 @@ func (m *Info) GetSessionBased() bool { func init() { proto.RegisterType((*Info)(nil), "istio.mixer.adapter.model.v1beta1.Info") } + +func init() { + proto.RegisterFile("mixer/adapter/model/v1beta1/info.proto", fileDescriptor_62b7a6e7e280c38a) +} + +var fileDescriptor_62b7a6e7e280c38a = []byte{ + // 267 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0x31, 0x4e, 0xec, 0x30, + 0x10, 0x86, 0x3d, 0x6f, 0xf3, 0x56, 0xc4, 0x40, 0xe3, 0x02, 0xa5, 0x40, 0xa3, 0x00, 0x12, 0x4a, + 0x15, 0x6b, 0xc5, 0x0d, 0xb6, 0xa3, 0x4d, 0x49, 0x01, 0x72, 0x36, 0x0e, 0xb2, 0xb4, 0xb1, 0xad, + 0xd8, 0x42, 0x94, 0x1c, 0x81, 0x8e, 0x2b, 0x70, 0x14, 0xca, 0x94, 0x5b, 0x12, 0xa7, 0xa1, 0xdc, + 0x23, 0x20, 0x4c, 0x24, 0xa8, 0xe8, 0x66, 0xbe, 0xf9, 0xa6, 0xf8, 0x7f, 0x7a, 0xd9, 0xa9, 0x47, + 0xd9, 0x73, 0xd1, 0x08, 0xeb, 0x65, 0xcf, 0x3b, 0xd3, 0xc8, 0x2d, 0x7f, 0x58, 0xd5, 0xd2, 0x8b, + 0x15, 0x57, 0xba, 0x35, 0xa5, 0xed, 0x8d, 0x37, 0xec, 0x4c, 0x39, 0xaf, 0x4c, 0x19, 0xed, 0x72, + 0xb6, 0xcb, 0x68, 0x97, 0xb3, 0x7d, 0xfe, 0x02, 0x34, 0xb9, 0xd6, 0xad, 0x61, 0x8c, 0x26, 0x5a, + 0x74, 0x32, 0x83, 0x1c, 0x8a, 0xb4, 0x8a, 0x33, 0xcb, 0xe9, 0x61, 0x23, 0xdd, 0xa6, 0x57, 0xd6, + 0x2b, 0xa3, 0xb3, 0x7f, 0xf1, 0xf4, 0x1b, 0xb1, 0x53, 0x9a, 0x7a, 0xd9, 0xd9, 0xad, 0xf0, 0xd2, + 0x65, 0x8b, 0x7c, 0x51, 0xa4, 0xd5, 0x0f, 0x60, 0x27, 0x74, 0xb9, 0x31, 0xba, 0x55, 0xf7, 0x59, + 0x12, 0x5f, 0xe7, 0x8d, 0x5d, 0xd0, 0x63, 0x27, 0x9d, 0x53, 0x46, 0xdf, 0xd5, 0xc2, 0xc9, 0x26, + 0xfb, 0x9f, 0x43, 0x71, 0x50, 0x1d, 0xcd, 0x70, 0xfd, 0xc5, 0xd6, 0xb7, 0xc3, 0x88, 0x64, 0x37, + 0x22, 0xd9, 0x8f, 0x08, 0x4f, 0x01, 0xe1, 0x35, 0x20, 0xbc, 0x05, 0x84, 0x21, 0x20, 0xbc, 0x07, + 0x84, 0x8f, 0x80, 0x64, 0x1f, 0x10, 0x9e, 0x27, 0x24, 0xc3, 0x84, 0x64, 0x37, 0x21, 0xb9, 0x29, + 0xbe, 0x23, 0x2b, 0xc3, 0x85, 0x55, 0xfc, 0x8f, 0x9e, 0xea, 0x65, 0xec, 0xe8, 0xea, 0x33, 0x00, + 0x00, 0xff, 0xff, 0xf6, 0x62, 0xa4, 0x9d, 0x4d, 0x01, 0x00, 0x00, +} + func (this *Info) Equal(that interface{}) bool { if that == nil { return this == nil @@ -225,6 +285,9 @@ func encodeVarintInfo(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Info) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -301,7 +364,7 @@ func (m *Info) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -329,7 +392,7 @@ func (m *Info) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -339,6 +402,9 @@ func (m *Info) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfo } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthInfo + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -358,7 +424,7 @@ func (m *Info) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -368,6 +434,9 @@ func (m *Info) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfo } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthInfo + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -387,7 +456,7 @@ func (m *Info) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -397,6 +466,9 @@ func (m *Info) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfo } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthInfo + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -416,7 +488,7 @@ func (m *Info) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -426,6 +498,9 @@ func (m *Info) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfo } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthInfo + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -445,7 +520,7 @@ func (m *Info) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -460,6 +535,9 @@ func (m *Info) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthInfo } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthInfo + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -526,10 +604,13 @@ func skipInfo(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthInfo } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthInfo + } return iNdEx, nil case 3: for { @@ -558,6 +639,9 @@ func skipInfo(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthInfo + } } return iNdEx, nil case 4: @@ -576,26 +660,3 @@ var ( ErrInvalidLengthInfo = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowInfo = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/adapter/model/v1beta1/info.proto", fileDescriptorInfo) } - -var fileDescriptorInfo = []byte{ - // 261 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0xb1, 0x4e, 0xc3, 0x30, - 0x10, 0x86, 0x73, 0x34, 0x54, 0xc4, 0xc0, 0xe2, 0x01, 0x65, 0x40, 0xa7, 0x00, 0x12, 0xca, 0x14, - 0xab, 0xe2, 0x0d, 0xba, 0xb1, 0x66, 0x60, 0x60, 0x41, 0x4e, 0xe3, 0x20, 0x4b, 0x8d, 0xcf, 0x8a, - 0x2d, 0xc4, 0xc8, 0x23, 0xb0, 0xf1, 0x0a, 0x3c, 0x0a, 0x63, 0x47, 0x46, 0x62, 0x16, 0xc6, 0x3e, - 0x02, 0xc2, 0x44, 0x82, 0xa9, 0xdb, 0xdd, 0x77, 0xdf, 0x0d, 0xff, 0xcf, 0x2e, 0x7b, 0xfd, 0xa8, - 0x06, 0x21, 0x5b, 0x69, 0xbd, 0x1a, 0x44, 0x4f, 0xad, 0x5a, 0x8b, 0x87, 0x45, 0xa3, 0xbc, 0x5c, - 0x08, 0x6d, 0x3a, 0xaa, 0xec, 0x40, 0x9e, 0xf8, 0x99, 0x76, 0x5e, 0x53, 0x15, 0xed, 0x6a, 0xb2, - 0xab, 0x68, 0x57, 0x93, 0x7d, 0xfe, 0x02, 0x2c, 0xbd, 0x36, 0x1d, 0x71, 0xce, 0x52, 0x23, 0x7b, - 0x95, 0x43, 0x01, 0x65, 0x56, 0xc7, 0x99, 0x17, 0xec, 0xb0, 0x55, 0x6e, 0x35, 0x68, 0xeb, 0x35, - 0x99, 0x7c, 0x2f, 0x9e, 0xfe, 0x23, 0x7e, 0xca, 0x32, 0xaf, 0x7a, 0xbb, 0x96, 0x5e, 0xb9, 0x7c, - 0x56, 0xcc, 0xca, 0xac, 0xfe, 0x03, 0xfc, 0x84, 0xcd, 0x57, 0x64, 0x3a, 0x7d, 0x9f, 0xa7, 0xf1, - 0x75, 0xda, 0xf8, 0x05, 0x3b, 0x76, 0xca, 0x39, 0x4d, 0xe6, 0xae, 0x91, 0x4e, 0xb5, 0xf9, 0x7e, - 0x01, 0xe5, 0x41, 0x7d, 0x34, 0xc1, 0xe5, 0x0f, 0x5b, 0xde, 0x6c, 0x46, 0x4c, 0xde, 0x47, 0x4c, - 0xb6, 0x23, 0xc2, 0x53, 0x40, 0x78, 0x0d, 0x08, 0x6f, 0x01, 0x61, 0x13, 0x10, 0x3e, 0x02, 0xc2, - 0x57, 0xc0, 0x64, 0x1b, 0x10, 0x9e, 0x3f, 0x31, 0xb9, 0x2d, 0x7f, 0xa3, 0x6a, 0x12, 0xd2, 0x6a, - 0xb1, 0xa3, 0x9f, 0x66, 0x1e, 0xbb, 0xb9, 0xfa, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xd2, 0xcb, 0x67, - 0x0a, 0x45, 0x01, 0x00, 0x00, -} diff --git a/mixer/adapter/model/v1beta1/infrastructure_backend.pb.go b/mixer/adapter/model/v1beta1/infrastructure_backend.pb.go index 1e0dadb8372..0cfdf0b5788 100644 --- a/mixer/adapter/model/v1beta1/infrastructure_backend.pb.go +++ b/mixer/adapter/model/v1beta1/infrastructure_backend.pb.go @@ -1,50 +1,84 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mixer/adapter/model/v1beta1/infrastructure_backend.proto -package v1beta1 - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf2 "github.com/gogo/protobuf/types" -import google_rpc "github.com/gogo/googleapis/google/rpc" +// This package defines the service and types used by adapter code to serve requests from Mixer. +// This package also defines the types that are used to create Mixer templates. -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import context "golang.org/x/net/context" -import grpc "google.golang.org/grpc" +package v1beta1 -import io "io" +import ( + context "context" + fmt "fmt" + rpc "github.com/gogo/googleapis/google/rpc" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + types "github.com/gogo/protobuf/types" + grpc "google.golang.org/grpc" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Request message for `CreateSession` method. type CreateSessionRequest struct { // Adapter specific configuration. - AdapterConfig *google_protobuf2.Any `protobuf:"bytes,1,opt,name=adapter_config,json=adapterConfig" json:"adapter_config,omitempty"` + AdapterConfig *types.Any `protobuf:"bytes,1,opt,name=adapter_config,json=adapterConfig,proto3" json:"adapter_config,omitempty"` // Map of instance names to their template-specific inferred type. - InferredTypes map[string]*google_protobuf2.Any `protobuf:"bytes,2,rep,name=inferred_types,json=inferredTypes" json:"inferred_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + InferredTypes map[string]*types.Any `protobuf:"bytes,2,rep,name=inferred_types,json=inferredTypes,proto3" json:"inferred_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (m *CreateSessionRequest) Reset() { *m = CreateSessionRequest{} } func (*CreateSessionRequest) ProtoMessage() {} func (*CreateSessionRequest) Descriptor() ([]byte, []int) { - return fileDescriptorInfrastructureBackend, []int{0} + return fileDescriptor_b62a0b3a6ebb4b55, []int{0} +} +func (m *CreateSessionRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *CreateSessionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CreateSessionRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CreateSessionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateSessionRequest.Merge(m, src) +} +func (m *CreateSessionRequest) XXX_Size() int { + return m.Size() +} +func (m *CreateSessionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateSessionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateSessionRequest proto.InternalMessageInfo -func (m *CreateSessionRequest) GetAdapterConfig() *google_protobuf2.Any { +func (m *CreateSessionRequest) GetAdapterConfig() *types.Any { if m != nil { return m.AdapterConfig } return nil } -func (m *CreateSessionRequest) GetInferredTypes() map[string]*google_protobuf2.Any { +func (m *CreateSessionRequest) GetInferredTypes() map[string]*types.Any { if m != nil { return m.InferredTypes } @@ -56,15 +90,41 @@ type CreateSessionResponse struct { // Id of the created session. SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` // The success/failure status of create session call. - Status *google_rpc.Status `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` + Status *rpc.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` } func (m *CreateSessionResponse) Reset() { *m = CreateSessionResponse{} } func (*CreateSessionResponse) ProtoMessage() {} func (*CreateSessionResponse) Descriptor() ([]byte, []int) { - return fileDescriptorInfrastructureBackend, []int{1} + return fileDescriptor_b62a0b3a6ebb4b55, []int{1} +} +func (m *CreateSessionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CreateSessionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CreateSessionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CreateSessionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateSessionResponse.Merge(m, src) +} +func (m *CreateSessionResponse) XXX_Size() int { + return m.Size() +} +func (m *CreateSessionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CreateSessionResponse.DiscardUnknown(m) } +var xxx_messageInfo_CreateSessionResponse proto.InternalMessageInfo + func (m *CreateSessionResponse) GetSessionId() string { if m != nil { return m.SessionId @@ -72,7 +132,7 @@ func (m *CreateSessionResponse) GetSessionId() string { return "" } -func (m *CreateSessionResponse) GetStatus() *google_rpc.Status { +func (m *CreateSessionResponse) GetStatus() *rpc.Status { if m != nil { return m.Status } @@ -82,25 +142,51 @@ func (m *CreateSessionResponse) GetStatus() *google_rpc.Status { // Request message for `Validate` method. type ValidateRequest struct { // Adapter specific configuration. - AdapterConfig *google_protobuf2.Any `protobuf:"bytes,1,opt,name=adapter_config,json=adapterConfig" json:"adapter_config,omitempty"` + AdapterConfig *types.Any `protobuf:"bytes,1,opt,name=adapter_config,json=adapterConfig,proto3" json:"adapter_config,omitempty"` // Map of instance names to their template-specific inferred type. - InferredTypes map[string]*google_protobuf2.Any `protobuf:"bytes,2,rep,name=inferred_types,json=inferredTypes" json:"inferred_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + InferredTypes map[string]*types.Any `protobuf:"bytes,2,rep,name=inferred_types,json=inferredTypes,proto3" json:"inferred_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (m *ValidateRequest) Reset() { *m = ValidateRequest{} } func (*ValidateRequest) ProtoMessage() {} func (*ValidateRequest) Descriptor() ([]byte, []int) { - return fileDescriptorInfrastructureBackend, []int{2} + return fileDescriptor_b62a0b3a6ebb4b55, []int{2} +} +func (m *ValidateRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ValidateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ValidateRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ValidateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ValidateRequest.Merge(m, src) +} +func (m *ValidateRequest) XXX_Size() int { + return m.Size() +} +func (m *ValidateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ValidateRequest.DiscardUnknown(m) } -func (m *ValidateRequest) GetAdapterConfig() *google_protobuf2.Any { +var xxx_messageInfo_ValidateRequest proto.InternalMessageInfo + +func (m *ValidateRequest) GetAdapterConfig() *types.Any { if m != nil { return m.AdapterConfig } return nil } -func (m *ValidateRequest) GetInferredTypes() map[string]*google_protobuf2.Any { +func (m *ValidateRequest) GetInferredTypes() map[string]*types.Any { if m != nil { return m.InferredTypes } @@ -110,16 +196,42 @@ func (m *ValidateRequest) GetInferredTypes() map[string]*google_protobuf2.Any { // Response message for `Validate` method. type ValidateResponse struct { // The success/failure status of validation call. - Status *google_rpc.Status `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"` + Status *rpc.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` } func (m *ValidateResponse) Reset() { *m = ValidateResponse{} } func (*ValidateResponse) ProtoMessage() {} func (*ValidateResponse) Descriptor() ([]byte, []int) { - return fileDescriptorInfrastructureBackend, []int{3} + return fileDescriptor_b62a0b3a6ebb4b55, []int{3} +} +func (m *ValidateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ValidateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ValidateResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } } +func (m *ValidateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ValidateResponse.Merge(m, src) +} +func (m *ValidateResponse) XXX_Size() int { + return m.Size() +} +func (m *ValidateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ValidateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ValidateResponse proto.InternalMessageInfo -func (m *ValidateResponse) GetStatus() *google_rpc.Status { +func (m *ValidateResponse) GetStatus() *rpc.Status { if m != nil { return m.Status } @@ -135,9 +247,35 @@ type CloseSessionRequest struct { func (m *CloseSessionRequest) Reset() { *m = CloseSessionRequest{} } func (*CloseSessionRequest) ProtoMessage() {} func (*CloseSessionRequest) Descriptor() ([]byte, []int) { - return fileDescriptorInfrastructureBackend, []int{4} + return fileDescriptor_b62a0b3a6ebb4b55, []int{4} +} +func (m *CloseSessionRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CloseSessionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CloseSessionRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CloseSessionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CloseSessionRequest.Merge(m, src) +} +func (m *CloseSessionRequest) XXX_Size() int { + return m.Size() +} +func (m *CloseSessionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CloseSessionRequest.DiscardUnknown(m) } +var xxx_messageInfo_CloseSessionRequest proto.InternalMessageInfo + func (m *CloseSessionRequest) GetSessionId() string { if m != nil { return m.SessionId @@ -148,16 +286,42 @@ func (m *CloseSessionRequest) GetSessionId() string { // Response message for `CloseSession` method. type CloseSessionResponse struct { // The success/failure status of close session call. - Status *google_rpc.Status `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"` + Status *rpc.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` } func (m *CloseSessionResponse) Reset() { *m = CloseSessionResponse{} } func (*CloseSessionResponse) ProtoMessage() {} func (*CloseSessionResponse) Descriptor() ([]byte, []int) { - return fileDescriptorInfrastructureBackend, []int{5} + return fileDescriptor_b62a0b3a6ebb4b55, []int{5} +} +func (m *CloseSessionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *CloseSessionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CloseSessionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CloseSessionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CloseSessionResponse.Merge(m, src) +} +func (m *CloseSessionResponse) XXX_Size() int { + return m.Size() +} +func (m *CloseSessionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CloseSessionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CloseSessionResponse proto.InternalMessageInfo -func (m *CloseSessionResponse) GetStatus() *google_rpc.Status { +func (m *CloseSessionResponse) GetStatus() *rpc.Status { if m != nil { return m.Status } @@ -166,12 +330,57 @@ func (m *CloseSessionResponse) GetStatus() *google_rpc.Status { func init() { proto.RegisterType((*CreateSessionRequest)(nil), "istio.mixer.adapter.model.v1beta1.CreateSessionRequest") + proto.RegisterMapType((map[string]*types.Any)(nil), "istio.mixer.adapter.model.v1beta1.CreateSessionRequest.InferredTypesEntry") proto.RegisterType((*CreateSessionResponse)(nil), "istio.mixer.adapter.model.v1beta1.CreateSessionResponse") proto.RegisterType((*ValidateRequest)(nil), "istio.mixer.adapter.model.v1beta1.ValidateRequest") + proto.RegisterMapType((map[string]*types.Any)(nil), "istio.mixer.adapter.model.v1beta1.ValidateRequest.InferredTypesEntry") proto.RegisterType((*ValidateResponse)(nil), "istio.mixer.adapter.model.v1beta1.ValidateResponse") proto.RegisterType((*CloseSessionRequest)(nil), "istio.mixer.adapter.model.v1beta1.CloseSessionRequest") proto.RegisterType((*CloseSessionResponse)(nil), "istio.mixer.adapter.model.v1beta1.CloseSessionResponse") } + +func init() { + proto.RegisterFile("mixer/adapter/model/v1beta1/infrastructure_backend.proto", fileDescriptor_b62a0b3a6ebb4b55) +} + +var fileDescriptor_b62a0b3a6ebb4b55 = []byte{ + // 530 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x54, 0x41, 0x6f, 0xd3, 0x4c, + 0x10, 0xf5, 0x26, 0xfa, 0xaa, 0xaf, 0x5b, 0x52, 0xaa, 0x25, 0x15, 0xc1, 0x12, 0xab, 0x92, 0x53, + 0xd4, 0xc3, 0x5a, 0x4d, 0x11, 0x8d, 0x40, 0x42, 0x22, 0x51, 0x0f, 0xe1, 0xe8, 0xa2, 0x1e, 0xb8, + 0x44, 0x6b, 0x7b, 0x13, 0xad, 0xea, 0x7a, 0xdd, 0xdd, 0x75, 0x85, 0x4f, 0x54, 0xfc, 0x02, 0x84, + 0x38, 0x73, 0xe6, 0xa7, 0x70, 0xcc, 0xb1, 0x47, 0xe2, 0x5c, 0x38, 0xf6, 0x27, 0xa0, 0xda, 0x1b, + 0xb5, 0x49, 0x21, 0xad, 0x11, 0x12, 0x37, 0x6b, 0x67, 0xde, 0xbc, 0x37, 0x6f, 0x66, 0x0c, 0x3b, + 0xc7, 0xfc, 0x1d, 0x93, 0x0e, 0x0d, 0x68, 0xac, 0x99, 0x74, 0x8e, 0x45, 0xc0, 0x42, 0xe7, 0x74, + 0xc7, 0x63, 0x9a, 0xee, 0x38, 0x3c, 0x1a, 0x4a, 0xaa, 0xb4, 0x4c, 0x7c, 0x9d, 0x48, 0x36, 0xf0, + 0xa8, 0x7f, 0xc4, 0xa2, 0x80, 0xc4, 0x52, 0x68, 0x81, 0x9e, 0x70, 0xa5, 0xb9, 0x20, 0x39, 0x9e, + 0x18, 0x3c, 0xc9, 0xf1, 0xc4, 0xe0, 0xed, 0x47, 0x23, 0x21, 0x46, 0x21, 0x73, 0x72, 0x80, 0x97, + 0x0c, 0x1d, 0x1a, 0xa5, 0x05, 0xda, 0x7e, 0x68, 0x42, 0x32, 0xf6, 0x1d, 0xa5, 0xa9, 0x4e, 0x54, + 0x11, 0x68, 0x7e, 0xa9, 0xc0, 0x7a, 0x4f, 0x32, 0xaa, 0xd9, 0x01, 0x53, 0x8a, 0x8b, 0xc8, 0x65, + 0x27, 0x09, 0x53, 0x1a, 0xbd, 0x80, 0xeb, 0x86, 0x65, 0xe0, 0x8b, 0x68, 0xc8, 0x47, 0x0d, 0xb0, + 0x05, 0x5a, 0x6b, 0xed, 0x3a, 0x29, 0x4a, 0x91, 0x19, 0x0b, 0x79, 0x15, 0xa5, 0x6e, 0xcd, 0xe4, + 0xf6, 0xf2, 0x54, 0x74, 0x02, 0xd7, 0x79, 0x34, 0x64, 0x52, 0xb2, 0x60, 0xa0, 0xd3, 0x98, 0xa9, + 0x46, 0x65, 0xab, 0xda, 0x5a, 0x6b, 0xbf, 0x26, 0xb7, 0x76, 0x41, 0x7e, 0xa5, 0x86, 0xf4, 0x4d, + 0xb5, 0x37, 0x97, 0xc5, 0xf6, 0x23, 0x2d, 0x53, 0xb7, 0xc6, 0xaf, 0xbf, 0xd9, 0x87, 0x10, 0xdd, + 0x4c, 0x42, 0x1b, 0xb0, 0x7a, 0xc4, 0xd2, 0x5c, 0xfa, 0xaa, 0x7b, 0xf9, 0x89, 0xb6, 0xe1, 0x7f, + 0xa7, 0x34, 0x4c, 0x58, 0xa3, 0xb2, 0xa4, 0x9d, 0x22, 0xe5, 0x79, 0xa5, 0x03, 0x9a, 0x1e, 0xdc, + 0x5c, 0x50, 0xa4, 0x62, 0x11, 0x29, 0x86, 0x1e, 0x43, 0xa8, 0x8a, 0xa7, 0x01, 0x0f, 0x0c, 0xc3, + 0xaa, 0x79, 0xe9, 0x07, 0x68, 0x1b, 0xae, 0x14, 0x46, 0x1b, 0x22, 0x34, 0x23, 0x92, 0xb1, 0x4f, + 0x0e, 0xf2, 0x88, 0x6b, 0x32, 0x9a, 0x9f, 0x2b, 0xf0, 0xfe, 0x21, 0x0d, 0x79, 0x40, 0x35, 0xfb, + 0x2b, 0xfe, 0x87, 0xbf, 0xf1, 0x7f, 0xff, 0x0e, 0xfe, 0x2f, 0x08, 0xf9, 0x87, 0xd6, 0xbf, 0x84, + 0x1b, 0x57, 0x62, 0x8c, 0xeb, 0x57, 0xb6, 0x82, 0x5b, 0x6d, 0x7d, 0x0a, 0x1f, 0xf4, 0x42, 0xa1, + 0x16, 0x37, 0x7b, 0xf9, 0xe0, 0x9a, 0x5d, 0x58, 0x9f, 0x47, 0x95, 0x67, 0x6e, 0x7f, 0xaa, 0xc2, + 0xcd, 0xfe, 0xdc, 0x35, 0x77, 0x8b, 0x63, 0x46, 0x0a, 0xfe, 0x3f, 0xeb, 0x09, 0xb5, 0xcb, 0x4f, + 0xc3, 0xde, 0x2d, 0x85, 0x31, 0xd2, 0x3f, 0x00, 0x58, 0x9b, 0x5b, 0x62, 0xb4, 0xf7, 0x87, 0x87, + 0x68, 0x77, 0xca, 0x03, 0x8d, 0x88, 0xf7, 0xf0, 0xde, 0x75, 0x5f, 0xd1, 0xb3, 0xbb, 0x54, 0xba, + 0x39, 0x3e, 0x7b, 0xaf, 0x34, 0xae, 0x10, 0xd0, 0xa5, 0xe3, 0x09, 0xb6, 0xce, 0x27, 0xd8, 0xba, + 0x98, 0x60, 0x70, 0x96, 0x61, 0xf0, 0x35, 0xc3, 0xe0, 0x5b, 0x86, 0xc1, 0x38, 0xc3, 0xe0, 0x7b, + 0x86, 0xc1, 0x8f, 0x0c, 0x5b, 0x17, 0x19, 0x06, 0x1f, 0xa7, 0xd8, 0x1a, 0x4f, 0xb1, 0x75, 0x3e, + 0xc5, 0xd6, 0xdb, 0x56, 0xc1, 0xc6, 0x85, 0x43, 0x63, 0xee, 0x2c, 0xf9, 0x7d, 0x9f, 0x01, 0xe0, + 0xad, 0xe4, 0xab, 0xbc, 0xfb, 0x33, 0x00, 0x00, 0xff, 0xff, 0x35, 0xb4, 0xbe, 0x68, 0xe7, 0x05, + 0x00, 0x00, +} + func (this *CreateSessionRequest) Equal(that interface{}) bool { if that == nil { return this == nil @@ -348,8 +557,8 @@ func (this *CreateSessionRequest) GoString() string { for k, _ := range this.InferredTypes { keysForInferredTypes = append(keysForInferredTypes, k) } - sortkeys.Strings(keysForInferredTypes) - mapStringForInferredTypes := "map[string]*google_protobuf2.Any{" + github_com_gogo_protobuf_sortkeys.Strings(keysForInferredTypes) + mapStringForInferredTypes := "map[string]*types.Any{" for _, k := range keysForInferredTypes { mapStringForInferredTypes += fmt.Sprintf("%#v: %#v,", k, this.InferredTypes[k]) } @@ -386,8 +595,8 @@ func (this *ValidateRequest) GoString() string { for k, _ := range this.InferredTypes { keysForInferredTypes = append(keysForInferredTypes, k) } - sortkeys.Strings(keysForInferredTypes) - mapStringForInferredTypes := "map[string]*google_protobuf2.Any{" + github_com_gogo_protobuf_sortkeys.Strings(keysForInferredTypes) + mapStringForInferredTypes := "map[string]*types.Any{" for _, k := range keysForInferredTypes { mapStringForInferredTypes += fmt.Sprintf("%#v: %#v,", k, this.InferredTypes[k]) } @@ -449,8 +658,9 @@ var _ grpc.ClientConn // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion4 -// Client API for InfrastructureBackend service - +// InfrastructureBackendClient is the client API for InfrastructureBackend service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type InfrastructureBackendClient interface { // Validates the handler configuration along with the template-specific instances that would be routed to that // handler. The `CreateSession` for a specific handler configuration is invoked only if its associated `Validate` @@ -492,7 +702,7 @@ func NewInfrastructureBackendClient(cc *grpc.ClientConn) InfrastructureBackendCl func (c *infrastructureBackendClient) Validate(ctx context.Context, in *ValidateRequest, opts ...grpc.CallOption) (*ValidateResponse, error) { out := new(ValidateResponse) - err := grpc.Invoke(ctx, "/istio.mixer.adapter.model.v1beta1.InfrastructureBackend/Validate", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/istio.mixer.adapter.model.v1beta1.InfrastructureBackend/Validate", in, out, opts...) if err != nil { return nil, err } @@ -501,7 +711,7 @@ func (c *infrastructureBackendClient) Validate(ctx context.Context, in *Validate func (c *infrastructureBackendClient) CreateSession(ctx context.Context, in *CreateSessionRequest, opts ...grpc.CallOption) (*CreateSessionResponse, error) { out := new(CreateSessionResponse) - err := grpc.Invoke(ctx, "/istio.mixer.adapter.model.v1beta1.InfrastructureBackend/CreateSession", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/istio.mixer.adapter.model.v1beta1.InfrastructureBackend/CreateSession", in, out, opts...) if err != nil { return nil, err } @@ -510,15 +720,14 @@ func (c *infrastructureBackendClient) CreateSession(ctx context.Context, in *Cre func (c *infrastructureBackendClient) CloseSession(ctx context.Context, in *CloseSessionRequest, opts ...grpc.CallOption) (*CloseSessionResponse, error) { out := new(CloseSessionResponse) - err := grpc.Invoke(ctx, "/istio.mixer.adapter.model.v1beta1.InfrastructureBackend/CloseSession", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/istio.mixer.adapter.model.v1beta1.InfrastructureBackend/CloseSession", in, out, opts...) if err != nil { return nil, err } return out, nil } -// Server API for InfrastructureBackend service - +// InfrastructureBackendServer is the server API for InfrastructureBackend service. type InfrastructureBackendServer interface { // Validates the handler configuration along with the template-specific instances that would be routed to that // handler. The `CreateSession` for a specific handler configuration is invoked only if its associated `Validate` @@ -865,6 +1074,9 @@ func encodeVarintInfrastructureBackend(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *CreateSessionRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.AdapterConfig != nil { @@ -888,6 +1100,9 @@ func (m *CreateSessionRequest) Size() (n int) { } func (m *CreateSessionResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.SessionId) @@ -902,6 +1117,9 @@ func (m *CreateSessionResponse) Size() (n int) { } func (m *ValidateRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.AdapterConfig != nil { @@ -925,6 +1143,9 @@ func (m *ValidateRequest) Size() (n int) { } func (m *ValidateResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Status != nil { @@ -935,6 +1156,9 @@ func (m *ValidateResponse) Size() (n int) { } func (m *CloseSessionRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.SessionId) @@ -945,6 +1169,9 @@ func (m *CloseSessionRequest) Size() (n int) { } func (m *CloseSessionResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Status != nil { @@ -975,14 +1202,14 @@ func (this *CreateSessionRequest) String() string { for k, _ := range this.InferredTypes { keysForInferredTypes = append(keysForInferredTypes, k) } - sortkeys.Strings(keysForInferredTypes) - mapStringForInferredTypes := "map[string]*google_protobuf2.Any{" + github_com_gogo_protobuf_sortkeys.Strings(keysForInferredTypes) + mapStringForInferredTypes := "map[string]*types.Any{" for _, k := range keysForInferredTypes { mapStringForInferredTypes += fmt.Sprintf("%v: %v,", k, this.InferredTypes[k]) } mapStringForInferredTypes += "}" s := strings.Join([]string{`&CreateSessionRequest{`, - `AdapterConfig:` + strings.Replace(fmt.Sprintf("%v", this.AdapterConfig), "Any", "google_protobuf2.Any", 1) + `,`, + `AdapterConfig:` + strings.Replace(fmt.Sprintf("%v", this.AdapterConfig), "Any", "types.Any", 1) + `,`, `InferredTypes:` + mapStringForInferredTypes + `,`, `}`, }, "") @@ -994,7 +1221,7 @@ func (this *CreateSessionResponse) String() string { } s := strings.Join([]string{`&CreateSessionResponse{`, `SessionId:` + fmt.Sprintf("%v", this.SessionId) + `,`, - `Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "Status", "google_rpc.Status", 1) + `,`, + `Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "Status", "rpc.Status", 1) + `,`, `}`, }, "") return s @@ -1007,14 +1234,14 @@ func (this *ValidateRequest) String() string { for k, _ := range this.InferredTypes { keysForInferredTypes = append(keysForInferredTypes, k) } - sortkeys.Strings(keysForInferredTypes) - mapStringForInferredTypes := "map[string]*google_protobuf2.Any{" + github_com_gogo_protobuf_sortkeys.Strings(keysForInferredTypes) + mapStringForInferredTypes := "map[string]*types.Any{" for _, k := range keysForInferredTypes { mapStringForInferredTypes += fmt.Sprintf("%v: %v,", k, this.InferredTypes[k]) } mapStringForInferredTypes += "}" s := strings.Join([]string{`&ValidateRequest{`, - `AdapterConfig:` + strings.Replace(fmt.Sprintf("%v", this.AdapterConfig), "Any", "google_protobuf2.Any", 1) + `,`, + `AdapterConfig:` + strings.Replace(fmt.Sprintf("%v", this.AdapterConfig), "Any", "types.Any", 1) + `,`, `InferredTypes:` + mapStringForInferredTypes + `,`, `}`, }, "") @@ -1025,7 +1252,7 @@ func (this *ValidateResponse) String() string { return "nil" } s := strings.Join([]string{`&ValidateResponse{`, - `Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "Status", "google_rpc.Status", 1) + `,`, + `Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "Status", "rpc.Status", 1) + `,`, `}`, }, "") return s @@ -1045,7 +1272,7 @@ func (this *CloseSessionResponse) String() string { return "nil" } s := strings.Join([]string{`&CloseSessionResponse{`, - `Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "Status", "google_rpc.Status", 1) + `,`, + `Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "Status", "rpc.Status", 1) + `,`, `}`, }, "") return s @@ -1073,7 +1300,7 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1101,7 +1328,7 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1110,11 +1337,14 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } if m.AdapterConfig == nil { - m.AdapterConfig = &google_protobuf2.Any{} + m.AdapterConfig = &types.Any{} } if err := m.AdapterConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1134,7 +1364,7 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1143,14 +1373,17 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } if m.InferredTypes == nil { - m.InferredTypes = make(map[string]*google_protobuf2.Any) + m.InferredTypes = make(map[string]*types.Any) } var mapkey string - var mapvalue *google_protobuf2.Any + var mapvalue *types.Any for iNdEx < postIndex { entryPreIndex := iNdEx var wire uint64 @@ -1163,7 +1396,7 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1180,7 +1413,7 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1190,6 +1423,9 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1206,7 +1442,7 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1215,13 +1451,13 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthInfrastructureBackend } if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue = &google_protobuf2.Any{} + mapvalue = &types.Any{} if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { return err } @@ -1252,6 +1488,9 @@ func (m *CreateSessionRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthInfrastructureBackend } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthInfrastructureBackend + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1279,7 +1518,7 @@ func (m *CreateSessionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1307,7 +1546,7 @@ func (m *CreateSessionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1317,6 +1556,9 @@ func (m *CreateSessionResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1336,7 +1578,7 @@ func (m *CreateSessionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1345,11 +1587,14 @@ func (m *CreateSessionResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Status == nil { - m.Status = &google_rpc.Status{} + m.Status = &rpc.Status{} } if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1364,6 +1609,9 @@ func (m *CreateSessionResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthInfrastructureBackend } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthInfrastructureBackend + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1391,7 +1639,7 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1419,7 +1667,7 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1428,11 +1676,14 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } if m.AdapterConfig == nil { - m.AdapterConfig = &google_protobuf2.Any{} + m.AdapterConfig = &types.Any{} } if err := m.AdapterConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1452,7 +1703,7 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1461,14 +1712,17 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } if m.InferredTypes == nil { - m.InferredTypes = make(map[string]*google_protobuf2.Any) + m.InferredTypes = make(map[string]*types.Any) } var mapkey string - var mapvalue *google_protobuf2.Any + var mapvalue *types.Any for iNdEx < postIndex { entryPreIndex := iNdEx var wire uint64 @@ -1481,7 +1735,7 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1498,7 +1752,7 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1508,6 +1762,9 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1524,7 +1781,7 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1533,13 +1790,13 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthInfrastructureBackend } if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue = &google_protobuf2.Any{} + mapvalue = &types.Any{} if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { return err } @@ -1570,6 +1827,9 @@ func (m *ValidateRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthInfrastructureBackend } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthInfrastructureBackend + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1597,7 +1857,7 @@ func (m *ValidateResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1625,7 +1885,7 @@ func (m *ValidateResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1634,11 +1894,14 @@ func (m *ValidateResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Status == nil { - m.Status = &google_rpc.Status{} + m.Status = &rpc.Status{} } if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1653,6 +1916,9 @@ func (m *ValidateResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthInfrastructureBackend } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthInfrastructureBackend + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1680,7 +1946,7 @@ func (m *CloseSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1708,7 +1974,7 @@ func (m *CloseSessionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1718,6 +1984,9 @@ func (m *CloseSessionRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1732,6 +2001,9 @@ func (m *CloseSessionRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthInfrastructureBackend } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthInfrastructureBackend + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1759,7 +2031,7 @@ func (m *CloseSessionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1787,7 +2059,7 @@ func (m *CloseSessionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1796,11 +2068,14 @@ func (m *CloseSessionResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthInfrastructureBackend } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthInfrastructureBackend + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Status == nil { - m.Status = &google_rpc.Status{} + m.Status = &rpc.Status{} } if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1815,6 +2090,9 @@ func (m *CloseSessionResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthInfrastructureBackend } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthInfrastructureBackend + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1881,10 +2159,13 @@ func skipInfrastructureBackend(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthInfrastructureBackend } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthInfrastructureBackend + } return iNdEx, nil case 3: for { @@ -1913,6 +2194,9 @@ func skipInfrastructureBackend(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthInfrastructureBackend + } } return iNdEx, nil case 4: @@ -1931,44 +2215,3 @@ var ( ErrInvalidLengthInfrastructureBackend = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowInfrastructureBackend = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("mixer/adapter/model/v1beta1/infrastructure_backend.proto", fileDescriptorInfrastructureBackend) -} - -var fileDescriptorInfrastructureBackend = []byte{ - // 523 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x54, 0x41, 0x6b, 0x13, 0x41, - 0x14, 0xce, 0x24, 0x58, 0xec, 0xd4, 0xd4, 0x32, 0xa6, 0x18, 0x17, 0x1c, 0x6a, 0x4e, 0xa1, 0x87, - 0x59, 0x9a, 0x8a, 0x0d, 0x0a, 0x82, 0x09, 0x3d, 0xc4, 0x63, 0x2a, 0x05, 0xbd, 0x84, 0xc9, 0xee, - 0x4b, 0x18, 0xba, 0xdd, 0xd9, 0xce, 0xcc, 0x16, 0xf7, 0x64, 0xf1, 0x17, 0x88, 0x78, 0xf6, 0xec, - 0x4f, 0xf1, 0xd8, 0xa3, 0x47, 0xb3, 0x5e, 0x3c, 0xf6, 0x27, 0x48, 0x77, 0x27, 0xb4, 0x49, 0x35, - 0xed, 0x8a, 0xe0, 0x6d, 0x99, 0xf7, 0xbe, 0xf7, 0x7d, 0xef, 0x7b, 0xef, 0x2d, 0x6e, 0x1f, 0x8a, - 0xb7, 0xa0, 0x5c, 0xee, 0xf3, 0xc8, 0x80, 0x72, 0x0f, 0xa5, 0x0f, 0x81, 0x7b, 0xbc, 0x35, 0x04, - 0xc3, 0xb7, 0x5c, 0x11, 0x8e, 0x14, 0xd7, 0x46, 0xc5, 0x9e, 0x89, 0x15, 0x0c, 0x86, 0xdc, 0x3b, - 0x80, 0xd0, 0x67, 0x91, 0x92, 0x46, 0x92, 0x47, 0x42, 0x1b, 0x21, 0x59, 0x86, 0x67, 0x16, 0xcf, - 0x32, 0x3c, 0xb3, 0x78, 0xe7, 0xc1, 0x58, 0xca, 0x71, 0x00, 0x6e, 0x06, 0x18, 0xc6, 0x23, 0x97, - 0x87, 0x49, 0x8e, 0x76, 0xee, 0xdb, 0x90, 0x8a, 0x3c, 0x57, 0x1b, 0x6e, 0x62, 0x9d, 0x07, 0x1a, - 0x9f, 0xcb, 0xb8, 0xd6, 0x55, 0xc0, 0x0d, 0xec, 0x81, 0xd6, 0x42, 0x86, 0x7d, 0x38, 0x8a, 0x41, - 0x1b, 0xf2, 0x0c, 0xaf, 0x5a, 0x96, 0x81, 0x27, 0xc3, 0x91, 0x18, 0xd7, 0xd1, 0x06, 0x6a, 0xae, - 0xb4, 0x6a, 0x2c, 0x2f, 0xc5, 0xa6, 0x2c, 0xec, 0x45, 0x98, 0xf4, 0xab, 0x36, 0xb7, 0x9b, 0xa5, - 0x92, 0x23, 0xbc, 0x2a, 0xc2, 0x11, 0x28, 0x05, 0xfe, 0xc0, 0x24, 0x11, 0xe8, 0x7a, 0x79, 0xa3, - 0xd2, 0x5c, 0x69, 0xbd, 0x64, 0xd7, 0x76, 0xc1, 0x7e, 0xa7, 0x86, 0xf5, 0x6c, 0xb5, 0x57, 0xe7, - 0xc5, 0x76, 0x43, 0xa3, 0x92, 0x7e, 0x55, 0x5c, 0x7e, 0x73, 0xf6, 0x31, 0xb9, 0x9a, 0x44, 0xd6, - 0x70, 0xe5, 0x00, 0x92, 0x4c, 0xfa, 0x72, 0xff, 0xfc, 0x93, 0x6c, 0xe2, 0x5b, 0xc7, 0x3c, 0x88, - 0xa1, 0x5e, 0x5e, 0xd0, 0x4e, 0x9e, 0xf2, 0xb4, 0xdc, 0x46, 0x8d, 0x21, 0x5e, 0x9f, 0x53, 0xa4, - 0x23, 0x19, 0x6a, 0x20, 0x0f, 0x31, 0xd6, 0xf9, 0xd3, 0x40, 0xf8, 0x96, 0x61, 0xd9, 0xbe, 0xf4, - 0x7c, 0xb2, 0x89, 0x97, 0x72, 0xa3, 0x2d, 0x11, 0x99, 0x12, 0xa9, 0xc8, 0x63, 0x7b, 0x59, 0xa4, - 0x6f, 0x33, 0x1a, 0x9f, 0xca, 0xf8, 0xee, 0x3e, 0x0f, 0x84, 0xcf, 0x0d, 0xfc, 0x13, 0xff, 0x83, - 0x3f, 0xf8, 0xbf, 0x7b, 0x03, 0xff, 0xe7, 0x84, 0xfc, 0x47, 0xeb, 0x9f, 0xe3, 0xb5, 0x0b, 0x31, - 0xd6, 0xf5, 0x0b, 0x5b, 0xd1, 0xb5, 0xb6, 0x3e, 0xc6, 0xf7, 0xba, 0x81, 0xd4, 0xf3, 0x9b, 0xbd, - 0x78, 0x70, 0x8d, 0x0e, 0xae, 0xcd, 0xa2, 0x8a, 0x33, 0xb7, 0x3e, 0x56, 0xf0, 0x7a, 0x6f, 0xe6, - 0x9a, 0x3b, 0xf9, 0x31, 0x13, 0x8d, 0x6f, 0x4f, 0x7b, 0x22, 0xad, 0xe2, 0xd3, 0x70, 0xb6, 0x0b, - 0x61, 0xac, 0xf4, 0xf7, 0x08, 0x57, 0x67, 0x96, 0x98, 0xec, 0xfc, 0xe5, 0x21, 0x3a, 0xed, 0xe2, - 0x40, 0x2b, 0xe2, 0x1d, 0xbe, 0x73, 0xd9, 0x57, 0xf2, 0xe4, 0x26, 0x95, 0xae, 0x8e, 0xcf, 0xd9, - 0x29, 0x8c, 0xcb, 0x05, 0x74, 0x5e, 0x9f, 0x4e, 0x68, 0xe9, 0xdb, 0x84, 0x96, 0xce, 0x26, 0x14, - 0x9d, 0xa4, 0x14, 0x7d, 0x49, 0x29, 0xfa, 0x9a, 0x52, 0x74, 0x9a, 0x52, 0xf4, 0x3d, 0xa5, 0xe8, - 0x67, 0x4a, 0x4b, 0x67, 0x29, 0x45, 0x1f, 0x7e, 0xd0, 0xd2, 0x9b, 0x66, 0xce, 0x22, 0xa4, 0xcb, - 0x23, 0xe1, 0x2e, 0xf8, 0x6d, 0x9f, 0x20, 0x34, 0x5c, 0xca, 0x56, 0x78, 0xfb, 0x57, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x07, 0x94, 0xef, 0x33, 0xdf, 0x05, 0x00, 0x00, -} diff --git a/mixer/adapter/model/v1beta1/quota.pb.go b/mixer/adapter/model/v1beta1/quota.pb.go index 49eee5aa0bf..b9e9d848395 100644 --- a/mixer/adapter/model/v1beta1/quota.pb.go +++ b/mixer/adapter/model/v1beta1/quota.pb.go @@ -3,21 +3,19 @@ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" - -import time "time" - -import types "github.com/gogo/protobuf/types" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + _ "github.com/gogo/protobuf/types" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + io "io" + math "math" + reflect "reflect" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -25,15 +23,49 @@ var _ = fmt.Errorf var _ = math.Inf var _ = time.Kitchen +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Expresses the quota allocation request. type QuotaRequest struct { // The individual quotas to allocate - Quotas map[string]QuotaRequest_QuotaParams `protobuf:"bytes,1,rep,name=quotas" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Quotas map[string]QuotaRequest_QuotaParams `protobuf:"bytes,1,rep,name=quotas,proto3" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *QuotaRequest) Reset() { *m = QuotaRequest{} } -func (*QuotaRequest) ProtoMessage() {} -func (*QuotaRequest) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{0} } +func (m *QuotaRequest) Reset() { *m = QuotaRequest{} } +func (*QuotaRequest) ProtoMessage() {} +func (*QuotaRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f07acf62b4429357, []int{0} +} +func (m *QuotaRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuotaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuotaRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QuotaRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaRequest.Merge(m, src) +} +func (m *QuotaRequest) XXX_Size() int { + return m.Size() +} +func (m *QuotaRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaRequest proto.InternalMessageInfo // parameters for a quota allocation type QuotaRequest_QuotaParams struct { @@ -43,39 +75,163 @@ type QuotaRequest_QuotaParams struct { BestEffort bool `protobuf:"varint,2,opt,name=best_effort,json=bestEffort,proto3" json:"best_effort,omitempty"` } -func (m *QuotaRequest_QuotaParams) Reset() { *m = QuotaRequest_QuotaParams{} } -func (*QuotaRequest_QuotaParams) ProtoMessage() {} -func (*QuotaRequest_QuotaParams) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{0, 0} } +func (m *QuotaRequest_QuotaParams) Reset() { *m = QuotaRequest_QuotaParams{} } +func (*QuotaRequest_QuotaParams) ProtoMessage() {} +func (*QuotaRequest_QuotaParams) Descriptor() ([]byte, []int) { + return fileDescriptor_f07acf62b4429357, []int{0, 0} +} +func (m *QuotaRequest_QuotaParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuotaRequest_QuotaParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuotaRequest_QuotaParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QuotaRequest_QuotaParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaRequest_QuotaParams.Merge(m, src) +} +func (m *QuotaRequest_QuotaParams) XXX_Size() int { + return m.Size() +} +func (m *QuotaRequest_QuotaParams) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaRequest_QuotaParams.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaRequest_QuotaParams proto.InternalMessageInfo // Expresses the result of multiple quota allocations. type QuotaResult struct { // The resulting quota, one entry per requested quota. - Quotas map[string]QuotaResult_Result `protobuf:"bytes,1,rep,name=quotas" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Quotas map[string]QuotaResult_Result `protobuf:"bytes,1,rep,name=quotas,proto3" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *QuotaResult) Reset() { *m = QuotaResult{} } -func (*QuotaResult) ProtoMessage() {} -func (*QuotaResult) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{1} } +func (m *QuotaResult) Reset() { *m = QuotaResult{} } +func (*QuotaResult) ProtoMessage() {} +func (*QuotaResult) Descriptor() ([]byte, []int) { + return fileDescriptor_f07acf62b4429357, []int{1} +} +func (m *QuotaResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuotaResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuotaResult.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QuotaResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaResult.Merge(m, src) +} +func (m *QuotaResult) XXX_Size() int { + return m.Size() +} +func (m *QuotaResult) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaResult.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaResult proto.InternalMessageInfo // Expresses the result of a quota allocation. type QuotaResult_Result struct { // The amount of time for which this result can be considered valid. - ValidDuration time.Duration `protobuf:"bytes,2,opt,name=valid_duration,json=validDuration,stdduration" json:"valid_duration"` + ValidDuration time.Duration `protobuf:"bytes,2,opt,name=valid_duration,json=validDuration,proto3,stdduration" json:"valid_duration"` // The amount of granted quota. When `QuotaParams.best_effort` is true, this will be >= 0. // If `QuotaParams.best_effort` is false, this will be either 0 or >= `QuotaParams.amount`. GrantedAmount int64 `protobuf:"varint,3,opt,name=granted_amount,json=grantedAmount,proto3" json:"granted_amount,omitempty"` } -func (m *QuotaResult_Result) Reset() { *m = QuotaResult_Result{} } -func (*QuotaResult_Result) ProtoMessage() {} -func (*QuotaResult_Result) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{1, 0} } +func (m *QuotaResult_Result) Reset() { *m = QuotaResult_Result{} } +func (*QuotaResult_Result) ProtoMessage() {} +func (*QuotaResult_Result) Descriptor() ([]byte, []int) { + return fileDescriptor_f07acf62b4429357, []int{1, 0} +} +func (m *QuotaResult_Result) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuotaResult_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuotaResult_Result.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QuotaResult_Result) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaResult_Result.Merge(m, src) +} +func (m *QuotaResult_Result) XXX_Size() int { + return m.Size() +} +func (m *QuotaResult_Result) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaResult_Result.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaResult_Result proto.InternalMessageInfo func init() { proto.RegisterType((*QuotaRequest)(nil), "istio.mixer.adapter.model.v1beta1.QuotaRequest") + proto.RegisterMapType((map[string]QuotaRequest_QuotaParams)(nil), "istio.mixer.adapter.model.v1beta1.QuotaRequest.QuotasEntry") proto.RegisterType((*QuotaRequest_QuotaParams)(nil), "istio.mixer.adapter.model.v1beta1.QuotaRequest.QuotaParams") proto.RegisterType((*QuotaResult)(nil), "istio.mixer.adapter.model.v1beta1.QuotaResult") + proto.RegisterMapType((map[string]QuotaResult_Result)(nil), "istio.mixer.adapter.model.v1beta1.QuotaResult.QuotasEntry") proto.RegisterType((*QuotaResult_Result)(nil), "istio.mixer.adapter.model.v1beta1.QuotaResult.Result") } + +func init() { + proto.RegisterFile("mixer/adapter/model/v1beta1/quota.proto", fileDescriptor_f07acf62b4429357) +} + +var fileDescriptor_f07acf62b4429357 = []byte{ + // 451 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0x3d, 0x8f, 0xd3, 0x30, + 0x18, 0xb6, 0x5b, 0xa8, 0x0e, 0x97, 0x3b, 0x21, 0x0b, 0xa1, 0x92, 0xc1, 0x2d, 0x27, 0x21, 0x3a, + 0xd9, 0x3a, 0x10, 0x12, 0x3a, 0x26, 0x2a, 0x8e, 0x01, 0x16, 0xce, 0x13, 0xb0, 0x54, 0x8e, 0xe2, + 0x46, 0x11, 0x49, 0x9c, 0x73, 0x9c, 0x88, 0x13, 0x0b, 0x3f, 0x81, 0x91, 0x9f, 0x00, 0xff, 0xa4, + 0x63, 0x27, 0x74, 0x13, 0x90, 0x74, 0x61, 0xbc, 0x9f, 0x80, 0x62, 0xbb, 0xd2, 0xc1, 0x70, 0x05, + 0xa6, 0xbc, 0x1f, 0xcf, 0xfb, 0x3c, 0x79, 0x9f, 0x57, 0x46, 0xf7, 0xb2, 0xe4, 0x9d, 0xd4, 0x4c, + 0x44, 0xa2, 0x30, 0x52, 0xb3, 0x4c, 0x45, 0x32, 0x65, 0xf5, 0x41, 0x28, 0x8d, 0x38, 0x60, 0x27, + 0x95, 0x32, 0x82, 0x16, 0x5a, 0x19, 0x85, 0xef, 0x24, 0xa5, 0x49, 0x14, 0xb5, 0x70, 0xea, 0xe1, + 0xd4, 0xc2, 0xa9, 0x87, 0x07, 0x37, 0x63, 0x15, 0x2b, 0x8b, 0x66, 0x5d, 0xe4, 0x06, 0x03, 0x12, + 0x2b, 0x15, 0xa7, 0x92, 0xd9, 0x2c, 0xac, 0x16, 0x2c, 0xaa, 0xb4, 0x30, 0x89, 0xca, 0x5d, 0x7f, + 0xff, 0x4b, 0x0f, 0x5d, 0x3f, 0xee, 0x84, 0xb8, 0x3c, 0xa9, 0x64, 0x69, 0xf0, 0x6b, 0x34, 0xb0, + 0xc2, 0xe5, 0x08, 0x4e, 0xfa, 0xd3, 0xe1, 0xfd, 0xc7, 0x74, 0xab, 0x34, 0xbd, 0x48, 0xe0, 0x92, + 0xf2, 0x28, 0x37, 0xfa, 0x74, 0x76, 0x65, 0xf9, 0x6d, 0x0c, 0xb8, 0x27, 0x0c, 0x9e, 0xa1, 0xa1, + 0x6d, 0xbe, 0x14, 0x5a, 0x64, 0x25, 0xbe, 0x85, 0x06, 0x22, 0x53, 0x55, 0x6e, 0x46, 0x70, 0x02, + 0xa7, 0x7d, 0xee, 0x33, 0x3c, 0x46, 0xc3, 0x50, 0x96, 0x66, 0x2e, 0x17, 0x0b, 0xa5, 0xcd, 0xa8, + 0x37, 0x81, 0xd3, 0x1d, 0x8e, 0xba, 0xd2, 0x91, 0xad, 0x04, 0xb5, 0xe7, 0x71, 0x22, 0xf8, 0x06, + 0xea, 0xbf, 0x95, 0xa7, 0x96, 0xe4, 0x1a, 0xef, 0x42, 0x7c, 0x8c, 0xae, 0xd6, 0x22, 0xad, 0xa4, + 0x9d, 0xfd, 0xdf, 0x15, 0xdc, 0x5f, 0x72, 0xc7, 0x74, 0xd8, 0x7b, 0x04, 0xf7, 0xbf, 0xf6, 0xbc, + 0x30, 0x97, 0x65, 0x95, 0x1a, 0xfc, 0xea, 0x0f, 0xab, 0x0e, 0xff, 0x5e, 0xa7, 0x9b, 0xbf, 0xc4, + 0xa9, 0xf7, 0x68, 0xe0, 0x35, 0x9e, 0xa3, 0xbd, 0x5a, 0xa4, 0x49, 0x34, 0xdf, 0xdc, 0xcd, 0xef, + 0x74, 0x9b, 0xba, 0xc3, 0xd2, 0xcd, 0x61, 0xe9, 0x53, 0x0f, 0x98, 0xed, 0x74, 0x54, 0x9f, 0xbe, + 0x8f, 0x21, 0xdf, 0xb5, 0xa3, 0x9b, 0x06, 0xbe, 0x8b, 0xf6, 0x62, 0x2d, 0x72, 0x23, 0xa3, 0xb9, + 0x37, 0xbe, 0x6f, 0x8d, 0xdf, 0xf5, 0xd5, 0x27, 0xb6, 0x18, 0x14, 0xdb, 0xec, 0x7d, 0xf1, 0xbb, + 0xbd, 0x0f, 0xff, 0x71, 0x6d, 0xf7, 0xb9, 0x60, 0xec, 0x2c, 0x5c, 0x36, 0x04, 0xac, 0x1a, 0x02, + 0xce, 0x1a, 0x02, 0xce, 0x1b, 0x02, 0x3e, 0xb4, 0x04, 0x7e, 0x6e, 0x09, 0x58, 0xb6, 0x04, 0xae, + 0x5a, 0x02, 0x7f, 0xb4, 0x04, 0xfe, 0x6c, 0x09, 0x38, 0x6f, 0x09, 0xfc, 0xb8, 0x26, 0x60, 0xb5, + 0x26, 0xe0, 0x6c, 0x4d, 0xc0, 0x9b, 0xa9, 0x93, 0x4e, 0x14, 0x13, 0x45, 0xc2, 0x2e, 0x79, 0x4d, + 0xe1, 0xc0, 0x1a, 0xf5, 0xe0, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf5, 0xdb, 0x42, 0x83, 0x73, + 0x03, 0x00, 0x00, +} + func (m *QuotaRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -214,8 +370,8 @@ func (m *QuotaResult_Result) MarshalTo(dAtA []byte) (int, error) { _ = l dAtA[i] = 0x12 i++ - i = encodeVarintQuota(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration))) - n3, err := types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) + i = encodeVarintQuota(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration))) + n3, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) if err != nil { return 0, err } @@ -238,6 +394,9 @@ func encodeVarintQuota(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *QuotaRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Quotas) > 0 { @@ -253,6 +412,9 @@ func (m *QuotaRequest) Size() (n int) { } func (m *QuotaRequest_QuotaParams) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Amount != 0 { @@ -265,6 +427,9 @@ func (m *QuotaRequest_QuotaParams) Size() (n int) { } func (m *QuotaResult) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Quotas) > 0 { @@ -280,9 +445,12 @@ func (m *QuotaResult) Size() (n int) { } func (m *QuotaResult_Result) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - l = types.SizeOfStdDuration(m.ValidDuration) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration) n += 1 + l + sovQuota(uint64(l)) if m.GrantedAmount != 0 { n += 1 + sovQuota(uint64(m.GrantedAmount)) @@ -311,7 +479,7 @@ func (this *QuotaRequest) String() string { for k, _ := range this.Quotas { keysForQuotas = append(keysForQuotas, k) } - sortkeys.Strings(keysForQuotas) + github_com_gogo_protobuf_sortkeys.Strings(keysForQuotas) mapStringForQuotas := "map[string]QuotaRequest_QuotaParams{" for _, k := range keysForQuotas { mapStringForQuotas += fmt.Sprintf("%v: %v,", k, this.Quotas[k]) @@ -342,7 +510,7 @@ func (this *QuotaResult) String() string { for k, _ := range this.Quotas { keysForQuotas = append(keysForQuotas, k) } - sortkeys.Strings(keysForQuotas) + github_com_gogo_protobuf_sortkeys.Strings(keysForQuotas) mapStringForQuotas := "map[string]QuotaResult_Result{" for _, k := range keysForQuotas { mapStringForQuotas += fmt.Sprintf("%v: %v,", k, this.Quotas[k]) @@ -359,7 +527,7 @@ func (this *QuotaResult_Result) String() string { return "nil" } s := strings.Join([]string{`&QuotaResult_Result{`, - `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "google_protobuf1.Duration", 1), `&`, ``, 1) + `,`, + `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "types.Duration", 1), `&`, ``, 1) + `,`, `GrantedAmount:` + fmt.Sprintf("%v", this.GrantedAmount) + `,`, `}`, }, "") @@ -388,7 +556,7 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -416,7 +584,7 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -425,6 +593,9 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -445,7 +616,7 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -462,7 +633,7 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -472,6 +643,9 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthQuota + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -488,7 +662,7 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -497,7 +671,7 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthQuota } if postmsgIndex > l { @@ -534,6 +708,9 @@ func (m *QuotaRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -561,7 +738,7 @@ func (m *QuotaRequest_QuotaParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -589,7 +766,7 @@ func (m *QuotaRequest_QuotaParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Amount |= (int64(b) & 0x7F) << shift + m.Amount |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -608,7 +785,7 @@ func (m *QuotaRequest_QuotaParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -623,6 +800,9 @@ func (m *QuotaRequest_QuotaParams) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -650,7 +830,7 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -678,7 +858,7 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -687,6 +867,9 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -707,7 +890,7 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -724,7 +907,7 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -734,6 +917,9 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthQuota + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -750,7 +936,7 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -759,7 +945,7 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthQuota } if postmsgIndex > l { @@ -796,6 +982,9 @@ func (m *QuotaResult) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -823,7 +1012,7 @@ func (m *QuotaResult_Result) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -851,7 +1040,7 @@ func (m *QuotaResult_Result) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -860,10 +1049,13 @@ func (m *QuotaResult_Result) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -881,7 +1073,7 @@ func (m *QuotaResult_Result) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GrantedAmount |= (int64(b) & 0x7F) << shift + m.GrantedAmount |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -895,6 +1087,9 @@ func (m *QuotaResult_Result) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -961,10 +1156,13 @@ func skipQuota(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthQuota } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthQuota + } return iNdEx, nil case 3: for { @@ -993,6 +1191,9 @@ func skipQuota(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthQuota + } } return iNdEx, nil case 4: @@ -1011,37 +1212,3 @@ var ( ErrInvalidLengthQuota = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowQuota = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/adapter/model/v1beta1/quota.proto", fileDescriptorQuota) } - -var fileDescriptorQuota = []byte{ - // 444 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0x3d, 0x6f, 0xd4, 0x30, - 0x18, 0xb6, 0xef, 0xe0, 0x54, 0x7c, 0xb4, 0x42, 0x16, 0x42, 0x47, 0x06, 0xdf, 0x51, 0x09, 0x91, - 0xc9, 0x56, 0x41, 0x48, 0xa8, 0x4c, 0x9c, 0x28, 0x03, 0x2c, 0xd4, 0x13, 0x74, 0x39, 0x39, 0x8a, - 0x2f, 0x8a, 0x48, 0xe2, 0xd4, 0x71, 0x22, 0x2a, 0x16, 0x7e, 0x02, 0x23, 0x3f, 0x01, 0xfe, 0xc9, - 0x8d, 0x9d, 0x10, 0x13, 0x90, 0xb0, 0x30, 0xf6, 0x27, 0xa0, 0xd8, 0x3e, 0xa9, 0x30, 0xf4, 0xa0, - 0x53, 0xde, 0x8f, 0xe7, 0x7d, 0x9e, 0xbc, 0xcf, 0x2b, 0xa3, 0x7b, 0x79, 0xfa, 0x56, 0x6a, 0x26, - 0x62, 0x51, 0x1a, 0xa9, 0x59, 0xae, 0x62, 0x99, 0xb1, 0x66, 0x2f, 0x92, 0x46, 0xec, 0xb1, 0xe3, - 0x5a, 0x19, 0x41, 0x4b, 0xad, 0x8c, 0xc2, 0x77, 0xd2, 0xca, 0xa4, 0x8a, 0x5a, 0x38, 0xf5, 0x70, - 0x6a, 0xe1, 0xd4, 0xc3, 0x83, 0x9b, 0x89, 0x4a, 0x94, 0x45, 0xb3, 0x3e, 0x72, 0x83, 0x01, 0x49, - 0x94, 0x4a, 0x32, 0xc9, 0x6c, 0x16, 0xd5, 0x4b, 0x16, 0xd7, 0x5a, 0x98, 0x54, 0x15, 0xae, 0xbf, - 0xfb, 0x79, 0x80, 0xae, 0x1f, 0xf6, 0x42, 0x5c, 0x1e, 0xd7, 0xb2, 0x32, 0xf8, 0x35, 0x1a, 0x59, - 0xe1, 0x6a, 0x02, 0x67, 0xc3, 0x70, 0x7c, 0xff, 0x31, 0xdd, 0x28, 0x4d, 0xcf, 0x13, 0xb8, 0xa4, - 0x3a, 0x28, 0x8c, 0x3e, 0x99, 0x5f, 0x59, 0x7d, 0x9b, 0x02, 0xee, 0x09, 0x83, 0x67, 0x68, 0x6c, - 0x9b, 0x2f, 0x85, 0x16, 0x79, 0x85, 0x6f, 0xa1, 0x91, 0xc8, 0x55, 0x5d, 0x98, 0x09, 0x9c, 0xc1, - 0x70, 0xc8, 0x7d, 0x86, 0xa7, 0x68, 0x1c, 0xc9, 0xca, 0x2c, 0xe4, 0x72, 0xa9, 0xb4, 0x99, 0x0c, - 0x66, 0x30, 0xdc, 0xe2, 0xa8, 0x2f, 0x1d, 0xd8, 0x4a, 0xd0, 0x78, 0x1e, 0x27, 0x82, 0x6f, 0xa0, - 0xe1, 0x1b, 0x79, 0x62, 0x49, 0xae, 0xf1, 0x3e, 0xc4, 0x87, 0xe8, 0x6a, 0x23, 0xb2, 0x5a, 0xda, - 0xd9, 0xcb, 0xae, 0xe0, 0xfe, 0x92, 0x3b, 0xa6, 0xfd, 0xc1, 0x23, 0xb8, 0xfb, 0x65, 0xe0, 0x85, - 0xb9, 0xac, 0xea, 0xcc, 0xe0, 0x57, 0x7f, 0x59, 0xb5, 0xff, 0xef, 0x3a, 0xfd, 0xfc, 0x05, 0x4e, - 0xbd, 0x43, 0x23, 0xaf, 0xf1, 0x1c, 0xed, 0x34, 0x22, 0x4b, 0xe3, 0xc5, 0xfa, 0x6e, 0x7e, 0xa7, - 0xdb, 0xd4, 0x1d, 0x96, 0xae, 0x0f, 0x4b, 0x9f, 0x7a, 0xc0, 0x7c, 0xab, 0xa7, 0xfa, 0xf8, 0x7d, - 0x0a, 0xf9, 0xb6, 0x1d, 0x5d, 0x37, 0xf0, 0x5d, 0xb4, 0x93, 0x68, 0x51, 0x18, 0x19, 0x2f, 0xbc, - 0xf1, 0x43, 0x6b, 0xfc, 0xb6, 0xaf, 0x3e, 0xb1, 0xc5, 0xa0, 0xdc, 0x64, 0xef, 0x8b, 0x3f, 0xed, - 0x7d, 0xf8, 0x9f, 0x6b, 0xbb, 0xcf, 0x39, 0x63, 0xe7, 0x47, 0xab, 0x96, 0x80, 0xd3, 0x96, 0x80, - 0xaf, 0x2d, 0x01, 0x67, 0x2d, 0x01, 0xef, 0x3b, 0x02, 0x3f, 0x75, 0x04, 0xac, 0x3a, 0x02, 0x4f, - 0x3b, 0x02, 0x7f, 0x74, 0x04, 0xfe, 0xea, 0x08, 0x38, 0xeb, 0x08, 0xfc, 0xf0, 0x93, 0x80, 0xa3, - 0xd0, 0x49, 0xa6, 0x8a, 0x89, 0x32, 0x65, 0x17, 0xbc, 0xa2, 0x68, 0x64, 0x0d, 0x7a, 0xf0, 0x3b, - 0x00, 0x00, 0xff, 0xff, 0xf7, 0xfa, 0xfe, 0x63, 0x6b, 0x03, 0x00, 0x00, -} diff --git a/mixer/adapter/model/v1beta1/report.pb.go b/mixer/adapter/model/v1beta1/report.pb.go index 1ec33b37bff..3ca2dca28e6 100644 --- a/mixer/adapter/model/v1beta1/report.pb.go +++ b/mixer/adapter/model/v1beta1/report.pb.go @@ -3,32 +3,87 @@ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Expresses the result of a report call. type ReportResult struct { } -func (m *ReportResult) Reset() { *m = ReportResult{} } -func (*ReportResult) ProtoMessage() {} -func (*ReportResult) Descriptor() ([]byte, []int) { return fileDescriptorReport, []int{0} } +func (m *ReportResult) Reset() { *m = ReportResult{} } +func (*ReportResult) ProtoMessage() {} +func (*ReportResult) Descriptor() ([]byte, []int) { + return fileDescriptor_abc732328b315eb4, []int{0} +} +func (m *ReportResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ReportResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ReportResult.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ReportResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReportResult.Merge(m, src) +} +func (m *ReportResult) XXX_Size() int { + return m.Size() +} +func (m *ReportResult) XXX_DiscardUnknown() { + xxx_messageInfo_ReportResult.DiscardUnknown(m) +} + +var xxx_messageInfo_ReportResult proto.InternalMessageInfo func init() { proto.RegisterType((*ReportResult)(nil), "istio.mixer.adapter.model.v1beta1.ReportResult") } + +func init() { + proto.RegisterFile("mixer/adapter/model/v1beta1/report.proto", fileDescriptor_abc732328b315eb4) +} + +var fileDescriptor_abc732328b315eb4 = []byte{ + // 191 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0xce, 0xa1, 0x0e, 0xc2, 0x30, + 0x10, 0x80, 0xe1, 0xab, 0x41, 0x2c, 0x04, 0x41, 0x50, 0x88, 0x4b, 0x40, 0x4d, 0xb5, 0x59, 0x78, + 0x03, 0x1e, 0x61, 0x12, 0xd7, 0x65, 0xcd, 0xd2, 0x64, 0xcb, 0x35, 0x5d, 0x21, 0x48, 0x1e, 0x81, + 0xc7, 0xe0, 0x51, 0x26, 0x27, 0x27, 0x69, 0x67, 0x90, 0x7b, 0x04, 0x42, 0x37, 0x8d, 0x3b, 0xf1, + 0xdd, 0xdd, 0x9f, 0xa4, 0x8d, 0xbe, 0x2b, 0x2b, 0x64, 0x29, 0x8d, 0x53, 0x56, 0x34, 0x54, 0xaa, + 0x5a, 0xdc, 0xb2, 0x42, 0x39, 0x99, 0x09, 0xab, 0x0c, 0x59, 0xc7, 0x8d, 0x25, 0x47, 0xdb, 0x83, + 0x6e, 0x9d, 0x26, 0x1e, 0x3d, 0x5f, 0x3c, 0x8f, 0x9e, 0x2f, 0x7e, 0xbf, 0xab, 0xa8, 0xa2, 0xa8, + 0xc5, 0x6f, 0x9a, 0x17, 0x8f, 0x9b, 0x64, 0x9d, 0xc7, 0x43, 0xb9, 0x6a, 0xaf, 0xb5, 0x3b, 0x17, + 0x9d, 0x47, 0xe8, 0x3d, 0xc2, 0xe0, 0x11, 0x26, 0x8f, 0xf0, 0x08, 0xc8, 0x5e, 0x01, 0xa1, 0x0b, + 0xc8, 0xfa, 0x80, 0xec, 0x1d, 0x90, 0x7d, 0x02, 0xc2, 0x14, 0x90, 0x3d, 0x47, 0x84, 0x7e, 0x44, + 0x18, 0x46, 0x84, 0x4b, 0x3a, 0x27, 0x68, 0x12, 0xd2, 0x68, 0xf1, 0xa7, 0xbc, 0x58, 0xc5, 0xd7, + 0xa7, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3b, 0x63, 0xe9, 0xbe, 0xdf, 0x00, 0x00, 0x00, +} + func (m *ReportResult) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -57,6 +112,9 @@ func encodeVarintReport(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *ReportResult) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l return n @@ -107,7 +165,7 @@ func (m *ReportResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -130,6 +188,9 @@ func (m *ReportResult) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthReport } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthReport + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -196,10 +257,13 @@ func skipReport(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthReport } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthReport + } return iNdEx, nil case 3: for { @@ -228,6 +292,9 @@ func skipReport(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthReport + } } return iNdEx, nil case 4: @@ -246,21 +313,3 @@ var ( ErrInvalidLengthReport = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowReport = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/adapter/model/v1beta1/report.proto", fileDescriptorReport) } - -var fileDescriptorReport = []byte{ - // 183 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xc8, 0xcd, 0xac, 0x48, - 0x2d, 0xd2, 0x4f, 0x4c, 0x49, 0x2c, 0x28, 0x49, 0x2d, 0xd2, 0xcf, 0xcd, 0x4f, 0x49, 0xcd, 0xd1, - 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x2f, 0x4a, 0x2d, 0xc8, 0x2f, 0x2a, 0xd1, 0x2b, - 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0xcc, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0xab, 0xd7, 0x83, - 0xaa, 0xd7, 0x03, 0xab, 0xd7, 0x83, 0xaa, 0x97, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0xab, 0xd6, - 0x07, 0xb1, 0x20, 0x1a, 0x95, 0xf8, 0xb8, 0x78, 0x82, 0xc0, 0x06, 0x05, 0xa5, 0x16, 0x97, 0xe6, - 0x94, 0x38, 0x45, 0x9d, 0x78, 0x28, 0xc7, 0x70, 0xe1, 0xa1, 0x1c, 0xc3, 0x8d, 0x87, 0x72, 0x0c, - 0x1f, 0x1e, 0xca, 0x31, 0x34, 0x3c, 0x92, 0x63, 0x5c, 0xf1, 0x48, 0x8e, 0xe1, 0xc4, 0x23, 0x39, - 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x7c, 0xf1, 0x48, 0x8e, 0xe1, 0xc3, 0x23, - 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0xa2, 0x34, 0x20, 0x56, 0x67, 0xe6, 0xeb, 0x27, 0x16, 0x64, - 0xea, 0xe3, 0x71, 0x71, 0x12, 0x1b, 0xd8, 0x4a, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbc, - 0x98, 0x6a, 0x09, 0xd7, 0x00, 0x00, 0x00, -} diff --git a/mixer/adapter/model/v1beta1/template.pb.go b/mixer/adapter/model/v1beta1/template.pb.go index 2c81649cb32..1e5424cd0d6 100644 --- a/mixer/adapter/model/v1beta1/template.pb.go +++ b/mixer/adapter/model/v1beta1/template.pb.go @@ -3,29 +3,63 @@ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Template provides the details of a mixer template. type Template struct { // Base64 encoded proto descriptor of the template. Descriptor_ string `protobuf:"bytes,1,opt,name=descriptor,proto3" json:"descriptor,omitempty"` } -func (m *Template) Reset() { *m = Template{} } -func (*Template) ProtoMessage() {} -func (*Template) Descriptor() ([]byte, []int) { return fileDescriptorTemplate, []int{0} } +func (m *Template) Reset() { *m = Template{} } +func (*Template) ProtoMessage() {} +func (*Template) Descriptor() ([]byte, []int) { + return fileDescriptor_bfb51c5f8ecd0171, []int{0} +} +func (m *Template) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Template) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Template.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Template) XXX_Merge(src proto.Message) { + xxx_messageInfo_Template.Merge(m, src) +} +func (m *Template) XXX_Size() int { + return m.Size() +} +func (m *Template) XXX_DiscardUnknown() { + xxx_messageInfo_Template.DiscardUnknown(m) +} + +var xxx_messageInfo_Template proto.InternalMessageInfo func (m *Template) GetDescriptor_() string { if m != nil { @@ -37,6 +71,28 @@ func (m *Template) GetDescriptor_() string { func init() { proto.RegisterType((*Template)(nil), "istio.mixer.adapter.model.v1beta1.Template") } + +func init() { + proto.RegisterFile("mixer/adapter/model/v1beta1/template.proto", fileDescriptor_bfb51c5f8ecd0171) +} + +var fileDescriptor_bfb51c5f8ecd0171 = []byte{ + // 193 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xca, 0xcd, 0xac, 0x48, + 0x2d, 0xd2, 0x4f, 0x4c, 0x49, 0x2c, 0x28, 0x49, 0x2d, 0xd2, 0xcf, 0xcd, 0x4f, 0x49, 0xcd, 0xd1, + 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x2f, 0x49, 0xcd, 0x2d, 0xc8, 0x49, 0x2c, 0x49, + 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0xcc, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0xeb, + 0xd0, 0x83, 0xea, 0xd0, 0x03, 0xeb, 0xd0, 0x83, 0xea, 0x50, 0xd2, 0xe2, 0xe2, 0x08, 0x81, 0x6a, + 0x12, 0x92, 0xe3, 0xe2, 0x4a, 0x49, 0x2d, 0x4e, 0x2e, 0xca, 0x2c, 0x28, 0xc9, 0x2f, 0x92, 0x60, + 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x42, 0x12, 0x71, 0x8a, 0xbb, 0xf0, 0x50, 0x8e, 0xe1, 0xc6, 0x43, + 0x39, 0x86, 0x0f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, + 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, + 0xe1, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, + 0x10, 0xa5, 0x01, 0x71, 0x44, 0x66, 0xbe, 0x7e, 0x62, 0x41, 0xa6, 0x3e, 0x1e, 0xd7, 0x27, 0xb1, + 0x81, 0x5d, 0x6d, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x3a, 0xe9, 0x16, 0x20, 0xe3, 0x00, 0x00, + 0x00, +} + func (this *Template) Equal(that interface{}) bool { if that == nil { return this == nil @@ -113,6 +169,9 @@ func encodeVarintTemplate(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Template) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Descriptor_) @@ -168,7 +227,7 @@ func (m *Template) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -196,7 +255,7 @@ func (m *Template) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -206,6 +265,9 @@ func (m *Template) Unmarshal(dAtA []byte) error { return ErrInvalidLengthTemplate } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTemplate + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -220,6 +282,9 @@ func (m *Template) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthTemplate } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthTemplate + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -286,10 +351,13 @@ func skipTemplate(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthTemplate } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthTemplate + } return iNdEx, nil case 3: for { @@ -318,6 +386,9 @@ func skipTemplate(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthTemplate + } } return iNdEx, nil case 4: @@ -336,21 +407,3 @@ var ( ErrInvalidLengthTemplate = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTemplate = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/adapter/model/v1beta1/template.proto", fileDescriptorTemplate) } - -var fileDescriptorTemplate = []byte{ - // 185 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xca, 0xcd, 0xac, 0x48, - 0x2d, 0xd2, 0x4f, 0x4c, 0x49, 0x2c, 0x28, 0x49, 0x2d, 0xd2, 0xcf, 0xcd, 0x4f, 0x49, 0xcd, 0xd1, - 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x2f, 0x49, 0xcd, 0x2d, 0xc8, 0x49, 0x2c, 0x49, - 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0xcc, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0xeb, - 0xd0, 0x83, 0xea, 0xd0, 0x03, 0xeb, 0xd0, 0x83, 0xea, 0x50, 0xd2, 0xe2, 0xe2, 0x08, 0x81, 0x6a, - 0x12, 0x92, 0xe3, 0xe2, 0x4a, 0x49, 0x2d, 0x4e, 0x2e, 0xca, 0x2c, 0x28, 0xc9, 0x2f, 0x92, 0x60, - 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x42, 0x12, 0x71, 0x0a, 0xbb, 0xf0, 0x50, 0x8e, 0xe1, 0xc6, 0x43, - 0x39, 0x86, 0x0f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, - 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, - 0xe1, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x51, 0x1a, 0x10, 0xcb, 0x33, 0xf3, 0xf5, 0x13, - 0x0b, 0x32, 0xf5, 0xf1, 0xb8, 0x3a, 0x89, 0x0d, 0xec, 0x5a, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xf1, 0x57, 0x3e, 0x72, 0xdb, 0x00, 0x00, 0x00, -} diff --git a/mixer/v1/attributes.pb.go b/mixer/v1/attributes.pb.go index 4543320353b..af3a17af5bf 100644 --- a/mixer/v1/attributes.pb.go +++ b/mixer/v1/attributes.pb.go @@ -1,44 +1,22 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mixer/v1/attributes.proto -/* - Package v1 is a generated protocol buffer package. - - It is generated from these files: - mixer/v1/attributes.proto - mixer/v1/mixer.proto - - It has these top-level messages: - Attributes - CompressedAttributes - StringMap - CheckRequest - CheckResponse - ReferencedAttributes - HeaderOperation - RouteDirective - ReportRequest - ReportResponse -*/ package v1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import google_protobuf1 "github.com/gogo/protobuf/types" -import google_protobuf2 "github.com/gogo/protobuf/types" - -import time "time" - -import binary "encoding/binary" -import types "github.com/gogo/protobuf/types" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + io "io" + math "math" + reflect "reflect" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -89,12 +67,40 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // 3) Forward attributes from client proxy to server proxy for HTTP requests. type Attributes struct { // A map of attribute name to its value. - Attributes map[string]*Attributes_AttributeValue `protobuf:"bytes,1,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Attributes map[string]*Attributes_AttributeValue `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *Attributes) Reset() { *m = Attributes{} } -func (*Attributes) ProtoMessage() {} -func (*Attributes) Descriptor() ([]byte, []int) { return fileDescriptorAttributes, []int{0} } +func (m *Attributes) Reset() { *m = Attributes{} } +func (*Attributes) ProtoMessage() {} +func (*Attributes) Descriptor() ([]byte, []int) { + return fileDescriptor_6504964367320bd3, []int{0} +} +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 + } +} +func (m *Attributes) XXX_Merge(src proto.Message) { + xxx_messageInfo_Attributes.Merge(m, src) +} +func (m *Attributes) XXX_Size() int { + return m.Size() +} +func (m *Attributes) XXX_DiscardUnknown() { + xxx_messageInfo_Attributes.DiscardUnknown(m) +} + +var xxx_messageInfo_Attributes proto.InternalMessageInfo // Specifies one attribute value with different type. type Attributes_AttributeValue struct { @@ -115,8 +121,34 @@ type Attributes_AttributeValue struct { func (m *Attributes_AttributeValue) Reset() { *m = Attributes_AttributeValue{} } func (*Attributes_AttributeValue) ProtoMessage() {} func (*Attributes_AttributeValue) Descriptor() ([]byte, []int) { - return fileDescriptorAttributes, []int{0, 1} + return fileDescriptor_6504964367320bd3, []int{0, 1} +} +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 + } +} +func (m *Attributes_AttributeValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_Attributes_AttributeValue.Merge(m, src) +} +func (m *Attributes_AttributeValue) XXX_Size() int { + return m.Size() +} +func (m *Attributes_AttributeValue) XXX_DiscardUnknown() { + xxx_messageInfo_Attributes_AttributeValue.DiscardUnknown(m) +} + +var xxx_messageInfo_Attributes_AttributeValue proto.InternalMessageInfo type isAttributes_AttributeValue_Value interface { isAttributes_AttributeValue_Value() @@ -140,13 +172,13 @@ type Attributes_AttributeValue_BytesValue struct { BytesValue []byte `protobuf:"bytes,6,opt,name=bytes_value,json=bytesValue,proto3,oneof"` } type Attributes_AttributeValue_TimestampValue struct { - TimestampValue *google_protobuf2.Timestamp `protobuf:"bytes,7,opt,name=timestamp_value,json=timestampValue,oneof"` + TimestampValue *types.Timestamp `protobuf:"bytes,7,opt,name=timestamp_value,json=timestampValue,proto3,oneof"` } type Attributes_AttributeValue_DurationValue struct { - DurationValue *google_protobuf1.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,oneof"` + DurationValue *types.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"` } type Attributes_AttributeValue_StringMapValue struct { - StringMapValue *Attributes_StringMap `protobuf:"bytes,9,opt,name=string_map_value,json=stringMapValue,oneof"` + StringMapValue *Attributes_StringMap `protobuf:"bytes,9,opt,name=string_map_value,json=stringMapValue,proto3,oneof"` } func (*Attributes_AttributeValue_StringValue) isAttributes_AttributeValue_Value() {} @@ -200,14 +232,14 @@ func (m *Attributes_AttributeValue) GetBytesValue() []byte { return nil } -func (m *Attributes_AttributeValue) GetTimestampValue() *google_protobuf2.Timestamp { +func (m *Attributes_AttributeValue) GetTimestampValue() *types.Timestamp { if x, ok := m.GetValue().(*Attributes_AttributeValue_TimestampValue); ok { return x.TimestampValue } return nil } -func (m *Attributes_AttributeValue) GetDurationValue() *google_protobuf1.Duration { +func (m *Attributes_AttributeValue) GetDurationValue() *types.Duration { if x, ok := m.GetValue().(*Attributes_AttributeValue_DurationValue); ok { return x.DurationValue } @@ -322,7 +354,7 @@ func _Attributes_AttributeValue_OneofUnmarshaler(msg proto.Message, tag, wire in if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(google_protobuf2.Timestamp) + msg := new(types.Timestamp) err := b.DecodeMessage(msg) m.Value = &Attributes_AttributeValue_TimestampValue{msg} return true, err @@ -330,7 +362,7 @@ func _Attributes_AttributeValue_OneofUnmarshaler(msg proto.Message, tag, wire in if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(google_protobuf1.Duration) + msg := new(types.Duration) err := b.DecodeMessage(msg) m.Value = &Attributes_AttributeValue_DurationValue{msg} return true, err @@ -352,35 +384,35 @@ func _Attributes_AttributeValue_OneofSizer(msg proto.Message) (n int) { // value switch x := m.Value.(type) { case *Attributes_AttributeValue_StringValue: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.StringValue))) n += len(x.StringValue) case *Attributes_AttributeValue_Int64Value: - n += proto.SizeVarint(3<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Int64Value)) case *Attributes_AttributeValue_DoubleValue: - n += proto.SizeVarint(4<<3 | proto.WireFixed64) + n += 1 // tag and wire n += 8 case *Attributes_AttributeValue_BoolValue: - n += proto.SizeVarint(5<<3 | proto.WireVarint) + n += 1 // tag and wire n += 1 case *Attributes_AttributeValue_BytesValue: - n += proto.SizeVarint(6<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.BytesValue))) n += len(x.BytesValue) case *Attributes_AttributeValue_TimestampValue: s := proto.Size(x.TimestampValue) - n += proto.SizeVarint(7<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Attributes_AttributeValue_DurationValue: s := proto.Size(x.DurationValue) - n += proto.SizeVarint(8<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Attributes_AttributeValue_StringMapValue: s := proto.Size(x.StringMapValue) - n += proto.SizeVarint(9<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -393,15 +425,41 @@ func _Attributes_AttributeValue_OneofSizer(msg proto.Message) (n int) { // Defines a string map. type Attributes_StringMap struct { // Holds a set of name/value pairs. - Entries map[string]string `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Entries map[string]string `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (m *Attributes_StringMap) Reset() { *m = Attributes_StringMap{} } func (*Attributes_StringMap) ProtoMessage() {} func (*Attributes_StringMap) Descriptor() ([]byte, []int) { - return fileDescriptorAttributes, []int{0, 2} + return fileDescriptor_6504964367320bd3, []int{0, 2} +} +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 + } +} +func (m *Attributes_StringMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_Attributes_StringMap.Merge(m, src) +} +func (m *Attributes_StringMap) XXX_Size() int { + return m.Size() +} +func (m *Attributes_StringMap) XXX_DiscardUnknown() { + xxx_messageInfo_Attributes_StringMap.DiscardUnknown(m) } +var xxx_messageInfo_Attributes_StringMap proto.InternalMessageInfo + // Defines a list of attributes in compressed format optimized for transport. // Within this message, strings are referenced using integer indices into // one of two string dictionaries. Positive integers index into the global @@ -411,47 +469,172 @@ func (*Attributes_StringMap) Descriptor() ([]byte, []int) { // configuration. type CompressedAttributes struct { // The message-level dictionary. - Words []string `protobuf:"bytes,1,rep,name=words" json:"words,omitempty"` + Words []string `protobuf:"bytes,1,rep,name=words,proto3" json:"words,omitempty"` // Holds attributes of type STRING, DNS_NAME, EMAIL_ADDRESS, URI - Strings map[int32]int32 `protobuf:"bytes,2,rep,name=strings" json:"strings,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"zigzag32,2,opt,name=value,proto3"` + Strings map[int32]int32 `protobuf:"bytes,2,rep,name=strings,proto3" json:"strings,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"zigzag32,2,opt,name=value,proto3"` // Holds attributes of type INT64 - Int64S map[int32]int64 `protobuf:"bytes,3,rep,name=int64s" json:"int64s,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Int64S map[int32]int64 `protobuf:"bytes,3,rep,name=int64s,proto3" json:"int64s,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // Holds attributes of type DOUBLE - Doubles map[int32]float64 `protobuf:"bytes,4,rep,name=doubles" json:"doubles,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` + Doubles map[int32]float64 `protobuf:"bytes,4,rep,name=doubles,proto3" json:"doubles,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` // Holds attributes of type BOOL - Bools map[int32]bool `protobuf:"bytes,5,rep,name=bools" json:"bools,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Bools map[int32]bool `protobuf:"bytes,5,rep,name=bools,proto3" json:"bools,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // Holds attributes of type TIMESTAMP - Timestamps map[int32]time.Time `protobuf:"bytes,6,rep,name=timestamps,stdtime" json:"timestamps" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Timestamps map[int32]time.Time `protobuf:"bytes,6,rep,name=timestamps,proto3,stdtime" json:"timestamps" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Holds attributes of type DURATION - Durations map[int32]time.Duration `protobuf:"bytes,7,rep,name=durations,stdduration" json:"durations" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Durations map[int32]time.Duration `protobuf:"bytes,7,rep,name=durations,proto3,stdduration" json:"durations" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Holds attributes of type BYTES - Bytes map[int32][]byte `protobuf:"bytes,8,rep,name=bytes" json:"bytes,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Bytes map[int32][]byte `protobuf:"bytes,8,rep,name=bytes,proto3" json:"bytes,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Holds attributes of type STRING_MAP - StringMaps map[int32]StringMap `protobuf:"bytes,9,rep,name=string_maps,json=stringMaps" json:"string_maps" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + StringMaps map[int32]StringMap `protobuf:"bytes,9,rep,name=string_maps,json=stringMaps,proto3" json:"string_maps" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *CompressedAttributes) Reset() { *m = CompressedAttributes{} } -func (*CompressedAttributes) ProtoMessage() {} -func (*CompressedAttributes) Descriptor() ([]byte, []int) { return fileDescriptorAttributes, []int{1} } +func (m *CompressedAttributes) Reset() { *m = CompressedAttributes{} } +func (*CompressedAttributes) ProtoMessage() {} +func (*CompressedAttributes) Descriptor() ([]byte, []int) { + return fileDescriptor_6504964367320bd3, []int{1} +} +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 + } +} +func (m *CompressedAttributes) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompressedAttributes.Merge(m, src) +} +func (m *CompressedAttributes) XXX_Size() int { + return m.Size() +} +func (m *CompressedAttributes) XXX_DiscardUnknown() { + xxx_messageInfo_CompressedAttributes.DiscardUnknown(m) +} + +var xxx_messageInfo_CompressedAttributes proto.InternalMessageInfo // A map of string to string. The keys and values in this map are dictionary // indices (see the [Attributes][istio.mixer.v1.CompressedAttributes] message for an explanation) type StringMap struct { // Holds a set of name/value pairs. - Entries map[int32]int32 `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"zigzag32,2,opt,name=value,proto3"` + Entries map[int32]int32 `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"zigzag32,2,opt,name=value,proto3"` } -func (m *StringMap) Reset() { *m = StringMap{} } -func (*StringMap) ProtoMessage() {} -func (*StringMap) Descriptor() ([]byte, []int) { return fileDescriptorAttributes, []int{2} } +func (m *StringMap) Reset() { *m = StringMap{} } +func (*StringMap) ProtoMessage() {} +func (*StringMap) Descriptor() ([]byte, []int) { + return fileDescriptor_6504964367320bd3, []int{2} +} +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 + } +} +func (m *StringMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringMap.Merge(m, src) +} +func (m *StringMap) XXX_Size() int { + return m.Size() +} +func (m *StringMap) XXX_DiscardUnknown() { + xxx_messageInfo_StringMap.DiscardUnknown(m) +} + +var xxx_messageInfo_StringMap proto.InternalMessageInfo func init() { proto.RegisterType((*Attributes)(nil), "istio.mixer.v1.Attributes") + proto.RegisterMapType((map[string]*Attributes_AttributeValue)(nil), "istio.mixer.v1.Attributes.AttributesEntry") proto.RegisterType((*Attributes_AttributeValue)(nil), "istio.mixer.v1.Attributes.AttributeValue") proto.RegisterType((*Attributes_StringMap)(nil), "istio.mixer.v1.Attributes.StringMap") + proto.RegisterMapType((map[string]string)(nil), "istio.mixer.v1.Attributes.StringMap.EntriesEntry") proto.RegisterType((*CompressedAttributes)(nil), "istio.mixer.v1.CompressedAttributes") + proto.RegisterMapType((map[int32]bool)(nil), "istio.mixer.v1.CompressedAttributes.BoolsEntry") + proto.RegisterMapType((map[int32][]byte)(nil), "istio.mixer.v1.CompressedAttributes.BytesEntry") + proto.RegisterMapType((map[int32]float64)(nil), "istio.mixer.v1.CompressedAttributes.DoublesEntry") + proto.RegisterMapType((map[int32]time.Duration)(nil), "istio.mixer.v1.CompressedAttributes.DurationsEntry") + proto.RegisterMapType((map[int32]int64)(nil), "istio.mixer.v1.CompressedAttributes.Int64sEntry") + proto.RegisterMapType((map[int32]StringMap)(nil), "istio.mixer.v1.CompressedAttributes.StringMapsEntry") + proto.RegisterMapType((map[int32]int32)(nil), "istio.mixer.v1.CompressedAttributes.StringsEntry") + proto.RegisterMapType((map[int32]time.Time)(nil), "istio.mixer.v1.CompressedAttributes.TimestampsEntry") proto.RegisterType((*StringMap)(nil), "istio.mixer.v1.StringMap") + proto.RegisterMapType((map[int32]int32)(nil), "istio.mixer.v1.StringMap.EntriesEntry") } + +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, +} + func (m *Attributes) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -542,7 +725,7 @@ func (m *Attributes_AttributeValue_DoubleValue) MarshalTo(dAtA []byte) (int, err i := 0 dAtA[i] = 0x21 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.DoubleValue)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.DoubleValue)))) i += 8 return i, nil } @@ -717,7 +900,7 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintAttributes(dAtA, i, uint64((uint32(k)<<1)^uint32((k>>31)))) dAtA[i] = 0x11 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(v)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(v)))) i += 8 } } @@ -748,7 +931,7 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) { v := m.Timestamps[k] msgSize := 0 if (&v) != nil { - msgSize = types.SizeOfStdTime(*(&v)) + msgSize = github_com_gogo_protobuf_types.SizeOfStdTime(*(&v)) msgSize += 1 + sovAttributes(uint64(msgSize)) } mapSize := 1 + sozAttributes(uint64(k)) + msgSize @@ -758,8 +941,8 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintAttributes(dAtA, i, uint64((uint32(k)<<1)^uint32((k>>31)))) dAtA[i] = 0x12 i++ - i = encodeVarintAttributes(dAtA, i, uint64(types.SizeOfStdTime(*(&v)))) - n6, err := types.StdTimeMarshalTo(*(&v), dAtA[i:]) + i = encodeVarintAttributes(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(*(&v)))) + n6, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(*(&v), dAtA[i:]) if err != nil { return 0, err } @@ -773,7 +956,7 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) { v := m.Durations[k] msgSize := 0 if (&v) != nil { - msgSize = types.SizeOfStdDuration(*(&v)) + msgSize = github_com_gogo_protobuf_types.SizeOfStdDuration(*(&v)) msgSize += 1 + sovAttributes(uint64(msgSize)) } mapSize := 1 + sozAttributes(uint64(k)) + msgSize @@ -783,8 +966,8 @@ func (m *CompressedAttributes) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintAttributes(dAtA, i, uint64((uint32(k)<<1)^uint32((k>>31)))) dAtA[i] = 0x12 i++ - i = encodeVarintAttributes(dAtA, i, uint64(types.SizeOfStdDuration(*(&v)))) - n7, err := types.StdDurationMarshalTo(*(&v), dAtA[i:]) + i = encodeVarintAttributes(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*(&v)))) + n7, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*(&v), dAtA[i:]) if err != nil { return 0, err } @@ -884,6 +1067,9 @@ func encodeVarintAttributes(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Attributes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Attributes) > 0 { @@ -903,6 +1089,9 @@ func (m *Attributes) Size() (n int) { } func (m *Attributes_AttributeValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != nil { @@ -912,6 +1101,9 @@ func (m *Attributes_AttributeValue) Size() (n int) { } func (m *Attributes_AttributeValue_StringValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.StringValue) @@ -919,24 +1111,36 @@ func (m *Attributes_AttributeValue_StringValue) Size() (n int) { return n } func (m *Attributes_AttributeValue_Int64Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovAttributes(uint64(m.Int64Value)) return n } func (m *Attributes_AttributeValue_DoubleValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 return n } func (m *Attributes_AttributeValue_BoolValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 2 return n } func (m *Attributes_AttributeValue_BytesValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.BytesValue != nil { @@ -946,6 +1150,9 @@ func (m *Attributes_AttributeValue_BytesValue) Size() (n int) { return n } func (m *Attributes_AttributeValue_TimestampValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.TimestampValue != nil { @@ -955,6 +1162,9 @@ func (m *Attributes_AttributeValue_TimestampValue) Size() (n int) { return n } func (m *Attributes_AttributeValue_DurationValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.DurationValue != nil { @@ -964,6 +1174,9 @@ func (m *Attributes_AttributeValue_DurationValue) Size() (n int) { return n } func (m *Attributes_AttributeValue_StringMapValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.StringMapValue != nil { @@ -973,6 +1186,9 @@ func (m *Attributes_AttributeValue_StringMapValue) Size() (n int) { return n } func (m *Attributes_StringMap) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Entries) > 0 { @@ -987,6 +1203,9 @@ func (m *Attributes_StringMap) Size() (n int) { } func (m *CompressedAttributes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Words) > 0 { @@ -1031,7 +1250,7 @@ func (m *CompressedAttributes) Size() (n int) { for k, v := range m.Timestamps { _ = k _ = v - l = types.SizeOfStdTime(v) + l = github_com_gogo_protobuf_types.SizeOfStdTime(v) mapEntrySize := 1 + sozAttributes(uint64(k)) + 1 + l + sovAttributes(uint64(l)) n += mapEntrySize + 1 + sovAttributes(uint64(mapEntrySize)) } @@ -1040,7 +1259,7 @@ func (m *CompressedAttributes) Size() (n int) { for k, v := range m.Durations { _ = k _ = v - l = types.SizeOfStdDuration(v) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(v) mapEntrySize := 1 + sozAttributes(uint64(k)) + 1 + l + sovAttributes(uint64(l)) n += mapEntrySize + 1 + sovAttributes(uint64(mapEntrySize)) } @@ -1070,6 +1289,9 @@ func (m *CompressedAttributes) Size() (n int) { } func (m *StringMap) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Entries) > 0 { @@ -1104,7 +1326,7 @@ func (this *Attributes) String() string { for k, _ := range this.Attributes { keysForAttributes = append(keysForAttributes, k) } - sortkeys.Strings(keysForAttributes) + github_com_gogo_protobuf_sortkeys.Strings(keysForAttributes) mapStringForAttributes := "map[string]*Attributes_AttributeValue{" for _, k := range keysForAttributes { mapStringForAttributes += fmt.Sprintf("%v: %v,", k, this.Attributes[k]) @@ -1181,7 +1403,7 @@ func (this *Attributes_AttributeValue_TimestampValue) String() string { return "nil" } s := strings.Join([]string{`&Attributes_AttributeValue_TimestampValue{`, - `TimestampValue:` + strings.Replace(fmt.Sprintf("%v", this.TimestampValue), "Timestamp", "google_protobuf2.Timestamp", 1) + `,`, + `TimestampValue:` + strings.Replace(fmt.Sprintf("%v", this.TimestampValue), "Timestamp", "types.Timestamp", 1) + `,`, `}`, }, "") return s @@ -1191,7 +1413,7 @@ func (this *Attributes_AttributeValue_DurationValue) String() string { return "nil" } s := strings.Join([]string{`&Attributes_AttributeValue_DurationValue{`, - `DurationValue:` + strings.Replace(fmt.Sprintf("%v", this.DurationValue), "Duration", "google_protobuf1.Duration", 1) + `,`, + `DurationValue:` + strings.Replace(fmt.Sprintf("%v", this.DurationValue), "Duration", "types.Duration", 1) + `,`, `}`, }, "") return s @@ -1214,7 +1436,7 @@ func (this *Attributes_StringMap) String() string { for k, _ := range this.Entries { keysForEntries = append(keysForEntries, k) } - sortkeys.Strings(keysForEntries) + github_com_gogo_protobuf_sortkeys.Strings(keysForEntries) mapStringForEntries := "map[string]string{" for _, k := range keysForEntries { mapStringForEntries += fmt.Sprintf("%v: %v,", k, this.Entries[k]) @@ -1234,7 +1456,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.Strings { keysForStrings = append(keysForStrings, k) } - sortkeys.Int32s(keysForStrings) + github_com_gogo_protobuf_sortkeys.Int32s(keysForStrings) mapStringForStrings := "map[int32]int32{" for _, k := range keysForStrings { mapStringForStrings += fmt.Sprintf("%v: %v,", k, this.Strings[k]) @@ -1244,7 +1466,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.Int64S { keysForInt64S = append(keysForInt64S, k) } - sortkeys.Int32s(keysForInt64S) + github_com_gogo_protobuf_sortkeys.Int32s(keysForInt64S) mapStringForInt64S := "map[int32]int64{" for _, k := range keysForInt64S { mapStringForInt64S += fmt.Sprintf("%v: %v,", k, this.Int64S[k]) @@ -1254,7 +1476,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.Doubles { keysForDoubles = append(keysForDoubles, k) } - sortkeys.Int32s(keysForDoubles) + github_com_gogo_protobuf_sortkeys.Int32s(keysForDoubles) mapStringForDoubles := "map[int32]float64{" for _, k := range keysForDoubles { mapStringForDoubles += fmt.Sprintf("%v: %v,", k, this.Doubles[k]) @@ -1264,7 +1486,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.Bools { keysForBools = append(keysForBools, k) } - sortkeys.Int32s(keysForBools) + github_com_gogo_protobuf_sortkeys.Int32s(keysForBools) mapStringForBools := "map[int32]bool{" for _, k := range keysForBools { mapStringForBools += fmt.Sprintf("%v: %v,", k, this.Bools[k]) @@ -1274,7 +1496,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.Timestamps { keysForTimestamps = append(keysForTimestamps, k) } - sortkeys.Int32s(keysForTimestamps) + github_com_gogo_protobuf_sortkeys.Int32s(keysForTimestamps) mapStringForTimestamps := "map[int32]time.Time{" for _, k := range keysForTimestamps { mapStringForTimestamps += fmt.Sprintf("%v: %v,", k, this.Timestamps[k]) @@ -1284,7 +1506,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.Durations { keysForDurations = append(keysForDurations, k) } - sortkeys.Int32s(keysForDurations) + github_com_gogo_protobuf_sortkeys.Int32s(keysForDurations) mapStringForDurations := "map[int32]time.Duration{" for _, k := range keysForDurations { mapStringForDurations += fmt.Sprintf("%v: %v,", k, this.Durations[k]) @@ -1294,7 +1516,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.Bytes { keysForBytes = append(keysForBytes, k) } - sortkeys.Int32s(keysForBytes) + github_com_gogo_protobuf_sortkeys.Int32s(keysForBytes) mapStringForBytes := "map[int32][]byte{" for _, k := range keysForBytes { mapStringForBytes += fmt.Sprintf("%v: %v,", k, this.Bytes[k]) @@ -1304,7 +1526,7 @@ func (this *CompressedAttributes) String() string { for k, _ := range this.StringMaps { keysForStringMaps = append(keysForStringMaps, k) } - sortkeys.Int32s(keysForStringMaps) + github_com_gogo_protobuf_sortkeys.Int32s(keysForStringMaps) mapStringForStringMaps := "map[int32]StringMap{" for _, k := range keysForStringMaps { mapStringForStringMaps += fmt.Sprintf("%v: %v,", k, this.StringMaps[k]) @@ -1332,7 +1554,7 @@ func (this *StringMap) String() string { for k, _ := range this.Entries { keysForEntries = append(keysForEntries, k) } - sortkeys.Int32s(keysForEntries) + github_com_gogo_protobuf_sortkeys.Int32s(keysForEntries) mapStringForEntries := "map[int32]int32{" for _, k := range keysForEntries { mapStringForEntries += fmt.Sprintf("%v: %v,", k, this.Entries[k]) @@ -1367,7 +1589,7 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1395,7 +1617,7 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1404,6 +1626,9 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1424,7 +1649,7 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1441,7 +1666,7 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1451,6 +1676,9 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthAttributes + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1467,7 +1695,7 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1476,7 +1704,7 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthAttributes } if postmsgIndex > l { @@ -1513,6 +1741,9 @@ func (m *Attributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthAttributes } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthAttributes + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1540,7 +1771,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1568,7 +1799,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1578,6 +1809,9 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1597,7 +1831,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int64(b) & 0x7F) << shift + v |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -1611,7 +1845,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Value = &Attributes_AttributeValue_DoubleValue{float64(math.Float64frombits(v))} case 5: @@ -1628,7 +1862,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1649,7 +1883,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= (int(b) & 0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1658,6 +1892,9 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1679,7 +1916,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1688,10 +1925,13 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } - v := &google_protobuf2.Timestamp{} + v := &types.Timestamp{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -1711,7 +1951,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1720,10 +1960,13 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } - v := &google_protobuf1.Duration{} + v := &types.Duration{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -1743,7 +1986,7 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1752,6 +1995,9 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1770,6 +2016,9 @@ func (m *Attributes_AttributeValue) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthAttributes } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthAttributes + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1797,7 +2046,7 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1825,7 +2074,7 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1834,6 +2083,9 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1854,7 +2106,7 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1871,7 +2123,7 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1881,6 +2133,9 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthAttributes + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1897,7 +2152,7 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1907,6 +2162,9 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthAttributes + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1938,6 +2196,9 @@ func (m *Attributes_StringMap) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthAttributes } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthAttributes + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1965,7 +2226,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1993,7 +2254,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2003,6 +2264,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2022,7 +2286,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2031,6 +2295,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2051,7 +2318,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2068,7 +2335,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2086,7 +2353,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvaluetemp |= (int32(b) & 0x7F) << shift + mapvaluetemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2124,7 +2391,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2133,6 +2400,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2153,7 +2423,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2170,7 +2440,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2187,7 +2457,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvalue |= (int64(b) & 0x7F) << shift + mapvalue |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -2223,7 +2493,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2232,6 +2502,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2252,7 +2525,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2269,7 +2542,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2281,7 +2554,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - mapvaluetemp = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + mapvaluetemp = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 mapvalue = math.Float64frombits(mapvaluetemp) } else { @@ -2315,7 +2588,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2324,6 +2597,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2344,7 +2620,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2361,7 +2637,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2379,7 +2655,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvaluetemp |= (int(b) & 0x7F) << shift + mapvaluetemp |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2416,7 +2692,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2425,6 +2701,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2445,7 +2724,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2462,7 +2741,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2480,7 +2759,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2489,13 +2768,13 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthAttributes } if postmsgIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(mapvalue, dAtA[iNdEx:postmsgIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(mapvalue, dAtA[iNdEx:postmsgIndex]); err != nil { return err } iNdEx = postmsgIndex @@ -2530,7 +2809,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2539,6 +2818,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2559,7 +2841,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2576,7 +2858,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2594,7 +2876,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2603,13 +2885,13 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthAttributes } if postmsgIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdDurationUnmarshal(mapvalue, dAtA[iNdEx:postmsgIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(mapvalue, dAtA[iNdEx:postmsgIndex]); err != nil { return err } iNdEx = postmsgIndex @@ -2644,7 +2926,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2653,6 +2935,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2673,7 +2958,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2690,7 +2975,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2708,7 +2993,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapbyteLen |= (uint64(b) & 0x7F) << shift + mapbyteLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2718,6 +3003,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postbytesIndex := iNdEx + intMapbyteLen + if postbytesIndex < 0 { + return ErrInvalidLengthAttributes + } if postbytesIndex > l { return io.ErrUnexpectedEOF } @@ -2755,7 +3043,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2764,6 +3052,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2784,7 +3075,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2801,7 +3092,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2819,7 +3110,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2828,7 +3119,7 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthAttributes } if postmsgIndex > l { @@ -2865,6 +3156,9 @@ func (m *CompressedAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthAttributes } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthAttributes + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2892,7 +3186,7 @@ func (m *StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2920,7 +3214,7 @@ func (m *StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2929,6 +3223,9 @@ func (m *StringMap) Unmarshal(dAtA []byte) error { return ErrInvalidLengthAttributes } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAttributes + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2949,7 +3246,7 @@ func (m *StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2966,7 +3263,7 @@ func (m *StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapkeytemp |= (int32(b) & 0x7F) << shift + mapkeytemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2984,7 +3281,7 @@ func (m *StringMap) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvaluetemp |= (int32(b) & 0x7F) << shift + mapvaluetemp |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -3017,6 +3314,9 @@ func (m *StringMap) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthAttributes } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthAttributes + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -3083,10 +3383,13 @@ func skipAttributes(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthAttributes } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthAttributes + } return iNdEx, nil case 3: for { @@ -3115,6 +3418,9 @@ func skipAttributes(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthAttributes + } } return iNdEx, nil case 4: @@ -3133,60 +3439,3 @@ var ( ErrInvalidLengthAttributes = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowAttributes = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/v1/attributes.proto", fileDescriptorAttributes) } - -var fileDescriptorAttributes = []byte{ - // 808 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xcd, 0x6f, 0xd3, 0x48, - 0x18, 0xc6, 0x3d, 0x4d, 0xf3, 0xe1, 0x37, 0xd9, 0xa4, 0xb5, 0xb2, 0x92, 0x9b, 0x83, 0x93, 0xed, - 0xae, 0x56, 0x81, 0x83, 0xdd, 0x2f, 0xa1, 0xd2, 0x0b, 0x10, 0x1a, 0x29, 0x14, 0x21, 0x21, 0x83, - 0xf8, 0xaa, 0x04, 0x4a, 0x14, 0x13, 0x2c, 0x92, 0x4c, 0xe4, 0x99, 0x14, 0x72, 0x43, 0xe2, 0xc4, - 0xad, 0x07, 0x0e, 0xfc, 0x07, 0xf0, 0xa7, 0xf4, 0xd8, 0x23, 0x27, 0x20, 0xe1, 0xc2, 0x05, 0xa9, - 0x47, 0x8e, 0xc8, 0x33, 0x63, 0x67, 0x12, 0xd2, 0xc6, 0xb9, 0xd9, 0x33, 0xef, 0xf3, 0xf3, 0x33, - 0x33, 0xcf, 0xbc, 0x09, 0xac, 0x75, 0xdc, 0xd7, 0x8e, 0x67, 0x1d, 0x6d, 0x5a, 0x75, 0x4a, 0x3d, - 0xb7, 0xd1, 0xa7, 0x0e, 0x31, 0x7b, 0x1e, 0xa6, 0x58, 0xcb, 0xba, 0x84, 0xba, 0xd8, 0x64, 0x05, - 0xe6, 0xd1, 0x66, 0x21, 0xdf, 0xc2, 0x2d, 0xcc, 0xa6, 0x2c, 0xff, 0x89, 0x57, 0x15, 0x8c, 0x16, - 0xc6, 0xad, 0xb6, 0x63, 0xb1, 0xb7, 0x46, 0xff, 0xb9, 0xd5, 0xec, 0x7b, 0x75, 0xea, 0xe2, 0xae, - 0x98, 0x2f, 0x4e, 0xcf, 0x53, 0xb7, 0xe3, 0x10, 0x5a, 0xef, 0xf4, 0x78, 0xc1, 0xfa, 0xdb, 0x04, - 0xc0, 0x8d, 0xf0, 0xdb, 0xda, 0x01, 0xc0, 0xd8, 0x89, 0x8e, 0x4a, 0xb1, 0x72, 0x7a, 0xeb, 0xb2, - 0x39, 0x69, 0xc5, 0x1c, 0xd7, 0x4b, 0x8f, 0xd5, 0x2e, 0xf5, 0x06, 0xb6, 0xa4, 0x2e, 0xbc, 0x80, - 0xdc, 0xd4, 0xb4, 0xb6, 0x02, 0xb1, 0x97, 0xce, 0x40, 0x47, 0x25, 0x54, 0x56, 0x6d, 0xff, 0x51, - 0xbb, 0x06, 0xf1, 0xa3, 0x7a, 0xbb, 0xef, 0xe8, 0x4b, 0x25, 0x54, 0x4e, 0x6f, 0x5d, 0x8a, 0xf2, - 0xad, 0x07, 0xbe, 0xc0, 0xe6, 0xba, 0xbd, 0xa5, 0x5d, 0x54, 0xf8, 0x18, 0x83, 0xec, 0xe4, 0xac, - 0xf6, 0x2f, 0x64, 0x08, 0xf5, 0xdc, 0x6e, 0xeb, 0xd9, 0x18, 0xaf, 0xd6, 0x14, 0x3b, 0xcd, 0x47, - 0x79, 0xd1, 0x3f, 0x90, 0x76, 0xbb, 0xf4, 0xca, 0x8e, 0xa8, 0x89, 0x95, 0x50, 0x39, 0x56, 0x53, - 0x6c, 0x60, 0x83, 0x21, 0xa7, 0x89, 0xfb, 0x8d, 0xb6, 0x23, 0x6a, 0x96, 0x4b, 0xa8, 0x8c, 0x7c, - 0x0e, 0x1f, 0xe5, 0x45, 0x45, 0x80, 0x06, 0xc6, 0x6d, 0x51, 0x12, 0x2f, 0xa1, 0x72, 0xaa, 0xa6, - 0xd8, 0xaa, 0x3f, 0x16, 0x7e, 0xa8, 0x31, 0xa0, 0x0e, 0x11, 0x15, 0x89, 0x12, 0x2a, 0x67, 0xfc, - 0x0f, 0xb1, 0x41, 0x5e, 0x52, 0x85, 0x5c, 0x78, 0x36, 0xa2, 0x2c, 0xc9, 0xb6, 0xa4, 0x60, 0xf2, - 0x33, 0x34, 0x83, 0x33, 0x34, 0xef, 0x07, 0x75, 0x35, 0xc5, 0xce, 0x86, 0x22, 0x8e, 0xa9, 0x40, - 0x36, 0x88, 0x80, 0xa0, 0xa4, 0x18, 0x65, 0xed, 0x0f, 0xca, 0xbe, 0x28, 0xab, 0x29, 0xf6, 0x5f, - 0x81, 0x84, 0x33, 0xee, 0xc2, 0x8a, 0xd8, 0xbb, 0x4e, 0x3d, 0xf0, 0xa2, 0x32, 0xca, 0x7f, 0x17, - 0x1c, 0xcf, 0x3d, 0x26, 0xb9, 0x53, 0x67, 0xae, 0x48, 0xf0, 0xc2, 0x88, 0x95, 0xa4, 0x38, 0xe5, - 0xc2, 0x7b, 0x04, 0x6a, 0x58, 0xa8, 0xdd, 0x86, 0xa4, 0xd3, 0xa5, 0x9e, 0x1b, 0x46, 0x6d, 0x33, - 0x0a, 0xdf, 0xac, 0x72, 0x0d, 0x4f, 0x5c, 0x40, 0x28, 0xec, 0x41, 0x46, 0x9e, 0x98, 0x91, 0xb5, - 0xbc, 0x9c, 0x35, 0x55, 0x0a, 0xd0, 0xfa, 0x4f, 0x15, 0xf2, 0x37, 0x71, 0xa7, 0xe7, 0x39, 0x84, - 0x38, 0x4d, 0xe9, 0x3e, 0xe4, 0x21, 0xfe, 0x0a, 0x7b, 0x4d, 0xee, 0x4f, 0xb5, 0xf9, 0x8b, 0xef, - 0x9b, 0x2f, 0x90, 0xe8, 0x4b, 0xb3, 0x7d, 0xcf, 0x82, 0x89, 0x15, 0x04, 0xbe, 0x05, 0x41, 0xab, - 0x41, 0x82, 0xe5, 0x8d, 0xe8, 0x31, 0xc6, 0xda, 0x88, 0xc4, 0xba, 0xc5, 0x24, 0x1c, 0x25, 0xf4, - 0xbe, 0x2d, 0x9e, 0x4a, 0xa2, 0x2f, 0x2f, 0x60, 0x6b, 0x9f, 0x6b, 0x84, 0x2d, 0x41, 0xd0, 0xaa, - 0x10, 0xf7, 0xf3, 0x4b, 0xf4, 0x38, 0x43, 0x59, 0x91, 0x50, 0x15, 0x5f, 0xc1, 0x41, 0x5c, 0xad, - 0x3d, 0x05, 0x08, 0x13, 0x4a, 0xf4, 0x04, 0x63, 0xed, 0x44, 0x62, 0x85, 0x29, 0xe7, 0xc0, 0x4a, - 0xea, 0xe4, 0x4b, 0x51, 0x39, 0xfe, 0x5a, 0x44, 0xb6, 0x44, 0xd4, 0x0e, 0x41, 0x0d, 0xc2, 0x4b, - 0xf4, 0x24, 0xc3, 0x6f, 0x47, 0x5b, 0x75, 0xa0, 0x92, 0xe8, 0x1f, 0x7c, 0xfa, 0x98, 0xc7, 0xf6, - 0xc0, 0xbf, 0xa1, 0x7a, 0x6a, 0x91, 0x3d, 0x18, 0x84, 0xdd, 0x90, 0xab, 0xb5, 0x43, 0x48, 0x8f, - 0xef, 0x13, 0xd1, 0xd5, 0x05, 0x36, 0x21, 0x0c, 0xbd, 0xb0, 0xb9, 0xec, 0xdb, 0xb4, 0x21, 0xbc, - 0x5e, 0x2c, 0xf6, 0x72, 0xae, 0xe4, 0xd8, 0xaf, 0xce, 0x88, 0xfd, 0xaa, 0xdc, 0x37, 0xaf, 0x42, - 0x5a, 0xca, 0xd1, 0x3c, 0x69, 0x4c, 0x96, 0xee, 0x41, 0x46, 0xce, 0xcd, 0x3c, 0x2d, 0x92, 0xb5, - 0xbb, 0x00, 0xe3, 0xa0, 0xcc, 0x53, 0xa6, 0x64, 0xe5, 0x63, 0xc8, 0x4d, 0xc5, 0x62, 0x86, 0x7c, - 0x63, 0xf2, 0x27, 0xe5, 0x82, 0xfe, 0x29, 0xa3, 0x1f, 0x42, 0x76, 0x32, 0x12, 0x33, 0xc8, 0xd6, - 0x24, 0xf9, 0xfc, 0x9e, 0x3a, 0xbd, 0xda, 0x01, 0x8d, 0xb8, 0x4f, 0x19, 0x59, 0xf9, 0x08, 0x72, - 0x53, 0xe7, 0x1f, 0xc5, 0xd3, 0x54, 0xac, 0x42, 0x82, 0xdc, 0xef, 0xde, 0x4d, 0xb4, 0xe1, 0xeb, - 0xd3, 0x6d, 0xf8, 0xff, 0x73, 0x21, 0x8b, 0xf7, 0xde, 0x79, 0x21, 0xac, 0x1c, 0x9c, 0x0c, 0x0d, - 0xe5, 0x74, 0x68, 0x28, 0x9f, 0x87, 0x86, 0x72, 0x36, 0x34, 0x94, 0x37, 0x23, 0x03, 0x7d, 0x1a, - 0x19, 0xca, 0xc9, 0xc8, 0x40, 0xa7, 0x23, 0x03, 0x7d, 0x1b, 0x19, 0xe8, 0xc7, 0xc8, 0x50, 0xce, - 0x46, 0x06, 0x3a, 0xfe, 0x6e, 0x28, 0x4f, 0xfe, 0xe6, 0xee, 0x5c, 0x6c, 0xd5, 0x7b, 0xae, 0x15, - 0xfc, 0x85, 0xfa, 0x85, 0x50, 0x23, 0xc1, 0x4e, 0x62, 0xfb, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xe3, 0xd9, 0xac, 0x62, 0x58, 0x09, 0x00, 0x00, -} diff --git a/mixer/v1/config/client/api_spec.pb.go b/mixer/v1/config/client/api_spec.pb.go index ec1b1e7f69a..ad6be4e7592 100644 --- a/mixer/v1/config/client/api_spec.pb.go +++ b/mixer/v1/config/client/api_spec.pb.go @@ -1,46 +1,18 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mixer/v1/config/client/api_spec.proto -/* - Package client is a generated protocol buffer package. - - It is generated from these files: - mixer/v1/config/client/api_spec.proto - mixer/v1/config/client/client_config.proto - mixer/v1/config/client/quota.proto - mixer/v1/config/client/service.proto - - It has these top-level messages: - HTTPAPISpec - HTTPAPISpecPattern - APIKey - HTTPAPISpecReference - HTTPAPISpecBinding - NetworkFailPolicy - ServiceConfig - TransportConfig - HttpClientConfig - TcpClientConfig - QuotaSpec - QuotaRule - StringMatch - AttributeMatch - Quota - QuotaSpecBinding - IstioService -*/ package client -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import istio_mixer_v1 "istio.io/api/mixer/v1" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + v1 "istio.io/api/mixer/v1" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -112,9 +84,9 @@ type HTTPAPISpec struct { // List of attributes that are generated when *any* of the HTTP // patterns match. This list typically includes the "api.service" // and "api.version" attributes. - Attributes *istio_mixer_v1.Attributes `protobuf:"bytes,1,opt,name=attributes" json:"attributes,omitempty"` + Attributes *v1.Attributes `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` // List of HTTP patterns to match. - Patterns []*HTTPAPISpecPattern `protobuf:"bytes,2,rep,name=patterns" json:"patterns,omitempty"` + Patterns []*HTTPAPISpecPattern `protobuf:"bytes,2,rep,name=patterns,proto3" json:"patterns,omitempty"` // List of APIKey that describes how to extract an API-KEY from an // HTTP request. The first API-Key match found in the list is used, // i.e. 'OR' semantics. @@ -124,12 +96,40 @@ type HTTPAPISpec struct { // // `query: key, `query: api_key`, and then `header: x-api-key` // - ApiKeys []*APIKey `protobuf:"bytes,3,rep,name=api_keys,json=apiKeys" json:"api_keys,omitempty"` + ApiKeys []*APIKey `protobuf:"bytes,3,rep,name=api_keys,json=apiKeys,proto3" json:"api_keys,omitempty"` +} + +func (m *HTTPAPISpec) Reset() { *m = HTTPAPISpec{} } +func (*HTTPAPISpec) ProtoMessage() {} +func (*HTTPAPISpec) Descriptor() ([]byte, []int) { + return fileDescriptor_fb6b15fd2f44b459, []int{0} +} +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 + } +} +func (m *HTTPAPISpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPAPISpec.Merge(m, src) +} +func (m *HTTPAPISpec) XXX_Size() int { + return m.Size() +} +func (m *HTTPAPISpec) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPAPISpec.DiscardUnknown(m) } -func (m *HTTPAPISpec) Reset() { *m = HTTPAPISpec{} } -func (*HTTPAPISpec) ProtoMessage() {} -func (*HTTPAPISpec) Descriptor() ([]byte, []int) { return fileDescriptorApiSpec, []int{0} } +var xxx_messageInfo_HTTPAPISpec proto.InternalMessageInfo // HTTPAPISpecPattern defines a single pattern to match against // incoming HTTP requests. The per-pattern list of attributes is @@ -148,7 +148,7 @@ type HTTPAPISpecPattern struct { // List of attributes that are generated if the HTTP request matches // the specified http_method and uri_template. This typically // includes the "api.operation" attribute. - Attributes *istio_mixer_v1.Attributes `protobuf:"bytes,1,opt,name=attributes" json:"attributes,omitempty"` + Attributes *v1.Attributes `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` // HTTP request method to match against as defined by // [rfc7231](https://tools.ietf.org/html/rfc7231#page-21). For // example: GET, HEAD, POST, PUT, DELETE. @@ -159,9 +159,37 @@ type HTTPAPISpecPattern struct { Pattern isHTTPAPISpecPattern_Pattern `protobuf_oneof:"pattern"` } -func (m *HTTPAPISpecPattern) Reset() { *m = HTTPAPISpecPattern{} } -func (*HTTPAPISpecPattern) ProtoMessage() {} -func (*HTTPAPISpecPattern) Descriptor() ([]byte, []int) { return fileDescriptorApiSpec, []int{1} } +func (m *HTTPAPISpecPattern) Reset() { *m = HTTPAPISpecPattern{} } +func (*HTTPAPISpecPattern) ProtoMessage() {} +func (*HTTPAPISpecPattern) Descriptor() ([]byte, []int) { + return fileDescriptor_fb6b15fd2f44b459, []int{1} +} +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 + } +} +func (m *HTTPAPISpecPattern) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPAPISpecPattern.Merge(m, src) +} +func (m *HTTPAPISpecPattern) XXX_Size() int { + return m.Size() +} +func (m *HTTPAPISpecPattern) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPAPISpecPattern.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPAPISpecPattern proto.InternalMessageInfo type isHTTPAPISpecPattern_Pattern interface { isHTTPAPISpecPattern_Pattern() @@ -252,11 +280,11 @@ func _HTTPAPISpecPattern_OneofSizer(msg proto.Message) (n int) { // pattern switch x := m.Pattern.(type) { case *HTTPAPISpecPattern_UriTemplate: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.UriTemplate))) n += len(x.UriTemplate) case *HTTPAPISpecPattern_Regex: - n += proto.SizeVarint(4<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Regex))) n += len(x.Regex) case nil: @@ -279,9 +307,37 @@ type APIKey struct { Key isAPIKey_Key `protobuf_oneof:"key"` } -func (m *APIKey) Reset() { *m = APIKey{} } -func (*APIKey) ProtoMessage() {} -func (*APIKey) Descriptor() ([]byte, []int) { return fileDescriptorApiSpec, []int{2} } +func (m *APIKey) Reset() { *m = APIKey{} } +func (*APIKey) ProtoMessage() {} +func (*APIKey) Descriptor() ([]byte, []int) { + return fileDescriptor_fb6b15fd2f44b459, []int{2} +} +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 + } +} +func (m *APIKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_APIKey.Merge(m, src) +} +func (m *APIKey) XXX_Size() int { + return m.Size() +} +func (m *APIKey) XXX_DiscardUnknown() { + xxx_messageInfo_APIKey.DiscardUnknown(m) +} + +var xxx_messageInfo_APIKey proto.InternalMessageInfo type isAPIKey_Key interface { isAPIKey_Key() @@ -394,15 +450,15 @@ func _APIKey_OneofSizer(msg proto.Message) (n int) { // key switch x := m.Key.(type) { case *APIKey_Query: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Query))) n += len(x.Query) case *APIKey_Header: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Header))) n += len(x.Header) case *APIKey_Cookie: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Cookie))) n += len(x.Cookie) case nil: @@ -430,9 +486,37 @@ type HTTPAPISpecReference struct { Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` } -func (m *HTTPAPISpecReference) Reset() { *m = HTTPAPISpecReference{} } -func (*HTTPAPISpecReference) ProtoMessage() {} -func (*HTTPAPISpecReference) Descriptor() ([]byte, []int) { return fileDescriptorApiSpec, []int{3} } +func (m *HTTPAPISpecReference) Reset() { *m = HTTPAPISpecReference{} } +func (*HTTPAPISpecReference) ProtoMessage() {} +func (*HTTPAPISpecReference) Descriptor() ([]byte, []int) { + return fileDescriptor_fb6b15fd2f44b459, []int{3} +} +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 + } +} +func (m *HTTPAPISpecReference) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPAPISpecReference.Merge(m, src) +} +func (m *HTTPAPISpecReference) XXX_Size() int { + return m.Size() +} +func (m *HTTPAPISpecReference) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPAPISpecReference.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPAPISpecReference proto.InternalMessageInfo // HTTPAPISpecBinding defines the binding between HTTPAPISpecs and one or more // IstioService. For example, the following establishes a binding @@ -454,16 +538,44 @@ func (*HTTPAPISpecReference) Descriptor() ([]byte, []int) { return fileDescripto // ``` type HTTPAPISpecBinding struct { // REQUIRED. One or more services to map the listed HTTPAPISpec onto. - Services []*IstioService `protobuf:"bytes,1,rep,name=services" json:"services,omitempty"` + Services []*IstioService `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` // REQUIRED. One or more HTTPAPISpec references that should be mapped to // the specified service(s). The aggregate collection of match // conditions defined in the HTTPAPISpecs should not overlap. - ApiSpecs []*HTTPAPISpecReference `protobuf:"bytes,2,rep,name=api_specs,json=apiSpecs" json:"api_specs,omitempty"` + ApiSpecs []*HTTPAPISpecReference `protobuf:"bytes,2,rep,name=api_specs,json=apiSpecs,proto3" json:"api_specs,omitempty"` } -func (m *HTTPAPISpecBinding) Reset() { *m = HTTPAPISpecBinding{} } -func (*HTTPAPISpecBinding) ProtoMessage() {} -func (*HTTPAPISpecBinding) Descriptor() ([]byte, []int) { return fileDescriptorApiSpec, []int{4} } +func (m *HTTPAPISpecBinding) Reset() { *m = HTTPAPISpecBinding{} } +func (*HTTPAPISpecBinding) ProtoMessage() {} +func (*HTTPAPISpecBinding) Descriptor() ([]byte, []int) { + return fileDescriptor_fb6b15fd2f44b459, []int{4} +} +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 + } +} +func (m *HTTPAPISpecBinding) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPAPISpecBinding.Merge(m, src) +} +func (m *HTTPAPISpecBinding) XXX_Size() int { + return m.Size() +} +func (m *HTTPAPISpecBinding) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPAPISpecBinding.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPAPISpecBinding proto.InternalMessageInfo func init() { proto.RegisterType((*HTTPAPISpec)(nil), "istio.mixer.v1.config.client.HTTPAPISpec") @@ -472,6 +584,48 @@ func init() { proto.RegisterType((*HTTPAPISpecReference)(nil), "istio.mixer.v1.config.client.HTTPAPISpecReference") proto.RegisterType((*HTTPAPISpecBinding)(nil), "istio.mixer.v1.config.client.HTTPAPISpecBinding") } + +func init() { + proto.RegisterFile("mixer/v1/config/client/api_spec.proto", fileDescriptor_fb6b15fd2f44b459) +} + +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, +} + func (m *HTTPAPISpec) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -712,6 +866,9 @@ func encodeVarintApiSpec(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *HTTPAPISpec) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Attributes != nil { @@ -734,6 +891,9 @@ func (m *HTTPAPISpec) Size() (n int) { } func (m *HTTPAPISpecPattern) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Attributes != nil { @@ -751,6 +911,9 @@ func (m *HTTPAPISpecPattern) Size() (n int) { } func (m *HTTPAPISpecPattern_UriTemplate) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.UriTemplate) @@ -758,6 +921,9 @@ func (m *HTTPAPISpecPattern_UriTemplate) Size() (n int) { return n } func (m *HTTPAPISpecPattern_Regex) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Regex) @@ -765,6 +931,9 @@ func (m *HTTPAPISpecPattern_Regex) Size() (n int) { return n } func (m *APIKey) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Key != nil { @@ -774,6 +943,9 @@ func (m *APIKey) Size() (n int) { } func (m *APIKey_Query) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Query) @@ -781,6 +953,9 @@ func (m *APIKey_Query) Size() (n int) { return n } func (m *APIKey_Header) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Header) @@ -788,6 +963,9 @@ func (m *APIKey_Header) Size() (n int) { return n } func (m *APIKey_Cookie) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Cookie) @@ -795,6 +973,9 @@ func (m *APIKey_Cookie) Size() (n int) { return n } func (m *HTTPAPISpecReference) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -809,6 +990,9 @@ func (m *HTTPAPISpecReference) Size() (n int) { } func (m *HTTPAPISpecBinding) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Services) > 0 { @@ -844,7 +1028,7 @@ func (this *HTTPAPISpec) String() string { return "nil" } s := strings.Join([]string{`&HTTPAPISpec{`, - `Attributes:` + strings.Replace(fmt.Sprintf("%v", this.Attributes), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, + `Attributes:` + strings.Replace(fmt.Sprintf("%v", this.Attributes), "Attributes", "v1.Attributes", 1) + `,`, `Patterns:` + strings.Replace(fmt.Sprintf("%v", this.Patterns), "HTTPAPISpecPattern", "HTTPAPISpecPattern", 1) + `,`, `ApiKeys:` + strings.Replace(fmt.Sprintf("%v", this.ApiKeys), "APIKey", "APIKey", 1) + `,`, `}`, @@ -856,7 +1040,7 @@ func (this *HTTPAPISpecPattern) String() string { return "nil" } s := strings.Join([]string{`&HTTPAPISpecPattern{`, - `Attributes:` + strings.Replace(fmt.Sprintf("%v", this.Attributes), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, + `Attributes:` + strings.Replace(fmt.Sprintf("%v", this.Attributes), "Attributes", "v1.Attributes", 1) + `,`, `HttpMethod:` + fmt.Sprintf("%v", this.HttpMethod) + `,`, `Pattern:` + fmt.Sprintf("%v", this.Pattern) + `,`, `}`, @@ -968,7 +1152,7 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -996,7 +1180,7 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1005,11 +1189,14 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Attributes == nil { - m.Attributes = &istio_mixer_v1.Attributes{} + m.Attributes = &v1.Attributes{} } if err := m.Attributes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1029,7 +1216,7 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1038,6 +1225,9 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1060,7 +1250,7 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1069,6 +1259,9 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1086,6 +1279,9 @@ func (m *HTTPAPISpec) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthApiSpec } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthApiSpec + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1113,7 +1309,7 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1141,7 +1337,7 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1150,11 +1346,14 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Attributes == nil { - m.Attributes = &istio_mixer_v1.Attributes{} + m.Attributes = &v1.Attributes{} } if err := m.Attributes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1174,7 +1373,7 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1184,6 +1383,9 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1203,7 +1405,7 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1213,6 +1415,9 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1232,7 +1437,7 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1242,6 +1447,9 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1256,6 +1464,9 @@ func (m *HTTPAPISpecPattern) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthApiSpec } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthApiSpec + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1283,7 +1494,7 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1311,7 +1522,7 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1321,6 +1532,9 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1340,7 +1554,7 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1350,6 +1564,9 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1369,7 +1586,7 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1379,6 +1596,9 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1393,6 +1613,9 @@ func (m *APIKey) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthApiSpec } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthApiSpec + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1420,7 +1643,7 @@ func (m *HTTPAPISpecReference) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1448,7 +1671,7 @@ func (m *HTTPAPISpecReference) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1458,6 +1681,9 @@ func (m *HTTPAPISpecReference) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1477,7 +1703,7 @@ func (m *HTTPAPISpecReference) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1487,6 +1713,9 @@ func (m *HTTPAPISpecReference) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1501,6 +1730,9 @@ func (m *HTTPAPISpecReference) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthApiSpec } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthApiSpec + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1528,7 +1760,7 @@ func (m *HTTPAPISpecBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1556,7 +1788,7 @@ func (m *HTTPAPISpecBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1565,6 +1797,9 @@ func (m *HTTPAPISpecBinding) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1587,7 +1822,7 @@ func (m *HTTPAPISpecBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1596,6 +1831,9 @@ func (m *HTTPAPISpecBinding) Unmarshal(dAtA []byte) error { return ErrInvalidLengthApiSpec } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApiSpec + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1613,6 +1851,9 @@ func (m *HTTPAPISpecBinding) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthApiSpec } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthApiSpec + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1679,10 +1920,13 @@ func skipApiSpec(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthApiSpec } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthApiSpec + } return iNdEx, nil case 3: for { @@ -1711,6 +1955,9 @@ func skipApiSpec(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthApiSpec + } } return iNdEx, nil case 4: @@ -1729,42 +1976,3 @@ var ( ErrInvalidLengthApiSpec = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowApiSpec = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/v1/config/client/api_spec.proto", fileDescriptorApiSpec) } - -var fileDescriptorApiSpec = []byte{ - // 517 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xbd, 0x6e, 0x13, 0x41, - 0x10, 0xbe, 0x8d, 0xf3, 0x63, 0x8f, 0xa9, 0x56, 0x11, 0x3a, 0xac, 0x68, 0xb1, 0x9c, 0x20, 0x59, - 0x14, 0x77, 0xc4, 0x74, 0x34, 0xc8, 0x2e, 0x90, 0xad, 0x80, 0xb0, 0x36, 0xa6, 0x81, 0xc2, 0xba, - 0x9c, 0x27, 0xf6, 0xca, 0xf1, 0xed, 0xb1, 0xb7, 0xb6, 0xe2, 0x8e, 0x47, 0xe0, 0x31, 0x68, 0x78, - 0x00, 0xde, 0x20, 0x65, 0xca, 0x94, 0xf8, 0x68, 0x28, 0xf3, 0x08, 0x68, 0x6f, 0x2f, 0xb6, 0xf9, - 0xb3, 0x90, 0xa8, 0xee, 0x66, 0xe6, 0x9b, 0xf9, 0xe6, 0x9b, 0x9d, 0x81, 0x47, 0x13, 0x71, 0x89, - 0xca, 0x9f, 0x1d, 0xfb, 0xa1, 0x8c, 0xce, 0xc5, 0xd0, 0x0f, 0x2f, 0x04, 0x46, 0xda, 0x0f, 0x62, - 0xd1, 0x4f, 0x62, 0x0c, 0xbd, 0x58, 0x49, 0x2d, 0xe9, 0x81, 0x48, 0xb4, 0x90, 0x5e, 0x06, 0xf6, - 0x66, 0xc7, 0x9e, 0x05, 0x7b, 0x16, 0x5c, 0xd9, 0x1f, 0xca, 0xa1, 0xcc, 0x80, 0xbe, 0xf9, 0xb3, - 0x39, 0x95, 0x07, 0xcb, 0xd2, 0x81, 0xd6, 0x4a, 0x9c, 0x4d, 0x35, 0x26, 0x79, 0xe8, 0xe8, 0x2f, - 0xac, 0x09, 0xaa, 0x99, 0x08, 0xd1, 0xa2, 0x6a, 0x37, 0x04, 0xca, 0xed, 0x5e, 0xaf, 0xdb, 0xec, - 0x76, 0x4e, 0x63, 0x0c, 0xe9, 0x33, 0x80, 0x55, 0x25, 0x97, 0x54, 0x49, 0xbd, 0xdc, 0xa8, 0x78, - 0xbf, 0x74, 0xd6, 0x5c, 0x22, 0xf8, 0x1a, 0x9a, 0xbe, 0x84, 0x62, 0x1c, 0x68, 0x8d, 0x2a, 0x4a, - 0xdc, 0xad, 0x6a, 0xa1, 0x5e, 0x6e, 0x3c, 0xf1, 0x36, 0x69, 0xf2, 0xd6, 0x88, 0xbb, 0x36, 0x91, - 0x2f, 0x2b, 0xd0, 0xe7, 0x50, 0x34, 0x03, 0x1a, 0xe3, 0x3c, 0x71, 0x0b, 0x59, 0xb5, 0xa3, 0xcd, - 0xd5, 0x9a, 0xdd, 0xce, 0x09, 0xce, 0xf9, 0x5e, 0x10, 0x8b, 0x13, 0x9c, 0x27, 0xb5, 0x2f, 0x04, - 0xe8, 0xef, 0x0c, 0xff, 0xa5, 0xf0, 0x21, 0x94, 0x47, 0x5a, 0xc7, 0xfd, 0x09, 0xea, 0x91, 0x1c, - 0xb8, 0x5b, 0x55, 0x52, 0x2f, 0x71, 0x30, 0xae, 0x57, 0x99, 0x87, 0x1e, 0xc2, 0xbd, 0xa9, 0x12, - 0x7d, 0x8d, 0x93, 0xf8, 0x22, 0xd0, 0xe8, 0x16, 0x0c, 0xa2, 0xed, 0xf0, 0xf2, 0x54, 0x89, 0x5e, - 0xee, 0xa4, 0xf7, 0x61, 0x47, 0xe1, 0x10, 0x2f, 0xdd, 0xed, 0x3c, 0x6a, 0xcd, 0x56, 0x09, 0xf6, - 0x72, 0xf5, 0xb5, 0x77, 0xb0, 0x6b, 0xe5, 0x18, 0xf0, 0xfb, 0x29, 0xaa, 0x79, 0xd6, 0x69, 0x06, - 0xce, 0x4c, 0xea, 0xc2, 0xee, 0x08, 0x83, 0x01, 0x2a, 0xdb, 0x45, 0xdb, 0xe1, 0xb9, 0x6d, 0x22, - 0xa1, 0x94, 0x63, 0xb1, 0x62, 0xcf, 0xed, 0xd6, 0x0e, 0x14, 0xc6, 0x38, 0xaf, 0xb5, 0x61, 0x7f, - 0x6d, 0x2e, 0x1c, 0xcf, 0x51, 0x61, 0x14, 0x22, 0xa5, 0xb0, 0x1d, 0x05, 0x13, 0xb4, 0x4c, 0x3c, - 0xfb, 0xa7, 0x07, 0x50, 0x32, 0xdf, 0x24, 0x0e, 0x42, 0xcc, 0xf5, 0xae, 0x1c, 0xb5, 0xcf, 0x3f, - 0x8f, 0xb8, 0x25, 0xa2, 0x81, 0x88, 0x86, 0xf4, 0x05, 0x14, 0xf3, 0x2d, 0x33, 0x03, 0x36, 0x4f, - 0xf7, 0x78, 0xf3, 0xd3, 0x75, 0x4c, 0xf0, 0xd4, 0xa6, 0xf0, 0x65, 0x2e, 0x7d, 0x0d, 0xa5, 0xbb, - 0x1b, 0xb9, 0xdb, 0xa8, 0xc6, 0x3f, 0x6f, 0xd4, 0x52, 0x17, 0x37, 0x7b, 0x64, 0x3c, 0x49, 0xeb, - 0xcd, 0xd5, 0x82, 0x39, 0xd7, 0x0b, 0xe6, 0xdc, 0x2c, 0x98, 0x73, 0xbb, 0x60, 0xce, 0x87, 0x94, - 0x91, 0x4f, 0x29, 0x73, 0xae, 0x52, 0x46, 0xae, 0x53, 0x46, 0xbe, 0xa6, 0x8c, 0x7c, 0x4f, 0x99, - 0x73, 0x9b, 0x32, 0xf2, 0xf1, 0x1b, 0x73, 0xde, 0x1e, 0x5a, 0x3a, 0x21, 0xcd, 0xb5, 0xfa, 0x7f, - 0x3e, 0xa9, 0xb3, 0xdd, 0xec, 0x96, 0x9e, 0xfe, 0x08, 0x00, 0x00, 0xff, 0xff, 0xd9, 0xe5, 0x31, - 0x31, 0xe9, 0x03, 0x00, 0x00, -} diff --git a/mixer/v1/config/client/client_config.pb.go b/mixer/v1/config/client/client_config.pb.go index dee422b03a8..b6b85b74966 100644 --- a/mixer/v1/config/client/client_config.pb.go +++ b/mixer/v1/config/client/client_config.pb.go @@ -3,26 +3,31 @@ package client -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import google_protobuf1 "github.com/gogo/protobuf/types" -import istio_mixer_v1 "istio.io/api/mixer/v1" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + types "github.com/gogo/protobuf/types" + io "io" + v1 "istio.io/api/mixer/v1" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Describes the policy. type NetworkFailPolicy_FailPolicy int32 @@ -38,13 +43,14 @@ var NetworkFailPolicy_FailPolicy_name = map[int32]string{ 0: "FAIL_OPEN", 1: "FAIL_CLOSE", } + var NetworkFailPolicy_FailPolicy_value = map[string]int32{ "FAIL_OPEN": 0, "FAIL_CLOSE": 1, } func (NetworkFailPolicy_FailPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptorClientConfig, []int{0, 0} + return fileDescriptor_27bf0dec365e2f6f, []int{0, 0} } // Specifies the behavior when the client is unable to connect to Mixer. @@ -55,14 +61,42 @@ type NetworkFailPolicy struct { MaxRetry uint32 `protobuf:"varint,2,opt,name=max_retry,json=maxRetry,proto3" json:"max_retry,omitempty"` // Base time to wait between retries. Will be adjusted by exponential // backoff and jitter. - BaseRetryWait *google_protobuf1.Duration `protobuf:"bytes,3,opt,name=base_retry_wait,json=baseRetryWait" json:"base_retry_wait,omitempty"` + BaseRetryWait *types.Duration `protobuf:"bytes,3,opt,name=base_retry_wait,json=baseRetryWait,proto3" json:"base_retry_wait,omitempty"` // Max time to wait between retries. - MaxRetryWait *google_protobuf1.Duration `protobuf:"bytes,4,opt,name=max_retry_wait,json=maxRetryWait" json:"max_retry_wait,omitempty"` + MaxRetryWait *types.Duration `protobuf:"bytes,4,opt,name=max_retry_wait,json=maxRetryWait,proto3" json:"max_retry_wait,omitempty"` +} + +func (m *NetworkFailPolicy) Reset() { *m = NetworkFailPolicy{} } +func (*NetworkFailPolicy) ProtoMessage() {} +func (*NetworkFailPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_27bf0dec365e2f6f, []int{0} +} +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 + } +} +func (m *NetworkFailPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_NetworkFailPolicy.Merge(m, src) +} +func (m *NetworkFailPolicy) XXX_Size() int { + return m.Size() +} +func (m *NetworkFailPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_NetworkFailPolicy.DiscardUnknown(m) } -func (m *NetworkFailPolicy) Reset() { *m = NetworkFailPolicy{} } -func (*NetworkFailPolicy) ProtoMessage() {} -func (*NetworkFailPolicy) Descriptor() ([]byte, []int) { return fileDescriptorClientConfig, []int{0} } +var xxx_messageInfo_NetworkFailPolicy proto.InternalMessageInfo // Defines the per-service client configuration. type ServiceConfig struct { @@ -74,16 +108,16 @@ type ServiceConfig struct { // typically includes the "destination.service" attribute. // In case of a per-route override, per-route attributes take precedence // over the attributes supplied in the client configuration. - MixerAttributes *istio_mixer_v1.Attributes `protobuf:"bytes,3,opt,name=mixer_attributes,json=mixerAttributes" json:"mixer_attributes,omitempty"` + MixerAttributes *v1.Attributes `protobuf:"bytes,3,opt,name=mixer_attributes,json=mixerAttributes,proto3" json:"mixer_attributes,omitempty"` // HTTP API specifications to generate API attributes. - HttpApiSpec []*HTTPAPISpec `protobuf:"bytes,4,rep,name=http_api_spec,json=httpApiSpec" json:"http_api_spec,omitempty"` + HttpApiSpec []*HTTPAPISpec `protobuf:"bytes,4,rep,name=http_api_spec,json=httpApiSpec,proto3" json:"http_api_spec,omitempty"` // Quota specifications to generate quota requirements. - QuotaSpec []*QuotaSpec `protobuf:"bytes,5,rep,name=quota_spec,json=quotaSpec" json:"quota_spec,omitempty"` + QuotaSpec []*QuotaSpec `protobuf:"bytes,5,rep,name=quota_spec,json=quotaSpec,proto3" json:"quota_spec,omitempty"` // Specifies the behavior when the client is unable to connect to Mixer. // This is the service-level policy. It overrides // [mesh-level // policy][istio.mixer.v1.config.client.TransportConfig.network_fail_policy]. - NetworkFailPolicy *NetworkFailPolicy `protobuf:"bytes,7,opt,name=network_fail_policy,json=networkFailPolicy" json:"network_fail_policy,omitempty"` + NetworkFailPolicy *NetworkFailPolicy `protobuf:"bytes,7,opt,name=network_fail_policy,json=networkFailPolicy,proto3" json:"network_fail_policy,omitempty"` // Default attributes to forward to upstream. This typically // includes the "source.ip" and "source.uid" attributes. // In case of a per-route override, per-route attributes take precedence @@ -96,12 +130,40 @@ type ServiceConfig struct { // 3. forwarded attributes from the source filter config (if any); // 4. forwarded attributes from the source route config (if any); // 5. derived attributes from the request metadata. - ForwardAttributes *istio_mixer_v1.Attributes `protobuf:"bytes,8,opt,name=forward_attributes,json=forwardAttributes" json:"forward_attributes,omitempty"` + ForwardAttributes *v1.Attributes `protobuf:"bytes,8,opt,name=forward_attributes,json=forwardAttributes,proto3" json:"forward_attributes,omitempty"` +} + +func (m *ServiceConfig) Reset() { *m = ServiceConfig{} } +func (*ServiceConfig) ProtoMessage() {} +func (*ServiceConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_27bf0dec365e2f6f, []int{1} +} +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 + } +} +func (m *ServiceConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceConfig.Merge(m, src) +} +func (m *ServiceConfig) XXX_Size() int { + return m.Size() +} +func (m *ServiceConfig) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceConfig.DiscardUnknown(m) } -func (m *ServiceConfig) Reset() { *m = ServiceConfig{} } -func (*ServiceConfig) ProtoMessage() {} -func (*ServiceConfig) Descriptor() ([]byte, []int) { return fileDescriptorClientConfig, []int{1} } +var xxx_messageInfo_ServiceConfig proto.InternalMessageInfo // Defines the transport config on how to call Mixer. type TransportConfig struct { @@ -113,10 +175,10 @@ type TransportConfig struct { DisableReportBatch bool `protobuf:"varint,3,opt,name=disable_report_batch,json=disableReportBatch,proto3" json:"disable_report_batch,omitempty"` // Specifies the behavior when the client is unable to connect to Mixer. // This is the mesh level policy. The default value for policy is FAIL_OPEN. - NetworkFailPolicy *NetworkFailPolicy `protobuf:"bytes,4,opt,name=network_fail_policy,json=networkFailPolicy" json:"network_fail_policy,omitempty"` + NetworkFailPolicy *NetworkFailPolicy `protobuf:"bytes,4,opt,name=network_fail_policy,json=networkFailPolicy,proto3" json:"network_fail_policy,omitempty"` // Specify refresh interval to write mixer client statistics to Envoy share // memory. If not specified, the interval is 10 seconds. - StatsUpdateInterval *google_protobuf1.Duration `protobuf:"bytes,5,opt,name=stats_update_interval,json=statsUpdateInterval" json:"stats_update_interval,omitempty"` + StatsUpdateInterval *types.Duration `protobuf:"bytes,5,opt,name=stats_update_interval,json=statsUpdateInterval,proto3" json:"stats_update_interval,omitempty"` // Name of the cluster that will forward check calls to a pool of mixer // servers. Defaults to "mixer_server". By using different names for // checkCluster and reportCluster, it is possible to have one set of @@ -138,70 +200,224 @@ type TransportConfig struct { // Default attributes to forward to mixer upstream. This typically // includes the "source.ip" and "source.uid" attributes. These // attributes are consumed by the proxy in front of mixer. - AttributesForMixerProxy *istio_mixer_v1.Attributes `protobuf:"bytes,8,opt,name=attributes_for_mixer_proxy,json=attributesForMixerProxy" json:"attributes_for_mixer_proxy,omitempty"` + AttributesForMixerProxy *v1.Attributes `protobuf:"bytes,8,opt,name=attributes_for_mixer_proxy,json=attributesForMixerProxy,proto3" json:"attributes_for_mixer_proxy,omitempty"` +} + +func (m *TransportConfig) Reset() { *m = TransportConfig{} } +func (*TransportConfig) ProtoMessage() {} +func (*TransportConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_27bf0dec365e2f6f, []int{2} +} +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 + } +} +func (m *TransportConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransportConfig.Merge(m, src) +} +func (m *TransportConfig) XXX_Size() int { + return m.Size() +} +func (m *TransportConfig) XXX_DiscardUnknown() { + xxx_messageInfo_TransportConfig.DiscardUnknown(m) } -func (m *TransportConfig) Reset() { *m = TransportConfig{} } -func (*TransportConfig) ProtoMessage() {} -func (*TransportConfig) Descriptor() ([]byte, []int) { return fileDescriptorClientConfig, []int{2} } +var xxx_messageInfo_TransportConfig proto.InternalMessageInfo // Defines the client config for HTTP. type HttpClientConfig struct { // The transport config. - Transport *TransportConfig `protobuf:"bytes,1,opt,name=transport" json:"transport,omitempty"` + Transport *TransportConfig `protobuf:"bytes,1,opt,name=transport,proto3" json:"transport,omitempty"` // Map of control configuration indexed by destination.service. This // is used to support per-service configuration for cases where a // mixerclient serves multiple services. - ServiceConfigs map[string]*ServiceConfig `protobuf:"bytes,2,rep,name=service_configs,json=serviceConfigs" json:"service_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + ServiceConfigs map[string]*ServiceConfig `protobuf:"bytes,2,rep,name=service_configs,json=serviceConfigs,proto3" json:"service_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Default destination service name if none was specified in the // client request. DefaultDestinationService string `protobuf:"bytes,3,opt,name=default_destination_service,json=defaultDestinationService,proto3" json:"default_destination_service,omitempty"` // Default attributes to send to Mixer in both Check and // Report. This typically includes "destination.ip" and // "destination.uid" attributes. - MixerAttributes *istio_mixer_v1.Attributes `protobuf:"bytes,4,opt,name=mixer_attributes,json=mixerAttributes" json:"mixer_attributes,omitempty"` + MixerAttributes *v1.Attributes `protobuf:"bytes,4,opt,name=mixer_attributes,json=mixerAttributes,proto3" json:"mixer_attributes,omitempty"` // Default attributes to forward to upstream. This typically // includes the "source.ip" and "source.uid" attributes. - ForwardAttributes *istio_mixer_v1.Attributes `protobuf:"bytes,5,opt,name=forward_attributes,json=forwardAttributes" json:"forward_attributes,omitempty"` + ForwardAttributes *v1.Attributes `protobuf:"bytes,5,opt,name=forward_attributes,json=forwardAttributes,proto3" json:"forward_attributes,omitempty"` } -func (m *HttpClientConfig) Reset() { *m = HttpClientConfig{} } -func (*HttpClientConfig) ProtoMessage() {} -func (*HttpClientConfig) Descriptor() ([]byte, []int) { return fileDescriptorClientConfig, []int{3} } +func (m *HttpClientConfig) Reset() { *m = HttpClientConfig{} } +func (*HttpClientConfig) ProtoMessage() {} +func (*HttpClientConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_27bf0dec365e2f6f, []int{3} +} +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 + } +} +func (m *HttpClientConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_HttpClientConfig.Merge(m, src) +} +func (m *HttpClientConfig) XXX_Size() int { + return m.Size() +} +func (m *HttpClientConfig) XXX_DiscardUnknown() { + xxx_messageInfo_HttpClientConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_HttpClientConfig proto.InternalMessageInfo // Defines the client config for TCP. type TcpClientConfig struct { // The transport config. - Transport *TransportConfig `protobuf:"bytes,1,opt,name=transport" json:"transport,omitempty"` + Transport *TransportConfig `protobuf:"bytes,1,opt,name=transport,proto3" json:"transport,omitempty"` // Default attributes to send to Mixer in both Check and // Report. This typically includes "destination.ip" and // "destination.uid" attributes. - MixerAttributes *istio_mixer_v1.Attributes `protobuf:"bytes,2,opt,name=mixer_attributes,json=mixerAttributes" json:"mixer_attributes,omitempty"` + MixerAttributes *v1.Attributes `protobuf:"bytes,2,opt,name=mixer_attributes,json=mixerAttributes,proto3" json:"mixer_attributes,omitempty"` // If set to true, disables mixer check calls. DisableCheckCalls bool `protobuf:"varint,3,opt,name=disable_check_calls,json=disableCheckCalls,proto3" json:"disable_check_calls,omitempty"` // If set to true, disables mixer check calls. DisableReportCalls bool `protobuf:"varint,4,opt,name=disable_report_calls,json=disableReportCalls,proto3" json:"disable_report_calls,omitempty"` // Quota specifications to generate quota requirements. // It applies on the new TCP connections. - ConnectionQuotaSpec *QuotaSpec `protobuf:"bytes,5,opt,name=connection_quota_spec,json=connectionQuotaSpec" json:"connection_quota_spec,omitempty"` + ConnectionQuotaSpec *QuotaSpec `protobuf:"bytes,5,opt,name=connection_quota_spec,json=connectionQuotaSpec,proto3" json:"connection_quota_spec,omitempty"` // Specify report interval to send periodical reports for long TCP // connections. If not specified, the interval is 10 seconds. This interval // should not be less than 1 second, otherwise it will be reset to 1 second. - ReportInterval *google_protobuf1.Duration `protobuf:"bytes,6,opt,name=report_interval,json=reportInterval" json:"report_interval,omitempty"` + ReportInterval *types.Duration `protobuf:"bytes,6,opt,name=report_interval,json=reportInterval,proto3" json:"report_interval,omitempty"` } -func (m *TcpClientConfig) Reset() { *m = TcpClientConfig{} } -func (*TcpClientConfig) ProtoMessage() {} -func (*TcpClientConfig) Descriptor() ([]byte, []int) { return fileDescriptorClientConfig, []int{4} } +func (m *TcpClientConfig) Reset() { *m = TcpClientConfig{} } +func (*TcpClientConfig) ProtoMessage() {} +func (*TcpClientConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_27bf0dec365e2f6f, []int{4} +} +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 + } +} +func (m *TcpClientConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_TcpClientConfig.Merge(m, src) +} +func (m *TcpClientConfig) XXX_Size() int { + return m.Size() +} +func (m *TcpClientConfig) XXX_DiscardUnknown() { + xxx_messageInfo_TcpClientConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_TcpClientConfig proto.InternalMessageInfo func init() { + proto.RegisterEnum("istio.mixer.v1.config.client.NetworkFailPolicy_FailPolicy", NetworkFailPolicy_FailPolicy_name, NetworkFailPolicy_FailPolicy_value) proto.RegisterType((*NetworkFailPolicy)(nil), "istio.mixer.v1.config.client.NetworkFailPolicy") proto.RegisterType((*ServiceConfig)(nil), "istio.mixer.v1.config.client.ServiceConfig") proto.RegisterType((*TransportConfig)(nil), "istio.mixer.v1.config.client.TransportConfig") proto.RegisterType((*HttpClientConfig)(nil), "istio.mixer.v1.config.client.HttpClientConfig") + proto.RegisterMapType((map[string]*ServiceConfig)(nil), "istio.mixer.v1.config.client.HttpClientConfig.ServiceConfigsEntry") proto.RegisterType((*TcpClientConfig)(nil), "istio.mixer.v1.config.client.TcpClientConfig") - proto.RegisterEnum("istio.mixer.v1.config.client.NetworkFailPolicy_FailPolicy", NetworkFailPolicy_FailPolicy_name, NetworkFailPolicy_FailPolicy_value) } + +func init() { + proto.RegisterFile("mixer/v1/config/client/client_config.proto", fileDescriptor_27bf0dec365e2f6f) +} + +var fileDescriptor_27bf0dec365e2f6f = []byte{ + // 954 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, +} + func (x NetworkFailPolicy_FailPolicy) String() string { s, ok := NetworkFailPolicy_FailPolicy_name[int32(x)] if ok { @@ -609,6 +825,9 @@ func encodeVarintClientConfig(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *NetworkFailPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Policy != 0 { @@ -629,6 +848,9 @@ func (m *NetworkFailPolicy) Size() (n int) { } func (m *ServiceConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.DisableCheckCalls { @@ -665,6 +887,9 @@ func (m *ServiceConfig) Size() (n int) { } func (m *TransportConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.DisableCheckCache { @@ -700,6 +925,9 @@ func (m *TransportConfig) Size() (n int) { } func (m *HttpClientConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Transport != nil { @@ -735,6 +963,9 @@ func (m *HttpClientConfig) Size() (n int) { } func (m *TcpClientConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Transport != nil { @@ -782,8 +1013,8 @@ func (this *NetworkFailPolicy) String() string { s := strings.Join([]string{`&NetworkFailPolicy{`, `Policy:` + fmt.Sprintf("%v", this.Policy) + `,`, `MaxRetry:` + fmt.Sprintf("%v", this.MaxRetry) + `,`, - `BaseRetryWait:` + strings.Replace(fmt.Sprintf("%v", this.BaseRetryWait), "Duration", "google_protobuf1.Duration", 1) + `,`, - `MaxRetryWait:` + strings.Replace(fmt.Sprintf("%v", this.MaxRetryWait), "Duration", "google_protobuf1.Duration", 1) + `,`, + `BaseRetryWait:` + strings.Replace(fmt.Sprintf("%v", this.BaseRetryWait), "Duration", "types.Duration", 1) + `,`, + `MaxRetryWait:` + strings.Replace(fmt.Sprintf("%v", this.MaxRetryWait), "Duration", "types.Duration", 1) + `,`, `}`, }, "") return s @@ -795,11 +1026,11 @@ func (this *ServiceConfig) String() string { s := strings.Join([]string{`&ServiceConfig{`, `DisableCheckCalls:` + fmt.Sprintf("%v", this.DisableCheckCalls) + `,`, `DisableReportCalls:` + fmt.Sprintf("%v", this.DisableReportCalls) + `,`, - `MixerAttributes:` + strings.Replace(fmt.Sprintf("%v", this.MixerAttributes), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, + `MixerAttributes:` + strings.Replace(fmt.Sprintf("%v", this.MixerAttributes), "Attributes", "v1.Attributes", 1) + `,`, `HttpApiSpec:` + strings.Replace(fmt.Sprintf("%v", this.HttpApiSpec), "HTTPAPISpec", "HTTPAPISpec", 1) + `,`, `QuotaSpec:` + strings.Replace(fmt.Sprintf("%v", this.QuotaSpec), "QuotaSpec", "QuotaSpec", 1) + `,`, `NetworkFailPolicy:` + strings.Replace(fmt.Sprintf("%v", this.NetworkFailPolicy), "NetworkFailPolicy", "NetworkFailPolicy", 1) + `,`, - `ForwardAttributes:` + strings.Replace(fmt.Sprintf("%v", this.ForwardAttributes), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, + `ForwardAttributes:` + strings.Replace(fmt.Sprintf("%v", this.ForwardAttributes), "Attributes", "v1.Attributes", 1) + `,`, `}`, }, "") return s @@ -813,10 +1044,10 @@ func (this *TransportConfig) String() string { `DisableQuotaCache:` + fmt.Sprintf("%v", this.DisableQuotaCache) + `,`, `DisableReportBatch:` + fmt.Sprintf("%v", this.DisableReportBatch) + `,`, `NetworkFailPolicy:` + strings.Replace(fmt.Sprintf("%v", this.NetworkFailPolicy), "NetworkFailPolicy", "NetworkFailPolicy", 1) + `,`, - `StatsUpdateInterval:` + strings.Replace(fmt.Sprintf("%v", this.StatsUpdateInterval), "Duration", "google_protobuf1.Duration", 1) + `,`, + `StatsUpdateInterval:` + strings.Replace(fmt.Sprintf("%v", this.StatsUpdateInterval), "Duration", "types.Duration", 1) + `,`, `CheckCluster:` + fmt.Sprintf("%v", this.CheckCluster) + `,`, `ReportCluster:` + fmt.Sprintf("%v", this.ReportCluster) + `,`, - `AttributesForMixerProxy:` + strings.Replace(fmt.Sprintf("%v", this.AttributesForMixerProxy), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, + `AttributesForMixerProxy:` + strings.Replace(fmt.Sprintf("%v", this.AttributesForMixerProxy), "Attributes", "v1.Attributes", 1) + `,`, `}`, }, "") return s @@ -829,7 +1060,7 @@ func (this *HttpClientConfig) String() string { for k, _ := range this.ServiceConfigs { keysForServiceConfigs = append(keysForServiceConfigs, k) } - sortkeys.Strings(keysForServiceConfigs) + github_com_gogo_protobuf_sortkeys.Strings(keysForServiceConfigs) mapStringForServiceConfigs := "map[string]*ServiceConfig{" for _, k := range keysForServiceConfigs { mapStringForServiceConfigs += fmt.Sprintf("%v: %v,", k, this.ServiceConfigs[k]) @@ -839,8 +1070,8 @@ func (this *HttpClientConfig) String() string { `Transport:` + strings.Replace(fmt.Sprintf("%v", this.Transport), "TransportConfig", "TransportConfig", 1) + `,`, `ServiceConfigs:` + mapStringForServiceConfigs + `,`, `DefaultDestinationService:` + fmt.Sprintf("%v", this.DefaultDestinationService) + `,`, - `MixerAttributes:` + strings.Replace(fmt.Sprintf("%v", this.MixerAttributes), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, - `ForwardAttributes:` + strings.Replace(fmt.Sprintf("%v", this.ForwardAttributes), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, + `MixerAttributes:` + strings.Replace(fmt.Sprintf("%v", this.MixerAttributes), "Attributes", "v1.Attributes", 1) + `,`, + `ForwardAttributes:` + strings.Replace(fmt.Sprintf("%v", this.ForwardAttributes), "Attributes", "v1.Attributes", 1) + `,`, `}`, }, "") return s @@ -851,11 +1082,11 @@ func (this *TcpClientConfig) String() string { } s := strings.Join([]string{`&TcpClientConfig{`, `Transport:` + strings.Replace(fmt.Sprintf("%v", this.Transport), "TransportConfig", "TransportConfig", 1) + `,`, - `MixerAttributes:` + strings.Replace(fmt.Sprintf("%v", this.MixerAttributes), "Attributes", "istio_mixer_v1.Attributes", 1) + `,`, + `MixerAttributes:` + strings.Replace(fmt.Sprintf("%v", this.MixerAttributes), "Attributes", "v1.Attributes", 1) + `,`, `DisableCheckCalls:` + fmt.Sprintf("%v", this.DisableCheckCalls) + `,`, `DisableReportCalls:` + fmt.Sprintf("%v", this.DisableReportCalls) + `,`, `ConnectionQuotaSpec:` + strings.Replace(fmt.Sprintf("%v", this.ConnectionQuotaSpec), "QuotaSpec", "QuotaSpec", 1) + `,`, - `ReportInterval:` + strings.Replace(fmt.Sprintf("%v", this.ReportInterval), "Duration", "google_protobuf1.Duration", 1) + `,`, + `ReportInterval:` + strings.Replace(fmt.Sprintf("%v", this.ReportInterval), "Duration", "types.Duration", 1) + `,`, `}`, }, "") return s @@ -883,7 +1114,7 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -911,7 +1142,7 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Policy |= (NetworkFailPolicy_FailPolicy(b) & 0x7F) << shift + m.Policy |= NetworkFailPolicy_FailPolicy(b&0x7F) << shift if b < 0x80 { break } @@ -930,7 +1161,7 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxRetry |= (uint32(b) & 0x7F) << shift + m.MaxRetry |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -949,7 +1180,7 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -958,11 +1189,14 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.BaseRetryWait == nil { - m.BaseRetryWait = &google_protobuf1.Duration{} + m.BaseRetryWait = &types.Duration{} } if err := m.BaseRetryWait.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -982,7 +1216,7 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -991,11 +1225,14 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.MaxRetryWait == nil { - m.MaxRetryWait = &google_protobuf1.Duration{} + m.MaxRetryWait = &types.Duration{} } if err := m.MaxRetryWait.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1010,6 +1247,9 @@ func (m *NetworkFailPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthClientConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthClientConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1037,7 +1277,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1065,7 +1305,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1085,7 +1325,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1105,7 +1345,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1114,11 +1354,14 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.MixerAttributes == nil { - m.MixerAttributes = &istio_mixer_v1.Attributes{} + m.MixerAttributes = &v1.Attributes{} } if err := m.MixerAttributes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1138,7 +1381,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1147,6 +1390,9 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1169,7 +1415,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1178,6 +1424,9 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1200,7 +1449,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1209,6 +1458,9 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1233,7 +1485,7 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1242,11 +1494,14 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ForwardAttributes == nil { - m.ForwardAttributes = &istio_mixer_v1.Attributes{} + m.ForwardAttributes = &v1.Attributes{} } if err := m.ForwardAttributes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1261,6 +1516,9 @@ func (m *ServiceConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthClientConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthClientConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1288,7 +1546,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1316,7 +1574,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1336,7 +1594,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1356,7 +1614,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1376,7 +1634,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1385,6 +1643,9 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1409,7 +1670,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1418,11 +1679,14 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.StatsUpdateInterval == nil { - m.StatsUpdateInterval = &google_protobuf1.Duration{} + m.StatsUpdateInterval = &types.Duration{} } if err := m.StatsUpdateInterval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1442,7 +1706,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1452,6 +1716,9 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1471,7 +1738,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1481,6 +1748,9 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1500,7 +1770,7 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1509,11 +1779,14 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.AttributesForMixerProxy == nil { - m.AttributesForMixerProxy = &istio_mixer_v1.Attributes{} + m.AttributesForMixerProxy = &v1.Attributes{} } if err := m.AttributesForMixerProxy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1528,6 +1801,9 @@ func (m *TransportConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthClientConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthClientConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1555,7 +1831,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1583,7 +1859,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1592,6 +1868,9 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1616,7 +1895,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1625,6 +1904,9 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1645,7 +1927,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1662,7 +1944,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1672,6 +1954,9 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthClientConfig + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1688,7 +1973,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1697,7 +1982,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthClientConfig } if postmsgIndex > l { @@ -1739,7 +2024,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1749,6 +2034,9 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1768,7 +2056,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1777,11 +2065,14 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.MixerAttributes == nil { - m.MixerAttributes = &istio_mixer_v1.Attributes{} + m.MixerAttributes = &v1.Attributes{} } if err := m.MixerAttributes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1801,7 +2092,7 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1810,11 +2101,14 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ForwardAttributes == nil { - m.ForwardAttributes = &istio_mixer_v1.Attributes{} + m.ForwardAttributes = &v1.Attributes{} } if err := m.ForwardAttributes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1829,6 +2123,9 @@ func (m *HttpClientConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthClientConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthClientConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1856,7 +2153,7 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1884,7 +2181,7 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1893,6 +2190,9 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1917,7 +2217,7 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1926,11 +2226,14 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.MixerAttributes == nil { - m.MixerAttributes = &istio_mixer_v1.Attributes{} + m.MixerAttributes = &v1.Attributes{} } if err := m.MixerAttributes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1950,7 +2253,7 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1970,7 +2273,7 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1990,7 +2293,7 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1999,6 +2302,9 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2023,7 +2329,7 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2032,11 +2338,14 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthClientConfig } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthClientConfig + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ReportInterval == nil { - m.ReportInterval = &google_protobuf1.Duration{} + m.ReportInterval = &types.Duration{} } if err := m.ReportInterval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2051,6 +2360,9 @@ func (m *TcpClientConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthClientConfig } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthClientConfig + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2117,10 +2429,13 @@ func skipClientConfig(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthClientConfig } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthClientConfig + } return iNdEx, nil case 3: for { @@ -2149,6 +2464,9 @@ func skipClientConfig(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthClientConfig + } } return iNdEx, nil case 4: @@ -2167,71 +2485,3 @@ var ( ErrInvalidLengthClientConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowClientConfig = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("mixer/v1/config/client/client_config.proto", fileDescriptorClientConfig) -} - -var fileDescriptorClientConfig = []byte{ - // 945 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x6f, 0x1a, 0x47, - 0x18, 0x66, 0x01, 0x3b, 0x66, 0x08, 0x1f, 0x1e, 0x12, 0x15, 0x93, 0x6a, 0x85, 0x88, 0xa2, 0xd2, - 0x46, 0x5d, 0x1a, 0x7a, 0xa9, 0x72, 0x68, 0x85, 0x89, 0xad, 0x58, 0x8d, 0x13, 0xba, 0x76, 0x14, - 0xa9, 0x3d, 0x8c, 0x86, 0x65, 0x80, 0x91, 0xd7, 0x3b, 0x9b, 0xd9, 0x01, 0xdb, 0xb7, 0xfe, 0x82, - 0xaa, 0x3f, 0x23, 0x7f, 0xa0, 0xff, 0x21, 0xc7, 0x1c, 0x7b, 0xac, 0xe9, 0xa5, 0x47, 0x1f, 0x2b, - 0xf5, 0x52, 0xed, 0xcc, 0x2c, 0x6b, 0x6c, 0x3e, 0x4a, 0xd5, 0x9e, 0x98, 0x7d, 0xdf, 0xe7, 0x79, - 0x77, 0xf6, 0x79, 0x9f, 0x79, 0x07, 0xf0, 0xd9, 0x29, 0x3d, 0x27, 0xbc, 0x31, 0x7e, 0xd2, 0x70, - 0x98, 0xd7, 0xa7, 0x83, 0x86, 0xe3, 0x52, 0xe2, 0x09, 0xfd, 0x83, 0x54, 0xd0, 0xf2, 0x39, 0x13, - 0x0c, 0x7e, 0x4c, 0x03, 0x41, 0x99, 0x25, 0x19, 0xd6, 0xf8, 0x89, 0xa5, 0x93, 0x0a, 0x5a, 0xb9, - 0x37, 0x60, 0x03, 0x26, 0x81, 0x8d, 0x70, 0xa5, 0x38, 0x15, 0x73, 0xc0, 0xd8, 0xc0, 0x25, 0x0d, - 0xf9, 0xd4, 0x1d, 0xf5, 0x1b, 0xbd, 0x11, 0xc7, 0x82, 0x32, 0x4f, 0xe7, 0x77, 0xa6, 0xef, 0xc7, - 0x42, 0x70, 0xda, 0x1d, 0x09, 0x12, 0xe8, 0xd4, 0xa3, 0x05, 0x5b, 0xc3, 0x3e, 0x45, 0x81, 0x4f, - 0x1c, 0x0d, 0xab, 0x2d, 0x80, 0xbd, 0x1d, 0x31, 0x81, 0x15, 0xa6, 0xf6, 0x4b, 0x12, 0x6c, 0xbf, - 0x24, 0xe2, 0x8c, 0xf1, 0x93, 0x7d, 0x4c, 0xdd, 0x0e, 0x73, 0xa9, 0x73, 0x01, 0x6d, 0xb0, 0xe9, - 0xcb, 0x55, 0xd9, 0xa8, 0x1a, 0xf5, 0x7c, 0xf3, 0xa9, 0xb5, 0xec, 0x03, 0xad, 0x5b, 0x05, 0xac, - 0x78, 0x69, 0xeb, 0x4a, 0xf0, 0x01, 0xc8, 0x9c, 0xe2, 0x73, 0xc4, 0x89, 0xe0, 0x17, 0xe5, 0x64, - 0xd5, 0xa8, 0xe7, 0xec, 0xad, 0x53, 0x7c, 0x6e, 0x87, 0xcf, 0xb0, 0x05, 0x0a, 0x5d, 0x1c, 0x10, - 0x95, 0x45, 0x67, 0x98, 0x8a, 0x72, 0xaa, 0x6a, 0xd4, 0xb3, 0xcd, 0x1d, 0x4b, 0xc9, 0x64, 0x45, - 0x32, 0x59, 0xcf, 0xb4, 0x4c, 0x76, 0x2e, 0x64, 0x48, 0xfa, 0x1b, 0x4c, 0x05, 0xfc, 0x06, 0xe4, - 0xa7, 0xf5, 0x55, 0x85, 0xf4, 0xaa, 0x0a, 0x77, 0xa3, 0xf7, 0x87, 0x05, 0x6a, 0x8f, 0x01, 0xb8, - 0x26, 0x41, 0x0e, 0x64, 0xf6, 0x5b, 0x07, 0x2f, 0xd0, 0xab, 0xce, 0xde, 0xcb, 0x62, 0x02, 0xe6, - 0x01, 0x90, 0x8f, 0xed, 0x17, 0xaf, 0x8e, 0xf6, 0x8a, 0x46, 0xed, 0xaf, 0x14, 0xc8, 0x1d, 0x11, - 0x3e, 0xa6, 0x0e, 0x69, 0x4b, 0x2d, 0xa0, 0x05, 0x4a, 0x3d, 0x1a, 0xe0, 0xae, 0x4b, 0x90, 0x33, - 0x24, 0xce, 0x09, 0x72, 0xb0, 0xeb, 0x06, 0x52, 0xc0, 0x2d, 0x7b, 0x5b, 0xa7, 0xda, 0x61, 0xa6, - 0x1d, 0x26, 0xe0, 0x17, 0xe0, 0x5e, 0x84, 0xe7, 0xc4, 0x67, 0x5c, 0x68, 0x42, 0x52, 0x12, 0xa0, - 0xce, 0xd9, 0x32, 0xa5, 0x18, 0x7b, 0xa0, 0x28, 0x1b, 0x80, 0x62, 0x43, 0x68, 0x95, 0x2a, 0x37, - 0xfb, 0xd3, 0x9a, 0x22, 0xec, 0x82, 0x0c, 0xc6, 0x01, 0x78, 0x08, 0x72, 0x43, 0x21, 0x7c, 0x14, - 0xb9, 0xa5, 0x9c, 0xae, 0xa6, 0xea, 0xd9, 0xe6, 0xa7, 0xcb, 0x7b, 0xfc, 0xfc, 0xf8, 0xb8, 0xd3, - 0xea, 0x1c, 0x1c, 0xf9, 0xc4, 0xb1, 0xb3, 0x21, 0xbf, 0xe5, 0xd3, 0xf0, 0x01, 0xee, 0x03, 0x20, - 0x0d, 0xa5, 0x6a, 0x6d, 0xc8, 0x5a, 0x9f, 0x2c, 0xaf, 0xf5, 0x5d, 0x88, 0x97, 0x95, 0x32, 0x6f, - 0xa3, 0x25, 0x44, 0xa0, 0xe4, 0x29, 0x1f, 0xa1, 0x3e, 0xa6, 0x2e, 0xd2, 0x06, 0xbc, 0x23, 0x3f, - 0xb0, 0xb1, 0xa6, 0x01, 0xed, 0x6d, 0xef, 0x96, 0xa9, 0x0f, 0x00, 0xec, 0x33, 0x7e, 0x86, 0x79, - 0xef, 0xba, 0x80, 0x5b, 0x2b, 0x05, 0xdc, 0xd6, 0xac, 0x38, 0x54, 0xfb, 0x33, 0x05, 0x0a, 0xc7, - 0x1c, 0x7b, 0x81, 0x6c, 0xce, 0xc2, 0xfe, 0x3b, 0x43, 0x32, 0xbf, 0xff, 0xce, 0x90, 0x5c, 0xc7, - 0x2b, 0xfd, 0x14, 0x3e, 0x39, 0x83, 0x97, 0x4a, 0x29, 0xfc, 0x6d, 0xbf, 0x74, 0xb1, 0x70, 0x86, - 0xd2, 0x01, 0x37, 0xfd, 0xb2, 0x1b, 0x66, 0x16, 0x29, 0x9a, 0xfe, 0xcf, 0x14, 0x3d, 0x04, 0xf7, - 0x03, 0x81, 0x45, 0x80, 0x46, 0x7e, 0x0f, 0x0b, 0x82, 0xa8, 0x27, 0x08, 0x1f, 0x63, 0xb7, 0xbc, - 0xb1, 0xea, 0xe4, 0x95, 0x24, 0xef, 0xb5, 0xa4, 0x1d, 0x68, 0x16, 0x7c, 0x08, 0x72, 0x5a, 0x39, - 0x77, 0x14, 0x08, 0xc2, 0xcb, 0x9b, 0x55, 0xa3, 0x9e, 0xb1, 0xef, 0xca, 0x60, 0x5b, 0xc5, 0xe0, - 0x23, 0x90, 0x8f, 0x8e, 0x8b, 0x46, 0xdd, 0x91, 0xa8, 0x9c, 0x8a, 0x46, 0xb0, 0x37, 0xa0, 0x12, - 0x37, 0x19, 0xf5, 0x19, 0x47, 0xea, 0xe8, 0xf8, 0x9c, 0x9d, 0x5f, 0xfc, 0x83, 0xa6, 0x7f, 0x14, - 0xb3, 0xf7, 0x19, 0x3f, 0x0c, 0x11, 0x9d, 0x90, 0x5a, 0xfb, 0x29, 0x0d, 0x8a, 0xcf, 0x85, 0xf0, - 0xdb, 0x52, 0x27, 0xdd, 0xfb, 0x6f, 0x41, 0x46, 0x44, 0x76, 0x90, 0x1d, 0xcf, 0x36, 0x3f, 0x5f, - 0xae, 0xef, 0x0d, 0xf7, 0xd8, 0x31, 0x1f, 0x9e, 0x80, 0x42, 0xa0, 0x26, 0x8b, 0xbe, 0x64, 0xc2, - 0x99, 0x10, 0x9e, 0xaa, 0xdd, 0x15, 0x27, 0xf4, 0xc6, 0xae, 0xac, 0x99, 0xf9, 0x14, 0xec, 0x79, - 0x82, 0x5f, 0xd8, 0xf9, 0x60, 0x26, 0x08, 0xbf, 0x06, 0x0f, 0x7a, 0xa4, 0x8f, 0x47, 0xae, 0x40, - 0x3d, 0x12, 0x08, 0xea, 0xc9, 0xfe, 0x20, 0x8d, 0x92, 0xe6, 0xca, 0xd8, 0x3b, 0x1a, 0xf2, 0x2c, - 0x46, 0xe8, 0xda, 0x73, 0x67, 0x52, 0x7a, 0xfd, 0x99, 0x34, 0xff, 0x6c, 0x6e, 0xfc, 0x8b, 0xb3, - 0x59, 0xf1, 0x40, 0x69, 0xce, 0x87, 0xc3, 0x22, 0x48, 0x9d, 0x10, 0x75, 0x9f, 0x65, 0xec, 0x70, - 0x09, 0x5b, 0x60, 0x63, 0x8c, 0xdd, 0x91, 0x3a, 0x72, 0xd9, 0xe6, 0xe3, 0xe5, 0xea, 0xce, 0xd4, - 0xb4, 0x15, 0xf3, 0x69, 0xf2, 0x2b, 0xa3, 0xf6, 0x2e, 0x9c, 0x05, 0xce, 0xff, 0xe8, 0x87, 0x79, - 0x12, 0x27, 0xd7, 0x97, 0x78, 0xc1, 0xfd, 0x94, 0x5a, 0xf7, 0x7e, 0x4a, 0x2f, 0xbc, 0x9f, 0x7e, - 0x00, 0xf7, 0x1d, 0xe6, 0x79, 0xc4, 0x91, 0x16, 0x9a, 0xb9, 0x14, 0x8c, 0x75, 0x2e, 0x85, 0x52, - 0x5c, 0x65, 0x1a, 0x84, 0xbb, 0xa0, 0xa0, 0xb7, 0x31, 0x9d, 0x32, 0x9b, 0xab, 0xa6, 0x8c, 0x9e, - 0x14, 0xd1, 0x80, 0xd9, 0x7d, 0xfd, 0xfe, 0xd2, 0x4c, 0x7c, 0xb8, 0x34, 0x13, 0xbf, 0x5e, 0x9a, - 0x89, 0xab, 0x4b, 0x33, 0xf1, 0xe3, 0xc4, 0x34, 0xde, 0x4d, 0xcc, 0xc4, 0xfb, 0x89, 0x69, 0x7c, - 0x98, 0x98, 0xc6, 0x6f, 0x13, 0xd3, 0xf8, 0x63, 0x62, 0x26, 0xae, 0x26, 0xa6, 0xf1, 0xf3, 0xef, - 0x66, 0xe2, 0xfb, 0x87, 0x6a, 0xcb, 0x94, 0x85, 0xff, 0xad, 0x1a, 0xf3, 0xff, 0x4f, 0x75, 0x37, - 0xe5, 0x9b, 0xbf, 0xfc, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x85, 0x74, 0xc6, 0xd6, 0x32, 0x0a, 0x00, - 0x00, -} diff --git a/mixer/v1/config/client/quota.pb.go b/mixer/v1/config/client/quota.pb.go index 4ef4f86cfab..02e71e22b1c 100644 --- a/mixer/v1/config/client/quota.pb.go +++ b/mixer/v1/config/client/quota.pb.go @@ -3,45 +3,107 @@ package client -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Determines the quotas used for individual requests. type QuotaSpec struct { // A list of Quota rules. - Rules []*QuotaRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"` + Rules []*QuotaRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } -func (m *QuotaSpec) Reset() { *m = QuotaSpec{} } -func (*QuotaSpec) ProtoMessage() {} -func (*QuotaSpec) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{0} } +func (m *QuotaSpec) Reset() { *m = QuotaSpec{} } +func (*QuotaSpec) ProtoMessage() {} +func (*QuotaSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_81777b5d047af315, []int{0} +} +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 + } +} +func (m *QuotaSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaSpec.Merge(m, src) +} +func (m *QuotaSpec) XXX_Size() int { + return m.Size() +} +func (m *QuotaSpec) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaSpec proto.InternalMessageInfo // Specifies a rule with list of matches and list of quotas. // If any clause matched, the list of quotas will be used. type QuotaRule struct { // If empty, match all request. // If any of match is true, it is matched. - Match []*AttributeMatch `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` + Match []*AttributeMatch `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` // The list of quotas to charge. - Quotas []*Quota `protobuf:"bytes,2,rep,name=quotas" json:"quotas,omitempty"` + Quotas []*Quota `protobuf:"bytes,2,rep,name=quotas,proto3" json:"quotas,omitempty"` } -func (m *QuotaRule) Reset() { *m = QuotaRule{} } -func (*QuotaRule) ProtoMessage() {} -func (*QuotaRule) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{1} } +func (m *QuotaRule) Reset() { *m = QuotaRule{} } +func (*QuotaRule) ProtoMessage() {} +func (*QuotaRule) Descriptor() ([]byte, []int) { + return fileDescriptor_81777b5d047af315, []int{1} +} +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 + } +} +func (m *QuotaRule) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaRule.Merge(m, src) +} +func (m *QuotaRule) XXX_Size() int { + return m.Size() +} +func (m *QuotaRule) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaRule.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaRule proto.InternalMessageInfo // Describes how to match a given string in HTTP headers. Match is // case-sensitive. @@ -53,9 +115,37 @@ type StringMatch struct { MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` } -func (m *StringMatch) Reset() { *m = StringMatch{} } -func (*StringMatch) ProtoMessage() {} -func (*StringMatch) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{2} } +func (m *StringMatch) Reset() { *m = StringMatch{} } +func (*StringMatch) ProtoMessage() {} +func (*StringMatch) Descriptor() ([]byte, []int) { + return fileDescriptor_81777b5d047af315, []int{2} +} +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 + } +} +func (m *StringMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringMatch.Merge(m, src) +} +func (m *StringMatch) XXX_Size() int { + return m.Size() +} +func (m *StringMatch) XXX_DiscardUnknown() { + xxx_messageInfo_StringMatch.DiscardUnknown(m) +} + +var xxx_messageInfo_StringMatch proto.InternalMessageInfo type isStringMatch_MatchType interface { isStringMatch_MatchType() @@ -168,15 +258,15 @@ func _StringMatch_OneofSizer(msg proto.Message) (n int) { // match_type switch x := m.MatchType.(type) { case *StringMatch_Exact: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Exact))) n += len(x.Exact) case *StringMatch_Prefix: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Prefix))) n += len(x.Prefix) case *StringMatch_Regex: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Regex))) n += len(x.Regex) case nil: @@ -198,12 +288,40 @@ type AttributeMatch struct { // exact: SOURCE_UID // request.http_method: // exact: POST - Clause map[string]*StringMatch `protobuf:"bytes,1,rep,name=clause" json:"clause,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Clause map[string]*StringMatch `protobuf:"bytes,1,rep,name=clause,proto3" json:"clause,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *AttributeMatch) Reset() { *m = AttributeMatch{} } -func (*AttributeMatch) ProtoMessage() {} -func (*AttributeMatch) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{3} } +func (m *AttributeMatch) Reset() { *m = AttributeMatch{} } +func (*AttributeMatch) ProtoMessage() {} +func (*AttributeMatch) Descriptor() ([]byte, []int) { + return fileDescriptor_81777b5d047af315, []int{3} +} +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 + } +} +func (m *AttributeMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AttributeMatch.Merge(m, src) +} +func (m *AttributeMatch) XXX_Size() int { + return m.Size() +} +func (m *AttributeMatch) XXX_DiscardUnknown() { + xxx_messageInfo_AttributeMatch.DiscardUnknown(m) +} + +var xxx_messageInfo_AttributeMatch proto.InternalMessageInfo // Specifies a quota to use with quota name and amount. type Quota struct { @@ -213,24 +331,80 @@ type Quota struct { Charge int64 `protobuf:"varint,2,opt,name=charge,proto3" json:"charge,omitempty"` } -func (m *Quota) Reset() { *m = Quota{} } -func (*Quota) ProtoMessage() {} -func (*Quota) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{4} } +func (m *Quota) Reset() { *m = Quota{} } +func (*Quota) ProtoMessage() {} +func (*Quota) Descriptor() ([]byte, []int) { + return fileDescriptor_81777b5d047af315, []int{4} +} +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 + } +} +func (m *Quota) XXX_Merge(src proto.Message) { + xxx_messageInfo_Quota.Merge(m, src) +} +func (m *Quota) XXX_Size() int { + return m.Size() +} +func (m *Quota) XXX_DiscardUnknown() { + xxx_messageInfo_Quota.DiscardUnknown(m) +} + +var xxx_messageInfo_Quota proto.InternalMessageInfo // QuotaSpecBinding defines the binding between QuotaSpecs and one or more // IstioService. type QuotaSpecBinding struct { // REQUIRED. One or more services to map the listed QuotaSpec onto. - Services []*IstioService `protobuf:"bytes,1,rep,name=services" json:"services,omitempty"` + Services []*IstioService `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` // REQUIRED. One or more QuotaSpec references that should be mapped to // the specified service(s). The aggregate collection of match // conditions defined in the QuotaSpecs should not overlap. - QuotaSpecs []*QuotaSpecBinding_QuotaSpecReference `protobuf:"bytes,2,rep,name=quota_specs,json=quotaSpecs" json:"quota_specs,omitempty"` + QuotaSpecs []*QuotaSpecBinding_QuotaSpecReference `protobuf:"bytes,2,rep,name=quota_specs,json=quotaSpecs,proto3" json:"quota_specs,omitempty"` +} + +func (m *QuotaSpecBinding) Reset() { *m = QuotaSpecBinding{} } +func (*QuotaSpecBinding) ProtoMessage() {} +func (*QuotaSpecBinding) Descriptor() ([]byte, []int) { + return fileDescriptor_81777b5d047af315, []int{5} +} +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 + } +} +func (m *QuotaSpecBinding) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaSpecBinding.Merge(m, src) +} +func (m *QuotaSpecBinding) XXX_Size() int { + return m.Size() +} +func (m *QuotaSpecBinding) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaSpecBinding.DiscardUnknown(m) } -func (m *QuotaSpecBinding) Reset() { *m = QuotaSpecBinding{} } -func (*QuotaSpecBinding) ProtoMessage() {} -func (*QuotaSpecBinding) Descriptor() ([]byte, []int) { return fileDescriptorQuota, []int{5} } +var xxx_messageInfo_QuotaSpecBinding proto.InternalMessageInfo // QuotaSpecReference uniquely identifies the QuotaSpec used in the // Binding. @@ -246,18 +420,86 @@ type QuotaSpecBinding_QuotaSpecReference struct { func (m *QuotaSpecBinding_QuotaSpecReference) Reset() { *m = QuotaSpecBinding_QuotaSpecReference{} } func (*QuotaSpecBinding_QuotaSpecReference) ProtoMessage() {} func (*QuotaSpecBinding_QuotaSpecReference) Descriptor() ([]byte, []int) { - return fileDescriptorQuota, []int{5, 0} + return fileDescriptor_81777b5d047af315, []int{5, 0} +} +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 + } } +func (m *QuotaSpecBinding_QuotaSpecReference) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaSpecBinding_QuotaSpecReference.Merge(m, src) +} +func (m *QuotaSpecBinding_QuotaSpecReference) XXX_Size() int { + return m.Size() +} +func (m *QuotaSpecBinding_QuotaSpecReference) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaSpecBinding_QuotaSpecReference.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaSpecBinding_QuotaSpecReference proto.InternalMessageInfo func init() { proto.RegisterType((*QuotaSpec)(nil), "istio.mixer.v1.config.client.QuotaSpec") proto.RegisterType((*QuotaRule)(nil), "istio.mixer.v1.config.client.QuotaRule") proto.RegisterType((*StringMatch)(nil), "istio.mixer.v1.config.client.StringMatch") proto.RegisterType((*AttributeMatch)(nil), "istio.mixer.v1.config.client.AttributeMatch") + proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.mixer.v1.config.client.AttributeMatch.ClauseEntry") proto.RegisterType((*Quota)(nil), "istio.mixer.v1.config.client.Quota") proto.RegisterType((*QuotaSpecBinding)(nil), "istio.mixer.v1.config.client.QuotaSpecBinding") proto.RegisterType((*QuotaSpecBinding_QuotaSpecReference)(nil), "istio.mixer.v1.config.client.QuotaSpecBinding.QuotaSpecReference") } + +func init() { proto.RegisterFile("mixer/v1/config/client/quota.proto", fileDescriptor_81777b5d047af315) } + +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, +} + func (m *QuotaSpec) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -536,6 +778,9 @@ func encodeVarintQuota(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *QuotaSpec) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Rules) > 0 { @@ -548,6 +793,9 @@ func (m *QuotaSpec) Size() (n int) { } func (m *QuotaRule) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Match) > 0 { @@ -566,6 +814,9 @@ func (m *QuotaRule) Size() (n int) { } func (m *StringMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.MatchType != nil { @@ -575,6 +826,9 @@ func (m *StringMatch) Size() (n int) { } func (m *StringMatch_Exact) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Exact) @@ -582,6 +836,9 @@ func (m *StringMatch_Exact) Size() (n int) { return n } func (m *StringMatch_Prefix) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Prefix) @@ -589,6 +846,9 @@ func (m *StringMatch_Prefix) Size() (n int) { return n } func (m *StringMatch_Regex) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Regex) @@ -596,6 +856,9 @@ func (m *StringMatch_Regex) Size() (n int) { return n } func (m *AttributeMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Clause) > 0 { @@ -615,6 +878,9 @@ func (m *AttributeMatch) Size() (n int) { } func (m *Quota) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Quota) @@ -628,6 +894,9 @@ func (m *Quota) Size() (n int) { } func (m *QuotaSpecBinding) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Services) > 0 { @@ -646,6 +915,9 @@ func (m *QuotaSpecBinding) Size() (n int) { } func (m *QuotaSpecBinding_QuotaSpecReference) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -741,7 +1013,7 @@ func (this *AttributeMatch) String() string { for k, _ := range this.Clause { keysForClause = append(keysForClause, k) } - sortkeys.Strings(keysForClause) + github_com_gogo_protobuf_sortkeys.Strings(keysForClause) mapStringForClause := "map[string]*StringMatch{" for _, k := range keysForClause { mapStringForClause += fmt.Sprintf("%v: %v,", k, this.Clause[k]) @@ -809,7 +1081,7 @@ func (m *QuotaSpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -837,7 +1109,7 @@ func (m *QuotaSpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -846,6 +1118,9 @@ func (m *QuotaSpec) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -863,6 +1138,9 @@ func (m *QuotaSpec) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -890,7 +1168,7 @@ func (m *QuotaRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -918,7 +1196,7 @@ func (m *QuotaRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -927,6 +1205,9 @@ func (m *QuotaRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -949,7 +1230,7 @@ func (m *QuotaRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -958,6 +1239,9 @@ func (m *QuotaRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -975,6 +1259,9 @@ func (m *QuotaRule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1002,7 +1289,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1030,7 +1317,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1040,6 +1327,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1059,7 +1349,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1069,6 +1359,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1088,7 +1381,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1098,6 +1391,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1112,6 +1408,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1139,7 +1438,7 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1167,7 +1466,7 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1176,6 +1475,9 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1196,7 +1498,7 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1213,7 +1515,7 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1223,6 +1525,9 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthQuota + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1239,7 +1544,7 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1248,7 +1553,7 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthQuota } if postmsgIndex > l { @@ -1285,6 +1590,9 @@ func (m *AttributeMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1312,7 +1620,7 @@ func (m *Quota) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1340,7 +1648,7 @@ func (m *Quota) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1350,6 +1658,9 @@ func (m *Quota) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1369,7 +1680,7 @@ func (m *Quota) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Charge |= (int64(b) & 0x7F) << shift + m.Charge |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -1383,6 +1694,9 @@ func (m *Quota) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1410,7 +1724,7 @@ func (m *QuotaSpecBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1438,7 +1752,7 @@ func (m *QuotaSpecBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1447,6 +1761,9 @@ func (m *QuotaSpecBinding) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1469,7 +1786,7 @@ func (m *QuotaSpecBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1478,6 +1795,9 @@ func (m *QuotaSpecBinding) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1495,6 +1815,9 @@ func (m *QuotaSpecBinding) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1522,7 +1845,7 @@ func (m *QuotaSpecBinding_QuotaSpecReference) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1550,7 +1873,7 @@ func (m *QuotaSpecBinding_QuotaSpecReference) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1560,6 +1883,9 @@ func (m *QuotaSpecBinding_QuotaSpecReference) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1579,7 +1905,7 @@ func (m *QuotaSpecBinding_QuotaSpecReference) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1589,6 +1915,9 @@ func (m *QuotaSpecBinding_QuotaSpecReference) Unmarshal(dAtA []byte) error { return ErrInvalidLengthQuota } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuota + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1603,6 +1932,9 @@ func (m *QuotaSpecBinding_QuotaSpecReference) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthQuota } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthQuota + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1669,10 +2001,13 @@ func skipQuota(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthQuota } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthQuota + } return iNdEx, nil case 3: for { @@ -1701,6 +2036,9 @@ func skipQuota(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthQuota + } } return iNdEx, nil case 4: @@ -1719,43 +2057,3 @@ var ( ErrInvalidLengthQuota = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowQuota = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/v1/config/client/quota.proto", fileDescriptorQuota) } - -var fileDescriptorQuota = []byte{ - // 533 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x4f, 0x6b, 0x13, 0x4f, - 0x18, 0xc7, 0x77, 0x93, 0xdf, 0x86, 0x5f, 0x9e, 0x88, 0x94, 0xa1, 0x94, 0x25, 0x94, 0xa1, 0x6c, - 0x05, 0xab, 0xc8, 0x2e, 0xad, 0x08, 0x45, 0x11, 0x69, 0xc4, 0xa2, 0x82, 0xa0, 0x53, 0xbc, 0x78, - 0x29, 0x9b, 0xe9, 0x93, 0xed, 0x60, 0xb2, 0xbb, 0x9d, 0x9d, 0x0d, 0xc9, 0xcd, 0x93, 0x27, 0x0f, - 0xbe, 0x0c, 0x5f, 0x4a, 0x8e, 0x3d, 0x7a, 0x34, 0xeb, 0xc5, 0x63, 0x5f, 0x82, 0xec, 0xcc, 0xa4, - 0x8d, 0xa8, 0xa1, 0x9e, 0xf6, 0x79, 0x9e, 0x7d, 0x3e, 0xdf, 0xe7, 0x0f, 0xcf, 0x40, 0x30, 0x12, - 0x13, 0x94, 0xd1, 0x78, 0x37, 0xe2, 0x59, 0x3a, 0x10, 0x49, 0xc4, 0x87, 0x02, 0x53, 0x15, 0x9d, - 0x95, 0x99, 0x8a, 0xc3, 0x5c, 0x66, 0x2a, 0x23, 0x9b, 0xa2, 0x50, 0x22, 0x0b, 0x75, 0x66, 0x38, - 0xde, 0x0d, 0x4d, 0x66, 0x68, 0x32, 0xbb, 0xeb, 0x49, 0x96, 0x64, 0x3a, 0x31, 0xaa, 0x2d, 0xc3, - 0x74, 0x6f, 0xfd, 0x45, 0xb7, 0x40, 0x39, 0x16, 0x1c, 0x4d, 0x56, 0xf0, 0x12, 0xda, 0x6f, 0xea, - 0x42, 0x47, 0x39, 0x72, 0xf2, 0x18, 0x3c, 0x59, 0x0e, 0xb1, 0xf0, 0xdd, 0xad, 0xe6, 0x4e, 0x67, - 0xef, 0x76, 0xb8, 0xaa, 0x6c, 0xa8, 0x39, 0x56, 0x0e, 0x91, 0x19, 0x2a, 0xf8, 0xe4, 0x5a, 0xb1, - 0x3a, 0x48, 0x7a, 0xe0, 0x8d, 0x62, 0xc5, 0x4f, 0xad, 0xd8, 0xbd, 0xd5, 0x62, 0x07, 0x4a, 0x49, - 0xd1, 0x2f, 0x15, 0xbe, 0xaa, 0x19, 0x66, 0x50, 0xf2, 0x08, 0x5a, 0x7a, 0x0d, 0x85, 0xdf, 0xd0, - 0x22, 0xdb, 0xd7, 0xe9, 0xc8, 0x22, 0x01, 0x42, 0xe7, 0x48, 0x49, 0x91, 0x26, 0x5a, 0x92, 0x6c, - 0x80, 0x87, 0x93, 0x98, 0x2b, 0xdf, 0xdd, 0x72, 0x77, 0xda, 0xcf, 0x1d, 0x66, 0x5c, 0xe2, 0x43, - 0x2b, 0x97, 0x38, 0x10, 0x13, 0xbf, 0x61, 0x7f, 0x58, 0xbf, 0x26, 0x24, 0x26, 0x38, 0xf1, 0x9b, - 0x0b, 0x42, 0xbb, 0xbd, 0x1b, 0x00, 0xba, 0xbd, 0x63, 0x35, 0xcd, 0x31, 0x98, 0xb9, 0x70, 0xf3, - 0xd7, 0xee, 0xc9, 0x6b, 0x68, 0xf1, 0x61, 0x5c, 0x16, 0x68, 0x67, 0xdf, 0xff, 0x97, 0xd9, 0xc3, - 0xa7, 0x1a, 0x7d, 0x96, 0x2a, 0x39, 0x65, 0x56, 0xa7, 0x7b, 0x02, 0x9d, 0xa5, 0x30, 0x59, 0x83, - 0xe6, 0x7b, 0x9c, 0x9a, 0x49, 0x58, 0x6d, 0x92, 0x27, 0xe0, 0x8d, 0xe3, 0x61, 0x89, 0x7a, 0x88, - 0xce, 0xde, 0x9d, 0xd5, 0x15, 0x97, 0xf6, 0xc2, 0x0c, 0xf7, 0xb0, 0xb1, 0xef, 0x06, 0x0f, 0xc0, - 0xd3, 0x2b, 0x24, 0xeb, 0xe0, 0xe9, 0x25, 0xda, 0x0a, 0xc6, 0x21, 0x1b, 0xd0, 0xe2, 0xa7, 0xb1, - 0x4c, 0x4c, 0x91, 0x26, 0xb3, 0x5e, 0xf0, 0xb1, 0x01, 0x6b, 0x97, 0x47, 0xd4, 0x13, 0xe9, 0x89, - 0x48, 0x13, 0x72, 0x08, 0xff, 0xdb, 0x4b, 0x5b, 0x9c, 0xd3, 0xdd, 0xd5, 0x3d, 0xbd, 0xa8, 0x7f, - 0x1e, 0x19, 0x84, 0x5d, 0xb2, 0xa4, 0x0f, 0x1d, 0x5d, 0xfd, 0xb8, 0xc8, 0x91, 0x2f, 0xee, 0xe0, - 0xe0, 0x1a, 0x77, 0xb0, 0xd4, 0xcc, 0x55, 0x80, 0xe1, 0x00, 0x25, 0xa6, 0x1c, 0x19, 0x9c, 0x2d, - 0x62, 0x45, 0xf7, 0x10, 0xc8, 0xef, 0x19, 0x84, 0xc0, 0x7f, 0x69, 0x3c, 0x42, 0xbb, 0x03, 0x6d, - 0x93, 0x4d, 0x68, 0xd7, 0xdf, 0x22, 0x8f, 0xb9, 0xd9, 0x42, 0x9b, 0x5d, 0x05, 0x7a, 0x6f, 0x67, - 0x73, 0xea, 0x9c, 0xcf, 0xa9, 0xf3, 0x75, 0x4e, 0x9d, 0x8b, 0x39, 0x75, 0x3e, 0x54, 0xd4, 0xfd, - 0x52, 0x51, 0x67, 0x56, 0x51, 0xf7, 0xbc, 0xa2, 0xee, 0xb7, 0x8a, 0xba, 0x3f, 0x2a, 0xea, 0x5c, - 0x54, 0xd4, 0xfd, 0xfc, 0x9d, 0x3a, 0xef, 0xb6, 0xcd, 0x1c, 0x22, 0x8b, 0xe2, 0x5c, 0x44, 0x7f, - 0x7e, 0xb1, 0xfd, 0x96, 0x7e, 0xaa, 0xf7, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0x84, 0xe2, 0xec, - 0x62, 0x2a, 0x04, 0x00, 0x00, -} diff --git a/mixer/v1/config/client/service.pb.go b/mixer/v1/config/client/service.pb.go index bbf3e660920..11e541be687 100644 --- a/mixer/v1/config/client/service.pb.go +++ b/mixer/v1/config/client/service.pb.go @@ -3,22 +3,28 @@ package client -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // IstioService identifies a service and optionally service version. // The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix // (e.g. on Kubernetes, "reviews" + "default" + "svc.cluster.local" -> "reviews.default.svc.cluster.local"). @@ -35,16 +41,74 @@ type IstioService struct { // // *Note:* When used for a VirtualService destination, labels MUST be empty. // - Labels map[string]string `protobuf:"bytes,5,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *IstioService) Reset() { *m = IstioService{} } -func (*IstioService) ProtoMessage() {} -func (*IstioService) Descriptor() ([]byte, []int) { return fileDescriptorService, []int{0} } +func (m *IstioService) Reset() { *m = IstioService{} } +func (*IstioService) ProtoMessage() {} +func (*IstioService) Descriptor() ([]byte, []int) { + return fileDescriptor_3358a28a51c817d5, []int{0} +} +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 + } +} +func (m *IstioService) XXX_Merge(src proto.Message) { + xxx_messageInfo_IstioService.Merge(m, src) +} +func (m *IstioService) XXX_Size() int { + return m.Size() +} +func (m *IstioService) XXX_DiscardUnknown() { + xxx_messageInfo_IstioService.DiscardUnknown(m) +} + +var xxx_messageInfo_IstioService proto.InternalMessageInfo func init() { proto.RegisterType((*IstioService)(nil), "istio.mixer.v1.config.client.IstioService") + proto.RegisterMapType((map[string]string)(nil), "istio.mixer.v1.config.client.IstioService.LabelsEntry") +} + +func init() { + proto.RegisterFile("mixer/v1/config/client/service.proto", fileDescriptor_3358a28a51c817d5) +} + +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, } + func (m *IstioService) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -114,6 +178,9 @@ func encodeVarintService(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *IstioService) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -164,7 +231,7 @@ func (this *IstioService) String() string { for k, _ := range this.Labels { keysForLabels = append(keysForLabels, k) } - sortkeys.Strings(keysForLabels) + github_com_gogo_protobuf_sortkeys.Strings(keysForLabels) mapStringForLabels := "map[string]string{" for _, k := range keysForLabels { mapStringForLabels += fmt.Sprintf("%v: %v,", k, this.Labels[k]) @@ -203,7 +270,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -231,7 +298,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -241,6 +308,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -260,7 +330,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -270,6 +340,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -289,7 +362,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -299,6 +372,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -318,7 +394,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -328,6 +404,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -347,7 +426,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -356,6 +435,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -376,7 +458,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -393,7 +475,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -403,6 +485,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -419,7 +504,7 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -429,6 +514,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -460,6 +548,9 @@ func (m *IstioService) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -526,10 +617,13 @@ func skipService(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthService } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthService + } return iNdEx, nil case 3: for { @@ -558,6 +652,9 @@ func skipService(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthService + } } return iNdEx, nil case 4: @@ -576,29 +673,3 @@ var ( ErrInvalidLengthService = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowService = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/v1/config/client/service.proto", fileDescriptorService) } - -var fileDescriptorService = []byte{ - // 308 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xc9, 0xcd, 0xac, 0x48, - 0x2d, 0xd2, 0x2f, 0x33, 0xd4, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x4f, 0xce, 0xc9, 0x4c, - 0xcd, 0x2b, 0xd1, 0x2f, 0x4e, 0x2d, 0x2a, 0xcb, 0x4c, 0x4e, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, - 0x17, 0x92, 0xc9, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0xab, 0xd5, 0x2b, 0x33, 0xd4, 0x83, 0xa8, - 0xd5, 0x83, 0xa8, 0x95, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x2b, 0xd4, 0x07, 0xb1, 0x20, 0x7a, - 0x94, 0xfe, 0x32, 0x72, 0xf1, 0x78, 0x82, 0xb4, 0x05, 0x43, 0x8c, 0x12, 0x12, 0xe2, 0x62, 0xc9, - 0x4b, 0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x64, 0xb8, 0x38, - 0x41, 0x74, 0x71, 0x41, 0x62, 0x72, 0xaa, 0x04, 0x13, 0x58, 0x02, 0x21, 0x20, 0x24, 0xc6, 0xc5, - 0x96, 0x92, 0x9f, 0x9b, 0x98, 0x99, 0x27, 0xc1, 0x0c, 0x96, 0x82, 0xf2, 0x84, 0x24, 0xb8, 0xd8, - 0xa1, 0xee, 0x93, 0x60, 0x01, 0x4b, 0xc0, 0xb8, 0x42, 0x7e, 0x5c, 0x6c, 0x39, 0x89, 0x49, 0xa9, - 0x39, 0xc5, 0x12, 0xac, 0x0a, 0xcc, 0x1a, 0xdc, 0x46, 0x66, 0x7a, 0xf8, 0x5c, 0xae, 0x87, 0xec, - 0x3e, 0x3d, 0x1f, 0xb0, 0x46, 0xd7, 0xbc, 0x92, 0xa2, 0xca, 0x20, 0xa8, 0x29, 0x52, 0x96, 0x5c, - 0xdc, 0x48, 0xc2, 0x42, 0x02, 0x5c, 0xcc, 0xd9, 0xa9, 0x95, 0x50, 0x1f, 0x80, 0x98, 0x42, 0x22, - 0x5c, 0xac, 0x65, 0x89, 0x39, 0xa5, 0x30, 0xc7, 0x43, 0x38, 0x56, 0x4c, 0x16, 0x8c, 0x4e, 0xa1, - 0x27, 0x1e, 0xca, 0x31, 0x5c, 0x78, 0x28, 0xc7, 0x70, 0xe3, 0xa1, 0x1c, 0xc3, 0x87, 0x87, 0x72, - 0x0c, 0x0d, 0x8f, 0xe4, 0x18, 0x57, 0x3c, 0x92, 0x63, 0x38, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, - 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x5f, 0x3c, 0x92, 0x63, 0xf8, 0xf0, 0x48, 0x8e, 0x71, 0xc2, - 0x63, 0x39, 0x86, 0x28, 0x65, 0x88, 0x5b, 0x33, 0xf3, 0xf5, 0x13, 0x0b, 0x32, 0xf5, 0xb1, 0x47, - 0x4c, 0x12, 0x1b, 0x38, 0x74, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x61, 0xda, 0x1b, - 0xb9, 0x01, 0x00, 0x00, -} diff --git a/mixer/v1/mixer.pb.go b/mixer/v1/mixer.pb.go index c413a36f50b..be9a088d51c 100644 --- a/mixer/v1/mixer.pb.go +++ b/mixer/v1/mixer.pb.go @@ -1,29 +1,28 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mixer/v1/mixer.proto -package v1 - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" -import google_rpc "github.com/gogo/googleapis/google/rpc" - -import time "time" - -import strconv "strconv" +// This package defines the Mixer API that the sidecar proxy uses to perform +// precondition checks, manage quotas, and report telemetry. -import context "golang.org/x/net/context" -import grpc "google.golang.org/grpc" - -import types "github.com/gogo/protobuf/types" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" +package v1 -import io "io" +import ( + context "context" + fmt "fmt" + rpc "github.com/gogo/googleapis/google/rpc" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + _ "github.com/gogo/protobuf/types" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + grpc "google.golang.org/grpc" + io "io" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,6 +30,12 @@ var _ = fmt.Errorf var _ = math.Inf var _ = time.Kitchen +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // How an attribute's value was matched type ReferencedAttributes_Condition int32 @@ -47,6 +52,7 @@ var ReferencedAttributes_Condition_name = map[int32]string{ 2: "EXACT", 3: "REGEX", } + var ReferencedAttributes_Condition_value = map[string]int32{ "CONDITION_UNSPECIFIED": 0, "ABSENCE": 1, @@ -55,7 +61,7 @@ var ReferencedAttributes_Condition_value = map[string]int32{ } func (ReferencedAttributes_Condition) EnumDescriptor() ([]byte, []int) { - return fileDescriptorMixer, []int{2, 0} + return fileDescriptor_f6f59c90bff4c1e2, []int{2, 0} } // Operation type. @@ -72,6 +78,7 @@ var HeaderOperation_Operation_name = map[int32]string{ 1: "REMOVE", 2: "APPEND", } + var HeaderOperation_Operation_value = map[string]int32{ "REPLACE": 0, "REMOVE": 1, @@ -79,7 +86,7 @@ var HeaderOperation_Operation_value = map[string]int32{ } func (HeaderOperation_Operation) EnumDescriptor() ([]byte, []int) { - return fileDescriptorMixer, []int{3, 0} + return fileDescriptor_f6f59c90bff4c1e2, []int{3, 0} } // Used to signal how the sets of compressed attributes should be reconstitued server-side. @@ -101,13 +108,14 @@ var ReportRequest_RepeatedAttributesSemantics_name = map[int32]string{ 0: "DELTA_ENCODING", 1: "INDEPENDENT_ENCODING", } + var ReportRequest_RepeatedAttributesSemantics_value = map[string]int32{ "DELTA_ENCODING": 0, "INDEPENDENT_ENCODING": 1, } func (ReportRequest_RepeatedAttributesSemantics) EnumDescriptor() ([]byte, []int) { - return fileDescriptorMixer, []int{5, 0} + return fileDescriptor_f6f59c90bff4c1e2, []int{5, 0} } // Used to get a thumbs-up/thumbs-down before performing an action. @@ -116,7 +124,7 @@ type CheckRequest struct { // // Mixer's configuration determines how these attributes are used to // establish the result returned in the response. - Attributes CompressedAttributes `protobuf:"bytes,1,opt,name=attributes" json:"attributes"` + Attributes CompressedAttributes `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes"` // The number of words in the global dictionary, used with to populate the attributes. // This value is used as a quick way to determine whether the client is using a dictionary that // the server understands. @@ -125,12 +133,40 @@ type CheckRequest struct { // per call, where the same UUID is used for retries of the same call. DeduplicationId string `protobuf:"bytes,3,opt,name=deduplication_id,json=deduplicationId,proto3" json:"deduplication_id,omitempty"` // The individual quotas to allocate - Quotas map[string]CheckRequest_QuotaParams `protobuf:"bytes,4,rep,name=quotas" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Quotas map[string]CheckRequest_QuotaParams `protobuf:"bytes,4,rep,name=quotas,proto3" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *CheckRequest) Reset() { *m = CheckRequest{} } -func (*CheckRequest) ProtoMessage() {} -func (*CheckRequest) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{0} } +func (m *CheckRequest) Reset() { *m = CheckRequest{} } +func (*CheckRequest) ProtoMessage() {} +func (*CheckRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{0} +} +func (m *CheckRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CheckRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CheckRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckRequest.Merge(m, src) +} +func (m *CheckRequest) XXX_Size() int { + return m.Size() +} +func (m *CheckRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CheckRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckRequest proto.InternalMessageInfo // parameters for a quota allocation type CheckRequest_QuotaParams struct { @@ -140,76 +176,212 @@ type CheckRequest_QuotaParams struct { BestEffort bool `protobuf:"varint,2,opt,name=best_effort,json=bestEffort,proto3" json:"best_effort,omitempty"` } -func (m *CheckRequest_QuotaParams) Reset() { *m = CheckRequest_QuotaParams{} } -func (*CheckRequest_QuotaParams) ProtoMessage() {} -func (*CheckRequest_QuotaParams) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{0, 0} } +func (m *CheckRequest_QuotaParams) Reset() { *m = CheckRequest_QuotaParams{} } +func (*CheckRequest_QuotaParams) ProtoMessage() {} +func (*CheckRequest_QuotaParams) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{0, 0} +} +func (m *CheckRequest_QuotaParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CheckRequest_QuotaParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CheckRequest_QuotaParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CheckRequest_QuotaParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckRequest_QuotaParams.Merge(m, src) +} +func (m *CheckRequest_QuotaParams) XXX_Size() int { + return m.Size() +} +func (m *CheckRequest_QuotaParams) XXX_DiscardUnknown() { + xxx_messageInfo_CheckRequest_QuotaParams.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckRequest_QuotaParams proto.InternalMessageInfo // The response generated by the Check method. type CheckResponse struct { // The precondition check results. - Precondition CheckResponse_PreconditionResult `protobuf:"bytes,2,opt,name=precondition" json:"precondition"` + Precondition CheckResponse_PreconditionResult `protobuf:"bytes,2,opt,name=precondition,proto3" json:"precondition"` // The resulting quota, one entry per requested quota. - Quotas map[string]CheckResponse_QuotaResult `protobuf:"bytes,3,rep,name=quotas" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Quotas map[string]CheckResponse_QuotaResult `protobuf:"bytes,3,rep,name=quotas,proto3" json:"quotas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *CheckResponse) Reset() { *m = CheckResponse{} } -func (*CheckResponse) ProtoMessage() {} -func (*CheckResponse) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{1} } +func (m *CheckResponse) Reset() { *m = CheckResponse{} } +func (*CheckResponse) ProtoMessage() {} +func (*CheckResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{1} +} +func (m *CheckResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CheckResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CheckResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckResponse.Merge(m, src) +} +func (m *CheckResponse) XXX_Size() int { + return m.Size() +} +func (m *CheckResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CheckResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckResponse proto.InternalMessageInfo // Expresses the result of a precondition check. type CheckResponse_PreconditionResult struct { // A status code of OK indicates all preconditions were satisfied. Any other code indicates not // all preconditions were satisfied and details describe why. - Status google_rpc.Status `protobuf:"bytes,1,opt,name=status" json:"status"` + Status rpc.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` // The amount of time for which this result can be considered valid. - ValidDuration time.Duration `protobuf:"bytes,2,opt,name=valid_duration,json=validDuration,stdduration" json:"valid_duration"` + ValidDuration time.Duration `protobuf:"bytes,2,opt,name=valid_duration,json=validDuration,proto3,stdduration" json:"valid_duration"` // The number of uses for which this result can be considered valid. ValidUseCount int32 `protobuf:"varint,3,opt,name=valid_use_count,json=validUseCount,proto3" json:"valid_use_count,omitempty"` // The total set of attributes that were used in producing the result // along with matching conditions. - ReferencedAttributes *ReferencedAttributes `protobuf:"bytes,5,opt,name=referenced_attributes,json=referencedAttributes" json:"referenced_attributes,omitempty"` + ReferencedAttributes *ReferencedAttributes `protobuf:"bytes,5,opt,name=referenced_attributes,json=referencedAttributes,proto3" json:"referenced_attributes,omitempty"` // An optional routing directive, used to manipulate the traffic metadata // whenever all preconditions are satisfied. - RouteDirective *RouteDirective `protobuf:"bytes,6,opt,name=route_directive,json=routeDirective" json:"route_directive,omitempty"` + RouteDirective *RouteDirective `protobuf:"bytes,6,opt,name=route_directive,json=routeDirective,proto3" json:"route_directive,omitempty"` } func (m *CheckResponse_PreconditionResult) Reset() { *m = CheckResponse_PreconditionResult{} } func (*CheckResponse_PreconditionResult) ProtoMessage() {} func (*CheckResponse_PreconditionResult) Descriptor() ([]byte, []int) { - return fileDescriptorMixer, []int{1, 0} + return fileDescriptor_f6f59c90bff4c1e2, []int{1, 0} +} +func (m *CheckResponse_PreconditionResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CheckResponse_PreconditionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CheckResponse_PreconditionResult.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CheckResponse_PreconditionResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckResponse_PreconditionResult.Merge(m, src) +} +func (m *CheckResponse_PreconditionResult) XXX_Size() int { + return m.Size() +} +func (m *CheckResponse_PreconditionResult) XXX_DiscardUnknown() { + xxx_messageInfo_CheckResponse_PreconditionResult.DiscardUnknown(m) } +var xxx_messageInfo_CheckResponse_PreconditionResult proto.InternalMessageInfo + // Expresses the result of a quota allocation. type CheckResponse_QuotaResult struct { // The amount of time for which this result can be considered valid. - ValidDuration time.Duration `protobuf:"bytes,1,opt,name=valid_duration,json=validDuration,stdduration" json:"valid_duration"` + ValidDuration time.Duration `protobuf:"bytes,1,opt,name=valid_duration,json=validDuration,proto3,stdduration" json:"valid_duration"` // The amount of granted quota. When `QuotaParams.best_effort` is true, this will be >= 0. // If `QuotaParams.best_effort` is false, this will be either 0 or >= `QuotaParams.amount`. GrantedAmount int64 `protobuf:"varint,2,opt,name=granted_amount,json=grantedAmount,proto3" json:"granted_amount,omitempty"` // The total set of attributes that were used in producing the result // along with matching conditions. - ReferencedAttributes ReferencedAttributes `protobuf:"bytes,5,opt,name=referenced_attributes,json=referencedAttributes" json:"referenced_attributes"` + ReferencedAttributes ReferencedAttributes `protobuf:"bytes,5,opt,name=referenced_attributes,json=referencedAttributes,proto3" json:"referenced_attributes"` } func (m *CheckResponse_QuotaResult) Reset() { *m = CheckResponse_QuotaResult{} } func (*CheckResponse_QuotaResult) ProtoMessage() {} func (*CheckResponse_QuotaResult) Descriptor() ([]byte, []int) { - return fileDescriptorMixer, []int{1, 1} + return fileDescriptor_f6f59c90bff4c1e2, []int{1, 1} +} +func (m *CheckResponse_QuotaResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CheckResponse_QuotaResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CheckResponse_QuotaResult.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CheckResponse_QuotaResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckResponse_QuotaResult.Merge(m, src) +} +func (m *CheckResponse_QuotaResult) XXX_Size() int { + return m.Size() +} +func (m *CheckResponse_QuotaResult) XXX_DiscardUnknown() { + xxx_messageInfo_CheckResponse_QuotaResult.DiscardUnknown(m) } +var xxx_messageInfo_CheckResponse_QuotaResult proto.InternalMessageInfo + // Describes the attributes that were used to determine the response. // This can be used to construct a response cache. type ReferencedAttributes struct { // The message-level dictionary. Refer to [CompressedAttributes][istio.mixer.v1.CompressedAttributes] for information // on using dictionaries. - Words []string `protobuf:"bytes,1,rep,name=words" json:"words,omitempty"` + Words []string `protobuf:"bytes,1,rep,name=words,proto3" json:"words,omitempty"` // Describes a set of attributes. - AttributeMatches []ReferencedAttributes_AttributeMatch `protobuf:"bytes,2,rep,name=attribute_matches,json=attributeMatches" json:"attribute_matches"` + AttributeMatches []ReferencedAttributes_AttributeMatch `protobuf:"bytes,2,rep,name=attribute_matches,json=attributeMatches,proto3" json:"attribute_matches"` } -func (m *ReferencedAttributes) Reset() { *m = ReferencedAttributes{} } -func (*ReferencedAttributes) ProtoMessage() {} -func (*ReferencedAttributes) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{2} } +func (m *ReferencedAttributes) Reset() { *m = ReferencedAttributes{} } +func (*ReferencedAttributes) ProtoMessage() {} +func (*ReferencedAttributes) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{2} +} +func (m *ReferencedAttributes) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ReferencedAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ReferencedAttributes.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ReferencedAttributes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReferencedAttributes.Merge(m, src) +} +func (m *ReferencedAttributes) XXX_Size() int { + return m.Size() +} +func (m *ReferencedAttributes) XXX_DiscardUnknown() { + xxx_messageInfo_ReferencedAttributes.DiscardUnknown(m) +} + +var xxx_messageInfo_ReferencedAttributes proto.InternalMessageInfo // Describes a single attribute match. type ReferencedAttributes_AttributeMatch struct { @@ -237,8 +409,34 @@ type ReferencedAttributes_AttributeMatch struct { func (m *ReferencedAttributes_AttributeMatch) Reset() { *m = ReferencedAttributes_AttributeMatch{} } func (*ReferencedAttributes_AttributeMatch) ProtoMessage() {} func (*ReferencedAttributes_AttributeMatch) Descriptor() ([]byte, []int) { - return fileDescriptorMixer, []int{2, 0} + return fileDescriptor_f6f59c90bff4c1e2, []int{2, 0} +} +func (m *ReferencedAttributes_AttributeMatch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *ReferencedAttributes_AttributeMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ReferencedAttributes_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 + } +} +func (m *ReferencedAttributes_AttributeMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReferencedAttributes_AttributeMatch.Merge(m, src) +} +func (m *ReferencedAttributes_AttributeMatch) XXX_Size() int { + return m.Size() +} +func (m *ReferencedAttributes_AttributeMatch) XXX_DiscardUnknown() { + xxx_messageInfo_ReferencedAttributes_AttributeMatch.DiscardUnknown(m) +} + +var xxx_messageInfo_ReferencedAttributes_AttributeMatch proto.InternalMessageInfo // Operation on HTTP headers to replace, append, or remove a header. Header // names are normalized to lower-case with dashes, e.g. "x-request-id". @@ -253,17 +451,45 @@ type HeaderOperation struct { Operation HeaderOperation_Operation `protobuf:"varint,3,opt,name=operation,proto3,enum=istio.mixer.v1.HeaderOperation_Operation" json:"operation,omitempty"` } -func (m *HeaderOperation) Reset() { *m = HeaderOperation{} } -func (*HeaderOperation) ProtoMessage() {} -func (*HeaderOperation) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{3} } +func (m *HeaderOperation) Reset() { *m = HeaderOperation{} } +func (*HeaderOperation) ProtoMessage() {} +func (*HeaderOperation) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{3} +} +func (m *HeaderOperation) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HeaderOperation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HeaderOperation.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HeaderOperation) XXX_Merge(src proto.Message) { + xxx_messageInfo_HeaderOperation.Merge(m, src) +} +func (m *HeaderOperation) XXX_Size() int { + return m.Size() +} +func (m *HeaderOperation) XXX_DiscardUnknown() { + xxx_messageInfo_HeaderOperation.DiscardUnknown(m) +} + +var xxx_messageInfo_HeaderOperation proto.InternalMessageInfo // Expresses the routing manipulation actions to be performed on behalf of // Mixer in response to a precondition check. type RouteDirective struct { // Operations on the request headers. - RequestHeaderOperations []HeaderOperation `protobuf:"bytes,1,rep,name=request_header_operations,json=requestHeaderOperations" json:"request_header_operations"` + RequestHeaderOperations []HeaderOperation `protobuf:"bytes,1,rep,name=request_header_operations,json=requestHeaderOperations,proto3" json:"request_header_operations"` // Operations on the response headers. - ResponseHeaderOperations []HeaderOperation `protobuf:"bytes,2,rep,name=response_header_operations,json=responseHeaderOperations" json:"response_header_operations"` + ResponseHeaderOperations []HeaderOperation `protobuf:"bytes,2,rep,name=response_header_operations,json=responseHeaderOperations,proto3" json:"response_header_operations"` // If set, enables a direct response without proxying the request to the routing // destination. Required to be a value in the 2xx or 3xx range. DirectResponseCode uint32 `protobuf:"varint,3,opt,name=direct_response_code,json=directResponseCode,proto3" json:"direct_response_code,omitempty"` @@ -272,9 +498,37 @@ type RouteDirective struct { DirectResponseBody string `protobuf:"bytes,4,opt,name=direct_response_body,json=directResponseBody,proto3" json:"direct_response_body,omitempty"` } -func (m *RouteDirective) Reset() { *m = RouteDirective{} } -func (*RouteDirective) ProtoMessage() {} -func (*RouteDirective) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{4} } +func (m *RouteDirective) Reset() { *m = RouteDirective{} } +func (*RouteDirective) ProtoMessage() {} +func (*RouteDirective) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{4} +} +func (m *RouteDirective) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RouteDirective) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RouteDirective.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RouteDirective) XXX_Merge(src proto.Message) { + xxx_messageInfo_RouteDirective.Merge(m, src) +} +func (m *RouteDirective) XXX_Size() int { + return m.Size() +} +func (m *RouteDirective) XXX_DiscardUnknown() { + xxx_messageInfo_RouteDirective.DiscardUnknown(m) +} + +var xxx_messageInfo_RouteDirective proto.InternalMessageInfo // Used to report telemetry after performing one or more actions. type ReportRequest struct { @@ -283,7 +537,7 @@ type ReportRequest struct { // Each `Attributes` element represents the state of a single action. Multiple actions // can be provided in a single message in order to improve communication efficiency. The // client can accumulate a set of actions and send them all in one single message. - Attributes []CompressedAttributes `protobuf:"bytes,1,rep,name=attributes" json:"attributes"` + Attributes []CompressedAttributes `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes"` // Indicates how to decode the attributes sets in this request. RepeatedAttributesSemantics ReportRequest_RepeatedAttributesSemantics `protobuf:"varint,4,opt,name=repeated_attributes_semantics,json=repeatedAttributesSemantics,proto3,enum=istio.mixer.v1.ReportRequest_RepeatedAttributesSemantics" json:"repeated_attributes_semantics,omitempty"` // The default message-level dictionary for all the attributes. @@ -292,28 +546,89 @@ type ReportRequest struct { // // This makes it possible to share the same dictionary for all attributes in this // request, which can substantially reduce the overall request size. - DefaultWords []string `protobuf:"bytes,2,rep,name=default_words,json=defaultWords" json:"default_words,omitempty"` + DefaultWords []string `protobuf:"bytes,2,rep,name=default_words,json=defaultWords,proto3" json:"default_words,omitempty"` // The number of words in the global dictionary. // To detect global dictionary out of sync between client and server. GlobalWordCount uint32 `protobuf:"varint,3,opt,name=global_word_count,json=globalWordCount,proto3" json:"global_word_count,omitempty"` } -func (m *ReportRequest) Reset() { *m = ReportRequest{} } -func (*ReportRequest) ProtoMessage() {} -func (*ReportRequest) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{5} } +func (m *ReportRequest) Reset() { *m = ReportRequest{} } +func (*ReportRequest) ProtoMessage() {} +func (*ReportRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{5} +} +func (m *ReportRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ReportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ReportRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ReportRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReportRequest.Merge(m, src) +} +func (m *ReportRequest) XXX_Size() int { + return m.Size() +} +func (m *ReportRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ReportRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ReportRequest proto.InternalMessageInfo // Used to carry responses to telemetry reports type ReportResponse struct { } -func (m *ReportResponse) Reset() { *m = ReportResponse{} } -func (*ReportResponse) ProtoMessage() {} -func (*ReportResponse) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{6} } +func (m *ReportResponse) Reset() { *m = ReportResponse{} } +func (*ReportResponse) ProtoMessage() {} +func (*ReportResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f6f59c90bff4c1e2, []int{6} +} +func (m *ReportResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ReportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ReportResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ReportResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReportResponse.Merge(m, src) +} +func (m *ReportResponse) XXX_Size() int { + return m.Size() +} +func (m *ReportResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ReportResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ReportResponse proto.InternalMessageInfo func init() { + proto.RegisterEnum("istio.mixer.v1.ReferencedAttributes_Condition", ReferencedAttributes_Condition_name, ReferencedAttributes_Condition_value) + proto.RegisterEnum("istio.mixer.v1.HeaderOperation_Operation", HeaderOperation_Operation_name, HeaderOperation_Operation_value) + proto.RegisterEnum("istio.mixer.v1.ReportRequest_RepeatedAttributesSemantics", ReportRequest_RepeatedAttributesSemantics_name, ReportRequest_RepeatedAttributesSemantics_value) proto.RegisterType((*CheckRequest)(nil), "istio.mixer.v1.CheckRequest") + proto.RegisterMapType((map[string]CheckRequest_QuotaParams)(nil), "istio.mixer.v1.CheckRequest.QuotasEntry") proto.RegisterType((*CheckRequest_QuotaParams)(nil), "istio.mixer.v1.CheckRequest.QuotaParams") proto.RegisterType((*CheckResponse)(nil), "istio.mixer.v1.CheckResponse") + proto.RegisterMapType((map[string]CheckResponse_QuotaResult)(nil), "istio.mixer.v1.CheckResponse.QuotasEntry") proto.RegisterType((*CheckResponse_PreconditionResult)(nil), "istio.mixer.v1.CheckResponse.PreconditionResult") proto.RegisterType((*CheckResponse_QuotaResult)(nil), "istio.mixer.v1.CheckResponse.QuotaResult") proto.RegisterType((*ReferencedAttributes)(nil), "istio.mixer.v1.ReferencedAttributes") @@ -322,10 +637,91 @@ func init() { proto.RegisterType((*RouteDirective)(nil), "istio.mixer.v1.RouteDirective") proto.RegisterType((*ReportRequest)(nil), "istio.mixer.v1.ReportRequest") proto.RegisterType((*ReportResponse)(nil), "istio.mixer.v1.ReportResponse") - proto.RegisterEnum("istio.mixer.v1.ReferencedAttributes_Condition", ReferencedAttributes_Condition_name, ReferencedAttributes_Condition_value) - proto.RegisterEnum("istio.mixer.v1.HeaderOperation_Operation", HeaderOperation_Operation_name, HeaderOperation_Operation_value) - proto.RegisterEnum("istio.mixer.v1.ReportRequest_RepeatedAttributesSemantics", ReportRequest_RepeatedAttributesSemantics_name, ReportRequest_RepeatedAttributesSemantics_value) } + +func init() { proto.RegisterFile("mixer/v1/mixer.proto", fileDescriptor_f6f59c90bff4c1e2) } + +var fileDescriptor_f6f59c90bff4c1e2 = []byte{ + // 1218 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x3b, 0x73, 0xdb, 0x46, + 0x10, 0x06, 0x08, 0x91, 0x36, 0x97, 0x26, 0x05, 0xdf, 0xd0, 0x31, 0x45, 0xc7, 0x90, 0x86, 0x79, + 0x8c, 0x9c, 0x02, 0x94, 0xe5, 0x26, 0x49, 0x91, 0x0c, 0x45, 0x42, 0x0a, 0xfd, 0xa0, 0x14, 0x48, + 0x8e, 0x1d, 0x37, 0x18, 0x08, 0x38, 0xd2, 0x18, 0x93, 0x3c, 0xf8, 0x00, 0x28, 0x56, 0x91, 0x19, + 0xcf, 0xe4, 0x0f, 0xa4, 0xcc, 0xa4, 0x4b, 0x93, 0xc9, 0x2f, 0x48, 0x95, 0x1f, 0xe0, 0xd2, 0xa5, + 0xab, 0x24, 0xa2, 0x93, 0x99, 0x94, 0x2e, 0x5d, 0x66, 0x70, 0x77, 0x00, 0x49, 0x91, 0x92, 0x95, + 0x47, 0x77, 0xb7, 0x8f, 0x6f, 0x77, 0x3f, 0xec, 0x2e, 0x0e, 0xca, 0x03, 0xef, 0x09, 0xa6, 0xf5, + 0x83, 0xeb, 0x75, 0x76, 0xd0, 0x7d, 0x4a, 0x42, 0x82, 0x4a, 0x5e, 0x10, 0x7a, 0x44, 0xe7, 0xa2, + 0x83, 0xeb, 0xd5, 0x72, 0x8f, 0xf4, 0x08, 0x53, 0xd5, 0xe3, 0x13, 0xb7, 0xaa, 0x6a, 0x3d, 0x42, + 0x7a, 0x7d, 0x5c, 0x67, 0xb7, 0xfd, 0xa8, 0x5b, 0x77, 0x23, 0x6a, 0x87, 0x1e, 0x19, 0x0a, 0xfd, + 0x65, 0xa1, 0xa7, 0xbe, 0x53, 0x0f, 0x42, 0x3b, 0x8c, 0x02, 0xa1, 0x58, 0x4a, 0x83, 0xda, 0x61, + 0x48, 0xbd, 0xfd, 0x28, 0xc4, 0x42, 0x55, 0xfb, 0x51, 0x81, 0x0b, 0xcd, 0x87, 0xd8, 0x79, 0x64, + 0xe2, 0xc7, 0x11, 0x0e, 0x42, 0x74, 0x13, 0x60, 0x6c, 0x54, 0x91, 0x57, 0xe4, 0xd5, 0xc2, 0xfa, + 0xbb, 0xfa, 0x74, 0x7e, 0x7a, 0x93, 0x0c, 0x7c, 0x8a, 0x83, 0x00, 0xbb, 0x8d, 0xd4, 0x76, 0x63, + 0xe1, 0xd9, 0xaf, 0xcb, 0x92, 0x39, 0xe1, 0x8d, 0x3e, 0x80, 0x8b, 0xbd, 0x3e, 0xd9, 0xb7, 0xfb, + 0xd6, 0x57, 0x84, 0xba, 0x96, 0x43, 0xa2, 0x61, 0x58, 0xc9, 0xac, 0xc8, 0xab, 0x45, 0x73, 0x91, + 0x2b, 0xee, 0x11, 0xea, 0x36, 0x63, 0x31, 0xba, 0x06, 0xaa, 0x8b, 0xdd, 0xc8, 0xef, 0x7b, 0x0e, + 0xab, 0xc9, 0xf2, 0xdc, 0x8a, 0xb2, 0x22, 0xaf, 0xe6, 0xcd, 0xc5, 0x29, 0x79, 0xdb, 0x45, 0x9b, + 0x90, 0x7b, 0x1c, 0x91, 0xd0, 0x0e, 0x2a, 0x0b, 0x2b, 0xca, 0x6a, 0x61, 0x7d, 0x75, 0x26, 0xbd, + 0x89, 0x82, 0xf4, 0xcf, 0x99, 0xa9, 0x31, 0x0c, 0xe9, 0xa1, 0x48, 0x51, 0x78, 0x57, 0x37, 0xa1, + 0xc0, 0x94, 0x3b, 0x36, 0xb5, 0x07, 0x01, 0x7a, 0x0b, 0x72, 0xf6, 0x80, 0xa5, 0x18, 0x57, 0xad, + 0x98, 0xe2, 0x86, 0x96, 0xa1, 0xb0, 0x8f, 0x83, 0xd0, 0xc2, 0xdd, 0x2e, 0xa1, 0x3c, 0xff, 0xf3, + 0x26, 0xc4, 0x22, 0x83, 0x49, 0xaa, 0x8e, 0xc0, 0xe1, 0x41, 0x90, 0x0a, 0xca, 0x23, 0x7c, 0xc8, + 0x40, 0xf2, 0x66, 0x7c, 0x44, 0x9f, 0x40, 0xf6, 0xc0, 0xee, 0x47, 0x98, 0xf9, 0x9e, 0x29, 0x5f, + 0x9e, 0x92, 0xc9, 0xdd, 0x3e, 0xce, 0x7c, 0x28, 0xd7, 0xfe, 0xcc, 0x41, 0x51, 0xd8, 0x05, 0x3e, + 0x19, 0x06, 0x18, 0x3d, 0x80, 0x0b, 0x3e, 0xc5, 0x0e, 0x19, 0xba, 0x5e, 0x4c, 0x8c, 0x00, 0x5f, + 0x3b, 0x01, 0x9c, 0x3b, 0xe9, 0x3b, 0x13, 0x1e, 0x26, 0x0e, 0xa2, 0x7e, 0x28, 0x48, 0x99, 0xc2, + 0x42, 0x5b, 0x29, 0xc5, 0x0a, 0xa3, 0xf8, 0xda, 0xe9, 0xa8, 0x27, 0x73, 0xfc, 0x47, 0x06, 0xd0, + 0x6c, 0x4c, 0xb4, 0x06, 0x39, 0xde, 0xa1, 0xa2, 0xc3, 0x90, 0xce, 0x7b, 0x57, 0xa7, 0xbe, 0xa3, + 0xef, 0x32, 0x4d, 0x02, 0xc4, 0xed, 0xd0, 0x4d, 0x28, 0x1d, 0xd8, 0x7d, 0xcf, 0xb5, 0x92, 0xa6, + 0x17, 0xf5, 0x2e, 0x25, 0x9e, 0xc9, 0x54, 0xe8, 0x2d, 0x61, 0xb0, 0x71, 0x3e, 0x06, 0xf8, 0xee, + 0xb7, 0x65, 0xd9, 0x2c, 0x32, 0xd7, 0x44, 0x81, 0xde, 0x87, 0x45, 0x8e, 0x15, 0x05, 0x58, 0x74, + 0x65, 0xdc, 0x6a, 0x59, 0x61, 0x77, 0x37, 0xc0, 0xbc, 0x27, 0xbf, 0x84, 0x4b, 0x14, 0x77, 0x31, + 0xc5, 0x43, 0x07, 0xbb, 0xd6, 0xc4, 0x58, 0x64, 0xe7, 0x8f, 0x85, 0x99, 0x1a, 0x8f, 0xc7, 0xc2, + 0x2c, 0xd3, 0x39, 0x52, 0xb4, 0x05, 0x8b, 0x94, 0x44, 0x21, 0xb6, 0x5c, 0x8f, 0x62, 0x27, 0xf4, + 0x0e, 0x70, 0x25, 0xc7, 0x40, 0xb5, 0x19, 0xd0, 0xd8, 0xac, 0x95, 0x58, 0x99, 0x25, 0x3a, 0x75, + 0xbf, 0xb9, 0x70, 0x7e, 0x41, 0xcd, 0x56, 0x8f, 0x64, 0xd1, 0x83, 0x82, 0xdf, 0x59, 0xb6, 0xe4, + 0x7f, 0xcd, 0xd6, 0x7b, 0x50, 0xea, 0x51, 0x7b, 0x18, 0xc6, 0x14, 0x0c, 0xd2, 0x11, 0x56, 0xcc, + 0xa2, 0x90, 0x36, 0xf8, 0x98, 0x58, 0xff, 0x03, 0x59, 0xe2, 0x9b, 0xcf, 0xa5, 0xac, 0xea, 0xbe, + 0x69, 0xcc, 0x3e, 0x9d, 0x1e, 0xb3, 0xb3, 0xf4, 0x2c, 0xa7, 0x6b, 0x72, 0xce, 0xbe, 0x51, 0xa0, + 0x3c, 0x2f, 0x35, 0x54, 0x86, 0x6c, 0xbc, 0xc5, 0xe2, 0x8e, 0x55, 0x56, 0xf3, 0x26, 0xbf, 0xa0, + 0x2e, 0x5c, 0x4c, 0x4b, 0xb5, 0x06, 0x76, 0xe8, 0x3c, 0xc4, 0x41, 0x25, 0xc3, 0x66, 0xe6, 0xc6, + 0x59, 0x2a, 0xd6, 0xd3, 0xe3, 0x9d, 0xd8, 0x59, 0x10, 0xa0, 0xda, 0x53, 0x52, 0x1c, 0x54, 0x7f, + 0x90, 0xa1, 0x34, 0x6d, 0x8a, 0x10, 0x2c, 0x0c, 0xed, 0x01, 0x66, 0x0c, 0x5c, 0x34, 0xd9, 0x19, + 0xdd, 0x86, 0xfc, 0xf4, 0x42, 0x28, 0xad, 0xeb, 0x67, 0x4a, 0xa3, 0x99, 0x0e, 0xe8, 0x18, 0x20, + 0x2e, 0x99, 0xe2, 0x1e, 0x7e, 0x22, 0x16, 0x31, 0xbf, 0xa0, 0xcb, 0x70, 0x6e, 0x60, 0xfb, 0x56, + 0x4c, 0xfe, 0x02, 0x0b, 0x9d, 0x1b, 0xd8, 0xfe, 0x2d, 0x7c, 0x58, 0x6b, 0x43, 0x3e, 0x85, 0x41, + 0x4b, 0x70, 0xa9, 0xb9, 0xdd, 0x69, 0xb5, 0xf7, 0xda, 0xdb, 0x1d, 0xeb, 0x6e, 0x67, 0x77, 0xc7, + 0x68, 0xb6, 0x37, 0xdb, 0x46, 0x4b, 0x95, 0x50, 0x01, 0xce, 0x35, 0x36, 0x76, 0x8d, 0x4e, 0xd3, + 0x50, 0x65, 0x94, 0x87, 0xac, 0x71, 0xbf, 0xd1, 0xdc, 0x53, 0x33, 0xf1, 0xd1, 0x34, 0xb6, 0x8c, + 0xfb, 0xaa, 0x52, 0xfb, 0x59, 0x86, 0xc5, 0xcf, 0xb0, 0xed, 0x62, 0xba, 0xed, 0x63, 0xd1, 0x87, + 0x93, 0xf5, 0xe6, 0x45, 0xbd, 0xe5, 0xc9, 0x4f, 0x9e, 0x17, 0xdf, 0x11, 0x6d, 0x41, 0x9e, 0x24, + 0x6e, 0x2c, 0xf7, 0xd2, 0x6c, 0x33, 0x1c, 0x43, 0xd7, 0xd3, 0x93, 0x39, 0xf6, 0xad, 0xad, 0x41, + 0x7e, 0x1c, 0xbf, 0x00, 0xe7, 0x4c, 0x63, 0xe7, 0x76, 0xa3, 0x69, 0xa8, 0x12, 0x02, 0xc8, 0x99, + 0xc6, 0x9d, 0xed, 0x2f, 0xe2, 0x12, 0x00, 0x72, 0x8d, 0x9d, 0x1d, 0xa3, 0xd3, 0x52, 0x33, 0xb5, + 0x5f, 0x32, 0x50, 0x9a, 0x9e, 0x58, 0x64, 0xc3, 0x12, 0xe5, 0xbb, 0xdd, 0x7a, 0xc8, 0x82, 0x5a, + 0x69, 0x00, 0xde, 0x4c, 0x85, 0xf5, 0xe5, 0x37, 0x64, 0x27, 0xda, 0xe2, 0xb2, 0xc0, 0x39, 0xa6, + 0x0d, 0x90, 0x03, 0x55, 0x2a, 0xfa, 0x7a, 0x4e, 0x8c, 0xcc, 0x3f, 0x89, 0x51, 0x49, 0x80, 0x66, + 0x82, 0xac, 0x41, 0x99, 0x2f, 0x2b, 0x2b, 0x8d, 0xe5, 0x10, 0x17, 0x33, 0x82, 0x8b, 0x26, 0xe2, + 0xba, 0x64, 0xbc, 0x9a, 0xc4, 0xc5, 0xf3, 0x3c, 0xf6, 0x89, 0xcb, 0xdb, 0x26, 0x7f, 0xdc, 0x63, + 0x83, 0xb8, 0x87, 0xb5, 0xd7, 0x19, 0x28, 0x9a, 0xd8, 0x27, 0x34, 0x3c, 0xe9, 0x3d, 0xa2, 0xfc, + 0x87, 0xf7, 0xc8, 0xd7, 0x70, 0x95, 0x62, 0x1f, 0xdb, 0xe1, 0xd4, 0x82, 0xb2, 0x02, 0x3c, 0xb0, + 0x87, 0xa1, 0xe7, 0x04, 0x2c, 0xb1, 0xd2, 0xfa, 0x47, 0xb3, 0x13, 0x33, 0x91, 0x51, 0x7c, 0x63, + 0x10, 0xe3, 0x50, 0xbb, 0x09, 0x80, 0x79, 0x85, 0x9e, 0xac, 0x44, 0xef, 0x40, 0xd1, 0xc5, 0x5d, + 0x3b, 0xea, 0x87, 0x16, 0xdf, 0x24, 0x19, 0xb6, 0x49, 0x2e, 0x08, 0xe1, 0x3d, 0xb6, 0x50, 0xe6, + 0xbe, 0x99, 0x94, 0xb9, 0x6f, 0xa6, 0xda, 0x2d, 0xb8, 0x72, 0x4a, 0x32, 0x08, 0x41, 0xa9, 0x65, + 0xdc, 0xde, 0x6b, 0x58, 0x46, 0xa7, 0xb9, 0xdd, 0x6a, 0x77, 0xb6, 0x54, 0x09, 0x55, 0xa0, 0xdc, + 0xee, 0xb4, 0x8c, 0xb8, 0x5b, 0x8d, 0xce, 0xde, 0x58, 0x23, 0xd7, 0x54, 0x28, 0x25, 0x75, 0xf2, + 0x0f, 0xb2, 0xfe, 0xbd, 0x0c, 0xd9, 0x3b, 0x31, 0x07, 0x68, 0x13, 0xb2, 0x6c, 0x79, 0xa2, 0xb7, + 0x4f, 0x7b, 0xba, 0x54, 0xaf, 0x9e, 0xba, 0x71, 0x6b, 0x12, 0x6a, 0x43, 0x8e, 0xc7, 0x40, 0x57, + 0x4f, 0xe5, 0xb8, 0xaa, 0x9d, 0xa4, 0x4e, 0xa0, 0x36, 0xee, 0x3e, 0x3b, 0xd2, 0xa4, 0xe7, 0x47, + 0x9a, 0xf4, 0xe2, 0x48, 0x93, 0x5e, 0x1d, 0x69, 0xd2, 0xd3, 0x91, 0x26, 0xff, 0x34, 0xd2, 0xa4, + 0x67, 0x23, 0x4d, 0x7e, 0x3e, 0xd2, 0xe4, 0xdf, 0x47, 0x9a, 0xfc, 0xd7, 0x48, 0x93, 0x5e, 0x8d, + 0x34, 0xf9, 0xdb, 0x97, 0x9a, 0xf4, 0xfc, 0xa5, 0x26, 0xbd, 0x78, 0xa9, 0x49, 0x0f, 0x2e, 0x71, + 0x68, 0x8f, 0xd4, 0x6d, 0xdf, 0xab, 0x27, 0x4f, 0xe3, 0xa7, 0xb2, 0xfc, 0x5a, 0x96, 0xf7, 0x73, + 0xec, 0xc7, 0x78, 0xe3, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0xb5, 0x66, 0x8d, 0xa8, 0x0b, + 0x00, 0x00, +} + func (x ReferencedAttributes_Condition) String() string { s, ok := ReferencedAttributes_Condition_name[int32(x)] if ok { @@ -356,8 +752,9 @@ var _ grpc.ClientConn // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion4 -// Client API for Mixer service - +// MixerClient is the client API for Mixer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MixerClient interface { // Checks preconditions and allocate quota before performing an operation. // The preconditions enforced depend on the set of supplied attributes and @@ -379,7 +776,7 @@ func NewMixerClient(cc *grpc.ClientConn) MixerClient { func (c *mixerClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) { out := new(CheckResponse) - err := grpc.Invoke(ctx, "/istio.mixer.v1.Mixer/Check", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/istio.mixer.v1.Mixer/Check", in, out, opts...) if err != nil { return nil, err } @@ -388,15 +785,14 @@ func (c *mixerClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc. func (c *mixerClient) Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error) { out := new(ReportResponse) - err := grpc.Invoke(ctx, "/istio.mixer.v1.Mixer/Report", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/istio.mixer.v1.Mixer/Report", in, out, opts...) if err != nil { return nil, err } return out, nil } -// Server API for Mixer service - +// MixerServer is the server API for Mixer service. type MixerServer interface { // Checks preconditions and allocate quota before performing an operation. // The preconditions enforced depend on the set of supplied attributes and @@ -638,8 +1034,8 @@ func (m *CheckResponse_PreconditionResult) MarshalTo(dAtA []byte) (int, error) { i += n5 dAtA[i] = 0x12 i++ - i = encodeVarintMixer(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration))) - n6, err := types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) + i = encodeVarintMixer(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration))) + n6, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) if err != nil { return 0, err } @@ -689,8 +1085,8 @@ func (m *CheckResponse_QuotaResult) MarshalTo(dAtA []byte) (int, error) { _ = l dAtA[i] = 0xa i++ - i = encodeVarintMixer(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration))) - n9, err := types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) + i = encodeVarintMixer(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration))) + n9, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:]) if err != nil { return 0, err } @@ -966,6 +1362,9 @@ func encodeVarintMixer(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *CheckRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Attributes.Size() @@ -990,6 +1389,9 @@ func (m *CheckRequest) Size() (n int) { } func (m *CheckRequest_QuotaParams) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Amount != 0 { @@ -1002,6 +1404,9 @@ func (m *CheckRequest_QuotaParams) Size() (n int) { } func (m *CheckResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Precondition.Size() @@ -1019,11 +1424,14 @@ func (m *CheckResponse) Size() (n int) { } func (m *CheckResponse_PreconditionResult) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Status.Size() n += 1 + l + sovMixer(uint64(l)) - l = types.SizeOfStdDuration(m.ValidDuration) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration) n += 1 + l + sovMixer(uint64(l)) if m.ValidUseCount != 0 { n += 1 + sovMixer(uint64(m.ValidUseCount)) @@ -1040,9 +1448,12 @@ func (m *CheckResponse_PreconditionResult) Size() (n int) { } func (m *CheckResponse_QuotaResult) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - l = types.SizeOfStdDuration(m.ValidDuration) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.ValidDuration) n += 1 + l + sovMixer(uint64(l)) if m.GrantedAmount != 0 { n += 1 + sovMixer(uint64(m.GrantedAmount)) @@ -1053,6 +1464,9 @@ func (m *CheckResponse_QuotaResult) Size() (n int) { } func (m *ReferencedAttributes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Words) > 0 { @@ -1071,6 +1485,9 @@ func (m *ReferencedAttributes) Size() (n int) { } func (m *ReferencedAttributes_AttributeMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Name != 0 { @@ -1090,6 +1507,9 @@ func (m *ReferencedAttributes_AttributeMatch) Size() (n int) { } func (m *HeaderOperation) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -1107,6 +1527,9 @@ func (m *HeaderOperation) Size() (n int) { } func (m *RouteDirective) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.RequestHeaderOperations) > 0 { @@ -1132,6 +1555,9 @@ func (m *RouteDirective) Size() (n int) { } func (m *ReportRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Attributes) > 0 { @@ -1156,6 +1582,9 @@ func (m *ReportRequest) Size() (n int) { } func (m *ReportResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l return n @@ -1182,7 +1611,7 @@ func (this *CheckRequest) String() string { for k, _ := range this.Quotas { keysForQuotas = append(keysForQuotas, k) } - sortkeys.Strings(keysForQuotas) + github_com_gogo_protobuf_sortkeys.Strings(keysForQuotas) mapStringForQuotas := "map[string]CheckRequest_QuotaParams{" for _, k := range keysForQuotas { mapStringForQuotas += fmt.Sprintf("%v: %v,", k, this.Quotas[k]) @@ -1216,7 +1645,7 @@ func (this *CheckResponse) String() string { for k, _ := range this.Quotas { keysForQuotas = append(keysForQuotas, k) } - sortkeys.Strings(keysForQuotas) + github_com_gogo_protobuf_sortkeys.Strings(keysForQuotas) mapStringForQuotas := "map[string]CheckResponse_QuotaResult{" for _, k := range keysForQuotas { mapStringForQuotas += fmt.Sprintf("%v: %v,", k, this.Quotas[k]) @@ -1234,8 +1663,8 @@ func (this *CheckResponse_PreconditionResult) String() string { return "nil" } s := strings.Join([]string{`&CheckResponse_PreconditionResult{`, - `Status:` + strings.Replace(strings.Replace(this.Status.String(), "Status", "google_rpc.Status", 1), `&`, ``, 1) + `,`, - `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "google_protobuf1.Duration", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "Status", "rpc.Status", 1), `&`, ``, 1) + `,`, + `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "types.Duration", 1), `&`, ``, 1) + `,`, `ValidUseCount:` + fmt.Sprintf("%v", this.ValidUseCount) + `,`, `ReferencedAttributes:` + strings.Replace(fmt.Sprintf("%v", this.ReferencedAttributes), "ReferencedAttributes", "ReferencedAttributes", 1) + `,`, `RouteDirective:` + strings.Replace(fmt.Sprintf("%v", this.RouteDirective), "RouteDirective", "RouteDirective", 1) + `,`, @@ -1248,7 +1677,7 @@ func (this *CheckResponse_QuotaResult) String() string { return "nil" } s := strings.Join([]string{`&CheckResponse_QuotaResult{`, - `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "google_protobuf1.Duration", 1), `&`, ``, 1) + `,`, + `ValidDuration:` + strings.Replace(strings.Replace(this.ValidDuration.String(), "Duration", "types.Duration", 1), `&`, ``, 1) + `,`, `GrantedAmount:` + fmt.Sprintf("%v", this.GrantedAmount) + `,`, `ReferencedAttributes:` + strings.Replace(strings.Replace(this.ReferencedAttributes.String(), "ReferencedAttributes", "ReferencedAttributes", 1), `&`, ``, 1) + `,`, `}`, @@ -1349,7 +1778,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1377,7 +1806,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1386,6 +1815,9 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1407,7 +1839,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GlobalWordCount |= (uint32(b) & 0x7F) << shift + m.GlobalWordCount |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -1426,7 +1858,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1436,6 +1868,9 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1455,7 +1890,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1464,6 +1899,9 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1484,7 +1922,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1501,7 +1939,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1511,6 +1949,9 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthMixer + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1527,7 +1968,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1536,7 +1977,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthMixer } if postmsgIndex > l { @@ -1573,6 +2014,9 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1600,7 +2044,7 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1628,7 +2072,7 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Amount |= (int64(b) & 0x7F) << shift + m.Amount |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -1647,7 +2091,7 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1662,6 +2106,9 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1689,7 +2136,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1717,7 +2164,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1726,6 +2173,9 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1747,7 +2197,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1756,6 +2206,9 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1776,7 +2229,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1793,7 +2246,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1803,6 +2256,9 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthMixer + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1819,7 +2275,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1828,7 +2284,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthMixer } if postmsgIndex > l { @@ -1865,6 +2321,9 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -1892,7 +2351,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1920,7 +2379,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1929,6 +2388,9 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1950,7 +2412,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1959,10 +2421,13 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1980,7 +2445,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ValidUseCount |= (int32(b) & 0x7F) << shift + m.ValidUseCount |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -1999,7 +2464,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2008,6 +2473,9 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2032,7 +2500,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2041,6 +2509,9 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2060,6 +2531,9 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2087,7 +2561,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2115,7 +2589,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2124,10 +2598,13 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.ValidDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -2145,7 +2622,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GrantedAmount |= (int64(b) & 0x7F) << shift + m.GrantedAmount |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -2164,7 +2641,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2173,6 +2650,9 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2189,6 +2669,9 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2216,7 +2699,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2244,7 +2727,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2254,6 +2737,9 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2273,7 +2759,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2282,6 +2768,9 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2299,6 +2788,9 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2326,7 +2818,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2354,7 +2846,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2375,7 +2867,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Condition |= (ReferencedAttributes_Condition(b) & 0x7F) << shift + m.Condition |= ReferencedAttributes_Condition(b&0x7F) << shift if b < 0x80 { break } @@ -2394,7 +2886,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2404,6 +2896,9 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2423,7 +2918,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2439,6 +2934,9 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2466,7 +2964,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2494,7 +2992,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2504,6 +3002,9 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2523,7 +3024,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2533,6 +3034,9 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2552,7 +3056,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Operation |= (HeaderOperation_Operation(b) & 0x7F) << shift + m.Operation |= HeaderOperation_Operation(b&0x7F) << shift if b < 0x80 { break } @@ -2566,6 +3070,9 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2593,7 +3100,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2621,7 +3128,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2630,6 +3137,9 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2652,7 +3162,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2661,6 +3171,9 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2683,7 +3196,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.DirectResponseCode |= (uint32(b) & 0x7F) << shift + m.DirectResponseCode |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -2702,7 +3215,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2712,6 +3225,9 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2726,6 +3242,9 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2753,7 +3272,7 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2781,7 +3300,7 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2790,6 +3309,9 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2812,7 +3334,7 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2822,6 +3344,9 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthMixer } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMixer + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2841,7 +3366,7 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GlobalWordCount |= (uint32(b) & 0x7F) << shift + m.GlobalWordCount |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -2860,7 +3385,7 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.RepeatedAttributesSemantics |= (ReportRequest_RepeatedAttributesSemantics(b) & 0x7F) << shift + m.RepeatedAttributesSemantics |= ReportRequest_RepeatedAttributesSemantics(b&0x7F) << shift if b < 0x80 { break } @@ -2874,6 +3399,9 @@ func (m *ReportRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2901,7 +3429,7 @@ func (m *ReportResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2924,6 +3452,9 @@ func (m *ReportResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthMixer } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthMixer + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2990,10 +3521,13 @@ func skipMixer(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthMixer } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthMixer + } return iNdEx, nil case 3: for { @@ -3022,6 +3556,9 @@ func skipMixer(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthMixer + } } return iNdEx, nil case 4: @@ -3040,85 +3577,3 @@ var ( ErrInvalidLengthMixer = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMixer = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("mixer/v1/mixer.proto", fileDescriptorMixer) } - -var fileDescriptorMixer = []byte{ - // 1209 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4d, 0x73, 0xdb, 0x44, - 0x18, 0x96, 0xac, 0xd8, 0xad, 0x5f, 0xd7, 0x8e, 0xba, 0xe3, 0x52, 0xc7, 0xa5, 0x4a, 0xc6, 0x7c, - 0x4c, 0xca, 0x41, 0x4e, 0xd3, 0x0b, 0x70, 0x80, 0x71, 0x6c, 0x25, 0xb8, 0x6d, 0x9c, 0xa0, 0xa4, - 0xb4, 0xf4, 0xa2, 0x51, 0xa4, 0xb5, 0xab, 0xa9, 0xed, 0x55, 0x57, 0x52, 0x68, 0x0e, 0xcc, 0x74, - 0x86, 0x3f, 0xc0, 0x91, 0xe1, 0xc6, 0x85, 0xe1, 0x17, 0x70, 0xe2, 0x07, 0xf4, 0xd8, 0x23, 0x27, - 0x20, 0x06, 0x66, 0x38, 0xf6, 0xd8, 0x23, 0xa3, 0xdd, 0x95, 0x6c, 0xc7, 0x4e, 0x1a, 0x3e, 0x6e, - 0xbb, 0xfb, 0xbe, 0xef, 0xf3, 0x7e, 0xe8, 0x79, 0x56, 0x0b, 0xe5, 0x81, 0xf7, 0x14, 0xd3, 0xfa, - 0xe1, 0xcd, 0x3a, 0x5b, 0xe8, 0x3e, 0x25, 0x21, 0x41, 0x25, 0x2f, 0x08, 0x3d, 0xa2, 0xf3, 0xa3, - 0xc3, 0x9b, 0xd5, 0x72, 0x8f, 0xf4, 0x08, 0x33, 0xd5, 0xe3, 0x15, 0xf7, 0xaa, 0x6a, 0x3d, 0x42, - 0x7a, 0x7d, 0x5c, 0x67, 0xbb, 0x83, 0xa8, 0x5b, 0x77, 0x23, 0x6a, 0x87, 0x1e, 0x19, 0x0a, 0xfb, - 0x55, 0x61, 0xa7, 0xbe, 0x53, 0x0f, 0x42, 0x3b, 0x8c, 0x02, 0x61, 0x58, 0x4a, 0x93, 0xda, 0x61, - 0x48, 0xbd, 0x83, 0x28, 0xc4, 0xc2, 0x54, 0xfb, 0x5e, 0x81, 0x4b, 0xcd, 0x47, 0xd8, 0x79, 0x6c, - 0xe2, 0x27, 0x11, 0x0e, 0x42, 0x74, 0x1b, 0x60, 0xec, 0x54, 0x91, 0x57, 0xe4, 0xd5, 0xc2, 0xfa, - 0xdb, 0xfa, 0x74, 0x7d, 0x7a, 0x93, 0x0c, 0x7c, 0x8a, 0x83, 0x00, 0xbb, 0x8d, 0xd4, 0x77, 0x63, - 0xe1, 0xf9, 0x2f, 0xcb, 0x92, 0x39, 0x11, 0x8d, 0xde, 0x83, 0xcb, 0xbd, 0x3e, 0x39, 0xb0, 0xfb, - 0xd6, 0x17, 0x84, 0xba, 0x96, 0x43, 0xa2, 0x61, 0x58, 0xc9, 0xac, 0xc8, 0xab, 0x45, 0x73, 0x91, - 0x1b, 0xee, 0x13, 0xea, 0x36, 0xe3, 0x63, 0x74, 0x03, 0x54, 0x17, 0xbb, 0x91, 0xdf, 0xf7, 0x1c, - 0xd6, 0x93, 0xe5, 0xb9, 0x15, 0x65, 0x45, 0x5e, 0xcd, 0x9b, 0x8b, 0x53, 0xe7, 0x6d, 0x17, 0x6d, - 0x42, 0xee, 0x49, 0x44, 0x42, 0x3b, 0xa8, 0x2c, 0xac, 0x28, 0xab, 0x85, 0xf5, 0xd5, 0x99, 0xf2, - 0x26, 0x1a, 0xd2, 0x3f, 0x65, 0xae, 0xc6, 0x30, 0xa4, 0x47, 0xa2, 0x44, 0x11, 0x5d, 0xdd, 0x84, - 0x02, 0x33, 0xee, 0xda, 0xd4, 0x1e, 0x04, 0xe8, 0x0d, 0xc8, 0xd9, 0x03, 0x56, 0x62, 0xdc, 0xb5, - 0x62, 0x8a, 0x1d, 0x5a, 0x86, 0xc2, 0x01, 0x0e, 0x42, 0x0b, 0x77, 0xbb, 0x84, 0xf2, 0xfa, 0x2f, - 0x9a, 0x10, 0x1f, 0x19, 0xec, 0xa4, 0xea, 0x08, 0x1c, 0x9e, 0x04, 0xa9, 0xa0, 0x3c, 0xc6, 0x47, - 0x0c, 0x24, 0x6f, 0xc6, 0x4b, 0xf4, 0x11, 0x64, 0x0f, 0xed, 0x7e, 0x84, 0x59, 0xec, 0xb9, 0xea, - 0xe5, 0x25, 0x99, 0x3c, 0xec, 0xc3, 0xcc, 0xfb, 0x72, 0xed, 0xcf, 0x1c, 0x14, 0x85, 0x5f, 0xe0, - 0x93, 0x61, 0x80, 0xd1, 0x43, 0xb8, 0xe4, 0x53, 0xec, 0x90, 0xa1, 0xeb, 0xc5, 0x83, 0x11, 0xe0, - 0x6b, 0xa7, 0x80, 0xf3, 0x20, 0x7d, 0x77, 0x22, 0xc2, 0xc4, 0x41, 0xd4, 0x0f, 0xc5, 0x50, 0xa6, - 0xb0, 0xd0, 0x56, 0x3a, 0x62, 0x85, 0x8d, 0xf8, 0xc6, 0xd9, 0xa8, 0xa7, 0xcf, 0xf8, 0x8f, 0x0c, - 0xa0, 0xd9, 0x9c, 0x68, 0x0d, 0x72, 0x9c, 0xa1, 0x82, 0x61, 0x48, 0xe7, 0xdc, 0xd5, 0xa9, 0xef, - 0xe8, 0x7b, 0xcc, 0x92, 0x00, 0x71, 0x3f, 0x74, 0x1b, 0x4a, 0x87, 0x76, 0xdf, 0x73, 0xad, 0x84, - 0xf4, 0xa2, 0xdf, 0xa5, 0x24, 0x32, 0x51, 0x85, 0xde, 0x12, 0x0e, 0x1b, 0x17, 0x63, 0x80, 0x6f, - 0x7e, 0x5d, 0x96, 0xcd, 0x22, 0x0b, 0x4d, 0x0c, 0xe8, 0x5d, 0x58, 0xe4, 0x58, 0x51, 0x80, 0x05, - 0x2b, 0x63, 0xaa, 0x65, 0x85, 0xdf, 0xbd, 0x00, 0x73, 0x4e, 0x7e, 0x0e, 0x57, 0x28, 0xee, 0x62, - 0x8a, 0x87, 0x0e, 0x76, 0xad, 0x09, 0x59, 0x64, 0xe7, 0xcb, 0xc2, 0x4c, 0x9d, 0xc7, 0xb2, 0x30, - 0xcb, 0x74, 0xce, 0x29, 0xda, 0x82, 0x45, 0x4a, 0xa2, 0x10, 0x5b, 0xae, 0x47, 0xb1, 0x13, 0x7a, - 0x87, 0xb8, 0x92, 0x63, 0xa0, 0xda, 0x0c, 0x68, 0xec, 0xd6, 0x4a, 0xbc, 0xcc, 0x12, 0x9d, 0xda, - 0xdf, 0x5e, 0xb8, 0xb8, 0xa0, 0x66, 0xab, 0xc7, 0xb2, 0xe0, 0xa0, 0x98, 0xef, 0xec, 0xb4, 0xe4, - 0x7f, 0x3d, 0xad, 0x77, 0xa0, 0xd4, 0xa3, 0xf6, 0x30, 0x8c, 0x47, 0x30, 0x48, 0x25, 0xac, 0x98, - 0x45, 0x71, 0xda, 0xe0, 0x32, 0xb1, 0xfe, 0x87, 0x61, 0x89, 0x6f, 0x3e, 0x77, 0x64, 0x55, 0xf7, - 0x75, 0x32, 0xfb, 0x78, 0x5a, 0x66, 0xe7, 0xe1, 0x2c, 0x1f, 0xd7, 0xa4, 0xce, 0xbe, 0x52, 0xa0, - 0x3c, 0xaf, 0x34, 0x54, 0x86, 0x6c, 0x7c, 0x8b, 0xc5, 0x8c, 0x55, 0x56, 0xf3, 0x26, 0xdf, 0xa0, - 0x2e, 0x5c, 0x4e, 0x5b, 0xb5, 0x06, 0x76, 0xe8, 0x3c, 0xc2, 0x41, 0x25, 0xc3, 0x34, 0x73, 0xeb, - 0x3c, 0x1d, 0xeb, 0xe9, 0x72, 0x3b, 0x0e, 0x16, 0x03, 0x50, 0xed, 0xa9, 0x53, 0x1c, 0x54, 0xbf, - 0x93, 0xa1, 0x34, 0xed, 0x8a, 0x10, 0x2c, 0x0c, 0xed, 0x01, 0x66, 0x13, 0xb8, 0x6c, 0xb2, 0x35, - 0xba, 0x0b, 0xf9, 0xe9, 0x0b, 0xa1, 0xb4, 0xae, 0x9f, 0xab, 0x8c, 0x66, 0x2a, 0xd0, 0x31, 0x40, - 0xdc, 0x32, 0xc5, 0x3d, 0xfc, 0x54, 0x5c, 0xc4, 0x7c, 0x83, 0xae, 0xc2, 0x85, 0x81, 0xed, 0x5b, - 0xf1, 0xf0, 0x17, 0x58, 0xea, 0xdc, 0xc0, 0xf6, 0xef, 0xe0, 0xa3, 0x5a, 0x1b, 0xf2, 0x29, 0x0c, - 0x5a, 0x82, 0x2b, 0xcd, 0x9d, 0x4e, 0xab, 0xbd, 0xdf, 0xde, 0xe9, 0x58, 0xf7, 0x3a, 0x7b, 0xbb, - 0x46, 0xb3, 0xbd, 0xd9, 0x36, 0x5a, 0xaa, 0x84, 0x0a, 0x70, 0xa1, 0xb1, 0xb1, 0x67, 0x74, 0x9a, - 0x86, 0x2a, 0xa3, 0x3c, 0x64, 0x8d, 0x07, 0x8d, 0xe6, 0xbe, 0x9a, 0x89, 0x97, 0xa6, 0xb1, 0x65, - 0x3c, 0x50, 0x95, 0xda, 0x8f, 0x32, 0x2c, 0x7e, 0x82, 0x6d, 0x17, 0xd3, 0x1d, 0x1f, 0x0b, 0x1e, - 0x4e, 0xf6, 0x9b, 0x17, 0xfd, 0x96, 0x27, 0x3f, 0x79, 0x5e, 0x7c, 0x47, 0xb4, 0x05, 0x79, 0x92, - 0x84, 0xb1, 0xda, 0x4b, 0xb3, 0x64, 0x38, 0x81, 0xae, 0xa7, 0x2b, 0x73, 0x1c, 0x5b, 0x5b, 0x83, - 0xfc, 0x38, 0x7f, 0x01, 0x2e, 0x98, 0xc6, 0xee, 0xdd, 0x46, 0xd3, 0x50, 0x25, 0x04, 0x90, 0x33, - 0x8d, 0xed, 0x9d, 0xcf, 0xe2, 0x16, 0x00, 0x72, 0x8d, 0xdd, 0x5d, 0xa3, 0xd3, 0x52, 0x33, 0xb5, - 0x9f, 0x32, 0x50, 0x9a, 0x56, 0x2c, 0xb2, 0x61, 0x89, 0xf2, 0xbb, 0xdd, 0x7a, 0xc4, 0x92, 0x5a, - 0x69, 0x02, 0x4e, 0xa6, 0xc2, 0xfa, 0xf2, 0x6b, 0xaa, 0x13, 0xb4, 0xb8, 0x2a, 0x70, 0x4e, 0x58, - 0x03, 0xe4, 0x40, 0x95, 0x0a, 0x5e, 0xcf, 0xc9, 0x91, 0xf9, 0x27, 0x39, 0x2a, 0x09, 0xd0, 0x4c, - 0x92, 0x35, 0x28, 0xf3, 0xcb, 0xca, 0x4a, 0x73, 0x39, 0xc4, 0xc5, 0x6c, 0xc0, 0x45, 0x13, 0x71, - 0x5b, 0x22, 0xaf, 0x26, 0x71, 0xf1, 0xbc, 0x88, 0x03, 0xe2, 0x72, 0xda, 0xe4, 0x4f, 0x46, 0x6c, - 0x10, 0xf7, 0xa8, 0xf6, 0x2a, 0x03, 0x45, 0x13, 0xfb, 0x84, 0x86, 0xa7, 0xbd, 0x47, 0x94, 0xff, - 0xf0, 0x1e, 0x79, 0x0b, 0x8a, 0x2e, 0xee, 0xda, 0x51, 0x3f, 0xb4, 0xb8, 0x94, 0x33, 0x4c, 0xca, - 0x97, 0xc4, 0xe1, 0x7d, 0xa6, 0xe8, 0xb9, 0x8f, 0x16, 0x65, 0xfe, 0xa3, 0xe5, 0x4b, 0xb8, 0x4e, - 0xb1, 0x8f, 0xed, 0x70, 0xea, 0xc6, 0xb3, 0x02, 0x3c, 0xb0, 0x87, 0xa1, 0xe7, 0x04, 0xac, 0xd3, - 0xd2, 0xfa, 0x07, 0xb3, 0x12, 0x9c, 0x68, 0x31, 0xde, 0x31, 0x88, 0x71, 0xed, 0x7b, 0x09, 0x80, - 0x79, 0x8d, 0x9e, 0x6e, 0xac, 0xdd, 0x81, 0x6b, 0x67, 0xc4, 0x22, 0x04, 0xa5, 0x96, 0x71, 0x77, - 0xbf, 0x61, 0x19, 0x9d, 0xe6, 0x4e, 0xab, 0xdd, 0xd9, 0x52, 0x25, 0x54, 0x81, 0x72, 0xbb, 0xd3, - 0x32, 0x62, 0xb6, 0x1a, 0x9d, 0xfd, 0xb1, 0x45, 0xae, 0xa9, 0x50, 0x4a, 0xca, 0xe2, 0x1f, 0x64, - 0xfd, 0x5b, 0x19, 0xb2, 0xdb, 0x71, 0xc9, 0x68, 0x13, 0xb2, 0xec, 0xf2, 0x44, 0x6f, 0x9e, 0xf5, - 0x74, 0xa9, 0x5e, 0x3f, 0xf3, 0xc6, 0xad, 0x49, 0xa8, 0x0d, 0x39, 0x9e, 0x03, 0x5d, 0x3f, 0x73, - 0x24, 0x55, 0xed, 0x34, 0x73, 0x02, 0xb5, 0xb1, 0xfd, 0xfc, 0x58, 0x93, 0x5e, 0x1c, 0x6b, 0xd2, - 0xcf, 0xc7, 0x9a, 0xf4, 0xf2, 0x58, 0x93, 0x9e, 0x8d, 0x34, 0xf9, 0x87, 0x91, 0x26, 0x3d, 0x1f, - 0x69, 0xf2, 0x8b, 0x91, 0x26, 0xff, 0x36, 0xd2, 0xe4, 0xbf, 0x46, 0x9a, 0xf4, 0x72, 0xa4, 0xc9, - 0x5f, 0xff, 0xae, 0x49, 0x0f, 0xaf, 0x70, 0x48, 0x8f, 0xd4, 0x6d, 0xdf, 0xab, 0x27, 0x4f, 0xe2, - 0x67, 0xb2, 0xfc, 0x4a, 0x96, 0x0f, 0x72, 0xec, 0x87, 0x78, 0xeb, 0xef, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x7a, 0xa2, 0x01, 0x40, 0xa0, 0x0b, 0x00, 0x00, -} diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 9b263002db7..9a0d61a14ea 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -1,67 +1,18 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/destination_rule.proto -/* - Package v1alpha3 is a generated protocol buffer package. - - It is generated from these files: - networking/v1alpha3/destination_rule.proto - networking/v1alpha3/envoy_filter.proto - networking/v1alpha3/gateway.proto - networking/v1alpha3/service_entry.proto - networking/v1alpha3/sidecar.proto - networking/v1alpha3/virtual_service.proto - - It has these top-level messages: - DestinationRule - TrafficPolicy - Subset - LoadBalancerSettings - ConnectionPoolSettings - OutlierDetection - TLSSettings - EnvoyFilter - Gateway - Server - Port - ServiceEntry - Sidecar - IstioIngressListener - IstioEgressListener - WorkloadSelector - VirtualService - Destination - HTTPRoute - Headers - TLSRoute - TCPRoute - HTTPMatchRequest - HTTPRouteDestination - RouteDestination - L4MatchAttributes - TLSMatchAttributes - HTTPRedirect - HTTPRewrite - StringMatch - HTTPRetry - CorsPolicy - HTTPFaultInjection - PortSelector - Percent -*/ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import _ "github.com/gogo/protobuf/gogoproto" - -import time "time" - -import types "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + io "io" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -103,6 +54,7 @@ var LoadBalancerSettings_SimpleLB_name = map[int32]string{ 2: "RANDOM", 3: "PASSTHROUGH", } + var LoadBalancerSettings_SimpleLB_value = map[string]int32{ "ROUND_ROBIN": 0, "LEAST_CONN": 1, @@ -113,8 +65,9 @@ var LoadBalancerSettings_SimpleLB_value = map[string]int32{ func (x LoadBalancerSettings_SimpleLB) String() string { return proto.EnumName(LoadBalancerSettings_SimpleLB_name, int32(x)) } + func (LoadBalancerSettings_SimpleLB) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3, 0} + return fileDescriptor_12899beb695152c8, []int{3, 0} } // TLS connection mode @@ -142,6 +95,7 @@ var TLSSettings_TLSmode_name = map[int32]string{ 2: "MUTUAL", 3: "ISTIO_MUTUAL", } + var TLSSettings_TLSmode_value = map[string]int32{ "DISABLE": 0, "SIMPLE": 1, @@ -152,8 +106,9 @@ var TLSSettings_TLSmode_value = map[string]int32{ func (x TLSSettings_TLSmode) String() string { return proto.EnumName(TLSSettings_TLSmode_name, int32(x)) } + func (TLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{6, 0} + return fileDescriptor_12899beb695152c8, []int{6, 0} } // `DestinationRule` defines policies that apply to traffic intended for a @@ -246,20 +201,51 @@ type DestinationRule struct { Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // Traffic policies to apply (load balancing policy, connection pool // sizes, outlier detection). - TrafficPolicy *TrafficPolicy `protobuf:"bytes,2,opt,name=traffic_policy,json=trafficPolicy" json:"traffic_policy,omitempty"` + TrafficPolicy *TrafficPolicy `protobuf:"bytes,2,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"` // One or more named sets that represent individual versions of a // service. Traffic policies can be overridden at subset level. - Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets" json:"subsets,omitempty"` + Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets,proto3" json:"subsets,omitempty"` // The resolution of a DestinationRule to apply to a service occurs in the // context of a hierarchy of namespaces. This rule controls whether those // namespaces are allowed to select this rule. - ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` + ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DestinationRule) Reset() { *m = DestinationRule{} } +func (m *DestinationRule) String() string { return proto.CompactTextString(m) } +func (*DestinationRule) ProtoMessage() {} +func (*DestinationRule) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{0} +} +func (m *DestinationRule) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DestinationRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DestinationRule.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DestinationRule) XXX_Merge(src proto.Message) { + xxx_messageInfo_DestinationRule.Merge(m, src) +} +func (m *DestinationRule) XXX_Size() int { + return m.Size() +} +func (m *DestinationRule) XXX_DiscardUnknown() { + xxx_messageInfo_DestinationRule.DiscardUnknown(m) } -func (m *DestinationRule) Reset() { *m = DestinationRule{} } -func (m *DestinationRule) String() string { return proto.CompactTextString(m) } -func (*DestinationRule) ProtoMessage() {} -func (*DestinationRule) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{0} } +var xxx_messageInfo_DestinationRule proto.InternalMessageInfo func (m *DestinationRule) GetHost() string { if m != nil { @@ -293,25 +279,56 @@ func (m *DestinationRule) GetExportTo() []string { // destination ports. See DestinationRule for examples. type TrafficPolicy struct { // Settings controlling the load balancer algorithms. - LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer" json:"load_balancer,omitempty"` + LoadBalancer *LoadBalancerSettings `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"` // Settings controlling the volume of connections to an upstream service - ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,2,opt,name=connection_pool,json=connectionPool" json:"connection_pool,omitempty"` + ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,2,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"` // Settings controlling eviction of unhealthy hosts from the load balancing pool - OutlierDetection *OutlierDetection `protobuf:"bytes,3,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"` + OutlierDetection *OutlierDetection `protobuf:"bytes,3,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // TLS related settings for connections to the upstream service. - Tls *TLSSettings `protobuf:"bytes,4,opt,name=tls" json:"tls,omitempty"` + Tls *TLSSettings `protobuf:"bytes,4,opt,name=tls,proto3" json:"tls,omitempty"` // Traffic policies specific to individual ports. Note that port level // settings will override the destination-level settings. Traffic // settings specified at the destination-level will not be inherited when // overridden by port-level settings, i.e. default values will be applied // to fields omitted in port-level traffic policies. - PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings" json:"port_level_settings,omitempty"` + PortLevelSettings []*TrafficPolicy_PortTrafficPolicy `protobuf:"bytes,5,rep,name=port_level_settings,json=portLevelSettings,proto3" json:"port_level_settings,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} } +func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) } +func (*TrafficPolicy) ProtoMessage() {} +func (*TrafficPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{1} +} +func (m *TrafficPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TrafficPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TrafficPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_TrafficPolicy.Merge(m, src) +} +func (m *TrafficPolicy) XXX_Size() int { + return m.Size() +} +func (m *TrafficPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_TrafficPolicy.DiscardUnknown(m) } -func (m *TrafficPolicy) Reset() { *m = TrafficPolicy{} } -func (m *TrafficPolicy) String() string { return proto.CompactTextString(m) } -func (*TrafficPolicy) ProtoMessage() {} -func (*TrafficPolicy) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{1} } +var xxx_messageInfo_TrafficPolicy proto.InternalMessageInfo func (m *TrafficPolicy) GetLoadBalancer() *LoadBalancerSettings { if m != nil { @@ -357,23 +374,52 @@ type TrafficPolicy_PortTrafficPolicy struct { // collide with numbers. If there are multiple ports on a service with // the same protocol the names should be of the form -. - Port *PortSelector `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // Settings controlling the load balancer algorithms. - LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer" json:"load_balancer,omitempty"` + LoadBalancer *LoadBalancerSettings `protobuf:"bytes,2,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"` // Settings controlling the volume of connections to an upstream service - ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool" json:"connection_pool,omitempty"` + ConnectionPool *ConnectionPoolSettings `protobuf:"bytes,3,opt,name=connection_pool,json=connectionPool,proto3" json:"connection_pool,omitempty"` // Settings controlling eviction of unhealthy hosts from the load balancing pool - OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"` + OutlierDetection *OutlierDetection `protobuf:"bytes,4,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // TLS related settings for connections to the upstream service. - Tls *TLSSettings `protobuf:"bytes,5,opt,name=tls" json:"tls,omitempty"` + Tls *TLSSettings `protobuf:"bytes,5,opt,name=tls,proto3" json:"tls,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TrafficPolicy_PortTrafficPolicy) Reset() { *m = TrafficPolicy_PortTrafficPolicy{} } func (m *TrafficPolicy_PortTrafficPolicy) String() string { return proto.CompactTextString(m) } func (*TrafficPolicy_PortTrafficPolicy) ProtoMessage() {} func (*TrafficPolicy_PortTrafficPolicy) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{1, 0} + return fileDescriptor_12899beb695152c8, []int{1, 0} } +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.Merge(m, src) +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_Size() int { + return m.Size() +} +func (m *TrafficPolicy_PortTrafficPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_TrafficPolicy_PortTrafficPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_TrafficPolicy_PortTrafficPolicy proto.InternalMessageInfo func (m *TrafficPolicy_PortTrafficPolicy) GetPort() *PortSelector { if m != nil { @@ -452,18 +498,49 @@ type Subset struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Labels apply a filter over the endpoints of a service in the // service registry. See route rules for examples of usage. - Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Traffic policies that apply to this subset. Subsets inherit the // traffic policies specified at the DestinationRule level. Settings // specified at the subset level will override the corresponding settings // specified at the DestinationRule level. - TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy" json:"traffic_policy,omitempty"` + TrafficPolicy *TrafficPolicy `protobuf:"bytes,3,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Subset) Reset() { *m = Subset{} } -func (m *Subset) String() string { return proto.CompactTextString(m) } -func (*Subset) ProtoMessage() {} -func (*Subset) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{2} } +func (m *Subset) Reset() { *m = Subset{} } +func (m *Subset) String() string { return proto.CompactTextString(m) } +func (*Subset) ProtoMessage() {} +func (*Subset) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{2} +} +func (m *Subset) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Subset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Subset.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Subset) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subset.Merge(m, src) +} +func (m *Subset) XXX_Size() int { + return m.Size() +} +func (m *Subset) XXX_DiscardUnknown() { + xxx_messageInfo_Subset.DiscardUnknown(m) +} + +var xxx_messageInfo_Subset proto.InternalMessageInfo func (m *Subset) GetName() string { if m != nil { @@ -531,16 +608,45 @@ type LoadBalancerSettings struct { // Types that are valid to be assigned to LbPolicy: // *LoadBalancerSettings_Simple // *LoadBalancerSettings_ConsistentHash - LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"` + LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LoadBalancerSettings) Reset() { *m = LoadBalancerSettings{} } func (m *LoadBalancerSettings) String() string { return proto.CompactTextString(m) } func (*LoadBalancerSettings) ProtoMessage() {} func (*LoadBalancerSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3} + return fileDescriptor_12899beb695152c8, []int{3} +} +func (m *LoadBalancerSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LoadBalancerSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LoadBalancerSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LoadBalancerSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoadBalancerSettings.Merge(m, src) +} +func (m *LoadBalancerSettings) XXX_Size() int { + return m.Size() +} +func (m *LoadBalancerSettings) XXX_DiscardUnknown() { + xxx_messageInfo_LoadBalancerSettings.DiscardUnknown(m) } +var xxx_messageInfo_LoadBalancerSettings proto.InternalMessageInfo + type isLoadBalancerSettings_LbPolicy interface { isLoadBalancerSettings_LbPolicy() MarshalTo([]byte) (int, error) @@ -551,7 +657,7 @@ type LoadBalancerSettings_Simple struct { Simple LoadBalancerSettings_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB,oneof"` } type LoadBalancerSettings_ConsistentHash struct { - ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,oneof"` + ConsistentHash *LoadBalancerSettings_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof"` } func (*LoadBalancerSettings_Simple) isLoadBalancerSettings_LbPolicy() {} @@ -633,11 +739,11 @@ func _LoadBalancerSettings_OneofSizer(msg proto.Message) (n int) { // lb_policy switch x := m.LbPolicy.(type) { case *LoadBalancerSettings_Simple: - n += proto.SizeVarint(1<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Simple)) case *LoadBalancerSettings_ConsistentHash: s := proto.Size(x.ConsistentHash) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -666,15 +772,44 @@ type LoadBalancerSettings_ConsistentHashLB struct { // load distributions. If the number of hosts in the load balancing // pool is larger than the ring size, each host will be assigned a // single virtual node. - MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` + MinimumRingSize uint64 `protobuf:"varint,4,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LoadBalancerSettings_ConsistentHashLB) Reset() { *m = LoadBalancerSettings_ConsistentHashLB{} } func (m *LoadBalancerSettings_ConsistentHashLB) String() string { return proto.CompactTextString(m) } func (*LoadBalancerSettings_ConsistentHashLB) ProtoMessage() {} func (*LoadBalancerSettings_ConsistentHashLB) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3, 0} + return fileDescriptor_12899beb695152c8, []int{3, 0} +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.Merge(m, src) +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_Size() int { + return m.Size() +} +func (m *LoadBalancerSettings_ConsistentHashLB) XXX_DiscardUnknown() { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB.DiscardUnknown(m) +} + +var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB proto.InternalMessageInfo type isLoadBalancerSettings_ConsistentHashLB_HashKey interface { isLoadBalancerSettings_ConsistentHashLB_HashKey() @@ -686,7 +821,7 @@ type LoadBalancerSettings_ConsistentHashLB_HttpHeaderName struct { HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof"` } type LoadBalancerSettings_ConsistentHashLB_HttpCookie struct { - HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,oneof"` + HttpCookie *LoadBalancerSettings_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof"` } type LoadBalancerSettings_ConsistentHashLB_UseSourceIp struct { UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof"` @@ -804,16 +939,16 @@ func _LoadBalancerSettings_ConsistentHashLB_OneofSizer(msg proto.Message) (n int // hash_key switch x := m.HashKey.(type) { case *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.HttpHeaderName))) n += len(x.HttpHeaderName) case *LoadBalancerSettings_ConsistentHashLB_HttpCookie: s := proto.Size(x.HttpCookie) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *LoadBalancerSettings_ConsistentHashLB_UseSourceIp: - n += proto.SizeVarint(3<<3 | proto.WireVarint) + n += 1 // tag and wire n += 1 case nil: default: @@ -831,7 +966,10 @@ type LoadBalancerSettings_ConsistentHashLB_HTTPCookie struct { // Path to set for the cookie. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // REQUIRED. Lifetime of the cookie. - Ttl *time.Duration `protobuf:"bytes,3,opt,name=ttl,stdduration" json:"ttl,omitempty"` + Ttl *time.Duration `protobuf:"bytes,3,opt,name=ttl,proto3,stdduration" json:"ttl,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Reset() { @@ -842,8 +980,34 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) String() string { } func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) ProtoMessage() {} func (*LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{3, 0, 0} + return fileDescriptor_12899beb695152c8, []int{3, 0, 0} +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.Merge(m, src) +} +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_Size() int { + return m.Size() } +func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) XXX_DiscardUnknown() { + xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie.DiscardUnknown(m) +} + +var xxx_messageInfo_LoadBalancerSettings_ConsistentHashLB_HTTPCookie proto.InternalMessageInfo func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetName() string { if m != nil { @@ -893,17 +1057,46 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *time.Durati // ``` type ConnectionPoolSettings struct { // Settings common to both HTTP and TCP upstream connections. - Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp" json:"tcp,omitempty"` + Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"` // HTTP connection pool settings. - Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http" json:"http,omitempty"` + Http *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings) Reset() { *m = ConnectionPoolSettings{} } func (m *ConnectionPoolSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings) ProtoMessage() {} func (*ConnectionPoolSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4} + return fileDescriptor_12899beb695152c8, []int{4} +} +func (m *ConnectionPoolSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } } +func (m *ConnectionPoolSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings.Merge(m, src) +} +func (m *ConnectionPoolSettings) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings.DiscardUnknown(m) +} + +var xxx_messageInfo_ConnectionPoolSettings proto.InternalMessageInfo func (m *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings { if m != nil { @@ -924,18 +1117,47 @@ type ConnectionPoolSettings_TCPSettings struct { // Maximum number of HTTP1 /TCP connections to a destination host. MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // TCP connection timeout. - ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + ConnectTimeout *types.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. - TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` + TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} } func (m *ConnectionPoolSettings_TCPSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings_TCPSettings) ProtoMessage() {} func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4, 0} + return fileDescriptor_12899beb695152c8, []int{4, 0} +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings.Merge(m, src) +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings_TCPSettings) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings.DiscardUnknown(m) } +var xxx_messageInfo_ConnectionPoolSettings_TCPSettings proto.InternalMessageInfo + func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 { if m != nil { return m.MaxConnections @@ -943,7 +1165,7 @@ func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32 { return 0 } -func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *google_protobuf.Duration { +func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *types.Duration { if m != nil { return m.ConnectTimeout } @@ -966,11 +1188,14 @@ type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct { // The time duration a connection needs to be idle before keep-alive // probes start being sent. Default is to use the OS level configuration // (unless overridden, Linux defaults to 7200s (ie 2 hours.) - Time *google_protobuf.Duration `protobuf:"bytes,2,opt,name=time" json:"time,omitempty"` + Time *types.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"` // The time duration between keep-alive probes. // Default is to use the OS level configuration // (unless overridden, Linux defaults to 75s.) - Interval *google_protobuf.Duration `protobuf:"bytes,3,opt,name=interval" json:"interval,omitempty"` + Interval *types.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() { @@ -981,9 +1206,35 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string { } func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {} func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4, 0, 0} + return fileDescriptor_12899beb695152c8, []int{4, 0, 0} +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.Merge(m, src) +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive.DiscardUnknown(m) } +var xxx_messageInfo_ConnectionPoolSettings_TCPSettings_TcpKeepalive proto.InternalMessageInfo + func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { if m != nil { return m.Probes @@ -991,14 +1242,14 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { return 0 } -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *google_protobuf.Duration { +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *types.Duration { if m != nil { return m.Time } return nil } -func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *google_protobuf.Duration { +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *types.Duration { if m != nil { return m.Interval } @@ -1016,16 +1267,45 @@ type ConnectionPoolSettings_HTTPSettings struct { MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` // Maximum number of retries that can be outstanding to all hosts in a // cluster at a given time. Defaults to 3. - MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` + MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConnectionPoolSettings_HTTPSettings) Reset() { *m = ConnectionPoolSettings_HTTPSettings{} } func (m *ConnectionPoolSettings_HTTPSettings) String() string { return proto.CompactTextString(m) } func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage() {} func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int) { - return fileDescriptorDestinationRule, []int{4, 1} + return fileDescriptor_12899beb695152c8, []int{4, 1} +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.Merge(m, src) +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_Size() int { + return m.Size() +} +func (m *ConnectionPoolSettings_HTTPSettings) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectionPoolSettings_HTTPSettings.DiscardUnknown(m) } +var xxx_messageInfo_ConnectionPoolSettings_HTTPSettings proto.InternalMessageInfo + func (m *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32 { if m != nil { return m.Http1MaxPendingRequests @@ -1098,13 +1378,13 @@ type OutlierDetection struct { ConsecutiveErrors int32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"` // Time interval between ejection sweep analysis. format: // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s. - Interval *google_protobuf.Duration `protobuf:"bytes,2,opt,name=interval" json:"interval,omitempty"` + Interval *types.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` // Minimum ejection duration. A host will remain ejected for a period // equal to the product of minimum ejection duration and the number of // times the host has been ejected. This technique allows the system to // automatically increase the ejection period for unhealthy upstream // servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s. - BaseEjectionTime *google_protobuf.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime" json:"base_ejection_time,omitempty"` + BaseEjectionTime *types.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"` // Maximum % of hosts in the load balancing pool for the upstream // service that can be ejected. Defaults to 10%. MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` @@ -1113,13 +1393,44 @@ type OutlierDetection struct { // percentage of healthy hosts in the load balancing pool drops below this // threshold, outlier detection will be disabled and the proxy will load balance // across all hosts in the pool (healthy and unhealthy). The default is 50%. - MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"` + MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OutlierDetection) Reset() { *m = OutlierDetection{} } +func (m *OutlierDetection) String() string { return proto.CompactTextString(m) } +func (*OutlierDetection) ProtoMessage() {} +func (*OutlierDetection) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{5} +} +func (m *OutlierDetection) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OutlierDetection.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *OutlierDetection) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutlierDetection.Merge(m, src) +} +func (m *OutlierDetection) XXX_Size() int { + return m.Size() +} +func (m *OutlierDetection) XXX_DiscardUnknown() { + xxx_messageInfo_OutlierDetection.DiscardUnknown(m) } -func (m *OutlierDetection) Reset() { *m = OutlierDetection{} } -func (m *OutlierDetection) String() string { return proto.CompactTextString(m) } -func (*OutlierDetection) ProtoMessage() {} -func (*OutlierDetection) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{5} } +var xxx_messageInfo_OutlierDetection proto.InternalMessageInfo func (m *OutlierDetection) GetConsecutiveErrors() int32 { if m != nil { @@ -1128,14 +1439,14 @@ func (m *OutlierDetection) GetConsecutiveErrors() int32 { return 0 } -func (m *OutlierDetection) GetInterval() *google_protobuf.Duration { +func (m *OutlierDetection) GetInterval() *types.Duration { if m != nil { return m.Interval } return nil } -func (m *OutlierDetection) GetBaseEjectionTime() *google_protobuf.Duration { +func (m *OutlierDetection) GetBaseEjectionTime() *types.Duration { if m != nil { return m.BaseEjectionTime } @@ -1229,15 +1540,46 @@ type TLSSettings struct { // certificate's subject alt name matches one of the specified values. // If specified, this list overrides the value of subject_alt_names // from the ServiceEntry. - SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` // SNI string to present to the server during TLS handshake. - Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"` + Sni string `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TLSSettings) Reset() { *m = TLSSettings{} } +func (m *TLSSettings) String() string { return proto.CompactTextString(m) } +func (*TLSSettings) ProtoMessage() {} +func (*TLSSettings) Descriptor() ([]byte, []int) { + return fileDescriptor_12899beb695152c8, []int{6} +} +func (m *TLSSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TLSSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TLSSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TLSSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_TLSSettings.Merge(m, src) +} +func (m *TLSSettings) XXX_Size() int { + return m.Size() +} +func (m *TLSSettings) XXX_DiscardUnknown() { + xxx_messageInfo_TLSSettings.DiscardUnknown(m) } -func (m *TLSSettings) Reset() { *m = TLSSettings{} } -func (m *TLSSettings) String() string { return proto.CompactTextString(m) } -func (*TLSSettings) ProtoMessage() {} -func (*TLSSettings) Descriptor() ([]byte, []int) { return fileDescriptorDestinationRule, []int{6} } +var xxx_messageInfo_TLSSettings proto.InternalMessageInfo func (m *TLSSettings) GetMode() TLSSettings_TLSmode { if m != nil { @@ -1282,10 +1624,13 @@ func (m *TLSSettings) GetSni() string { } func init() { + proto.RegisterEnum("istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value) + proto.RegisterEnum("istio.networking.v1alpha3.TLSSettings_TLSmode", TLSSettings_TLSmode_name, TLSSettings_TLSmode_value) proto.RegisterType((*DestinationRule)(nil), "istio.networking.v1alpha3.DestinationRule") proto.RegisterType((*TrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy") proto.RegisterType((*TrafficPolicy_PortTrafficPolicy)(nil), "istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy") proto.RegisterType((*Subset)(nil), "istio.networking.v1alpha3.Subset") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Subset.LabelsEntry") proto.RegisterType((*LoadBalancerSettings)(nil), "istio.networking.v1alpha3.LoadBalancerSettings") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie") @@ -1295,9 +1640,104 @@ func init() { proto.RegisterType((*ConnectionPoolSettings_HTTPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings") proto.RegisterType((*OutlierDetection)(nil), "istio.networking.v1alpha3.OutlierDetection") proto.RegisterType((*TLSSettings)(nil), "istio.networking.v1alpha3.TLSSettings") - proto.RegisterEnum("istio.networking.v1alpha3.LoadBalancerSettings_SimpleLB", LoadBalancerSettings_SimpleLB_name, LoadBalancerSettings_SimpleLB_value) - proto.RegisterEnum("istio.networking.v1alpha3.TLSSettings_TLSmode", TLSSettings_TLSmode_name, TLSSettings_TLSmode_value) } + +func init() { + proto.RegisterFile("networking/v1alpha3/destination_rule.proto", fileDescriptor_12899beb695152c8) +} + +var fileDescriptor_12899beb695152c8 = []byte{ + // 1396 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0xb7, + 0x13, 0xb6, 0xfe, 0xc6, 0x1a, 0xd9, 0xb2, 0xcc, 0x9f, 0x91, 0x9f, 0xa2, 0x00, 0x8e, 0x2b, 0x14, + 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x10, 0xb9, 0x91, 0x2d, + 0x81, 0x92, 0x81, 0x22, 0x97, 0x05, 0xb5, 0xa2, 0x25, 0xc6, 0xab, 0xe5, 0x76, 0xc9, 0x55, 0xed, + 0x3c, 0x43, 0xcf, 0x41, 0xaf, 0xbd, 0xf4, 0x59, 0x8a, 0x9e, 0x72, 0x6d, 0x2f, 0x2d, 0xf2, 0x02, + 0x3d, 0xf5, 0xd2, 0x53, 0x41, 0x2e, 0x57, 0x92, 0x13, 0xc7, 0x8e, 0xe1, 0xe6, 0xc6, 0xe5, 0xcc, + 0xf7, 0x91, 0x9c, 0x6f, 0x38, 0xc3, 0x85, 0x3b, 0x1e, 0x95, 0xdf, 0xf3, 0xe0, 0x88, 0x79, 0x83, + 0xea, 0x78, 0x83, 0xb8, 0xfe, 0x90, 0xdc, 0xab, 0xf6, 0xa9, 0x90, 0xcc, 0x23, 0x92, 0x71, 0xcf, + 0x0e, 0x42, 0x97, 0x5a, 0x7e, 0xc0, 0x25, 0x47, 0x37, 0x98, 0x90, 0x8c, 0x5b, 0x53, 0x84, 0x15, + 0x23, 0xca, 0xab, 0x03, 0xce, 0x07, 0x2e, 0xad, 0x6a, 0xc7, 0x5e, 0x78, 0x58, 0xed, 0x87, 0x81, + 0xc6, 0x47, 0xd0, 0xf2, 0xa7, 0x67, 0x2d, 0x33, 0x66, 0x81, 0x0c, 0x89, 0x6b, 0x0b, 0x1a, 0x8c, + 0x99, 0x63, 0x56, 0x29, 0xaf, 0x0c, 0xf8, 0x80, 0xeb, 0x61, 0x55, 0x8d, 0xa2, 0xd9, 0xca, 0xab, + 0x04, 0x2c, 0xed, 0x4c, 0xb7, 0x85, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x21, 0x17, 0xb2, 0x94, 0x58, + 0x4b, 0xac, 0xe7, 0xb0, 0x1e, 0xa3, 0x16, 0x14, 0x64, 0x40, 0x0e, 0x0f, 0x99, 0x63, 0xfb, 0xdc, + 0x65, 0xce, 0x49, 0x29, 0xb9, 0x96, 0x58, 0xcf, 0x6f, 0xae, 0x5b, 0xef, 0xdc, 0xbc, 0xd5, 0x8d, + 0x00, 0x6d, 0xed, 0x8f, 0x17, 0xe5, 0xec, 0x27, 0x7a, 0x08, 0xd7, 0x44, 0xd8, 0x13, 0x54, 0x8a, + 0x52, 0x6a, 0x2d, 0xb5, 0x9e, 0xdf, 0xfc, 0xe8, 0x1c, 0xa6, 0x8e, 0xf6, 0xc4, 0x31, 0x02, 0xdd, + 0x84, 0x1c, 0x3d, 0xf6, 0x79, 0x20, 0x6d, 0xc9, 0x4b, 0xe9, 0xb5, 0xd4, 0x7a, 0x0e, 0xcf, 0x47, + 0x13, 0x5d, 0x5e, 0xf9, 0x3d, 0x0b, 0x8b, 0xa7, 0x96, 0x46, 0x5d, 0x58, 0x74, 0x39, 0xe9, 0xdb, + 0x3d, 0xe2, 0x12, 0xcf, 0xa1, 0x81, 0x3e, 0x59, 0x7e, 0xb3, 0x7a, 0xce, 0x8a, 0x4d, 0x4e, 0xfa, + 0x35, 0xe3, 0xde, 0xa1, 0x52, 0x32, 0x6f, 0x20, 0xf0, 0x82, 0x3b, 0x33, 0x8b, 0x9e, 0xc1, 0x92, + 0xc3, 0x3d, 0x8f, 0x3a, 0x5a, 0x4f, 0x9f, 0x73, 0xd7, 0xc4, 0x64, 0xe3, 0x1c, 0xde, 0xed, 0x09, + 0xa2, 0xcd, 0xb9, 0x3b, 0x61, 0x2e, 0x38, 0xa7, 0xe6, 0xd1, 0xb7, 0xb0, 0xcc, 0x43, 0xe9, 0x32, + 0x1a, 0xd8, 0x7d, 0x2a, 0x23, 0x43, 0x29, 0xa5, 0xd9, 0x3f, 0x3b, 0x87, 0xbd, 0x15, 0x61, 0x76, + 0x62, 0x08, 0x2e, 0xf2, 0x37, 0x66, 0xd0, 0x7d, 0x48, 0x49, 0x57, 0x94, 0xd2, 0x9a, 0xeb, 0x93, + 0xf3, 0xd4, 0x6b, 0x76, 0x26, 0xdb, 0x53, 0x10, 0xf4, 0x1c, 0xfe, 0xa7, 0x43, 0xee, 0xd2, 0x31, + 0x55, 0xc9, 0x15, 0xd9, 0x4a, 0x19, 0xad, 0xde, 0x83, 0xf7, 0xcd, 0x03, 0xab, 0xad, 0x54, 0x3a, + 0x95, 0x19, 0xcb, 0x8a, 0xb6, 0xa9, 0x58, 0xe3, 0x05, 0xcb, 0x2f, 0x53, 0xb0, 0xfc, 0x96, 0x23, + 0x7a, 0x08, 0x69, 0xe5, 0x6a, 0xe4, 0xbb, 0x7d, 0xce, 0x92, 0x0a, 0xdb, 0xa1, 0x2e, 0x75, 0x24, + 0x0f, 0xb0, 0x06, 0xbd, 0x9d, 0x04, 0xc9, 0x0f, 0x94, 0x04, 0xa9, 0x0f, 0x9a, 0x04, 0xe9, 0xff, + 0x30, 0x09, 0x32, 0x97, 0x4e, 0x82, 0xca, 0x5f, 0x09, 0xc8, 0x46, 0xb7, 0x51, 0x95, 0x09, 0x8f, + 0x8c, 0x68, 0x5c, 0x26, 0xd4, 0x18, 0xd5, 0x21, 0xeb, 0x92, 0x1e, 0x75, 0x45, 0x29, 0xa9, 0xd3, + 0xe2, 0xee, 0x85, 0x97, 0xda, 0x6a, 0x6a, 0xff, 0xba, 0x27, 0x83, 0x13, 0x6c, 0xc0, 0x67, 0x54, + 0x9b, 0xd4, 0x95, 0xaa, 0x4d, 0xf9, 0x2b, 0xc8, 0xcf, 0xac, 0x83, 0x8a, 0x90, 0x3a, 0xa2, 0x27, + 0x66, 0xe7, 0x6a, 0x88, 0x56, 0x20, 0x33, 0x26, 0x6e, 0x48, 0x75, 0x56, 0xe4, 0x70, 0xf4, 0xf1, + 0x20, 0x79, 0x3f, 0x51, 0xf9, 0x39, 0x03, 0x2b, 0x67, 0x25, 0x02, 0xc2, 0x90, 0x15, 0x6c, 0xe4, + 0xbb, 0x51, 0x04, 0x0a, 0x9b, 0xf7, 0x2f, 0x99, 0x49, 0x56, 0x47, 0xa3, 0x9b, 0xb5, 0xc6, 0x1c, + 0x36, 0x4c, 0xe8, 0x48, 0xa7, 0x93, 0x60, 0x42, 0x52, 0x4f, 0xda, 0x43, 0x22, 0x86, 0x26, 0x4d, + 0x1f, 0x5f, 0x96, 0x7c, 0x7b, 0x42, 0xd3, 0x20, 0x62, 0xa8, 0x17, 0x29, 0x38, 0xa7, 0xe6, 0xca, + 0x7f, 0x27, 0xa1, 0xf8, 0xa6, 0x1b, 0xba, 0x03, 0xc5, 0xa1, 0x94, 0xbe, 0x3d, 0xa4, 0xa4, 0x4f, + 0x03, 0x7b, 0xaa, 0xb0, 0x22, 0x50, 0x96, 0x86, 0x36, 0xec, 0x2b, 0xb5, 0x3d, 0xc8, 0x6b, 0x5f, + 0x87, 0xf3, 0x23, 0x46, 0xcd, 0x4e, 0x9f, 0x5e, 0x75, 0xa7, 0x56, 0xa3, 0xdb, 0x6d, 0x6f, 0x6b, + 0xca, 0xc6, 0x1c, 0x06, 0xb5, 0x42, 0xf4, 0x85, 0x3e, 0x86, 0xc5, 0x50, 0x50, 0x5b, 0xf0, 0x30, + 0x70, 0xa8, 0xcd, 0x7c, 0x9d, 0x15, 0xf3, 0x8d, 0x39, 0x9c, 0x0f, 0x05, 0xed, 0xe8, 0xd9, 0x5d, + 0x1f, 0xdd, 0x81, 0xe5, 0x11, 0xf3, 0xd8, 0x28, 0x1c, 0xd9, 0x01, 0xf3, 0x06, 0xb6, 0x60, 0x2f, + 0xa8, 0xbe, 0x36, 0x69, 0xbc, 0x64, 0x0c, 0x98, 0x79, 0x83, 0x0e, 0x7b, 0x41, 0xcb, 0x03, 0x80, + 0xe9, 0x6a, 0x67, 0x66, 0x34, 0x82, 0xb4, 0x4f, 0xe4, 0xd0, 0xe4, 0x85, 0x1e, 0xa3, 0x0d, 0x48, + 0x49, 0x19, 0x5f, 0xf4, 0x1b, 0x56, 0xd4, 0xa3, 0xad, 0xb8, 0x47, 0x5b, 0x3b, 0xa6, 0x47, 0xd7, + 0xd2, 0x3f, 0xfe, 0x71, 0x2b, 0x81, 0x95, 0x6f, 0x0d, 0x60, 0x5e, 0xa9, 0x69, 0x1f, 0xd1, 0x93, + 0x4a, 0x03, 0xe6, 0x63, 0xe9, 0xd1, 0x12, 0xe4, 0x71, 0xeb, 0x60, 0x7f, 0xc7, 0xc6, 0xad, 0xda, + 0xee, 0x7e, 0x71, 0x0e, 0x15, 0x00, 0x9a, 0xf5, 0xad, 0x4e, 0xd7, 0xde, 0x6e, 0xed, 0xef, 0x17, + 0x13, 0x08, 0x20, 0x8b, 0xb7, 0xf6, 0x77, 0x5a, 0x7b, 0xc5, 0xa4, 0x72, 0x6e, 0x6f, 0x75, 0x3a, + 0xdd, 0x06, 0x6e, 0x1d, 0x3c, 0x69, 0x14, 0x53, 0xb5, 0x3c, 0xe4, 0xdc, 0x9e, 0xb9, 0x22, 0x95, + 0x97, 0x59, 0xb8, 0x7e, 0x76, 0x65, 0x41, 0x2d, 0x48, 0x49, 0xc7, 0x37, 0x75, 0xf3, 0xd1, 0xa5, + 0x2b, 0x93, 0xd5, 0xdd, 0x6e, 0xcf, 0x94, 0x01, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x17, 0x23, 0xf9, + 0xd7, 0x97, 0x67, 0x54, 0x51, 0x9f, 0x50, 0x6a, 0xae, 0xf2, 0x3f, 0x49, 0xc8, 0xcf, 0x2c, 0x84, + 0x6e, 0xc3, 0xd2, 0x88, 0x1c, 0xdb, 0xd3, 0xa2, 0x28, 0xf4, 0x01, 0x32, 0xb8, 0x30, 0x22, 0xc7, + 0x53, 0x5a, 0x81, 0x6a, 0x93, 0x1a, 0x6c, 0x4b, 0x36, 0xa2, 0x3c, 0x94, 0x66, 0x5f, 0xef, 0x96, + 0x66, 0x52, 0x6b, 0xbb, 0x11, 0x00, 0x71, 0x58, 0x94, 0x8e, 0x6f, 0x1f, 0x51, 0xea, 0x13, 0x97, + 0x8d, 0xa9, 0x11, 0xf7, 0x9b, 0x2b, 0xc5, 0xca, 0xea, 0x3a, 0xfe, 0xd3, 0x98, 0x11, 0x2f, 0xc8, + 0x99, 0xaf, 0xf2, 0x0f, 0x09, 0x58, 0x98, 0x35, 0xa3, 0xeb, 0x90, 0xf5, 0x03, 0xde, 0xa3, 0xd1, + 0x29, 0x17, 0xb1, 0xf9, 0x42, 0x77, 0x21, 0xad, 0x4e, 0x75, 0xf1, 0x91, 0xb4, 0x1b, 0xfa, 0x12, + 0xe6, 0x99, 0x27, 0x69, 0x30, 0x26, 0x17, 0x27, 0x28, 0x9e, 0xb8, 0x96, 0x7f, 0x4b, 0xc0, 0xc2, + 0xac, 0x26, 0xe8, 0x21, 0x94, 0x95, 0x2a, 0x1b, 0xb6, 0xd2, 0xc0, 0xa7, 0x5e, 0x5f, 0x5d, 0xa5, + 0x80, 0x7e, 0x17, 0x52, 0x21, 0x63, 0x21, 0xfe, 0xaf, 0x3d, 0xf6, 0xc8, 0x71, 0x3b, 0xb2, 0x63, + 0x63, 0x46, 0x9f, 0x03, 0x52, 0xa6, 0x4d, 0x0d, 0x9e, 0x80, 0x92, 0x1a, 0xa4, 0xcb, 0xcb, 0xe6, + 0x1e, 0x39, 0x9e, 0x78, 0x3f, 0x82, 0x9b, 0xb3, 0x7e, 0xb6, 0x4f, 0x83, 0x19, 0xd5, 0xf5, 0x29, + 0x32, 0xb8, 0x34, 0x9a, 0x22, 0xda, 0x34, 0x98, 0x06, 0x1f, 0xdd, 0x82, 0x7c, 0x04, 0x97, 0x01, + 0xa3, 0xd1, 0xcb, 0x26, 0x83, 0x41, 0xbb, 0xeb, 0x99, 0xca, 0x4f, 0x49, 0x28, 0xbe, 0xd9, 0x14, + 0xd1, 0x5d, 0x40, 0xaa, 0x1c, 0x52, 0x27, 0x94, 0x6c, 0x4c, 0x6d, 0x1a, 0x04, 0x3c, 0x88, 0xcf, + 0xb5, 0x3c, 0x63, 0xa9, 0x6b, 0xc3, 0xa9, 0xb0, 0x26, 0xdf, 0x3b, 0xac, 0xe8, 0x09, 0xa0, 0x1e, + 0x11, 0xd4, 0xa6, 0xcf, 0xcd, 0x0b, 0x41, 0x4b, 0x79, 0xa1, 0x2e, 0x45, 0x05, 0xaa, 0x1b, 0x8c, + 0x4a, 0x51, 0xf4, 0x05, 0xac, 0xa8, 0x43, 0x4e, 0x78, 0x7c, 0x1a, 0x38, 0xd4, 0x93, 0xe6, 0xb4, + 0x68, 0x44, 0x8e, 0x63, 0xf7, 0x76, 0x64, 0x51, 0x1a, 0x8c, 0x98, 0xa7, 0xea, 0xb8, 0x2b, 0x87, + 0x13, 0xff, 0x4c, 0xa4, 0xc1, 0x88, 0x79, 0x0d, 0x6d, 0x30, 0xde, 0x95, 0x5f, 0xd5, 0xe5, 0x9b, + 0x36, 0x7b, 0x54, 0x83, 0xf4, 0x88, 0xf7, 0xe3, 0xd6, 0x66, 0xbd, 0xdf, 0x13, 0x41, 0x8d, 0x15, + 0x0a, 0x6b, 0xac, 0x0e, 0xb1, 0xcb, 0x54, 0x23, 0x73, 0x68, 0x20, 0xd9, 0x21, 0x73, 0x88, 0x8c, + 0x1b, 0xec, 0x72, 0x64, 0xd9, 0x9e, 0x1a, 0x94, 0x8e, 0x7e, 0xc0, 0xc6, 0x44, 0x52, 0x55, 0x25, + 0x75, 0x90, 0x72, 0x18, 0xcc, 0xd4, 0x53, 0x7a, 0xa2, 0x0a, 0x82, 0x43, 0x66, 0xb9, 0x22, 0xb1, + 0x73, 0xb8, 0xe0, 0x90, 0x19, 0x22, 0xa1, 0x3a, 0x80, 0x08, 0x7b, 0x2a, 0x1e, 0x36, 0x71, 0xa5, + 0xee, 0x61, 0xd1, 0x3b, 0x35, 0x87, 0x97, 0x8c, 0x61, 0xcb, 0x95, 0xaa, 0x85, 0x09, 0xf5, 0x14, + 0x10, 0x1e, 0x2b, 0x65, 0xa3, 0xa7, 0x80, 0xf0, 0x58, 0xe5, 0x31, 0x5c, 0x33, 0xe7, 0x40, 0x79, + 0xb8, 0xb6, 0xb3, 0xdb, 0xd9, 0xaa, 0x35, 0xeb, 0xc5, 0x39, 0x55, 0x89, 0x3b, 0xbb, 0x7b, 0xed, + 0x66, 0x3d, 0xaa, 0xca, 0x7b, 0x07, 0xdd, 0x83, 0xad, 0x66, 0x31, 0x89, 0x8a, 0xb0, 0xb0, 0xdb, + 0xe9, 0xee, 0xb6, 0x6c, 0x33, 0x93, 0xaa, 0x59, 0xbf, 0xbc, 0x5e, 0x4d, 0xbc, 0x7a, 0xbd, 0x9a, + 0xf8, 0xf3, 0xf5, 0x6a, 0xe2, 0xd9, 0x5a, 0x14, 0x3b, 0xc6, 0xab, 0xc4, 0x67, 0xd5, 0x33, 0x7e, + 0xd8, 0x7a, 0x59, 0x9d, 0x01, 0xf7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x7d, 0x30, 0x94, + 0x35, 0x0e, 0x00, 0x00, +} + func (m *DestinationRule) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1356,6 +1796,9 @@ func (m *DestinationRule) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1426,6 +1869,9 @@ func (m *TrafficPolicy) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1494,6 +1940,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { } i += n10 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1545,6 +1994,9 @@ func (m *Subset) MarshalTo(dAtA []byte) (int, error) { } i += n11 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1570,6 +2022,9 @@ func (m *LoadBalancerSettings) MarshalTo(dAtA []byte) (int, error) { } i += nn12 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1621,6 +2076,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB) MarshalTo(dAtA []byte) (int, err i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinimumRingSize)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1688,13 +2146,16 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalTo(dAtA []byte if m.Ttl != nil { dAtA[i] = 0x1a i++ - i = encodeVarintDestinationRule(dAtA, i, uint64(types.SizeOfStdDuration(*m.Ttl))) - n16, err := types.StdDurationMarshalTo(*m.Ttl, dAtA[i:]) + i = encodeVarintDestinationRule(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Ttl))) + n16, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Ttl, dAtA[i:]) if err != nil { return 0, err } i += n16 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1733,6 +2194,9 @@ func (m *ConnectionPoolSettings) MarshalTo(dAtA []byte) (int, error) { } i += n18 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1776,6 +2240,9 @@ func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) } i += n20 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1819,6 +2286,9 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) } i += n22 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1857,6 +2327,9 @@ func (m *ConnectionPoolSettings_HTTPSettings) MarshalTo(dAtA []byte) (int, error i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxRetries)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1910,6 +2383,9 @@ func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinHealthPercent)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1972,6 +2448,9 @@ func (m *TLSSettings) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.Sni))) i += copy(dAtA[i:], m.Sni) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1985,6 +2464,9 @@ func encodeVarintDestinationRule(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *DestinationRule) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Host) @@ -2007,10 +2489,16 @@ func (m *DestinationRule) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TrafficPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.LoadBalancer != nil { @@ -2035,10 +2523,16 @@ func (m *TrafficPolicy) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -2061,10 +2555,16 @@ func (m *TrafficPolicy_PortTrafficPolicy) Size() (n int) { l = m.Tls.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Subset) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -2083,25 +2583,40 @@ func (m *Subset) Size() (n int) { l = m.TrafficPolicy.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LoadBalancerSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.LbPolicy != nil { n += m.LbPolicy.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LoadBalancerSettings_Simple) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovDestinationRule(uint64(m.Simple)) return n } func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ConsistentHash != nil { @@ -2111,6 +2626,9 @@ func (m *LoadBalancerSettings_ConsistentHash) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.HashKey != nil { @@ -2119,10 +2637,16 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Size() (n int) { if m.MinimumRingSize != 0 { n += 1 + sovDestinationRule(uint64(m.MinimumRingSize)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.HttpHeaderName) @@ -2130,6 +2654,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HttpHeaderName) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.HttpCookie != nil { @@ -2139,12 +2666,18 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HttpCookie) Size() (n int) { return n } func (m *LoadBalancerSettings_ConsistentHashLB_UseSourceIp) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 2 return n } func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -2156,13 +2689,19 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } if m.Ttl != nil { - l = types.SizeOfStdDuration(*m.Ttl) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Ttl) n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Tcp != nil { @@ -2173,10 +2712,16 @@ func (m *ConnectionPoolSettings) Size() (n int) { l = m.Http.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.MaxConnections != 0 { @@ -2190,10 +2735,16 @@ func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { l = m.TcpKeepalive.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Probes != 0 { @@ -2207,10 +2758,16 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { l = m.Interval.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Http1MaxPendingRequests != 0 { @@ -2225,10 +2782,16 @@ func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int) { if m.MaxRetries != 0 { n += 1 + sovDestinationRule(uint64(m.MaxRetries)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *OutlierDetection) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ConsecutiveErrors != 0 { @@ -2248,10 +2811,16 @@ func (m *OutlierDetection) Size() (n int) { if m.MinHealthPercent != 0 { n += 1 + sovDestinationRule(uint64(m.MinHealthPercent)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TLSSettings) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Mode != 0 { @@ -2279,6 +2848,9 @@ func (m *TLSSettings) Size() (n int) { if l > 0 { n += 1 + l + sovDestinationRule(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -2310,7 +2882,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2338,7 +2910,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2348,6 +2920,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2367,7 +2942,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2376,6 +2951,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2400,7 +2978,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2409,6 +2987,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2431,7 +3012,7 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2441,6 +3022,9 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2455,9 +3039,13 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2482,7 +3070,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2510,7 +3098,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2519,6 +3107,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2543,7 +3134,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2552,6 +3143,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2576,7 +3170,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2585,6 +3179,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2609,7 +3206,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2618,6 +3215,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2642,7 +3242,7 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2651,6 +3251,9 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2668,9 +3271,13 @@ func (m *TrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2695,7 +3302,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2723,7 +3330,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2732,6 +3339,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2756,7 +3366,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2765,6 +3375,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2789,7 +3402,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2798,6 +3411,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2822,7 +3438,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2831,6 +3447,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2855,7 +3474,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2864,6 +3483,9 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2883,9 +3505,13 @@ func (m *TrafficPolicy_PortTrafficPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2910,7 +3536,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2938,7 +3564,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2948,6 +3574,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2967,7 +3596,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2976,6 +3605,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2996,7 +3628,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3013,7 +3645,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3023,6 +3655,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthDestinationRule + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -3039,7 +3674,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3049,6 +3684,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthDestinationRule + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -3085,7 +3723,7 @@ func (m *Subset) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3094,6 +3732,9 @@ func (m *Subset) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3113,9 +3754,13 @@ func (m *Subset) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3140,7 +3785,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3168,7 +3813,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (LoadBalancerSettings_SimpleLB(b) & 0x7F) << shift + v |= LoadBalancerSettings_SimpleLB(b&0x7F) << shift if b < 0x80 { break } @@ -3188,7 +3833,7 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3197,6 +3842,9 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3215,9 +3863,13 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3242,7 +3894,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3270,7 +3922,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3280,6 +3932,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3299,7 +3954,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3308,6 +3963,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3331,7 +3989,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3352,7 +4010,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinimumRingSize |= (uint64(b) & 0x7F) << shift + m.MinimumRingSize |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3366,9 +4024,13 @@ func (m *LoadBalancerSettings_ConsistentHashLB) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3393,7 +4055,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3421,7 +4083,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3431,6 +4093,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3450,7 +4115,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3460,6 +4125,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3479,7 +4147,7 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3488,13 +4156,16 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Ttl == nil { m.Ttl = new(time.Duration) } - if err := types.StdDurationUnmarshal(m.Ttl, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Ttl, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -3507,9 +4178,13 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3534,7 +4209,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3562,7 +4237,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3571,6 +4246,9 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3595,7 +4273,7 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3604,6 +4282,9 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3623,9 +4304,13 @@ func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3650,7 +4335,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3678,7 +4363,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxConnections |= (int32(b) & 0x7F) << shift + m.MaxConnections |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -3697,7 +4382,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3706,11 +4391,14 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.ConnectTimeout == nil { - m.ConnectTimeout = &google_protobuf.Duration{} + m.ConnectTimeout = &types.Duration{} } if err := m.ConnectTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3730,7 +4418,7 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3739,6 +4427,9 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3758,9 +4449,13 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3785,7 +4480,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3813,7 +4508,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - m.Probes |= (uint32(b) & 0x7F) << shift + m.Probes |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -3832,7 +4527,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3841,11 +4536,14 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Time == nil { - m.Time = &google_protobuf.Duration{} + m.Time = &types.Duration{} } if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3865,7 +4563,7 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3874,11 +4572,14 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Interval == nil { - m.Interval = &google_protobuf.Duration{} + m.Interval = &types.Duration{} } if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3893,9 +4594,13 @@ func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3920,7 +4625,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3948,7 +4653,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Http1MaxPendingRequests |= (int32(b) & 0x7F) << shift + m.Http1MaxPendingRequests |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -3967,7 +4672,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Http2MaxRequests |= (int32(b) & 0x7F) << shift + m.Http2MaxRequests |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -3986,7 +4691,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxRequestsPerConnection |= (int32(b) & 0x7F) << shift + m.MaxRequestsPerConnection |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4005,7 +4710,7 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxRetries |= (int32(b) & 0x7F) << shift + m.MaxRetries |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4019,9 +4724,13 @@ func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4046,7 +4755,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4074,7 +4783,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ConsecutiveErrors |= (int32(b) & 0x7F) << shift + m.ConsecutiveErrors |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4093,7 +4802,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4102,11 +4811,14 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Interval == nil { - m.Interval = &google_protobuf.Duration{} + m.Interval = &types.Duration{} } if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4126,7 +4838,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4135,11 +4847,14 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } if m.BaseEjectionTime == nil { - m.BaseEjectionTime = &google_protobuf.Duration{} + m.BaseEjectionTime = &types.Duration{} } if err := m.BaseEjectionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4159,7 +4874,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxEjectionPercent |= (int32(b) & 0x7F) << shift + m.MaxEjectionPercent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4178,7 +4893,7 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinHealthPercent |= (int32(b) & 0x7F) << shift + m.MinHealthPercent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -4192,9 +4907,13 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4219,7 +4938,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4247,7 +4966,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (TLSSettings_TLSmode(b) & 0x7F) << shift + m.Mode |= TLSSettings_TLSmode(b&0x7F) << shift if b < 0x80 { break } @@ -4266,7 +4985,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4276,6 +4995,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4295,7 +5017,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4305,6 +5027,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4324,7 +5049,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4334,6 +5059,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4353,7 +5081,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4363,6 +5091,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4382,7 +5113,7 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4392,6 +5123,9 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { return ErrInvalidLengthDestinationRule } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDestinationRule + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4406,9 +5140,13 @@ func (m *TLSSettings) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthDestinationRule } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthDestinationRule + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4472,10 +5210,13 @@ func skipDestinationRule(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthDestinationRule } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthDestinationRule + } return iNdEx, nil case 3: for { @@ -4504,6 +5245,9 @@ func skipDestinationRule(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthDestinationRule + } } return iNdEx, nil case 4: @@ -4522,99 +5266,3 @@ var ( ErrInvalidLengthDestinationRule = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowDestinationRule = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("networking/v1alpha3/destination_rule.proto", fileDescriptorDestinationRule) -} - -var fileDescriptorDestinationRule = []byte{ - // 1396 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0xb7, - 0x13, 0xb6, 0xfe, 0xc6, 0x1a, 0xd9, 0xb2, 0xcc, 0x9f, 0x91, 0x9f, 0xa2, 0x00, 0x8e, 0x2b, 0x14, - 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x10, 0xb9, 0x91, 0x2d, - 0x81, 0x92, 0x81, 0x22, 0x97, 0x05, 0xb5, 0xa2, 0x25, 0xc6, 0xab, 0xe5, 0x76, 0xc9, 0x55, 0xed, - 0x3c, 0x43, 0xcf, 0x41, 0xaf, 0xbd, 0xf4, 0x59, 0x8a, 0x9e, 0x72, 0x6d, 0x2f, 0x2d, 0xf2, 0x02, - 0x3d, 0xf5, 0xd2, 0x53, 0x41, 0x2e, 0x57, 0x92, 0x13, 0xc7, 0x8e, 0xe1, 0xe6, 0xc6, 0xe5, 0xcc, - 0xf7, 0x91, 0x9c, 0x6f, 0x38, 0xc3, 0x85, 0x3b, 0x1e, 0x95, 0xdf, 0xf3, 0xe0, 0x88, 0x79, 0x83, - 0xea, 0x78, 0x83, 0xb8, 0xfe, 0x90, 0xdc, 0xab, 0xf6, 0xa9, 0x90, 0xcc, 0x23, 0x92, 0x71, 0xcf, - 0x0e, 0x42, 0x97, 0x5a, 0x7e, 0xc0, 0x25, 0x47, 0x37, 0x98, 0x90, 0x8c, 0x5b, 0x53, 0x84, 0x15, - 0x23, 0xca, 0xab, 0x03, 0xce, 0x07, 0x2e, 0xad, 0x6a, 0xc7, 0x5e, 0x78, 0x58, 0xed, 0x87, 0x81, - 0xc6, 0x47, 0xd0, 0xf2, 0xa7, 0x67, 0x2d, 0x33, 0x66, 0x81, 0x0c, 0x89, 0x6b, 0x0b, 0x1a, 0x8c, - 0x99, 0x63, 0x56, 0x29, 0xaf, 0x0c, 0xf8, 0x80, 0xeb, 0x61, 0x55, 0x8d, 0xa2, 0xd9, 0xca, 0xab, - 0x04, 0x2c, 0xed, 0x4c, 0xb7, 0x85, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x21, 0x17, 0xb2, 0x94, 0x58, - 0x4b, 0xac, 0xe7, 0xb0, 0x1e, 0xa3, 0x16, 0x14, 0x64, 0x40, 0x0e, 0x0f, 0x99, 0x63, 0xfb, 0xdc, - 0x65, 0xce, 0x49, 0x29, 0xb9, 0x96, 0x58, 0xcf, 0x6f, 0xae, 0x5b, 0xef, 0xdc, 0xbc, 0xd5, 0x8d, - 0x00, 0x6d, 0xed, 0x8f, 0x17, 0xe5, 0xec, 0x27, 0x7a, 0x08, 0xd7, 0x44, 0xd8, 0x13, 0x54, 0x8a, - 0x52, 0x6a, 0x2d, 0xb5, 0x9e, 0xdf, 0xfc, 0xe8, 0x1c, 0xa6, 0x8e, 0xf6, 0xc4, 0x31, 0x02, 0xdd, - 0x84, 0x1c, 0x3d, 0xf6, 0x79, 0x20, 0x6d, 0xc9, 0x4b, 0xe9, 0xb5, 0xd4, 0x7a, 0x0e, 0xcf, 0x47, - 0x13, 0x5d, 0x5e, 0xf9, 0x3d, 0x0b, 0x8b, 0xa7, 0x96, 0x46, 0x5d, 0x58, 0x74, 0x39, 0xe9, 0xdb, - 0x3d, 0xe2, 0x12, 0xcf, 0xa1, 0x81, 0x3e, 0x59, 0x7e, 0xb3, 0x7a, 0xce, 0x8a, 0x4d, 0x4e, 0xfa, - 0x35, 0xe3, 0xde, 0xa1, 0x52, 0x32, 0x6f, 0x20, 0xf0, 0x82, 0x3b, 0x33, 0x8b, 0x9e, 0xc1, 0x92, - 0xc3, 0x3d, 0x8f, 0x3a, 0x5a, 0x4f, 0x9f, 0x73, 0xd7, 0xc4, 0x64, 0xe3, 0x1c, 0xde, 0xed, 0x09, - 0xa2, 0xcd, 0xb9, 0x3b, 0x61, 0x2e, 0x38, 0xa7, 0xe6, 0xd1, 0xb7, 0xb0, 0xcc, 0x43, 0xe9, 0x32, - 0x1a, 0xd8, 0x7d, 0x2a, 0x23, 0x43, 0x29, 0xa5, 0xd9, 0x3f, 0x3b, 0x87, 0xbd, 0x15, 0x61, 0x76, - 0x62, 0x08, 0x2e, 0xf2, 0x37, 0x66, 0xd0, 0x7d, 0x48, 0x49, 0x57, 0x94, 0xd2, 0x9a, 0xeb, 0x93, - 0xf3, 0xd4, 0x6b, 0x76, 0x26, 0xdb, 0x53, 0x10, 0xf4, 0x1c, 0xfe, 0xa7, 0x43, 0xee, 0xd2, 0x31, - 0x55, 0xc9, 0x15, 0xd9, 0x4a, 0x19, 0xad, 0xde, 0x83, 0xf7, 0xcd, 0x03, 0xab, 0xad, 0x54, 0x3a, - 0x95, 0x19, 0xcb, 0x8a, 0xb6, 0xa9, 0x58, 0xe3, 0x05, 0xcb, 0x2f, 0x53, 0xb0, 0xfc, 0x96, 0x23, - 0x7a, 0x08, 0x69, 0xe5, 0x6a, 0xe4, 0xbb, 0x7d, 0xce, 0x92, 0x0a, 0xdb, 0xa1, 0x2e, 0x75, 0x24, - 0x0f, 0xb0, 0x06, 0xbd, 0x9d, 0x04, 0xc9, 0x0f, 0x94, 0x04, 0xa9, 0x0f, 0x9a, 0x04, 0xe9, 0xff, - 0x30, 0x09, 0x32, 0x97, 0x4e, 0x82, 0xca, 0x5f, 0x09, 0xc8, 0x46, 0xb7, 0x51, 0x95, 0x09, 0x8f, - 0x8c, 0x68, 0x5c, 0x26, 0xd4, 0x18, 0xd5, 0x21, 0xeb, 0x92, 0x1e, 0x75, 0x45, 0x29, 0xa9, 0xd3, - 0xe2, 0xee, 0x85, 0x97, 0xda, 0x6a, 0x6a, 0xff, 0xba, 0x27, 0x83, 0x13, 0x6c, 0xc0, 0x67, 0x54, - 0x9b, 0xd4, 0x95, 0xaa, 0x4d, 0xf9, 0x2b, 0xc8, 0xcf, 0xac, 0x83, 0x8a, 0x90, 0x3a, 0xa2, 0x27, - 0x66, 0xe7, 0x6a, 0x88, 0x56, 0x20, 0x33, 0x26, 0x6e, 0x48, 0x75, 0x56, 0xe4, 0x70, 0xf4, 0xf1, - 0x20, 0x79, 0x3f, 0x51, 0xf9, 0x39, 0x03, 0x2b, 0x67, 0x25, 0x02, 0xc2, 0x90, 0x15, 0x6c, 0xe4, - 0xbb, 0x51, 0x04, 0x0a, 0x9b, 0xf7, 0x2f, 0x99, 0x49, 0x56, 0x47, 0xa3, 0x9b, 0xb5, 0xc6, 0x1c, - 0x36, 0x4c, 0xe8, 0x48, 0xa7, 0x93, 0x60, 0x42, 0x52, 0x4f, 0xda, 0x43, 0x22, 0x86, 0x26, 0x4d, - 0x1f, 0x5f, 0x96, 0x7c, 0x7b, 0x42, 0xd3, 0x20, 0x62, 0xa8, 0x17, 0x29, 0x38, 0xa7, 0xe6, 0xca, - 0x7f, 0x27, 0xa1, 0xf8, 0xa6, 0x1b, 0xba, 0x03, 0xc5, 0xa1, 0x94, 0xbe, 0x3d, 0xa4, 0xa4, 0x4f, - 0x03, 0x7b, 0xaa, 0xb0, 0x22, 0x50, 0x96, 0x86, 0x36, 0xec, 0x2b, 0xb5, 0x3d, 0xc8, 0x6b, 0x5f, - 0x87, 0xf3, 0x23, 0x46, 0xcd, 0x4e, 0x9f, 0x5e, 0x75, 0xa7, 0x56, 0xa3, 0xdb, 0x6d, 0x6f, 0x6b, - 0xca, 0xc6, 0x1c, 0x06, 0xb5, 0x42, 0xf4, 0x85, 0x3e, 0x86, 0xc5, 0x50, 0x50, 0x5b, 0xf0, 0x30, - 0x70, 0xa8, 0xcd, 0x7c, 0x9d, 0x15, 0xf3, 0x8d, 0x39, 0x9c, 0x0f, 0x05, 0xed, 0xe8, 0xd9, 0x5d, - 0x1f, 0xdd, 0x81, 0xe5, 0x11, 0xf3, 0xd8, 0x28, 0x1c, 0xd9, 0x01, 0xf3, 0x06, 0xb6, 0x60, 0x2f, - 0xa8, 0xbe, 0x36, 0x69, 0xbc, 0x64, 0x0c, 0x98, 0x79, 0x83, 0x0e, 0x7b, 0x41, 0xcb, 0x03, 0x80, - 0xe9, 0x6a, 0x67, 0x66, 0x34, 0x82, 0xb4, 0x4f, 0xe4, 0xd0, 0xe4, 0x85, 0x1e, 0xa3, 0x0d, 0x48, - 0x49, 0x19, 0x5f, 0xf4, 0x1b, 0x56, 0xd4, 0xa3, 0xad, 0xb8, 0x47, 0x5b, 0x3b, 0xa6, 0x47, 0xd7, - 0xd2, 0x3f, 0xfe, 0x71, 0x2b, 0x81, 0x95, 0x6f, 0x0d, 0x60, 0x5e, 0xa9, 0x69, 0x1f, 0xd1, 0x93, - 0x4a, 0x03, 0xe6, 0x63, 0xe9, 0xd1, 0x12, 0xe4, 0x71, 0xeb, 0x60, 0x7f, 0xc7, 0xc6, 0xad, 0xda, - 0xee, 0x7e, 0x71, 0x0e, 0x15, 0x00, 0x9a, 0xf5, 0xad, 0x4e, 0xd7, 0xde, 0x6e, 0xed, 0xef, 0x17, - 0x13, 0x08, 0x20, 0x8b, 0xb7, 0xf6, 0x77, 0x5a, 0x7b, 0xc5, 0xa4, 0x72, 0x6e, 0x6f, 0x75, 0x3a, - 0xdd, 0x06, 0x6e, 0x1d, 0x3c, 0x69, 0x14, 0x53, 0xb5, 0x3c, 0xe4, 0xdc, 0x9e, 0xb9, 0x22, 0x95, - 0x97, 0x59, 0xb8, 0x7e, 0x76, 0x65, 0x41, 0x2d, 0x48, 0x49, 0xc7, 0x37, 0x75, 0xf3, 0xd1, 0xa5, - 0x2b, 0x93, 0xd5, 0xdd, 0x6e, 0xcf, 0x94, 0x01, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x17, 0x23, 0xf9, - 0xd7, 0x97, 0x67, 0x54, 0x51, 0x9f, 0x50, 0x6a, 0xae, 0xf2, 0x3f, 0x49, 0xc8, 0xcf, 0x2c, 0x84, - 0x6e, 0xc3, 0xd2, 0x88, 0x1c, 0xdb, 0xd3, 0xa2, 0x28, 0xf4, 0x01, 0x32, 0xb8, 0x30, 0x22, 0xc7, - 0x53, 0x5a, 0x81, 0x6a, 0x93, 0x1a, 0x6c, 0x4b, 0x36, 0xa2, 0x3c, 0x94, 0x66, 0x5f, 0xef, 0x96, - 0x66, 0x52, 0x6b, 0xbb, 0x11, 0x00, 0x71, 0x58, 0x94, 0x8e, 0x6f, 0x1f, 0x51, 0xea, 0x13, 0x97, - 0x8d, 0xa9, 0x11, 0xf7, 0x9b, 0x2b, 0xc5, 0xca, 0xea, 0x3a, 0xfe, 0xd3, 0x98, 0x11, 0x2f, 0xc8, - 0x99, 0xaf, 0xf2, 0x0f, 0x09, 0x58, 0x98, 0x35, 0xa3, 0xeb, 0x90, 0xf5, 0x03, 0xde, 0xa3, 0xd1, - 0x29, 0x17, 0xb1, 0xf9, 0x42, 0x77, 0x21, 0xad, 0x4e, 0x75, 0xf1, 0x91, 0xb4, 0x1b, 0xfa, 0x12, - 0xe6, 0x99, 0x27, 0x69, 0x30, 0x26, 0x17, 0x27, 0x28, 0x9e, 0xb8, 0x96, 0x7f, 0x4b, 0xc0, 0xc2, - 0xac, 0x26, 0xe8, 0x21, 0x94, 0x95, 0x2a, 0x1b, 0xb6, 0xd2, 0xc0, 0xa7, 0x5e, 0x5f, 0x5d, 0xa5, - 0x80, 0x7e, 0x17, 0x52, 0x21, 0x63, 0x21, 0xfe, 0xaf, 0x3d, 0xf6, 0xc8, 0x71, 0x3b, 0xb2, 0x63, - 0x63, 0x46, 0x9f, 0x03, 0x52, 0xa6, 0x4d, 0x0d, 0x9e, 0x80, 0x92, 0x1a, 0xa4, 0xcb, 0xcb, 0xe6, - 0x1e, 0x39, 0x9e, 0x78, 0x3f, 0x82, 0x9b, 0xb3, 0x7e, 0xb6, 0x4f, 0x83, 0x19, 0xd5, 0xf5, 0x29, - 0x32, 0xb8, 0x34, 0x9a, 0x22, 0xda, 0x34, 0x98, 0x06, 0x1f, 0xdd, 0x82, 0x7c, 0x04, 0x97, 0x01, - 0xa3, 0xd1, 0xcb, 0x26, 0x83, 0x41, 0xbb, 0xeb, 0x99, 0xca, 0x4f, 0x49, 0x28, 0xbe, 0xd9, 0x14, - 0xd1, 0x5d, 0x40, 0xaa, 0x1c, 0x52, 0x27, 0x94, 0x6c, 0x4c, 0x6d, 0x1a, 0x04, 0x3c, 0x88, 0xcf, - 0xb5, 0x3c, 0x63, 0xa9, 0x6b, 0xc3, 0xa9, 0xb0, 0x26, 0xdf, 0x3b, 0xac, 0xe8, 0x09, 0xa0, 0x1e, - 0x11, 0xd4, 0xa6, 0xcf, 0xcd, 0x0b, 0x41, 0x4b, 0x79, 0xa1, 0x2e, 0x45, 0x05, 0xaa, 0x1b, 0x8c, - 0x4a, 0x51, 0xf4, 0x05, 0xac, 0xa8, 0x43, 0x4e, 0x78, 0x7c, 0x1a, 0x38, 0xd4, 0x93, 0xe6, 0xb4, - 0x68, 0x44, 0x8e, 0x63, 0xf7, 0x76, 0x64, 0x51, 0x1a, 0x8c, 0x98, 0xa7, 0xea, 0xb8, 0x2b, 0x87, - 0x13, 0xff, 0x4c, 0xa4, 0xc1, 0x88, 0x79, 0x0d, 0x6d, 0x30, 0xde, 0x95, 0x5f, 0xd5, 0xe5, 0x9b, - 0x36, 0x7b, 0x54, 0x83, 0xf4, 0x88, 0xf7, 0xe3, 0xd6, 0x66, 0xbd, 0xdf, 0x13, 0x41, 0x8d, 0x15, - 0x0a, 0x6b, 0xac, 0x0e, 0xb1, 0xcb, 0x54, 0x23, 0x73, 0x68, 0x20, 0xd9, 0x21, 0x73, 0x88, 0x8c, - 0x1b, 0xec, 0x72, 0x64, 0xd9, 0x9e, 0x1a, 0x94, 0x8e, 0x7e, 0xc0, 0xc6, 0x44, 0x52, 0x55, 0x25, - 0x75, 0x90, 0x72, 0x18, 0xcc, 0xd4, 0x53, 0x7a, 0xa2, 0x0a, 0x82, 0x43, 0x66, 0xb9, 0x22, 0xb1, - 0x73, 0xb8, 0xe0, 0x90, 0x19, 0x22, 0xa1, 0x3a, 0x80, 0x08, 0x7b, 0x2a, 0x1e, 0x36, 0x71, 0xa5, - 0xee, 0x61, 0xd1, 0x3b, 0x35, 0x87, 0x97, 0x8c, 0x61, 0xcb, 0x95, 0xaa, 0x85, 0x09, 0xf5, 0x14, - 0x10, 0x1e, 0x2b, 0x65, 0xa3, 0xa7, 0x80, 0xf0, 0x58, 0xe5, 0x31, 0x5c, 0x33, 0xe7, 0x40, 0x79, - 0xb8, 0xb6, 0xb3, 0xdb, 0xd9, 0xaa, 0x35, 0xeb, 0xc5, 0x39, 0x55, 0x89, 0x3b, 0xbb, 0x7b, 0xed, - 0x66, 0x3d, 0xaa, 0xca, 0x7b, 0x07, 0xdd, 0x83, 0xad, 0x66, 0x31, 0x89, 0x8a, 0xb0, 0xb0, 0xdb, - 0xe9, 0xee, 0xb6, 0x6c, 0x33, 0x93, 0xaa, 0x59, 0xbf, 0xbc, 0x5e, 0x4d, 0xbc, 0x7a, 0xbd, 0x9a, - 0xf8, 0xf3, 0xf5, 0x6a, 0xe2, 0xd9, 0x5a, 0x14, 0x3b, 0xc6, 0xab, 0xc4, 0x67, 0xd5, 0x33, 0x7e, - 0xd8, 0x7a, 0x59, 0x9d, 0x01, 0xf7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x7d, 0x30, 0x94, - 0x35, 0x0e, 0x00, 0x00, -} diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index f71ab80395d..3d3c9450534 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -3,18 +3,25 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf3 "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + type EnvoyFilter_ListenerMatch_ListenerType int32 const ( @@ -34,6 +41,7 @@ var EnvoyFilter_ListenerMatch_ListenerType_name = map[int32]string{ 2: "SIDECAR_OUTBOUND", 3: "GATEWAY", } + var EnvoyFilter_ListenerMatch_ListenerType_value = map[string]int32{ "ANY": 0, "SIDECAR_INBOUND": 1, @@ -44,8 +52,9 @@ var EnvoyFilter_ListenerMatch_ListenerType_value = map[string]int32{ func (x EnvoyFilter_ListenerMatch_ListenerType) String() string { return proto.EnumName(EnvoyFilter_ListenerMatch_ListenerType_name, int32(x)) } + func (EnvoyFilter_ListenerMatch_ListenerType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 1, 0} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1, 0} } type EnvoyFilter_ListenerMatch_ListenerProtocol int32 @@ -64,6 +73,7 @@ var EnvoyFilter_ListenerMatch_ListenerProtocol_name = map[int32]string{ 1: "HTTP", 2: "TCP", } + var EnvoyFilter_ListenerMatch_ListenerProtocol_value = map[string]int32{ "ALL": 0, "HTTP": 1, @@ -73,8 +83,9 @@ var EnvoyFilter_ListenerMatch_ListenerProtocol_value = map[string]int32{ func (x EnvoyFilter_ListenerMatch_ListenerProtocol) String() string { return proto.EnumName(EnvoyFilter_ListenerMatch_ListenerProtocol_name, int32(x)) } + func (EnvoyFilter_ListenerMatch_ListenerProtocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 1, 1} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1, 1} } // Index/position in the filter chain. @@ -97,6 +108,7 @@ var EnvoyFilter_InsertPosition_Index_name = map[int32]string{ 2: "BEFORE", 3: "AFTER", } + var EnvoyFilter_InsertPosition_Index_value = map[string]int32{ "FIRST": 0, "LAST": 1, @@ -107,8 +119,9 @@ var EnvoyFilter_InsertPosition_Index_value = map[string]int32{ func (x EnvoyFilter_InsertPosition_Index) String() string { return proto.EnumName(EnvoyFilter_InsertPosition_Index_name, int32(x)) } + func (EnvoyFilter_InsertPosition_Index) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 2, 0} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2, 0} } type EnvoyFilter_Filter_FilterType int32 @@ -127,6 +140,7 @@ var EnvoyFilter_Filter_FilterType_name = map[int32]string{ 1: "HTTP", 2: "NETWORK", } + var EnvoyFilter_Filter_FilterType_value = map[string]int32{ "INVALID": 0, "HTTP": 1, @@ -136,8 +150,9 @@ var EnvoyFilter_Filter_FilterType_value = map[string]int32{ func (x EnvoyFilter_Filter_FilterType) String() string { return proto.EnumName(EnvoyFilter_Filter_FilterType_name, int32(x)) } + func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 3, 0} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3, 0} } // `EnvoyFilter` describes Envoy proxy-specific filters that can be used to @@ -187,18 +202,49 @@ type EnvoyFilter struct { // 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" json:"workload_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + 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 // should be taken to ensure that the filter is added before // envoy.http_connection_manager. - Filters []*EnvoyFilter_Filter `protobuf:"bytes,2,rep,name=filters" json:"filters,omitempty"` + Filters []*EnvoyFilter_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *EnvoyFilter) Reset() { *m = EnvoyFilter{} } -func (m *EnvoyFilter) String() string { return proto.CompactTextString(m) } -func (*EnvoyFilter) ProtoMessage() {} -func (*EnvoyFilter) Descriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0} } +func (m *EnvoyFilter) Reset() { *m = EnvoyFilter{} } +func (m *EnvoyFilter) String() string { return proto.CompactTextString(m) } +func (*EnvoyFilter) ProtoMessage() {} +func (*EnvoyFilter) Descriptor() ([]byte, []int) { + return fileDescriptor_16d9b2922bd3e4a9, []int{0} +} +func (m *EnvoyFilter) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnvoyFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter.Merge(m, src) +} +func (m *EnvoyFilter) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter.DiscardUnknown(m) +} + +var xxx_messageInfo_EnvoyFilter proto.InternalMessageInfo func (m *EnvoyFilter) GetWorkloadLabels() map[string]string { if m != nil { @@ -239,16 +285,45 @@ type EnvoyFilter_ListenerMatch struct { 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. - Address []string `protobuf:"bytes,5,rep,name=address" json:"address,omitempty"` + Address []string `protobuf:"bytes,5,rep,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *EnvoyFilter_ListenerMatch) Reset() { *m = EnvoyFilter_ListenerMatch{} } func (m *EnvoyFilter_ListenerMatch) String() string { return proto.CompactTextString(m) } func (*EnvoyFilter_ListenerMatch) ProtoMessage() {} func (*EnvoyFilter_ListenerMatch) Descriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 1} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 1} +} +func (m *EnvoyFilter_ListenerMatch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnvoyFilter_ListenerMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter_ListenerMatch.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter_ListenerMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter_ListenerMatch.Merge(m, src) +} +func (m *EnvoyFilter_ListenerMatch) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter_ListenerMatch) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter_ListenerMatch.DiscardUnknown(m) } +var xxx_messageInfo_EnvoyFilter_ListenerMatch proto.InternalMessageInfo + func (m *EnvoyFilter_ListenerMatch) GetPortNumber() uint32 { if m != nil { return m.PortNumber @@ -290,15 +365,44 @@ type EnvoyFilter_InsertPosition struct { Index EnvoyFilter_InsertPosition_Index `protobuf:"varint,1,opt,name=index,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index" json:"index,omitempty"` // If BEFORE or AFTER position is specified, specify the name of the // filter relative to which this filter should be inserted. - RelativeTo string `protobuf:"bytes,2,opt,name=relative_to,json=relativeTo,proto3" json:"relative_to,omitempty"` + RelativeTo string `protobuf:"bytes,2,opt,name=relative_to,json=relativeTo,proto3" json:"relative_to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *EnvoyFilter_InsertPosition) Reset() { *m = EnvoyFilter_InsertPosition{} } func (m *EnvoyFilter_InsertPosition) String() string { return proto.CompactTextString(m) } func (*EnvoyFilter_InsertPosition) ProtoMessage() {} func (*EnvoyFilter_InsertPosition) Descriptor() ([]byte, []int) { - return fileDescriptorEnvoyFilter, []int{0, 2} + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 2} +} +func (m *EnvoyFilter_InsertPosition) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *EnvoyFilter_InsertPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter_InsertPosition.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter_InsertPosition) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter_InsertPosition.Merge(m, src) +} +func (m *EnvoyFilter_InsertPosition) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter_InsertPosition) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter_InsertPosition.DiscardUnknown(m) +} + +var xxx_messageInfo_EnvoyFilter_InsertPosition proto.InternalMessageInfo func (m *EnvoyFilter_InsertPosition) GetIndex() EnvoyFilter_InsertPosition_Index { if m != nil { @@ -318,9 +422,9 @@ func (m *EnvoyFilter_InsertPosition) GetRelativeTo() string { 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. - ListenerMatch *EnvoyFilter_ListenerMatch `protobuf:"bytes,1,opt,name=listener_match,json=listenerMatch" json:"listener_match,omitempty"` + 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" json:"insert_position,omitempty"` + InsertPosition *EnvoyFilter_InsertPosition `protobuf:"bytes,2,opt,name=insert_position,json=insertPosition,proto3" json:"insert_position,omitempty"` // REQUIRED: The type of filter to instantiate. FilterType EnvoyFilter_Filter_FilterType `protobuf:"varint,3,opt,name=filter_type,json=filterType,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType" json:"filter_type,omitempty"` // REQUIRED: The name of the filter to instantiate. The name must match a supported @@ -328,13 +432,44 @@ type EnvoyFilter_Filter struct { FilterName string `protobuf:"bytes,4,opt,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"` // REQUIRED: Filter specific configuration which depends on the filter being // instantiated. - FilterConfig *google_protobuf3.Struct `protobuf:"bytes,5,opt,name=filter_config,json=filterConfig" json:"filter_config,omitempty"` + FilterConfig *types.Struct `protobuf:"bytes,5,opt,name=filter_config,json=filterConfig,proto3" json:"filter_config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EnvoyFilter_Filter) Reset() { *m = EnvoyFilter_Filter{} } +func (m *EnvoyFilter_Filter) String() string { return proto.CompactTextString(m) } +func (*EnvoyFilter_Filter) ProtoMessage() {} +func (*EnvoyFilter_Filter) Descriptor() ([]byte, []int) { + return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3} +} +func (m *EnvoyFilter_Filter) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnvoyFilter_Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnvoyFilter_Filter.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnvoyFilter_Filter) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnvoyFilter_Filter.Merge(m, src) +} +func (m *EnvoyFilter_Filter) XXX_Size() int { + return m.Size() +} +func (m *EnvoyFilter_Filter) XXX_DiscardUnknown() { + xxx_messageInfo_EnvoyFilter_Filter.DiscardUnknown(m) } -func (m *EnvoyFilter_Filter) Reset() { *m = EnvoyFilter_Filter{} } -func (m *EnvoyFilter_Filter) String() string { return proto.CompactTextString(m) } -func (*EnvoyFilter_Filter) ProtoMessage() {} -func (*EnvoyFilter_Filter) Descriptor() ([]byte, []int) { return fileDescriptorEnvoyFilter, []int{0, 3} } +var xxx_messageInfo_EnvoyFilter_Filter proto.InternalMessageInfo func (m *EnvoyFilter_Filter) GetListenerMatch() *EnvoyFilter_ListenerMatch { if m != nil { @@ -364,7 +499,7 @@ func (m *EnvoyFilter_Filter) GetFilterName() string { return "" } -func (m *EnvoyFilter_Filter) GetFilterConfig() *google_protobuf3.Struct { +func (m *EnvoyFilter_Filter) GetFilterConfig() *types.Struct { if m != nil { return m.FilterConfig } @@ -372,15 +507,70 @@ func (m *EnvoyFilter_Filter) GetFilterConfig() *google_protobuf3.Struct { } func init() { - proto.RegisterType((*EnvoyFilter)(nil), "istio.networking.v1alpha3.EnvoyFilter") - proto.RegisterType((*EnvoyFilter_ListenerMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch") - proto.RegisterType((*EnvoyFilter_InsertPosition)(nil), "istio.networking.v1alpha3.EnvoyFilter.InsertPosition") - proto.RegisterType((*EnvoyFilter_Filter)(nil), "istio.networking.v1alpha3.EnvoyFilter.Filter") proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerType", EnvoyFilter_ListenerMatch_ListenerType_name, EnvoyFilter_ListenerMatch_ListenerType_value) proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_ListenerMatch_ListenerProtocol", EnvoyFilter_ListenerMatch_ListenerProtocol_name, EnvoyFilter_ListenerMatch_ListenerProtocol_value) proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index", EnvoyFilter_InsertPosition_Index_name, EnvoyFilter_InsertPosition_Index_value) proto.RegisterEnum("istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType", EnvoyFilter_Filter_FilterType_name, EnvoyFilter_Filter_FilterType_value) + proto.RegisterType((*EnvoyFilter)(nil), "istio.networking.v1alpha3.EnvoyFilter") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.EnvoyFilter.WorkloadLabelsEntry") + proto.RegisterType((*EnvoyFilter_ListenerMatch)(nil), "istio.networking.v1alpha3.EnvoyFilter.ListenerMatch") + proto.RegisterType((*EnvoyFilter_InsertPosition)(nil), "istio.networking.v1alpha3.EnvoyFilter.InsertPosition") + proto.RegisterType((*EnvoyFilter_Filter)(nil), "istio.networking.v1alpha3.EnvoyFilter.Filter") +} + +func init() { + proto.RegisterFile("networking/v1alpha3/envoy_filter.proto", fileDescriptor_16d9b2922bd3e4a9) } + +var fileDescriptor_16d9b2922bd3e4a9 = []byte{ + // 706 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6f, 0xda, 0x4c, + 0x10, 0x8d, 0x71, 0x08, 0x1f, 0xe3, 0x40, 0xfc, 0x6d, 0x22, 0xd5, 0x45, 0x55, 0x8a, 0x38, 0x54, + 0x5c, 0x6a, 0x5a, 0xd2, 0x4a, 0x51, 0xda, 0x8b, 0x93, 0x98, 0x14, 0x95, 0x02, 0x5d, 0x9c, 0x46, + 0x69, 0xa5, 0x5a, 0x06, 0x16, 0xb2, 0x8a, 0xf1, 0x5a, 0xf6, 0x42, 0xc2, 0xcf, 0xea, 0xb1, 0xd7, + 0x9e, 0x7a, 0x6c, 0xff, 0x41, 0x95, 0x5f, 0x52, 0x79, 0x6d, 0x08, 0x44, 0xa9, 0x94, 0xa6, 0x27, + 0x7b, 0x9f, 0xde, 0xbc, 0x99, 0xd9, 0x79, 0xb3, 0xf0, 0xc4, 0x23, 0xfc, 0x82, 0x05, 0xe7, 0xd4, + 0x1b, 0x56, 0x26, 0xcf, 0x1d, 0xd7, 0x3f, 0x73, 0x76, 0x2a, 0xc4, 0x9b, 0xb0, 0xa9, 0x3d, 0xa0, + 0x2e, 0x27, 0x81, 0xee, 0x07, 0x8c, 0x33, 0xf4, 0x90, 0x86, 0x9c, 0x32, 0xfd, 0x9a, 0xad, 0xcf, + 0xd8, 0x85, 0x47, 0x43, 0xc6, 0x86, 0x2e, 0xa9, 0x08, 0x62, 0x77, 0x3c, 0xa8, 0x84, 0x3c, 0x18, + 0xf7, 0x78, 0x1c, 0x58, 0xfa, 0x06, 0xa0, 0x98, 0x91, 0x5e, 0x4d, 0xc8, 0xa1, 0x1e, 0x6c, 0x44, + 0x0a, 0x2e, 0x73, 0xfa, 0xb6, 0xeb, 0x74, 0x89, 0x1b, 0x6a, 0x52, 0x51, 0x2e, 0x2b, 0xd5, 0x3d, + 0xfd, 0x8f, 0x29, 0xf4, 0x05, 0x01, 0xfd, 0x24, 0x89, 0x6e, 0x88, 0x60, 0xd3, 0xe3, 0xc1, 0x14, + 0xe7, 0x2f, 0x96, 0x40, 0x74, 0x04, 0x99, 0xb8, 0xfa, 0x50, 0x4b, 0x09, 0xf1, 0xa7, 0x77, 0x14, + 0x8f, 0x3f, 0x78, 0x16, 0x5d, 0x30, 0x60, 0xf3, 0x96, 0x7c, 0x48, 0x05, 0xf9, 0x9c, 0x4c, 0x35, + 0xa9, 0x28, 0x95, 0xb3, 0x38, 0xfa, 0x45, 0x5b, 0x90, 0x9e, 0x38, 0xee, 0x98, 0x68, 0x29, 0x81, + 0xc5, 0x87, 0xbd, 0xd4, 0xae, 0x54, 0xf8, 0x29, 0x43, 0xae, 0x41, 0x43, 0x4e, 0x3c, 0x12, 0xbc, + 0x73, 0x78, 0xef, 0x0c, 0x3d, 0x06, 0xc5, 0x67, 0x01, 0xb7, 0xbd, 0xf1, 0xa8, 0x4b, 0x02, 0xa1, + 0x92, 0xc3, 0x10, 0x41, 0x4d, 0x81, 0xa0, 0x32, 0xa8, 0x31, 0xc1, 0x19, 0x11, 0xdb, 0x0f, 0xc8, + 0x80, 0x5e, 0x26, 0xba, 0x79, 0xc1, 0x72, 0x46, 0xa4, 0x2d, 0x50, 0x34, 0x80, 0x9c, 0x9b, 0x68, + 0xdb, 0x7c, 0xea, 0x13, 0x4d, 0x2e, 0x4a, 0xe5, 0x7c, 0xd5, 0xb8, 0x63, 0xbb, 0x4b, 0x75, 0xcd, + 0x4f, 0xd6, 0xd4, 0x27, 0x78, 0xdd, 0x5d, 0x38, 0xa1, 0x00, 0xfe, 0x9f, 0xe7, 0x11, 0x73, 0xed, + 0x31, 0x57, 0x5b, 0x15, 0xb9, 0xcc, 0x7f, 0xca, 0xd5, 0x4e, 0xc4, 0xb0, 0xea, 0xde, 0x40, 0x90, + 0x06, 0x19, 0xa7, 0xdf, 0x0f, 0x48, 0x18, 0x6a, 0xe9, 0xa2, 0x5c, 0xce, 0xe2, 0xd9, 0xb1, 0xd4, + 0x82, 0xf5, 0xc5, 0x5a, 0x51, 0x06, 0x64, 0xa3, 0x79, 0xaa, 0xae, 0xa0, 0x4d, 0xd8, 0xe8, 0xd4, + 0x0f, 0xcd, 0x03, 0x03, 0xdb, 0xf5, 0xe6, 0x7e, 0xeb, 0xb8, 0x79, 0xa8, 0x4a, 0x68, 0x0b, 0xd4, + 0x19, 0xd8, 0x3a, 0xb6, 0x62, 0x34, 0x85, 0x14, 0xc8, 0x1c, 0x19, 0x96, 0x79, 0x62, 0x9c, 0xaa, + 0x72, 0x49, 0x07, 0xf5, 0x66, 0x41, 0x42, 0xb4, 0xd1, 0x50, 0x57, 0xd0, 0x7f, 0xb0, 0xfa, 0xc6, + 0xb2, 0xda, 0xaa, 0x14, 0x41, 0xd6, 0x41, 0x5b, 0x4d, 0x15, 0xbe, 0x4a, 0x90, 0xaf, 0x7b, 0x21, + 0x09, 0x78, 0x9b, 0x85, 0x94, 0x53, 0xe6, 0xa1, 0xf7, 0x90, 0xa6, 0x5e, 0x9f, 0x5c, 0x8a, 0x71, + 0xe6, 0xab, 0xaf, 0xee, 0x78, 0x2b, 0xcb, 0x2a, 0x7a, 0x3d, 0x92, 0xc0, 0xb1, 0x52, 0xe4, 0x93, + 0x80, 0xb8, 0x0e, 0xa7, 0x13, 0x62, 0x73, 0x96, 0x38, 0x00, 0x66, 0x90, 0xc5, 0x4a, 0x3b, 0x90, + 0x16, 0x01, 0x28, 0x0b, 0xe9, 0x5a, 0x1d, 0x77, 0xac, 0xb8, 0xda, 0x86, 0xd1, 0xb1, 0x54, 0x09, + 0x01, 0xac, 0xed, 0x9b, 0xb5, 0x16, 0x36, 0xd5, 0x54, 0x44, 0x30, 0x6a, 0x96, 0x89, 0x55, 0xb9, + 0xf0, 0x45, 0x86, 0xb5, 0x64, 0x17, 0x3f, 0x41, 0x7e, 0x3e, 0xd5, 0x51, 0x34, 0x16, 0x51, 0xbc, + 0x52, 0x7d, 0x71, 0x9f, 0x91, 0xe2, 0xb9, 0x13, 0x63, 0x97, 0x7f, 0x86, 0x0d, 0x2a, 0x9a, 0xb3, + 0xfd, 0xa4, 0x3b, 0xd1, 0x81, 0x52, 0x7d, 0x79, 0xaf, 0xab, 0xc1, 0x79, 0xba, 0x7c, 0xe1, 0xa7, + 0xa0, 0xc4, 0x5b, 0xba, 0x68, 0xfc, 0xdd, 0xbf, 0xda, 0xf3, 0xe4, 0x23, 0xfc, 0x0e, 0x83, 0xf9, + 0x7f, 0x74, 0xf1, 0x89, 0x74, 0xb4, 0x81, 0xc2, 0xe7, 0xd9, 0x19, 0x21, 0x5a, 0x3e, 0xf4, 0x1a, + 0x72, 0x09, 0xa1, 0xc7, 0xbc, 0x01, 0x1d, 0x6a, 0x69, 0xd1, 0xd9, 0x03, 0x3d, 0x7e, 0x0a, 0xf5, + 0xd9, 0x53, 0xa8, 0x77, 0xc4, 0x53, 0x88, 0xd7, 0x63, 0xf6, 0x81, 0x20, 0x97, 0x9e, 0x01, 0x5c, + 0x27, 0x8e, 0x8c, 0x58, 0x6f, 0x7e, 0x30, 0x1a, 0xf5, 0xc3, 0x25, 0xaf, 0x29, 0x90, 0x69, 0x9a, + 0xd6, 0x49, 0x0b, 0xbf, 0x55, 0x53, 0xfb, 0xfa, 0xf7, 0xab, 0x6d, 0xe9, 0xc7, 0xd5, 0xb6, 0xf4, + 0xeb, 0x6a, 0x5b, 0xfa, 0x58, 0x8c, 0x7b, 0xa4, 0xac, 0xe2, 0xf8, 0xb4, 0x72, 0xcb, 0x03, 0xde, + 0x5d, 0x13, 0x05, 0xec, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x26, 0x48, 0xc9, 0xfc, 0xde, 0x05, + 0x00, 0x00, +} + func (m *EnvoyFilter) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -425,6 +615,9 @@ func (m *EnvoyFilter) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -479,6 +672,9 @@ func (m *EnvoyFilter_ListenerMatch) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -508,6 +704,9 @@ func (m *EnvoyFilter_InsertPosition) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintEnvoyFilter(dAtA, i, uint64(len(m.RelativeTo))) i += copy(dAtA[i:], m.RelativeTo) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -567,6 +766,9 @@ func (m *EnvoyFilter_Filter) MarshalTo(dAtA []byte) (int, error) { } i += n3 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -580,6 +782,9 @@ func encodeVarintEnvoyFilter(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *EnvoyFilter) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.WorkloadLabels) > 0 { @@ -596,10 +801,16 @@ func (m *EnvoyFilter) Size() (n int) { n += 1 + l + sovEnvoyFilter(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *EnvoyFilter_ListenerMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.PortNumber != 0 { @@ -621,10 +832,16 @@ func (m *EnvoyFilter_ListenerMatch) Size() (n int) { n += 1 + l + sovEnvoyFilter(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *EnvoyFilter_InsertPosition) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Index != 0 { @@ -634,10 +851,16 @@ func (m *EnvoyFilter_InsertPosition) Size() (n int) { if l > 0 { n += 1 + l + sovEnvoyFilter(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *EnvoyFilter_Filter) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ListenerMatch != nil { @@ -659,6 +882,9 @@ func (m *EnvoyFilter_Filter) Size() (n int) { l = m.FilterConfig.Size() n += 1 + l + sovEnvoyFilter(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -690,7 +916,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -718,7 +944,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -727,6 +953,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -747,7 +976,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -764,7 +993,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -774,6 +1003,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthEnvoyFilter + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -790,7 +1022,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -800,6 +1032,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthEnvoyFilter + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -836,7 +1071,7 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -845,6 +1080,9 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -862,9 +1100,13 @@ func (m *EnvoyFilter) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -889,7 +1131,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -917,7 +1159,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.PortNumber |= (uint32(b) & 0x7F) << shift + m.PortNumber |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -936,7 +1178,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -946,6 +1188,9 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -965,7 +1210,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ListenerType |= (EnvoyFilter_ListenerMatch_ListenerType(b) & 0x7F) << shift + m.ListenerType |= EnvoyFilter_ListenerMatch_ListenerType(b&0x7F) << shift if b < 0x80 { break } @@ -984,7 +1229,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ListenerProtocol |= (EnvoyFilter_ListenerMatch_ListenerProtocol(b) & 0x7F) << shift + m.ListenerProtocol |= EnvoyFilter_ListenerMatch_ListenerProtocol(b&0x7F) << shift if b < 0x80 { break } @@ -1003,7 +1248,7 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1013,6 +1258,9 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1027,9 +1275,13 @@ func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1054,7 +1306,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1082,7 +1334,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Index |= (EnvoyFilter_InsertPosition_Index(b) & 0x7F) << shift + m.Index |= EnvoyFilter_InsertPosition_Index(b&0x7F) << shift if b < 0x80 { break } @@ -1101,7 +1353,7 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1111,6 +1363,9 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1125,9 +1380,13 @@ func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1152,7 +1411,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1180,7 +1439,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1189,6 +1448,9 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1213,7 +1475,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1222,6 +1484,9 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1246,7 +1511,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FilterType |= (EnvoyFilter_Filter_FilterType(b) & 0x7F) << shift + m.FilterType |= EnvoyFilter_Filter_FilterType(b&0x7F) << shift if b < 0x80 { break } @@ -1265,7 +1530,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1275,6 +1540,9 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1294,7 +1562,7 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1303,11 +1571,14 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { return ErrInvalidLengthEnvoyFilter } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEnvoyFilter + } if postIndex > l { return io.ErrUnexpectedEOF } if m.FilterConfig == nil { - m.FilterConfig = &google_protobuf3.Struct{} + m.FilterConfig = &types.Struct{} } if err := m.FilterConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1322,9 +1593,13 @@ func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthEnvoyFilter } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthEnvoyFilter + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1388,10 +1663,13 @@ func skipEnvoyFilter(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthEnvoyFilter } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthEnvoyFilter + } return iNdEx, nil case 3: for { @@ -1420,6 +1698,9 @@ func skipEnvoyFilter(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthEnvoyFilter + } } return iNdEx, nil case 4: @@ -1438,54 +1719,3 @@ var ( ErrInvalidLengthEnvoyFilter = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEnvoyFilter = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/envoy_filter.proto", fileDescriptorEnvoyFilter) } - -var fileDescriptorEnvoyFilter = []byte{ - // 706 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6f, 0xda, 0x4c, - 0x10, 0x8d, 0x71, 0x08, 0x1f, 0xe3, 0x40, 0xfc, 0x6d, 0x22, 0xd5, 0x45, 0x55, 0x8a, 0x38, 0x54, - 0x5c, 0x6a, 0x5a, 0xd2, 0x4a, 0x51, 0xda, 0x8b, 0x93, 0x98, 0x14, 0x95, 0x02, 0x5d, 0x9c, 0x46, - 0x69, 0xa5, 0x5a, 0x06, 0x16, 0xb2, 0x8a, 0xf1, 0x5a, 0xf6, 0x42, 0xc2, 0xcf, 0xea, 0xb1, 0xd7, - 0x9e, 0x7a, 0x6c, 0xff, 0x41, 0x95, 0x5f, 0x52, 0x79, 0x6d, 0x08, 0x44, 0xa9, 0x94, 0xa6, 0x27, - 0x7b, 0x9f, 0xde, 0xbc, 0x99, 0xd9, 0x79, 0xb3, 0xf0, 0xc4, 0x23, 0xfc, 0x82, 0x05, 0xe7, 0xd4, - 0x1b, 0x56, 0x26, 0xcf, 0x1d, 0xd7, 0x3f, 0x73, 0x76, 0x2a, 0xc4, 0x9b, 0xb0, 0xa9, 0x3d, 0xa0, - 0x2e, 0x27, 0x81, 0xee, 0x07, 0x8c, 0x33, 0xf4, 0x90, 0x86, 0x9c, 0x32, 0xfd, 0x9a, 0xad, 0xcf, - 0xd8, 0x85, 0x47, 0x43, 0xc6, 0x86, 0x2e, 0xa9, 0x08, 0x62, 0x77, 0x3c, 0xa8, 0x84, 0x3c, 0x18, - 0xf7, 0x78, 0x1c, 0x58, 0xfa, 0x06, 0xa0, 0x98, 0x91, 0x5e, 0x4d, 0xc8, 0xa1, 0x1e, 0x6c, 0x44, - 0x0a, 0x2e, 0x73, 0xfa, 0xb6, 0xeb, 0x74, 0x89, 0x1b, 0x6a, 0x52, 0x51, 0x2e, 0x2b, 0xd5, 0x3d, - 0xfd, 0x8f, 0x29, 0xf4, 0x05, 0x01, 0xfd, 0x24, 0x89, 0x6e, 0x88, 0x60, 0xd3, 0xe3, 0xc1, 0x14, - 0xe7, 0x2f, 0x96, 0x40, 0x74, 0x04, 0x99, 0xb8, 0xfa, 0x50, 0x4b, 0x09, 0xf1, 0xa7, 0x77, 0x14, - 0x8f, 0x3f, 0x78, 0x16, 0x5d, 0x30, 0x60, 0xf3, 0x96, 0x7c, 0x48, 0x05, 0xf9, 0x9c, 0x4c, 0x35, - 0xa9, 0x28, 0x95, 0xb3, 0x38, 0xfa, 0x45, 0x5b, 0x90, 0x9e, 0x38, 0xee, 0x98, 0x68, 0x29, 0x81, - 0xc5, 0x87, 0xbd, 0xd4, 0xae, 0x54, 0xf8, 0x29, 0x43, 0xae, 0x41, 0x43, 0x4e, 0x3c, 0x12, 0xbc, - 0x73, 0x78, 0xef, 0x0c, 0x3d, 0x06, 0xc5, 0x67, 0x01, 0xb7, 0xbd, 0xf1, 0xa8, 0x4b, 0x02, 0xa1, - 0x92, 0xc3, 0x10, 0x41, 0x4d, 0x81, 0xa0, 0x32, 0xa8, 0x31, 0xc1, 0x19, 0x11, 0xdb, 0x0f, 0xc8, - 0x80, 0x5e, 0x26, 0xba, 0x79, 0xc1, 0x72, 0x46, 0xa4, 0x2d, 0x50, 0x34, 0x80, 0x9c, 0x9b, 0x68, - 0xdb, 0x7c, 0xea, 0x13, 0x4d, 0x2e, 0x4a, 0xe5, 0x7c, 0xd5, 0xb8, 0x63, 0xbb, 0x4b, 0x75, 0xcd, - 0x4f, 0xd6, 0xd4, 0x27, 0x78, 0xdd, 0x5d, 0x38, 0xa1, 0x00, 0xfe, 0x9f, 0xe7, 0x11, 0x73, 0xed, - 0x31, 0x57, 0x5b, 0x15, 0xb9, 0xcc, 0x7f, 0xca, 0xd5, 0x4e, 0xc4, 0xb0, 0xea, 0xde, 0x40, 0x90, - 0x06, 0x19, 0xa7, 0xdf, 0x0f, 0x48, 0x18, 0x6a, 0xe9, 0xa2, 0x5c, 0xce, 0xe2, 0xd9, 0xb1, 0xd4, - 0x82, 0xf5, 0xc5, 0x5a, 0x51, 0x06, 0x64, 0xa3, 0x79, 0xaa, 0xae, 0xa0, 0x4d, 0xd8, 0xe8, 0xd4, - 0x0f, 0xcd, 0x03, 0x03, 0xdb, 0xf5, 0xe6, 0x7e, 0xeb, 0xb8, 0x79, 0xa8, 0x4a, 0x68, 0x0b, 0xd4, - 0x19, 0xd8, 0x3a, 0xb6, 0x62, 0x34, 0x85, 0x14, 0xc8, 0x1c, 0x19, 0x96, 0x79, 0x62, 0x9c, 0xaa, - 0x72, 0x49, 0x07, 0xf5, 0x66, 0x41, 0x42, 0xb4, 0xd1, 0x50, 0x57, 0xd0, 0x7f, 0xb0, 0xfa, 0xc6, - 0xb2, 0xda, 0xaa, 0x14, 0x41, 0xd6, 0x41, 0x5b, 0x4d, 0x15, 0xbe, 0x4a, 0x90, 0xaf, 0x7b, 0x21, - 0x09, 0x78, 0x9b, 0x85, 0x94, 0x53, 0xe6, 0xa1, 0xf7, 0x90, 0xa6, 0x5e, 0x9f, 0x5c, 0x8a, 0x71, - 0xe6, 0xab, 0xaf, 0xee, 0x78, 0x2b, 0xcb, 0x2a, 0x7a, 0x3d, 0x92, 0xc0, 0xb1, 0x52, 0xe4, 0x93, - 0x80, 0xb8, 0x0e, 0xa7, 0x13, 0x62, 0x73, 0x96, 0x38, 0x00, 0x66, 0x90, 0xc5, 0x4a, 0x3b, 0x90, - 0x16, 0x01, 0x28, 0x0b, 0xe9, 0x5a, 0x1d, 0x77, 0xac, 0xb8, 0xda, 0x86, 0xd1, 0xb1, 0x54, 0x09, - 0x01, 0xac, 0xed, 0x9b, 0xb5, 0x16, 0x36, 0xd5, 0x54, 0x44, 0x30, 0x6a, 0x96, 0x89, 0x55, 0xb9, - 0xf0, 0x45, 0x86, 0xb5, 0x64, 0x17, 0x3f, 0x41, 0x7e, 0x3e, 0xd5, 0x51, 0x34, 0x16, 0x51, 0xbc, - 0x52, 0x7d, 0x71, 0x9f, 0x91, 0xe2, 0xb9, 0x13, 0x63, 0x97, 0x7f, 0x86, 0x0d, 0x2a, 0x9a, 0xb3, - 0xfd, 0xa4, 0x3b, 0xd1, 0x81, 0x52, 0x7d, 0x79, 0xaf, 0xab, 0xc1, 0x79, 0xba, 0x7c, 0xe1, 0xa7, - 0xa0, 0xc4, 0x5b, 0xba, 0x68, 0xfc, 0xdd, 0xbf, 0xda, 0xf3, 0xe4, 0x23, 0xfc, 0x0e, 0x83, 0xf9, - 0x7f, 0x74, 0xf1, 0x89, 0x74, 0xb4, 0x81, 0xc2, 0xe7, 0xd9, 0x19, 0x21, 0x5a, 0x3e, 0xf4, 0x1a, - 0x72, 0x09, 0xa1, 0xc7, 0xbc, 0x01, 0x1d, 0x6a, 0x69, 0xd1, 0xd9, 0x03, 0x3d, 0x7e, 0x0a, 0xf5, - 0xd9, 0x53, 0xa8, 0x77, 0xc4, 0x53, 0x88, 0xd7, 0x63, 0xf6, 0x81, 0x20, 0x97, 0x9e, 0x01, 0x5c, - 0x27, 0x8e, 0x8c, 0x58, 0x6f, 0x7e, 0x30, 0x1a, 0xf5, 0xc3, 0x25, 0xaf, 0x29, 0x90, 0x69, 0x9a, - 0xd6, 0x49, 0x0b, 0xbf, 0x55, 0x53, 0xfb, 0xfa, 0xf7, 0xab, 0x6d, 0xe9, 0xc7, 0xd5, 0xb6, 0xf4, - 0xeb, 0x6a, 0x5b, 0xfa, 0x58, 0x8c, 0x7b, 0xa4, 0xac, 0xe2, 0xf8, 0xb4, 0x72, 0xcb, 0x03, 0xde, - 0x5d, 0x13, 0x05, 0xec, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x26, 0x48, 0xc9, 0xfc, 0xde, 0x05, - 0x00, 0x00, -} diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 0bb2c9e736f..62fc8b17826 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -3,17 +3,24 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // TLS modes enforced by the proxy type Server_TLSOptions_TLSmode int32 @@ -46,6 +53,7 @@ var Server_TLSOptions_TLSmode_name = map[int32]string{ 2: "MUTUAL", 3: "AUTO_PASSTHROUGH", } + var Server_TLSOptions_TLSmode_value = map[string]int32{ "PASSTHROUGH": 0, "SIMPLE": 1, @@ -56,8 +64,9 @@ var Server_TLSOptions_TLSmode_value = map[string]int32{ func (x Server_TLSOptions_TLSmode) String() string { return proto.EnumName(Server_TLSOptions_TLSmode_name, int32(x)) } + func (Server_TLSOptions_TLSmode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorGateway, []int{1, 0, 0} + return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 0} } // TLS protocol versions. @@ -83,6 +92,7 @@ var Server_TLSOptions_TLSProtocol_name = map[int32]string{ 3: "TLSV1_2", 4: "TLSV1_3", } + var Server_TLSOptions_TLSProtocol_value = map[string]int32{ "TLS_AUTO": 0, "TLSV1_0": 1, @@ -94,8 +104,9 @@ var Server_TLSOptions_TLSProtocol_value = map[string]int32{ func (x Server_TLSOptions_TLSProtocol) String() string { return proto.EnumName(Server_TLSOptions_TLSProtocol_name, int32(x)) } + func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptorGateway, []int{1, 0, 1} + return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 1} } // `Gateway` describes a load balancer operating at the edge of the mesh @@ -235,19 +246,50 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // ``` type Gateway struct { // REQUIRED: A list of server specifications. - Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` + Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` // REQUIRED: One or more labels that indicate a specific set of pods/VMs // on which this gateway configuration should be applied. The scope of // label search is restricted to the configuration namespace in which the // the resource is present. In other words, the Gateway resource must // reside in the same namespace as the gateway workload. - Selector map[string]string `protobuf:"bytes,2,rep,name=selector" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Gateway) Reset() { *m = Gateway{} } +func (m *Gateway) String() string { return proto.CompactTextString(m) } +func (*Gateway) ProtoMessage() {} +func (*Gateway) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{0} +} +func (m *Gateway) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Gateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Gateway.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Gateway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Gateway.Merge(m, src) +} +func (m *Gateway) XXX_Size() int { + return m.Size() +} +func (m *Gateway) XXX_DiscardUnknown() { + xxx_messageInfo_Gateway.DiscardUnknown(m) } -func (m *Gateway) Reset() { *m = Gateway{} } -func (m *Gateway) String() string { return proto.CompactTextString(m) } -func (*Gateway) ProtoMessage() {} -func (*Gateway) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{0} } +var xxx_messageInfo_Gateway proto.InternalMessageInfo func (m *Gateway) GetServers() []*Server { if m != nil { @@ -328,7 +370,7 @@ type Server struct { // REQUIRED: The Port on which the proxy should listen for incoming // connections. If using unix domain socket, use 0 as the port number, // with a valid protocol and port name, along with the bind parameter. - Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // $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 @@ -348,21 +390,52 @@ type Server struct { // VirtualServices with hosts dev.example.com, prod.example.com will // match. However, VirtualServices with hosts example.com or // newexample.com will not match. - Hosts []string `protobuf:"bytes,2,rep,name=hosts" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // Set of TLS related options that govern the server's behavior. Use // these options to control if all http requests should be redirected to // https, and the TLS modes to use. - Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls" json:"tls,omitempty"` + Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // The loopback IP endpoint or unix domain socket to which traffic should // be forwarded to by default. Format should be 127.0.0.1:PORT or // unix:///path/to/socket or unix://@foobar (Linux abstract namespace). - DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Server) Reset() { *m = Server{} } +func (m *Server) String() string { return proto.CompactTextString(m) } +func (*Server) ProtoMessage() {} +func (*Server) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{1} +} +func (m *Server) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Server.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Server) XXX_Merge(src proto.Message) { + xxx_messageInfo_Server.Merge(m, src) +} +func (m *Server) XXX_Size() int { + return m.Size() +} +func (m *Server) XXX_DiscardUnknown() { + xxx_messageInfo_Server.DiscardUnknown(m) } -func (m *Server) Reset() { *m = Server{} } -func (m *Server) String() string { return proto.CompactTextString(m) } -func (*Server) ProtoMessage() {} -func (*Server) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1} } +var xxx_messageInfo_Server proto.InternalMessageInfo func (m *Server) GetPort() *Port { if m != nil { @@ -433,20 +506,51 @@ type Server_TLSOptions struct { CredentialName string `protobuf:"bytes,10,opt,name=credential_name,json=credentialName,proto3" json:"credential_name,omitempty"` // A list of alternate names to verify the subject identity in the // certificate presented by the client. - SubjectAltNames []string `protobuf:"bytes,6,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,6,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` // Optional: Minimum TLS protocol version. MinProtocolVersion Server_TLSOptions_TLSProtocol `protobuf:"varint,7,opt,name=min_protocol_version,json=minProtocolVersion,proto3,enum=istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol" json:"min_protocol_version,omitempty"` // Optional: Maximum TLS protocol version. MaxProtocolVersion Server_TLSOptions_TLSProtocol `protobuf:"varint,8,opt,name=max_protocol_version,json=maxProtocolVersion,proto3,enum=istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol" json:"max_protocol_version,omitempty"` // Optional: If specified, only support the specified cipher list. // Otherwise default to the default cipher list supported by Envoy. - CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites" json:"cipher_suites,omitempty"` + CipherSuites []string `protobuf:"bytes,9,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Server_TLSOptions) Reset() { *m = Server_TLSOptions{} } -func (m *Server_TLSOptions) String() string { return proto.CompactTextString(m) } -func (*Server_TLSOptions) ProtoMessage() {} -func (*Server_TLSOptions) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{1, 0} } +func (m *Server_TLSOptions) Reset() { *m = Server_TLSOptions{} } +func (m *Server_TLSOptions) String() string { return proto.CompactTextString(m) } +func (*Server_TLSOptions) ProtoMessage() {} +func (*Server_TLSOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{1, 0} +} +func (m *Server_TLSOptions) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Server_TLSOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Server_TLSOptions.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Server_TLSOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_Server_TLSOptions.Merge(m, src) +} +func (m *Server_TLSOptions) XXX_Size() int { + return m.Size() +} +func (m *Server_TLSOptions) XXX_DiscardUnknown() { + xxx_messageInfo_Server_TLSOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_Server_TLSOptions proto.InternalMessageInfo func (m *Server_TLSOptions) GetHttpsRedirect() bool { if m != nil { @@ -528,13 +632,44 @@ type Port struct { // the destination without terminating the TLS connection. Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` // Label assigned to the port. - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Port) Reset() { *m = Port{} } +func (m *Port) String() string { return proto.CompactTextString(m) } +func (*Port) ProtoMessage() {} +func (*Port) Descriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{2} +} +func (m *Port) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Port.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Port) XXX_Merge(src proto.Message) { + xxx_messageInfo_Port.Merge(m, src) +} +func (m *Port) XXX_Size() int { + return m.Size() +} +func (m *Port) XXX_DiscardUnknown() { + xxx_messageInfo_Port.DiscardUnknown(m) } -func (m *Port) Reset() { *m = Port{} } -func (m *Port) String() string { return proto.CompactTextString(m) } -func (*Port) ProtoMessage() {} -func (*Port) Descriptor() ([]byte, []int) { return fileDescriptorGateway, []int{2} } +var xxx_messageInfo_Port proto.InternalMessageInfo func (m *Port) GetNumber() uint32 { if m != nil { @@ -558,13 +693,64 @@ func (m *Port) GetName() string { } func init() { + proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSmode", Server_TLSOptions_TLSmode_name, Server_TLSOptions_TLSmode_value) + proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol", Server_TLSOptions_TLSProtocol_name, Server_TLSOptions_TLSProtocol_value) proto.RegisterType((*Gateway)(nil), "istio.networking.v1alpha3.Gateway") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Gateway.SelectorEntry") proto.RegisterType((*Server)(nil), "istio.networking.v1alpha3.Server") proto.RegisterType((*Server_TLSOptions)(nil), "istio.networking.v1alpha3.Server.TLSOptions") proto.RegisterType((*Port)(nil), "istio.networking.v1alpha3.Port") - proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSmode", Server_TLSOptions_TLSmode_name, Server_TLSOptions_TLSmode_value) - proto.RegisterEnum("istio.networking.v1alpha3.Server_TLSOptions_TLSProtocol", Server_TLSOptions_TLSProtocol_name, Server_TLSOptions_TLSProtocol_value) } + +func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptor_067d98d02f84cc0b) } + +var fileDescriptor_067d98d02f84cc0b = []byte{ + // 674 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x5d, 0x4f, 0x1a, 0x4d, + 0x14, 0x76, 0x01, 0xf9, 0x38, 0x88, 0xac, 0x13, 0xf3, 0x66, 0x5f, 0x2f, 0xfc, 0xa0, 0x69, 0x6a, + 0x9b, 0x76, 0x51, 0xe8, 0x85, 0xa9, 0x49, 0x13, 0xda, 0x18, 0x69, 0x8a, 0x42, 0x76, 0xc1, 0x8b, + 0xde, 0x6c, 0x86, 0x65, 0x94, 0xd1, 0x65, 0x67, 0x33, 0x33, 0xa0, 0xfc, 0xb3, 0xfe, 0x84, 0x5e, + 0xb6, 0xff, 0xa0, 0xb1, 0x7f, 0xa4, 0xd9, 0xd9, 0x41, 0xe8, 0x97, 0x8d, 0xe9, 0xdd, 0x39, 0xcf, + 0x3c, 0xcf, 0x73, 0xe6, 0x9c, 0xf9, 0x80, 0x9d, 0x90, 0xc8, 0x6b, 0xc6, 0xaf, 0x68, 0x78, 0x51, + 0x9d, 0xec, 0xe3, 0x20, 0x1a, 0xe2, 0x7a, 0xf5, 0x02, 0x4b, 0x72, 0x8d, 0xa7, 0x76, 0xc4, 0x99, + 0x64, 0xe8, 0x7f, 0x2a, 0x24, 0x65, 0xf6, 0x9c, 0x68, 0xcf, 0x88, 0x95, 0x2f, 0x06, 0xe4, 0x8e, + 0x13, 0x32, 0x3a, 0x84, 0x9c, 0x20, 0x7c, 0x42, 0xb8, 0xb0, 0x8c, 0xed, 0xf4, 0x6e, 0xb1, 0xb6, + 0x63, 0xff, 0x51, 0x68, 0xbb, 0x8a, 0xe9, 0xcc, 0x14, 0xa8, 0x05, 0x79, 0x41, 0x02, 0xe2, 0x4b, + 0xc6, 0xad, 0x94, 0x52, 0xef, 0xdd, 0xa3, 0xd6, 0x25, 0x6d, 0x57, 0x4b, 0x8e, 0x42, 0xc9, 0xa7, + 0xce, 0x9d, 0xc3, 0xc6, 0x21, 0x94, 0x7e, 0x58, 0x42, 0x26, 0xa4, 0xaf, 0xc8, 0xd4, 0x32, 0xb6, + 0x8d, 0xdd, 0x82, 0x13, 0x87, 0x68, 0x1d, 0x96, 0x27, 0x38, 0x18, 0x13, 0x2b, 0xa5, 0xb0, 0x24, + 0x79, 0x95, 0x3a, 0x30, 0x2a, 0x1f, 0x73, 0x90, 0x4d, 0xb6, 0x87, 0xea, 0x90, 0x89, 0x18, 0x97, + 0x4a, 0x57, 0xac, 0x6d, 0xdd, 0xb3, 0xa3, 0x0e, 0xe3, 0xd2, 0x51, 0x64, 0x84, 0x20, 0xd3, 0xa7, + 0xe1, 0xc0, 0xca, 0x28, 0x63, 0x15, 0xc7, 0xd5, 0x86, 0x4c, 0x48, 0xa1, 0x7a, 0x2b, 0x38, 0x49, + 0x82, 0x5e, 0x43, 0x5a, 0x06, 0xc2, 0x4a, 0x2b, 0xf7, 0xe7, 0x7f, 0x9d, 0x96, 0xdd, 0x6d, 0xb9, + 0xed, 0x48, 0x52, 0x16, 0x0a, 0x27, 0x16, 0xa2, 0xa7, 0x60, 0x0e, 0xc8, 0x39, 0x1e, 0x07, 0xd2, + 0x23, 0xe1, 0x20, 0x62, 0x34, 0x94, 0xd6, 0xb2, 0xaa, 0x5a, 0xd6, 0xf8, 0x91, 0x86, 0x37, 0xbe, + 0x2d, 0x03, 0xcc, 0xe5, 0xe8, 0x31, 0xac, 0x0e, 0xa5, 0x8c, 0x84, 0xc7, 0xc9, 0x80, 0x72, 0xe2, + 0x27, 0x2d, 0xe6, 0x9d, 0x92, 0x42, 0x1d, 0x0d, 0xa2, 0x26, 0x64, 0x46, 0x6c, 0x90, 0xcc, 0x68, + 0xb5, 0xf6, 0xf2, 0x21, 0x3b, 0x8c, 0xc3, 0x58, 0xeb, 0x28, 0x07, 0xf4, 0x02, 0x50, 0x72, 0xd4, + 0x9e, 0x4f, 0xb8, 0xa4, 0xe7, 0xd4, 0xc7, 0x92, 0xa8, 0xce, 0x0b, 0xce, 0x5a, 0xb2, 0xf2, 0x76, + 0xbe, 0x80, 0xb6, 0xa0, 0x18, 0x71, 0x3a, 0xc1, 0x92, 0x78, 0xf1, 0xb9, 0x25, 0xa3, 0x04, 0x0d, + 0xbd, 0x27, 0x53, 0xf4, 0x04, 0xca, 0x3e, 0x5e, 0xf4, 0x12, 0xba, 0xf3, 0x55, 0x1f, 0x2f, 0x18, + 0x09, 0x45, 0xe4, 0x64, 0x40, 0x42, 0x49, 0x71, 0xe0, 0x85, 0x78, 0x44, 0x2c, 0xd0, 0xc4, 0x3b, + 0xf8, 0x14, 0x8f, 0x08, 0x7a, 0x06, 0x6b, 0x62, 0xdc, 0xbf, 0x24, 0xbe, 0xf4, 0x70, 0x20, 0x15, + 0x53, 0x58, 0x59, 0x75, 0x5c, 0x65, 0xbd, 0xd0, 0x08, 0x64, 0x4c, 0x15, 0xe8, 0x12, 0xd6, 0x47, + 0x34, 0xf4, 0xd4, 0xf3, 0xf0, 0x59, 0xe0, 0xc5, 0x57, 0x98, 0xb2, 0xd0, 0xca, 0xa9, 0x39, 0x1d, + 0x3c, 0x74, 0x4e, 0x1d, 0xed, 0xe3, 0xa0, 0x11, 0x0d, 0x67, 0xc9, 0x59, 0xe2, 0xa9, 0x6a, 0xe1, + 0x9b, 0x5f, 0x6b, 0xe5, 0xff, 0xb9, 0x16, 0xbe, 0xf9, 0xb9, 0xd6, 0x23, 0x28, 0xf9, 0x34, 0x1a, + 0x12, 0xee, 0x89, 0x31, 0x8d, 0x67, 0x5a, 0x50, 0xfd, 0xaf, 0x24, 0xa0, 0xab, 0xb0, 0x4a, 0x13, + 0x72, 0xfa, 0x6c, 0x51, 0x19, 0x8a, 0x9d, 0x86, 0xeb, 0x76, 0x9b, 0x4e, 0xbb, 0x77, 0xdc, 0x34, + 0x97, 0x10, 0x40, 0xd6, 0x7d, 0x77, 0xd2, 0x69, 0x1d, 0x99, 0x46, 0x1c, 0x9f, 0xf4, 0xba, 0xbd, + 0x46, 0xcb, 0x4c, 0xa1, 0x75, 0x30, 0x1b, 0xbd, 0x6e, 0xdb, 0x5b, 0x64, 0xa7, 0x2b, 0x6d, 0x28, + 0x2e, 0xec, 0x08, 0xad, 0x40, 0xbe, 0xdb, 0x72, 0xbd, 0x98, 0x68, 0x2e, 0xa1, 0xa2, 0x2a, 0x73, + 0xb6, 0xef, 0xed, 0x99, 0xc6, 0x3c, 0xd9, 0x37, 0x53, 0xf3, 0xa4, 0x66, 0xa6, 0xe7, 0x49, 0xdd, + 0xcc, 0x54, 0x4e, 0x21, 0x13, 0x3f, 0x44, 0xf4, 0x1f, 0x64, 0xc3, 0xf1, 0xa8, 0x4f, 0xb8, 0xba, + 0xd6, 0x25, 0x47, 0x67, 0x68, 0x03, 0xf2, 0xb3, 0x39, 0xea, 0x77, 0x7f, 0x97, 0xc7, 0xcf, 0x56, + 0xdd, 0x8e, 0xe4, 0x4e, 0xaa, 0xf8, 0x8d, 0xfd, 0xe9, 0x76, 0xd3, 0xf8, 0x7c, 0xbb, 0x69, 0x7c, + 0xbd, 0xdd, 0x34, 0x3e, 0x6c, 0x27, 0xa3, 0xa6, 0xac, 0x8a, 0x23, 0x5a, 0xfd, 0xcd, 0xbf, 0xd9, + 0xcf, 0x2a, 0xb7, 0xfa, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x11, 0xfe, 0x50, 0x55, 0x05, + 0x00, 0x00, +} + func (m *Gateway) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -609,6 +795,9 @@ func (m *Gateway) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -674,6 +863,9 @@ func (m *Server) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.DefaultEndpoint))) i += copy(dAtA[i:], m.DefaultEndpoint) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -771,6 +963,9 @@ func (m *Server_TLSOptions) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.CredentialName))) i += copy(dAtA[i:], m.CredentialName) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -806,6 +1001,9 @@ func (m *Port) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGateway(dAtA, i, uint64(len(m.Name))) i += copy(dAtA[i:], m.Name) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -819,6 +1017,9 @@ func encodeVarintGateway(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Gateway) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Servers) > 0 { @@ -835,10 +1036,16 @@ func (m *Gateway) Size() (n int) { n += mapEntrySize + 1 + sovGateway(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Server) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -863,10 +1070,16 @@ func (m *Server) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Server_TLSOptions) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.HttpsRedirect { @@ -909,10 +1122,16 @@ func (m *Server_TLSOptions) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Port) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Number != 0 { @@ -926,6 +1145,9 @@ func (m *Port) Size() (n int) { if l > 0 { n += 1 + l + sovGateway(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -957,7 +1179,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -985,7 +1207,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -994,6 +1216,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1016,7 +1241,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1025,6 +1250,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1045,7 +1273,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1062,7 +1290,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1072,6 +1300,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthGateway + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1088,7 +1319,7 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1098,6 +1329,9 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthGateway + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1129,9 +1363,13 @@ func (m *Gateway) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1156,7 +1394,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1184,7 +1422,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1193,6 +1431,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1217,7 +1458,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1227,6 +1468,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1246,7 +1490,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1255,6 +1499,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1279,7 +1526,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1289,6 +1536,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1308,7 +1558,7 @@ func (m *Server) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1318,6 +1568,9 @@ func (m *Server) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1332,9 +1585,13 @@ func (m *Server) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1359,7 +1616,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1387,7 +1644,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1407,7 +1664,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (Server_TLSOptions_TLSmode(b) & 0x7F) << shift + m.Mode |= Server_TLSOptions_TLSmode(b&0x7F) << shift if b < 0x80 { break } @@ -1426,7 +1683,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1436,6 +1693,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1455,7 +1715,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1465,6 +1725,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1484,7 +1747,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1494,6 +1757,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1513,7 +1779,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1523,6 +1789,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1542,7 +1811,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinProtocolVersion |= (Server_TLSOptions_TLSProtocol(b) & 0x7F) << shift + m.MinProtocolVersion |= Server_TLSOptions_TLSProtocol(b&0x7F) << shift if b < 0x80 { break } @@ -1561,7 +1830,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxProtocolVersion |= (Server_TLSOptions_TLSProtocol(b) & 0x7F) << shift + m.MaxProtocolVersion |= Server_TLSOptions_TLSProtocol(b&0x7F) << shift if b < 0x80 { break } @@ -1580,7 +1849,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1590,6 +1859,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1609,7 +1881,7 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1619,6 +1891,9 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1633,9 +1908,13 @@ func (m *Server_TLSOptions) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1660,7 +1939,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1688,7 +1967,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Number |= (uint32(b) & 0x7F) << shift + m.Number |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -1707,7 +1986,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1717,6 +1996,9 @@ func (m *Port) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1736,7 +2018,7 @@ func (m *Port) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1746,6 +2028,9 @@ func (m *Port) Unmarshal(dAtA []byte) error { return ErrInvalidLengthGateway } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGateway + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1760,9 +2045,13 @@ func (m *Port) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthGateway } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGateway + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1826,10 +2115,13 @@ func skipGateway(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthGateway } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthGateway + } return iNdEx, nil case 3: for { @@ -1858,6 +2150,9 @@ func skipGateway(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthGateway + } } return iNdEx, nil case 4: @@ -1876,52 +2171,3 @@ var ( ErrInvalidLengthGateway = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGateway = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptorGateway) } - -var fileDescriptorGateway = []byte{ - // 674 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xdb, 0x4e, 0xdb, 0x4c, - 0x10, 0xc6, 0x49, 0xc8, 0x61, 0x42, 0x88, 0x59, 0xa1, 0x5f, 0xfe, 0xb9, 0xe0, 0x90, 0xaa, 0x2a, - 0xad, 0x5a, 0x07, 0x92, 0x5e, 0xa0, 0x22, 0x55, 0x4a, 0x2b, 0x44, 0xaa, 0x06, 0x12, 0xd9, 0x09, - 0x17, 0xbd, 0xb1, 0x36, 0xce, 0x42, 0x16, 0x1c, 0xaf, 0xb5, 0xbb, 0x09, 0xe4, 0xcd, 0xfa, 0x08, - 0xbd, 0x6c, 0xdf, 0xa0, 0xa2, 0x2f, 0x52, 0xed, 0xda, 0x21, 0xe9, 0x89, 0x0a, 0xf5, 0x6e, 0xe6, - 0x9b, 0x99, 0x6f, 0x66, 0xbe, 0x59, 0x1b, 0x76, 0x42, 0x22, 0xaf, 0x19, 0xbf, 0xa2, 0xe1, 0x45, - 0x75, 0xb2, 0x8f, 0x83, 0x68, 0x88, 0xeb, 0xd5, 0x0b, 0x2c, 0xc9, 0x35, 0x9e, 0xda, 0x11, 0x67, - 0x92, 0xa1, 0xff, 0xa9, 0x90, 0x94, 0xd9, 0xf3, 0x44, 0x7b, 0x96, 0x58, 0xf9, 0x62, 0x40, 0xee, - 0x38, 0x4e, 0x46, 0x87, 0x90, 0x13, 0x84, 0x4f, 0x08, 0x17, 0x96, 0xb1, 0x9d, 0xde, 0x2d, 0xd6, - 0x76, 0xec, 0x3f, 0x16, 0xda, 0xae, 0xce, 0x74, 0x66, 0x15, 0xa8, 0x05, 0x79, 0x41, 0x02, 0xe2, - 0x4b, 0xc6, 0xad, 0x94, 0xae, 0xde, 0xbb, 0xa7, 0x3a, 0x69, 0x69, 0xbb, 0x49, 0xc9, 0x51, 0x28, - 0xf9, 0xd4, 0xb9, 0x63, 0xd8, 0x38, 0x84, 0xd2, 0x0f, 0x21, 0x64, 0x42, 0xfa, 0x8a, 0x4c, 0x2d, - 0x63, 0xdb, 0xd8, 0x2d, 0x38, 0xca, 0x44, 0xeb, 0xb0, 0x3c, 0xc1, 0xc1, 0x98, 0x58, 0x29, 0x8d, - 0xc5, 0xce, 0xab, 0xd4, 0x81, 0x51, 0xf9, 0x98, 0x83, 0x6c, 0x3c, 0x1e, 0xaa, 0x43, 0x26, 0x62, - 0x5c, 0xea, 0xba, 0x62, 0x6d, 0xeb, 0x9e, 0x89, 0x3a, 0x8c, 0x4b, 0x47, 0x27, 0x2b, 0xe6, 0x21, - 0x13, 0x52, 0xe8, 0x3d, 0x0a, 0x4e, 0xec, 0xa0, 0xd7, 0x90, 0x96, 0x81, 0xb0, 0xd2, 0x9a, 0xe9, - 0xf9, 0x5f, 0x95, 0xb1, 0xbb, 0x2d, 0xb7, 0x1d, 0x49, 0xca, 0x42, 0xe1, 0xa8, 0x42, 0x84, 0x20, - 0xd3, 0xa7, 0xe1, 0xc0, 0xca, 0xe8, 0x71, 0xb5, 0x8d, 0x9e, 0x82, 0x39, 0x20, 0xe7, 0x78, 0x1c, - 0x48, 0x8f, 0x84, 0x83, 0x88, 0xd1, 0x50, 0x5a, 0xcb, 0x3a, 0x5e, 0x4e, 0xf0, 0xa3, 0x04, 0xde, - 0xf8, 0xb6, 0x0c, 0x30, 0xa7, 0x44, 0x8f, 0x61, 0x75, 0x28, 0x65, 0x24, 0x3c, 0x4e, 0x06, 0x94, - 0x13, 0x3f, 0x5e, 0x31, 0xef, 0x94, 0x34, 0xea, 0x24, 0x20, 0x6a, 0x42, 0x66, 0xc4, 0x06, 0xb1, - 0x46, 0xab, 0xb5, 0x97, 0x0f, 0x99, 0x5a, 0x99, 0xaa, 0xd6, 0xd1, 0x0c, 0xe8, 0x05, 0xa0, 0xf8, - 0xd4, 0x9e, 0x4f, 0xb8, 0xa4, 0xe7, 0xd4, 0xc7, 0x92, 0x68, 0x35, 0x0a, 0xce, 0x5a, 0x1c, 0x79, - 0x3b, 0x0f, 0xa0, 0x2d, 0x28, 0x46, 0x9c, 0x4e, 0xb0, 0x24, 0x9e, 0xba, 0x5b, 0xbc, 0x34, 0x24, - 0xd0, 0x7b, 0x32, 0x45, 0x4f, 0xa0, 0xec, 0xe3, 0x45, 0x2e, 0x91, 0x6c, 0xbe, 0xea, 0xe3, 0x05, - 0x22, 0x81, 0x9e, 0xc1, 0x9a, 0x18, 0xf7, 0x2f, 0x89, 0x2f, 0x3d, 0x1c, 0x48, 0x2f, 0xc4, 0x23, - 0x22, 0xac, 0xac, 0xbe, 0x4c, 0x39, 0x09, 0x34, 0x02, 0x79, 0xaa, 0x60, 0x74, 0x09, 0xeb, 0x23, - 0x1a, 0x7a, 0xfa, 0xd5, 0xfb, 0x2c, 0xf0, 0xd4, 0xcb, 0xa4, 0x2c, 0xb4, 0x72, 0x7a, 0xfd, 0x83, - 0x87, 0xae, 0xdf, 0x49, 0x78, 0x1c, 0x34, 0xa2, 0xe1, 0xcc, 0x39, 0x8b, 0x39, 0x75, 0x2f, 0x7c, - 0xf3, 0x6b, 0xaf, 0xfc, 0x3f, 0xf7, 0xc2, 0x37, 0x3f, 0xf7, 0x7a, 0x04, 0x25, 0x9f, 0x46, 0x43, - 0xc2, 0x3d, 0x31, 0xa6, 0x4a, 0xaa, 0x82, 0xde, 0x7f, 0x25, 0x06, 0x5d, 0x8d, 0x69, 0x45, 0x39, - 0x19, 0x90, 0x50, 0x52, 0x1c, 0x68, 0x9d, 0x2c, 0x48, 0x14, 0xbd, 0x83, 0x95, 0x4c, 0x95, 0x26, - 0xe4, 0x92, 0xdb, 0xa2, 0x32, 0x14, 0x3b, 0x0d, 0xd7, 0xed, 0x36, 0x9d, 0x76, 0xef, 0xb8, 0x69, - 0x2e, 0x21, 0x80, 0xac, 0xfb, 0xee, 0xa4, 0xd3, 0x3a, 0x32, 0x0d, 0x65, 0x9f, 0xf4, 0xba, 0xbd, - 0x46, 0xcb, 0x4c, 0xa1, 0x75, 0x30, 0x1b, 0xbd, 0x6e, 0xdb, 0x5b, 0xcc, 0x4e, 0x57, 0xda, 0x50, - 0x5c, 0x18, 0x1d, 0xad, 0x40, 0xbe, 0xdb, 0x72, 0x3d, 0x95, 0x68, 0x2e, 0xa1, 0xa2, 0x6e, 0x73, - 0xb6, 0xef, 0xed, 0x99, 0xc6, 0xdc, 0xd9, 0x37, 0x53, 0x73, 0xa7, 0x66, 0xa6, 0xe7, 0x4e, 0xdd, - 0xcc, 0x54, 0x4e, 0x21, 0xa3, 0x3e, 0x44, 0xf4, 0x1f, 0x64, 0xc3, 0xf1, 0xa8, 0x4f, 0xb8, 0x7e, - 0xd6, 0x25, 0x27, 0xf1, 0xd0, 0x06, 0xe4, 0x67, 0x82, 0x27, 0xdf, 0xfd, 0x9d, 0xaf, 0x3e, 0x30, - 0xbd, 0x74, 0xfc, 0x26, 0xb5, 0xfd, 0xc6, 0xfe, 0x74, 0xbb, 0x69, 0x7c, 0xbe, 0xdd, 0x34, 0xbe, - 0xde, 0x6e, 0x1a, 0x1f, 0xb6, 0xe3, 0x9b, 0x50, 0x56, 0xc5, 0x11, 0xad, 0xfe, 0xe6, 0xbf, 0xd9, - 0xcf, 0x6a, 0xb6, 0xfa, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaa, 0xbd, 0x84, 0xff, 0x55, 0x05, - 0x00, 0x00, -} diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 091d09a45a7..d34c55bc909 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -3,17 +3,24 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // Location specifies whether the service is part of Istio mesh or // outside the mesh. Location determines the behavior of several // features, such as service-to-service mTLS authentication, policy @@ -37,6 +44,7 @@ var ServiceEntry_Location_name = map[int32]string{ 0: "MESH_EXTERNAL", 1: "MESH_INTERNAL", } + var ServiceEntry_Location_value = map[string]int32{ "MESH_EXTERNAL": 0, "MESH_INTERNAL": 1, @@ -45,8 +53,9 @@ var ServiceEntry_Location_value = map[string]int32{ func (x ServiceEntry_Location) String() string { return proto.EnumName(ServiceEntry_Location_name, int32(x)) } + func (ServiceEntry_Location) EnumDescriptor() ([]byte, []int) { - return fileDescriptorServiceEntry, []int{0, 0} + return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} } // Resolution determines how the proxy will resolve the IP addresses of @@ -86,6 +95,7 @@ var ServiceEntry_Resolution_name = map[int32]string{ 1: "STATIC", 2: "DNS", } + var ServiceEntry_Resolution_value = map[string]int32{ "NONE": 0, "STATIC": 1, @@ -95,8 +105,9 @@ var ServiceEntry_Resolution_value = map[string]int32{ func (x ServiceEntry_Resolution) String() string { return proto.EnumName(ServiceEntry_Resolution_name, int32(x)) } + func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { - return fileDescriptorServiceEntry, []int{0, 1} + return fileDescriptor_9220e0fa673c4bf8, []int{0, 1} } // `ServiceEntry` enables adding additional entries into Istio's internal @@ -412,7 +423,7 @@ type ServiceEntry struct { // 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. - Hosts []string `protobuf:"bytes,1,rep,name=hosts" json:"hosts,omitempty"` + 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 // the destination will be identified based on the HTTP Host/Authority @@ -427,11 +438,11 @@ type ServiceEntry struct { // simple TCP proxy, forwarding incoming traffic on a specified port to // the specified destination endpoint IP/host. Unix domain socket // addresses are not supported in this field. - Addresses []string `protobuf:"bytes,2,rep,name=addresses" json:"addresses,omitempty"` + Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"` // REQUIRED. The ports associated with the external service. If the // Endpoints are unix domain socket addresses, there must be exactly one // port. - Ports []*Port `protobuf:"bytes,3,rep,name=ports" json:"ports,omitempty"` + Ports []*Port `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"` // Specify whether the service should be considered external to the mesh // or part of the mesh. Location ServiceEntry_Location `protobuf:"varint,4,opt,name=location,proto3,enum=istio.networking.v1alpha3.ServiceEntry_Location" json:"location,omitempty"` @@ -441,7 +452,7 @@ type ServiceEntry struct { // said port will be allowed (i.e. 0.0.0.0:). Resolution ServiceEntry_Resolution `protobuf:"varint,5,opt,name=resolution,proto3,enum=istio.networking.v1alpha3.ServiceEntry_Resolution" json:"resolution,omitempty"` // One or more endpoints associated with the service. - Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints" json:"endpoints,omitempty"` + Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // A list of namespaces to which this service is exported. Exporting a service // allows it to used by sidecars, gateways and virtual services defined in // other namespaces. This feature provides a mechanism for service owners @@ -458,19 +469,50 @@ type ServiceEntry struct { // For a Kubernetes Service the equivalent effect can be achieved by setting // the annotation "networking.istio.io/exportTo" to a comma-separated list // of namespace names. - ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` + ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce // secure-naming . // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. - SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames" json:"subject_alt_names,omitempty"` + SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ServiceEntry) Reset() { *m = ServiceEntry{} } -func (m *ServiceEntry) String() string { return proto.CompactTextString(m) } -func (*ServiceEntry) ProtoMessage() {} -func (*ServiceEntry) Descriptor() ([]byte, []int) { return fileDescriptorServiceEntry, []int{0} } +func (m *ServiceEntry) Reset() { *m = ServiceEntry{} } +func (m *ServiceEntry) String() string { return proto.CompactTextString(m) } +func (*ServiceEntry) ProtoMessage() {} +func (*ServiceEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_9220e0fa673c4bf8, []int{0} +} +func (m *ServiceEntry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ServiceEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ServiceEntry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ServiceEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceEntry.Merge(m, src) +} +func (m *ServiceEntry) XXX_Size() int { + return m.Size() +} +func (m *ServiceEntry) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_ServiceEntry proto.InternalMessageInfo func (m *ServiceEntry) GetHosts() []string { if m != nil { @@ -539,9 +581,9 @@ type ServiceEntry_Endpoint struct { // 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. - Ports map[string]uint32 `protobuf:"bytes,2,rep,name=ports" json:"ports,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + 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" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + 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"` // Network enables Istio to group endpoints resident in the same L3 // domain/network. All endpoints in the same network are assumed to be // directly reachable from one another. When endpoints in different @@ -571,15 +613,44 @@ type ServiceEntry_Endpoint struct { Locality string `protobuf:"bytes,5,opt,name=locality,proto3" json:"locality,omitempty"` // The load balancing weight associated with the endpoint. Endpoints // with higher weights will receive proportionally higher traffic. - Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` + Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ServiceEntry_Endpoint) Reset() { *m = ServiceEntry_Endpoint{} } func (m *ServiceEntry_Endpoint) String() string { return proto.CompactTextString(m) } func (*ServiceEntry_Endpoint) ProtoMessage() {} func (*ServiceEntry_Endpoint) Descriptor() ([]byte, []int) { - return fileDescriptorServiceEntry, []int{0, 0} + return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} +} +func (m *ServiceEntry_Endpoint) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ServiceEntry_Endpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ServiceEntry_Endpoint.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ServiceEntry_Endpoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceEntry_Endpoint.Merge(m, src) +} +func (m *ServiceEntry_Endpoint) XXX_Size() int { + return m.Size() } +func (m *ServiceEntry_Endpoint) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceEntry_Endpoint.DiscardUnknown(m) +} + +var xxx_messageInfo_ServiceEntry_Endpoint proto.InternalMessageInfo func (m *ServiceEntry_Endpoint) GetAddress() string { if m != nil { @@ -624,11 +695,55 @@ func (m *ServiceEntry_Endpoint) GetWeight() uint32 { } func init() { - proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1alpha3.ServiceEntry") - proto.RegisterType((*ServiceEntry_Endpoint)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint") proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Location", ServiceEntry_Location_name, ServiceEntry_Location_value) proto.RegisterEnum("istio.networking.v1alpha3.ServiceEntry_Resolution", ServiceEntry_Resolution_name, ServiceEntry_Resolution_value) + proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1alpha3.ServiceEntry") + proto.RegisterType((*ServiceEntry_Endpoint)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry") + proto.RegisterMapType((map[string]uint32)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry") } + +func init() { + proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptor_9220e0fa673c4bf8) +} + +var fileDescriptor_9220e0fa673c4bf8 = []byte{ + // 527 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x8e, 0xd2, 0x40, + 0x14, 0xc6, 0x77, 0xe8, 0x52, 0xda, 0xb3, 0xae, 0xb2, 0x13, 0x63, 0x46, 0x34, 0x58, 0xb9, 0x91, + 0x68, 0x52, 0x56, 0x36, 0x26, 0xeb, 0x9f, 0x1b, 0xd4, 0x26, 0x6e, 0x82, 0x55, 0x07, 0x2e, 0x8c, + 0x37, 0x64, 0x80, 0x09, 0xd4, 0xad, 0x1d, 0xd2, 0x19, 0x40, 0xde, 0xc2, 0xa7, 0xf0, 0x59, 0xbc, + 0xf4, 0x11, 0x0c, 0x4f, 0x62, 0x3a, 0x9d, 0x02, 0x17, 0xab, 0xbb, 0x7b, 0xd7, 0x73, 0xe6, 0x7c, + 0xbf, 0x7e, 0x73, 0xce, 0x19, 0x78, 0x94, 0x70, 0xb5, 0x14, 0xe9, 0x79, 0x94, 0x4c, 0x5a, 0x8b, + 0xa7, 0x2c, 0x9e, 0x4d, 0xd9, 0x49, 0x4b, 0xf2, 0x74, 0x11, 0x8d, 0xf8, 0x80, 0x27, 0x2a, 0x5d, + 0xf9, 0xb3, 0x54, 0x28, 0x81, 0xef, 0x46, 0x52, 0x45, 0xc2, 0xdf, 0x96, 0xfb, 0x45, 0x79, 0xed, + 0xe1, 0x45, 0x8c, 0x09, 0x53, 0x7c, 0xc9, 0x8c, 0xba, 0xf1, 0xb3, 0x02, 0x37, 0x7a, 0x39, 0x35, + 0xc8, 0xa0, 0xf8, 0x36, 0x94, 0xa7, 0x42, 0x2a, 0x49, 0x90, 0x67, 0x35, 0x5d, 0x9a, 0x07, 0xf8, + 0x3e, 0xb8, 0x6c, 0x3c, 0x4e, 0xb9, 0x94, 0x5c, 0x92, 0x92, 0x3e, 0xd9, 0x26, 0xf0, 0x33, 0x28, + 0xcf, 0x44, 0xaa, 0x24, 0xb1, 0x3c, 0xab, 0x79, 0xd0, 0x7e, 0xe0, 0xff, 0xd3, 0x92, 0xff, 0x51, + 0xa4, 0x8a, 0xe6, 0xd5, 0xb8, 0x0b, 0x4e, 0x2c, 0x46, 0x4c, 0x45, 0x22, 0x21, 0xfb, 0x1e, 0x6a, + 0xde, 0x6c, 0x1f, 0xff, 0x47, 0xb9, 0xeb, 0xd2, 0xef, 0x1a, 0x1d, 0xdd, 0x10, 0x30, 0x05, 0x48, + 0xb9, 0x14, 0xf1, 0x5c, 0xf3, 0xca, 0x9a, 0xd7, 0xbe, 0x2a, 0x8f, 0x6e, 0x94, 0x74, 0x87, 0x82, + 0x43, 0x70, 0x79, 0x32, 0x9e, 0x89, 0x28, 0x51, 0x92, 0xd8, 0xfa, 0x72, 0x57, 0xb6, 0x18, 0x18, + 0x21, 0xdd, 0x22, 0xf0, 0x3d, 0x70, 0xf9, 0xf7, 0xec, 0xf2, 0x03, 0x25, 0x48, 0x45, 0xb7, 0xd1, + 0xc9, 0x13, 0x7d, 0x81, 0x1f, 0xc3, 0x91, 0x9c, 0x0f, 0xbf, 0xf2, 0x91, 0x1a, 0xb0, 0x58, 0x0d, + 0x12, 0xf6, 0x8d, 0x4b, 0xe2, 0xe8, 0xa2, 0x5b, 0xe6, 0xa0, 0x13, 0xab, 0x30, 0x4b, 0xd7, 0x7e, + 0x58, 0xe0, 0x14, 0x3f, 0xc0, 0x04, 0x2a, 0x66, 0x16, 0x04, 0x79, 0xa8, 0xe9, 0xd2, 0x22, 0xc4, + 0x9f, 0x8a, 0xc1, 0x94, 0xb4, 0xf7, 0x97, 0xd7, 0xf5, 0xae, 0xc7, 0x25, 0x75, 0xae, 0x18, 0x5a, + 0x1f, 0xec, 0x98, 0x0d, 0x79, 0x5c, 0x0c, 0xfb, 0xd5, 0xb5, 0x99, 0x5d, 0x2d, 0xcf, 0xa1, 0x86, + 0x95, 0x5d, 0xc1, 0x00, 0xf4, 0x26, 0xb8, 0xb4, 0x08, 0x71, 0x2d, 0x5f, 0x92, 0x38, 0x52, 0x2b, + 0x3d, 0x54, 0x97, 0x6e, 0x62, 0x7c, 0x07, 0xec, 0x25, 0x8f, 0x26, 0x53, 0x45, 0x6c, 0x0f, 0x35, + 0x0f, 0xa9, 0x89, 0x6a, 0xa7, 0x00, 0x5b, 0xe3, 0xb8, 0x0a, 0xd6, 0x39, 0x5f, 0x99, 0xd6, 0x64, + 0x9f, 0xd9, 0x8e, 0x2f, 0x58, 0x3c, 0xe7, 0xa4, 0xa4, 0x65, 0x79, 0xf0, 0xa2, 0x74, 0x8a, 0x6a, + 0xcf, 0xe1, 0x60, 0xc7, 0xde, 0x65, 0x52, 0x77, 0x47, 0xda, 0x38, 0x06, 0xa7, 0xd8, 0x4a, 0x7c, + 0x04, 0x87, 0xef, 0x83, 0xde, 0xbb, 0x41, 0xf0, 0xb9, 0x1f, 0xd0, 0xb0, 0xd3, 0xad, 0xee, 0x6d, + 0x52, 0x67, 0xa1, 0x49, 0xa1, 0xc6, 0x13, 0x80, 0xed, 0xde, 0x61, 0x07, 0xf6, 0xc3, 0x0f, 0x61, + 0x50, 0xdd, 0xc3, 0x00, 0x76, 0xaf, 0xdf, 0xe9, 0x9f, 0xbd, 0xa9, 0x22, 0x5c, 0x01, 0xeb, 0x6d, + 0xd8, 0xab, 0x96, 0x5e, 0xfb, 0xbf, 0xd6, 0x75, 0xf4, 0x7b, 0x5d, 0x47, 0x7f, 0xd6, 0x75, 0xf4, + 0xc5, 0xcb, 0x9b, 0x1e, 0x89, 0x16, 0x9b, 0x45, 0xad, 0x0b, 0x9e, 0xf9, 0xd0, 0xd6, 0xef, 0xfb, + 0xe4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10, 0x53, 0xa9, 0xc0, 0x48, 0x04, 0x00, 0x00, +} + func (m *ServiceEntry) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -738,6 +853,9 @@ func (m *ServiceEntry) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -812,6 +930,9 @@ func (m *ServiceEntry_Endpoint) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintServiceEntry(dAtA, i, uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -825,6 +946,9 @@ func encodeVarintServiceEntry(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *ServiceEntry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Hosts) > 0 { @@ -869,10 +993,16 @@ func (m *ServiceEntry) Size() (n int) { n += 1 + l + sovServiceEntry(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ServiceEntry_Endpoint) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -906,6 +1036,9 @@ func (m *ServiceEntry_Endpoint) Size() (n int) { if m.Weight != 0 { n += 1 + sovServiceEntry(uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -937,7 +1070,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -965,7 +1098,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -975,6 +1108,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -994,7 +1130,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1004,6 +1140,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1023,7 +1162,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1032,6 +1171,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1054,7 +1196,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Location |= (ServiceEntry_Location(b) & 0x7F) << shift + m.Location |= ServiceEntry_Location(b&0x7F) << shift if b < 0x80 { break } @@ -1073,7 +1215,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Resolution |= (ServiceEntry_Resolution(b) & 0x7F) << shift + m.Resolution |= ServiceEntry_Resolution(b&0x7F) << shift if b < 0x80 { break } @@ -1092,7 +1234,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1101,6 +1243,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1123,7 +1268,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1133,6 +1278,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1152,7 +1300,7 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1162,6 +1310,9 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1176,9 +1327,13 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthServiceEntry } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthServiceEntry + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1203,7 +1358,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1231,7 +1386,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1241,6 +1396,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1260,7 +1418,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1269,6 +1427,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1289,7 +1450,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1306,7 +1467,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1316,6 +1477,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthServiceEntry + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1331,7 +1495,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapvalue |= (uint32(b) & 0x7F) << shift + mapvalue |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -1367,7 +1531,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1376,6 +1540,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1396,7 +1563,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1413,7 +1580,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1423,6 +1590,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthServiceEntry + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1439,7 +1609,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1449,6 +1619,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthServiceEntry + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1485,7 +1658,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1495,6 +1668,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1514,7 +1690,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1524,6 +1700,9 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthServiceEntry } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServiceEntry + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1543,7 +1722,7 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= (uint32(b) & 0x7F) << shift + m.Weight |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -1557,9 +1736,13 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthServiceEntry } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthServiceEntry + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1623,10 +1806,13 @@ func skipServiceEntry(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthServiceEntry } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthServiceEntry + } return iNdEx, nil case 3: for { @@ -1655,6 +1841,9 @@ func skipServiceEntry(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthServiceEntry + } } return iNdEx, nil case 4: @@ -1673,42 +1862,3 @@ var ( ErrInvalidLengthServiceEntry = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowServiceEntry = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptorServiceEntry) } - -var fileDescriptorServiceEntry = []byte{ - // 527 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x8e, 0xd2, 0x40, - 0x14, 0xc6, 0x77, 0xe8, 0x52, 0xda, 0xb3, 0xae, 0xb2, 0x13, 0x63, 0x46, 0x34, 0x58, 0xb9, 0x91, - 0x68, 0x52, 0x56, 0x36, 0x26, 0xeb, 0x9f, 0x1b, 0xd4, 0x26, 0x6e, 0x82, 0x55, 0x07, 0x2e, 0x8c, - 0x37, 0x64, 0x80, 0x09, 0xd4, 0xad, 0x1d, 0xd2, 0x19, 0x40, 0xde, 0xc2, 0xa7, 0xf0, 0x59, 0xbc, - 0xf4, 0x11, 0x0c, 0x4f, 0x62, 0x3a, 0x9d, 0x02, 0x17, 0xab, 0xbb, 0x7b, 0xd7, 0x73, 0xe6, 0x7c, - 0xbf, 0x7e, 0x73, 0xce, 0x19, 0x78, 0x94, 0x70, 0xb5, 0x14, 0xe9, 0x79, 0x94, 0x4c, 0x5a, 0x8b, - 0xa7, 0x2c, 0x9e, 0x4d, 0xd9, 0x49, 0x4b, 0xf2, 0x74, 0x11, 0x8d, 0xf8, 0x80, 0x27, 0x2a, 0x5d, - 0xf9, 0xb3, 0x54, 0x28, 0x81, 0xef, 0x46, 0x52, 0x45, 0xc2, 0xdf, 0x96, 0xfb, 0x45, 0x79, 0xed, - 0xe1, 0x45, 0x8c, 0x09, 0x53, 0x7c, 0xc9, 0x8c, 0xba, 0xf1, 0xb3, 0x02, 0x37, 0x7a, 0x39, 0x35, - 0xc8, 0xa0, 0xf8, 0x36, 0x94, 0xa7, 0x42, 0x2a, 0x49, 0x90, 0x67, 0x35, 0x5d, 0x9a, 0x07, 0xf8, - 0x3e, 0xb8, 0x6c, 0x3c, 0x4e, 0xb9, 0x94, 0x5c, 0x92, 0x92, 0x3e, 0xd9, 0x26, 0xf0, 0x33, 0x28, - 0xcf, 0x44, 0xaa, 0x24, 0xb1, 0x3c, 0xab, 0x79, 0xd0, 0x7e, 0xe0, 0xff, 0xd3, 0x92, 0xff, 0x51, - 0xa4, 0x8a, 0xe6, 0xd5, 0xb8, 0x0b, 0x4e, 0x2c, 0x46, 0x4c, 0x45, 0x22, 0x21, 0xfb, 0x1e, 0x6a, - 0xde, 0x6c, 0x1f, 0xff, 0x47, 0xb9, 0xeb, 0xd2, 0xef, 0x1a, 0x1d, 0xdd, 0x10, 0x30, 0x05, 0x48, - 0xb9, 0x14, 0xf1, 0x5c, 0xf3, 0xca, 0x9a, 0xd7, 0xbe, 0x2a, 0x8f, 0x6e, 0x94, 0x74, 0x87, 0x82, - 0x43, 0x70, 0x79, 0x32, 0x9e, 0x89, 0x28, 0x51, 0x92, 0xd8, 0xfa, 0x72, 0x57, 0xb6, 0x18, 0x18, - 0x21, 0xdd, 0x22, 0xf0, 0x3d, 0x70, 0xf9, 0xf7, 0xec, 0xf2, 0x03, 0x25, 0x48, 0x45, 0xb7, 0xd1, - 0xc9, 0x13, 0x7d, 0x81, 0x1f, 0xc3, 0x91, 0x9c, 0x0f, 0xbf, 0xf2, 0x91, 0x1a, 0xb0, 0x58, 0x0d, - 0x12, 0xf6, 0x8d, 0x4b, 0xe2, 0xe8, 0xa2, 0x5b, 0xe6, 0xa0, 0x13, 0xab, 0x30, 0x4b, 0xd7, 0x7e, - 0x58, 0xe0, 0x14, 0x3f, 0xc0, 0x04, 0x2a, 0x66, 0x16, 0x04, 0x79, 0xa8, 0xe9, 0xd2, 0x22, 0xc4, - 0x9f, 0x8a, 0xc1, 0x94, 0xb4, 0xf7, 0x97, 0xd7, 0xf5, 0xae, 0xc7, 0x25, 0x75, 0xae, 0x18, 0x5a, - 0x1f, 0xec, 0x98, 0x0d, 0x79, 0x5c, 0x0c, 0xfb, 0xd5, 0xb5, 0x99, 0x5d, 0x2d, 0xcf, 0xa1, 0x86, - 0x95, 0x5d, 0xc1, 0x00, 0xf4, 0x26, 0xb8, 0xb4, 0x08, 0x71, 0x2d, 0x5f, 0x92, 0x38, 0x52, 0x2b, - 0x3d, 0x54, 0x97, 0x6e, 0x62, 0x7c, 0x07, 0xec, 0x25, 0x8f, 0x26, 0x53, 0x45, 0x6c, 0x0f, 0x35, - 0x0f, 0xa9, 0x89, 0x6a, 0xa7, 0x00, 0x5b, 0xe3, 0xb8, 0x0a, 0xd6, 0x39, 0x5f, 0x99, 0xd6, 0x64, - 0x9f, 0xd9, 0x8e, 0x2f, 0x58, 0x3c, 0xe7, 0xa4, 0xa4, 0x65, 0x79, 0xf0, 0xa2, 0x74, 0x8a, 0x6a, - 0xcf, 0xe1, 0x60, 0xc7, 0xde, 0x65, 0x52, 0x77, 0x47, 0xda, 0x38, 0x06, 0xa7, 0xd8, 0x4a, 0x7c, - 0x04, 0x87, 0xef, 0x83, 0xde, 0xbb, 0x41, 0xf0, 0xb9, 0x1f, 0xd0, 0xb0, 0xd3, 0xad, 0xee, 0x6d, - 0x52, 0x67, 0xa1, 0x49, 0xa1, 0xc6, 0x13, 0x80, 0xed, 0xde, 0x61, 0x07, 0xf6, 0xc3, 0x0f, 0x61, - 0x50, 0xdd, 0xc3, 0x00, 0x76, 0xaf, 0xdf, 0xe9, 0x9f, 0xbd, 0xa9, 0x22, 0x5c, 0x01, 0xeb, 0x6d, - 0xd8, 0xab, 0x96, 0x5e, 0xfb, 0xbf, 0xd6, 0x75, 0xf4, 0x7b, 0x5d, 0x47, 0x7f, 0xd6, 0x75, 0xf4, - 0xc5, 0xcb, 0x9b, 0x1e, 0x89, 0x16, 0x9b, 0x45, 0xad, 0x0b, 0x9e, 0xf9, 0xd0, 0xd6, 0xef, 0xfb, - 0xe4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10, 0x53, 0xa9, 0xc0, 0x48, 0x04, 0x00, 0x00, -} diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index 81feff98ba7..70b52cdf959 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -3,17 +3,24 @@ package v1alpha3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // CaptureMode describes how traffic to a listener is expected to be // captured. Applicable only when the listener is bound to an IP. type CaptureMode int32 @@ -36,6 +43,7 @@ var CaptureMode_name = map[int32]string{ 1: "IPTABLES", 2: "NONE", } + var CaptureMode_value = map[string]int32{ "DEFAULT": 0, "IPTABLES": 1, @@ -45,7 +53,10 @@ var CaptureMode_value = map[string]int32{ func (x CaptureMode) String() string { return proto.EnumName(CaptureMode_name, int32(x)) } -func (CaptureMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } + +func (CaptureMode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{0} +} // `Sidecar` describes the configuration of the sidecar proxy that mediates // inbound and outbound communication to the workload it is attached to. By @@ -129,24 +140,55 @@ type Sidecar struct { // sidecar configuration should be applied. If omitted, the sidecar // configuration will be applied to all workloads in the same config // namespace. - WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector" json:"workload_selector,omitempty"` + 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 // autoconfigure the sidecar based on the information about the workload // obtained from the orchestration platform (e.g., exposed ports, services, // etc.). - Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress" json:"ingress,omitempty"` + Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress,proto3" json:"ingress,omitempty"` // Egress specifies the configuration of the sidecar for processing // outbound traffic from the attached workload to other services in the // mesh. If omitted, Istio will autoconfigure the sidecar to be able to // reach every service in the mesh that is visible to this namespace. - Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress" json:"egress,omitempty"` + Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress,proto3" json:"egress,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Sidecar) Reset() { *m = Sidecar{} } +func (m *Sidecar) String() string { return proto.CompactTextString(m) } +func (*Sidecar) ProtoMessage() {} +func (*Sidecar) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{0} +} +func (m *Sidecar) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Sidecar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Sidecar.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Sidecar) XXX_Merge(src proto.Message) { + xxx_messageInfo_Sidecar.Merge(m, src) +} +func (m *Sidecar) XXX_Size() int { + return m.Size() +} +func (m *Sidecar) XXX_DiscardUnknown() { + xxx_messageInfo_Sidecar.DiscardUnknown(m) } -func (m *Sidecar) Reset() { *m = Sidecar{} } -func (m *Sidecar) String() string { return proto.CompactTextString(m) } -func (*Sidecar) ProtoMessage() {} -func (*Sidecar) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } +var xxx_messageInfo_Sidecar proto.InternalMessageInfo func (m *Sidecar) GetWorkloadSelector() *WorkloadSelector { if m != nil { @@ -175,7 +217,7 @@ type IstioIngressListener struct { // REQUIRED. The port associated with the listener. If using // unix domain socket, use 0 as the port number, with a valid // protocol. - Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // 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). If omitted, Istio will autoconfigure the defaults @@ -191,13 +233,44 @@ type IstioIngressListener struct { // 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 - DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} } -func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) } -func (*IstioIngressListener) ProtoMessage() {} -func (*IstioIngressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{1} } +func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} } +func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) } +func (*IstioIngressListener) ProtoMessage() {} +func (*IstioIngressListener) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{1} +} +func (m *IstioIngressListener) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IstioIngressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IstioIngressListener.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IstioIngressListener) XXX_Merge(src proto.Message) { + xxx_messageInfo_IstioIngressListener.Merge(m, src) +} +func (m *IstioIngressListener) XXX_Size() int { + return m.Size() +} +func (m *IstioIngressListener) XXX_DiscardUnknown() { + xxx_messageInfo_IstioIngressListener.DiscardUnknown(m) +} + +var xxx_messageInfo_IstioIngressListener proto.InternalMessageInfo func (m *IstioIngressListener) GetPort() *Port { if m != nil { @@ -239,7 +312,7 @@ type IstioEgressListener struct { // specific ports while others have no port, the hosts exposed on a // listener port will be based on the listener with the most specific // port. - Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // The ip or the unix domain socket to which the listener should be bound // to. Port MUST be specified if bind is not empty. Format: x.x.x.x or // unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If @@ -270,13 +343,44 @@ type IstioEgressListener struct { // namespace can be imported. Private services/configuration will not be // imported. Refer to the scope setting associated with VirtualService, // DestinationRule, ServiceEntry, etc. for details. - Hosts []string `protobuf:"bytes,4,rep,name=hosts" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} } -func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) } -func (*IstioEgressListener) ProtoMessage() {} -func (*IstioEgressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{2} } +func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} } +func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) } +func (*IstioEgressListener) ProtoMessage() {} +func (*IstioEgressListener) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{2} +} +func (m *IstioEgressListener) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IstioEgressListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IstioEgressListener.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IstioEgressListener) XXX_Merge(src proto.Message) { + xxx_messageInfo_IstioEgressListener.Merge(m, src) +} +func (m *IstioEgressListener) XXX_Size() int { + return m.Size() +} +func (m *IstioEgressListener) XXX_DiscardUnknown() { + xxx_messageInfo_IstioEgressListener.DiscardUnknown(m) +} + +var xxx_messageInfo_IstioEgressListener proto.InternalMessageInfo func (m *IstioEgressListener) GetPort() *Port { if m != nil { @@ -318,13 +422,44 @@ type WorkloadSelector struct { // on which this sidecar configuration should be applied. The scope of // label search is restricted to the configuration namespace in which the // the resource is present. - Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } -func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } -func (*WorkloadSelector) ProtoMessage() {} -func (*WorkloadSelector) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{3} } +func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } +func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } +func (*WorkloadSelector) ProtoMessage() {} +func (*WorkloadSelector) Descriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{3} +} +func (m *WorkloadSelector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *WorkloadSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_WorkloadSelector.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *WorkloadSelector) XXX_Merge(src proto.Message) { + xxx_messageInfo_WorkloadSelector.Merge(m, src) +} +func (m *WorkloadSelector) XXX_Size() int { + return m.Size() +} +func (m *WorkloadSelector) XXX_DiscardUnknown() { + xxx_messageInfo_WorkloadSelector.DiscardUnknown(m) +} + +var xxx_messageInfo_WorkloadSelector proto.InternalMessageInfo func (m *WorkloadSelector) GetLabels() map[string]string { if m != nil { @@ -334,12 +469,50 @@ func (m *WorkloadSelector) GetLabels() map[string]string { } func init() { + proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value) proto.RegisterType((*Sidecar)(nil), "istio.networking.v1alpha3.Sidecar") proto.RegisterType((*IstioIngressListener)(nil), "istio.networking.v1alpha3.IstioIngressListener") proto.RegisterType((*IstioEgressListener)(nil), "istio.networking.v1alpha3.IstioEgressListener") proto.RegisterType((*WorkloadSelector)(nil), "istio.networking.v1alpha3.WorkloadSelector") - proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value) + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.WorkloadSelector.LabelsEntry") +} + +func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptor_b5c11342f04ad3d1) } + +var fileDescriptor_b5c11342f04ad3d1 = []byte{ + // 465 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x6f, 0xd3, 0x30, + 0x18, 0xc6, 0x71, 0x13, 0xda, 0xf5, 0xcd, 0x04, 0xc1, 0xec, 0x10, 0x76, 0x28, 0xa1, 0x07, 0x14, + 0x40, 0x4a, 0x44, 0x7b, 0xe0, 0xcf, 0x6d, 0x83, 0x4c, 0x8a, 0x54, 0xb6, 0x29, 0x1d, 0x02, 0x71, + 0xa9, 0xdc, 0xe6, 0xa5, 0xb3, 0x16, 0xe2, 0xc8, 0x76, 0x57, 0xf5, 0xcb, 0xf0, 0x55, 0xb8, 0x72, + 0xe4, 0xc2, 0x1d, 0xf5, 0x43, 0x70, 0x46, 0x4d, 0x3c, 0x6d, 0x4c, 0xa5, 0x88, 0x1b, 0x37, 0xbf, + 0x6f, 0x9e, 0xe7, 0xf7, 0xfa, 0x89, 0x6d, 0x78, 0x50, 0xa0, 0x9e, 0x0b, 0x79, 0xc6, 0x8b, 0x69, + 0x74, 0xfe, 0x94, 0xe5, 0xe5, 0x29, 0xeb, 0x47, 0x8a, 0x67, 0x38, 0x61, 0x32, 0x2c, 0xa5, 0xd0, + 0x82, 0xde, 0xe3, 0x4a, 0x73, 0x11, 0x5e, 0x0a, 0xc3, 0x0b, 0xe1, 0xee, 0x5a, 0xf7, 0x94, 0x69, + 0x9c, 0xb3, 0x45, 0xed, 0xee, 0xfe, 0x24, 0xd0, 0x1a, 0xd6, 0x3c, 0xfa, 0x1e, 0xee, 0xac, 0xd4, + 0xb9, 0x60, 0xd9, 0x48, 0x61, 0x8e, 0x13, 0x2d, 0xa4, 0x47, 0x7c, 0x12, 0x38, 0xbd, 0x27, 0xe1, + 0x1f, 0xa7, 0x84, 0xef, 0x8c, 0x67, 0x68, 0x2c, 0xa9, 0x3b, 0xbf, 0xd6, 0xa1, 0x09, 0xb4, 0x78, + 0x31, 0x95, 0xa8, 0x94, 0xd7, 0xf0, 0xad, 0xc0, 0xe9, 0x45, 0x1b, 0x78, 0xc9, 0xea, 0x4b, 0x52, + 0xcb, 0x07, 0x5c, 0x69, 0x2c, 0x50, 0xa6, 0x17, 0x7e, 0x7a, 0x00, 0x4d, 0xac, 0x49, 0x56, 0x45, + 0x0a, 0xff, 0x46, 0x8a, 0x7f, 0x07, 0x19, 0x77, 0xf7, 0x3b, 0x81, 0x9d, 0x75, 0x93, 0x68, 0x1f, + 0xec, 0x52, 0x48, 0x6d, 0x82, 0xdf, 0xdf, 0x80, 0x3f, 0x16, 0x52, 0xa7, 0x95, 0x98, 0x52, 0xb0, + 0xc7, 0xbc, 0xc8, 0xbc, 0x86, 0x4f, 0x82, 0x76, 0x5a, 0xad, 0x69, 0x02, 0xdb, 0x13, 0x56, 0xea, + 0x99, 0xc4, 0xd1, 0x27, 0x91, 0xa1, 0x67, 0xf9, 0x24, 0xb8, 0xd5, 0x7b, 0xb8, 0x01, 0xf8, 0xaa, + 0x96, 0xbf, 0x11, 0x19, 0xa6, 0xce, 0xe4, 0xb2, 0xa0, 0x8f, 0xc0, 0xcd, 0xf0, 0x23, 0x9b, 0xe5, + 0x7a, 0x84, 0x45, 0x56, 0x0a, 0x5e, 0x68, 0xcf, 0xae, 0x46, 0xdd, 0x36, 0xfd, 0xd8, 0xb4, 0xbb, + 0x5f, 0x08, 0xdc, 0x5d, 0x93, 0xfb, 0xbf, 0x8c, 0xb5, 0x03, 0x37, 0x4f, 0x85, 0xd2, 0xca, 0xb3, + 0x7d, 0x2b, 0x68, 0xa7, 0x75, 0xd1, 0xfd, 0x4c, 0xc0, 0xbd, 0x7e, 0xa7, 0xe8, 0x11, 0x34, 0x73, + 0x36, 0xc6, 0x5c, 0x79, 0xa4, 0x3a, 0xf6, 0x67, 0xff, 0x70, 0x21, 0xc3, 0x41, 0xe5, 0x8c, 0x0b, + 0x2d, 0x17, 0xa9, 0xc1, 0xec, 0xbe, 0x00, 0xe7, 0x4a, 0x9b, 0xba, 0x60, 0x9d, 0xe1, 0xa2, 0xfa, + 0x3b, 0xed, 0x74, 0xb5, 0x5c, 0x6d, 0xee, 0x9c, 0xe5, 0x33, 0x34, 0xe1, 0xeb, 0xe2, 0x65, 0xe3, + 0x39, 0x79, 0xdc, 0x03, 0xe7, 0x4a, 0x24, 0xea, 0x40, 0xeb, 0x75, 0x7c, 0xb0, 0xf7, 0x76, 0x70, + 0xe2, 0xde, 0xa0, 0xdb, 0xb0, 0x95, 0x1c, 0x9f, 0xec, 0xed, 0x0f, 0xe2, 0xa1, 0x4b, 0xe8, 0x16, + 0xd8, 0x87, 0x47, 0x87, 0xb1, 0xdb, 0xd8, 0x0f, 0xbf, 0x2e, 0x3b, 0xe4, 0xdb, 0xb2, 0x43, 0x7e, + 0x2c, 0x3b, 0xe4, 0x83, 0x5f, 0x6f, 0x9e, 0x8b, 0x88, 0x95, 0x3c, 0x5a, 0xf3, 0x4a, 0xc7, 0xcd, + 0xea, 0x79, 0xf6, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x32, 0x9f, 0xa8, 0x1c, 0x01, 0x04, 0x00, + 0x00, } + func (m *Sidecar) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -389,6 +562,9 @@ func (m *Sidecar) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -434,6 +610,9 @@ func (m *IstioIngressListener) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintSidecar(dAtA, i, uint64(len(m.DefaultEndpoint))) i += copy(dAtA[i:], m.DefaultEndpoint) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -488,6 +667,9 @@ func (m *IstioEgressListener) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -523,6 +705,9 @@ func (m *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -536,6 +721,9 @@ func encodeVarintSidecar(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Sidecar) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.WorkloadSelector != nil { @@ -554,10 +742,16 @@ func (m *Sidecar) Size() (n int) { n += 1 + l + sovSidecar(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *IstioIngressListener) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -575,10 +769,16 @@ func (m *IstioIngressListener) Size() (n int) { if l > 0 { n += 1 + l + sovSidecar(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *IstioEgressListener) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { @@ -598,10 +798,16 @@ func (m *IstioEgressListener) Size() (n int) { n += 1 + l + sovSidecar(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *WorkloadSelector) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Labels) > 0 { @@ -612,6 +818,9 @@ func (m *WorkloadSelector) Size() (n int) { n += mapEntrySize + 1 + sovSidecar(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -643,7 +852,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -671,7 +880,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -680,6 +889,9 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -704,7 +916,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -713,6 +925,9 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -735,7 +950,7 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -744,6 +959,9 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -761,9 +979,13 @@ func (m *Sidecar) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -788,7 +1010,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -816,7 +1038,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -825,6 +1047,9 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -849,7 +1074,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -859,6 +1084,9 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -878,7 +1106,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift + m.CaptureMode |= CaptureMode(b&0x7F) << shift if b < 0x80 { break } @@ -897,7 +1125,7 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -907,6 +1135,9 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -921,9 +1152,13 @@ func (m *IstioIngressListener) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -948,7 +1183,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -976,7 +1211,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -985,6 +1220,9 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1009,7 +1247,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1019,6 +1257,9 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1038,7 +1279,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift + m.CaptureMode |= CaptureMode(b&0x7F) << shift if b < 0x80 { break } @@ -1057,7 +1298,7 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1067,6 +1308,9 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1081,9 +1325,13 @@ func (m *IstioEgressListener) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1108,7 +1356,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1136,7 +1384,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1145,6 +1393,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSidecar + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1165,7 +1416,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1182,7 +1433,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1192,6 +1443,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthSidecar + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1208,7 +1462,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1218,6 +1472,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSidecar } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthSidecar + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1249,9 +1506,13 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSidecar } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSidecar + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1315,10 +1576,13 @@ func skipSidecar(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthSidecar } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthSidecar + } return iNdEx, nil case 3: for { @@ -1347,6 +1611,9 @@ func skipSidecar(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthSidecar + } } return iNdEx, nil case 4: @@ -1365,39 +1632,3 @@ var ( ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSidecar = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptorSidecar) } - -var fileDescriptorSidecar = []byte{ - // 465 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x6f, 0xd3, 0x30, - 0x18, 0xc6, 0x71, 0x13, 0xda, 0xf5, 0xcd, 0x04, 0xc1, 0xec, 0x10, 0x76, 0x28, 0xa1, 0x07, 0x14, - 0x40, 0x4a, 0x44, 0x7b, 0xe0, 0xcf, 0x6d, 0x83, 0x4c, 0x8a, 0x54, 0xb6, 0x29, 0x1d, 0x02, 0x71, - 0xa9, 0xdc, 0xe6, 0xa5, 0xb3, 0x16, 0xe2, 0xc8, 0x76, 0x57, 0xf5, 0xcb, 0xf0, 0x55, 0xb8, 0x72, - 0xe4, 0xc2, 0x1d, 0xf5, 0x43, 0x70, 0x46, 0x4d, 0x3c, 0x6d, 0x4c, 0xa5, 0x88, 0x1b, 0x37, 0xbf, - 0x6f, 0x9e, 0xe7, 0xf7, 0xfa, 0x89, 0x6d, 0x78, 0x50, 0xa0, 0x9e, 0x0b, 0x79, 0xc6, 0x8b, 0x69, - 0x74, 0xfe, 0x94, 0xe5, 0xe5, 0x29, 0xeb, 0x47, 0x8a, 0x67, 0x38, 0x61, 0x32, 0x2c, 0xa5, 0xd0, - 0x82, 0xde, 0xe3, 0x4a, 0x73, 0x11, 0x5e, 0x0a, 0xc3, 0x0b, 0xe1, 0xee, 0x5a, 0xf7, 0x94, 0x69, - 0x9c, 0xb3, 0x45, 0xed, 0xee, 0xfe, 0x24, 0xd0, 0x1a, 0xd6, 0x3c, 0xfa, 0x1e, 0xee, 0xac, 0xd4, - 0xb9, 0x60, 0xd9, 0x48, 0x61, 0x8e, 0x13, 0x2d, 0xa4, 0x47, 0x7c, 0x12, 0x38, 0xbd, 0x27, 0xe1, - 0x1f, 0xa7, 0x84, 0xef, 0x8c, 0x67, 0x68, 0x2c, 0xa9, 0x3b, 0xbf, 0xd6, 0xa1, 0x09, 0xb4, 0x78, - 0x31, 0x95, 0xa8, 0x94, 0xd7, 0xf0, 0xad, 0xc0, 0xe9, 0x45, 0x1b, 0x78, 0xc9, 0xea, 0x4b, 0x52, - 0xcb, 0x07, 0x5c, 0x69, 0x2c, 0x50, 0xa6, 0x17, 0x7e, 0x7a, 0x00, 0x4d, 0xac, 0x49, 0x56, 0x45, - 0x0a, 0xff, 0x46, 0x8a, 0x7f, 0x07, 0x19, 0x77, 0xf7, 0x3b, 0x81, 0x9d, 0x75, 0x93, 0x68, 0x1f, - 0xec, 0x52, 0x48, 0x6d, 0x82, 0xdf, 0xdf, 0x80, 0x3f, 0x16, 0x52, 0xa7, 0x95, 0x98, 0x52, 0xb0, - 0xc7, 0xbc, 0xc8, 0xbc, 0x86, 0x4f, 0x82, 0x76, 0x5a, 0xad, 0x69, 0x02, 0xdb, 0x13, 0x56, 0xea, - 0x99, 0xc4, 0xd1, 0x27, 0x91, 0xa1, 0x67, 0xf9, 0x24, 0xb8, 0xd5, 0x7b, 0xb8, 0x01, 0xf8, 0xaa, - 0x96, 0xbf, 0x11, 0x19, 0xa6, 0xce, 0xe4, 0xb2, 0xa0, 0x8f, 0xc0, 0xcd, 0xf0, 0x23, 0x9b, 0xe5, - 0x7a, 0x84, 0x45, 0x56, 0x0a, 0x5e, 0x68, 0xcf, 0xae, 0x46, 0xdd, 0x36, 0xfd, 0xd8, 0xb4, 0xbb, - 0x5f, 0x08, 0xdc, 0x5d, 0x93, 0xfb, 0xbf, 0x8c, 0xb5, 0x03, 0x37, 0x4f, 0x85, 0xd2, 0xca, 0xb3, - 0x7d, 0x2b, 0x68, 0xa7, 0x75, 0xd1, 0xfd, 0x4c, 0xc0, 0xbd, 0x7e, 0xa7, 0xe8, 0x11, 0x34, 0x73, - 0x36, 0xc6, 0x5c, 0x79, 0xa4, 0x3a, 0xf6, 0x67, 0xff, 0x70, 0x21, 0xc3, 0x41, 0xe5, 0x8c, 0x0b, - 0x2d, 0x17, 0xa9, 0xc1, 0xec, 0xbe, 0x00, 0xe7, 0x4a, 0x9b, 0xba, 0x60, 0x9d, 0xe1, 0xa2, 0xfa, - 0x3b, 0xed, 0x74, 0xb5, 0x5c, 0x6d, 0xee, 0x9c, 0xe5, 0x33, 0x34, 0xe1, 0xeb, 0xe2, 0x65, 0xe3, - 0x39, 0x79, 0xdc, 0x03, 0xe7, 0x4a, 0x24, 0xea, 0x40, 0xeb, 0x75, 0x7c, 0xb0, 0xf7, 0x76, 0x70, - 0xe2, 0xde, 0xa0, 0xdb, 0xb0, 0x95, 0x1c, 0x9f, 0xec, 0xed, 0x0f, 0xe2, 0xa1, 0x4b, 0xe8, 0x16, - 0xd8, 0x87, 0x47, 0x87, 0xb1, 0xdb, 0xd8, 0x0f, 0xbf, 0x2e, 0x3b, 0xe4, 0xdb, 0xb2, 0x43, 0x7e, - 0x2c, 0x3b, 0xe4, 0x83, 0x5f, 0x6f, 0x9e, 0x8b, 0x88, 0x95, 0x3c, 0x5a, 0xf3, 0x4a, 0xc7, 0xcd, - 0xea, 0x79, 0xf6, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x32, 0x9f, 0xa8, 0x1c, 0x01, 0x04, 0x00, - 0x00, -} diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 433763766f7..7ccda22babb 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -1,23 +1,57 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/virtual_service.proto -package v1alpha3 - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import google_protobuf1 "github.com/gogo/protobuf/types" +// Configuration affecting traffic routing. Here are a few terms useful to define +// in the context of traffic routing. +// +// `Service` a unit of application behavior bound to a unique name in a +// service registry. Services consist of multiple network *endpoints* +// implemented by workload instances running on pods, containers, VMs etc. +// +// `Service versions (a.k.a. subsets)` - In a continuous deployment +// scenario, for a given service, there can be distinct subsets of +// instances running different variants of the application binary. These +// variants are not necessarily different API versions. They could be +// iterative changes to the same service, deployed in different +// environments (prod, staging, dev, etc.). Common scenarios where this +// occurs include A/B testing, canary rollouts, etc. The choice of a +// particular version can be decided based on various criterion (headers, +// url, etc.) and/or by weights assigned to each version. Each service has +// a default version consisting of all its instances. +// +// `Source` - A downstream client calling a service. +// +// `Host` - The address used by a client when attempting to connect to a +// service. +// +// `Access model` - Applications address only the destination service +// (Host) without knowledge of individual service versions (subsets). The +// actual choice of the version is determined by the proxy/sidecar, enabling the +// application code to decouple itself from the evolution of dependent +// services. -import binary "encoding/binary" +package v1alpha3 -import io "io" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // A `VirtualService` defines a set of traffic routing rules to apply when a host is // addressed. Each routing rule defines matching criteria for traffic of a specific // protocol. If the traffic is matched, then it is sent to a named destination service @@ -102,7 +136,7 @@ type VirtualService struct { // the mesh, i.e., those found in the service registry, must always be // referred to using their alphanumeric names. IP addresses are allowed // only for services defined via the Gateway. - Hosts []string `protobuf:"bytes,1,rep,name=hosts" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` // The names of gateways and sidecars that should apply these routes. A // single VirtualService is used for sidecars inside the mesh as well as // for one or more gateways. The selection condition imposed by this @@ -113,13 +147,13 @@ type VirtualService struct { // sidecars in the mesh. If a list of gateway names is provided, the // rules will apply only to the gateways. To apply the rules to both // gateways and sidecars, specify `mesh` as one of the gateway names. - Gateways []string `protobuf:"bytes,2,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,2,rep,name=gateways,proto3" json:"gateways,omitempty"` // An ordered list of route rules for HTTP traffic. HTTP routes will be // applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway // ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service // entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching // an incoming request is used. - Http []*HTTPRoute `protobuf:"bytes,3,rep,name=http" json:"http,omitempty"` + Http []*HTTPRoute `protobuf:"bytes,3,rep,name=http,proto3" json:"http,omitempty"` // An ordered list of route rule for non-terminated TLS & HTTPS // traffic. Routing is typically performed using the SNI value presented // by the ClientHello message. TLS routes will be applied to platform @@ -129,11 +163,11 @@ type VirtualService struct { // incoming request is used. NOTE: Traffic 'https-*' or 'tls-*' ports // without associated virtual service will be treated as opaque TCP // traffic. - Tls []*TLSRoute `protobuf:"bytes,5,rep,name=tls" json:"tls,omitempty"` + Tls []*TLSRoute `protobuf:"bytes,5,rep,name=tls,proto3" json:"tls,omitempty"` // An ordered list of route rules for opaque TCP traffic. TCP routes will // be applied to any port that is not a HTTP or TLS port. The first rule // matching an incoming request is used. - Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp" json:"tcp,omitempty"` + Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp,proto3" json:"tcp,omitempty"` // A list of namespaces to which this virtual service is exported. Exporting a // virtual service allows it to used by sidecars and gateways defined in // other namespaces. This feature provides a mechanism for service owners @@ -146,13 +180,44 @@ type VirtualService struct { // The value "." is reserved and defines an export to the same namespace that // the virtual service is declared in, similarly the value "*" is reserved and // defines an export to all namespaces. - ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo" json:"export_to,omitempty"` + ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *VirtualService) Reset() { *m = VirtualService{} } +func (m *VirtualService) String() string { return proto.CompactTextString(m) } +func (*VirtualService) ProtoMessage() {} +func (*VirtualService) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{0} +} +func (m *VirtualService) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VirtualService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VirtualService.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *VirtualService) XXX_Merge(src proto.Message) { + xxx_messageInfo_VirtualService.Merge(m, src) +} +func (m *VirtualService) XXX_Size() int { + return m.Size() +} +func (m *VirtualService) XXX_DiscardUnknown() { + xxx_messageInfo_VirtualService.DiscardUnknown(m) } -func (m *VirtualService) Reset() { *m = VirtualService{} } -func (m *VirtualService) String() string { return proto.CompactTextString(m) } -func (*VirtualService) ProtoMessage() {} -func (*VirtualService) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{0} } +var xxx_messageInfo_VirtualService proto.InternalMessageInfo func (m *VirtualService) GetHosts() []string { if m != nil { @@ -346,13 +411,44 @@ type Destination struct { // Specifies the port on the host that is being addressed. If a service // exposes only a single port it is not required to explicitly select the // port. - Port *PortSelector `protobuf:"bytes,3,opt,name=port" json:"port,omitempty"` + Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Destination) Reset() { *m = Destination{} } +func (m *Destination) String() string { return proto.CompactTextString(m) } +func (*Destination) ProtoMessage() {} +func (*Destination) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{1} +} +func (m *Destination) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Destination.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Destination) XXX_Merge(src proto.Message) { + xxx_messageInfo_Destination.Merge(m, src) +} +func (m *Destination) XXX_Size() int { + return m.Size() +} +func (m *Destination) XXX_DiscardUnknown() { + xxx_messageInfo_Destination.DiscardUnknown(m) } -func (m *Destination) Reset() { *m = Destination{} } -func (m *Destination) String() string { return proto.CompactTextString(m) } -func (*Destination) ProtoMessage() {} -func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{1} } +var xxx_messageInfo_Destination proto.InternalMessageInfo func (m *Destination) GetHost() string { if m != nil { @@ -382,65 +478,96 @@ type HTTPRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*HTTPMatchRequest `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` + Match []*HTTPMatchRequest `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` // A http rule can either redirect or forward (default) traffic. The // forwarding target can be one of several versions of a service (see // glossary in beginning of document). Weights associated with the // service version determine the proportion of traffic it receives. - Route []*HTTPRouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` + Route []*HTTPRouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` // A http rule can either redirect or forward (default) traffic. If // traffic passthrough option is specified in the rule, // route/redirect will be ignored. The redirect primitive can be used to // send a HTTP 301 redirect to a different URI or Authority. - Redirect *HTTPRedirect `protobuf:"bytes,3,opt,name=redirect" json:"redirect,omitempty"` + Redirect *HTTPRedirect `protobuf:"bytes,3,opt,name=redirect,proto3" json:"redirect,omitempty"` // Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with // Redirect primitive. Rewrite will be performed before forwarding. - Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite" json:"rewrite,omitempty"` + Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite,proto3" json:"rewrite,omitempty"` // Deprecated. Websocket upgrades are done automatically starting from Istio 1.0. // $hide_from_docs WebsocketUpgrade bool `protobuf:"varint,5,opt,name=websocket_upgrade,json=websocketUpgrade,proto3" json:"websocket_upgrade,omitempty"` // Timeout for HTTP requests. - Timeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=timeout" json:"timeout,omitempty"` + Timeout *types.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"` // Retry policy for HTTP requests. - Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries" json:"retries,omitempty"` + Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"` // Fault injection policy to apply on HTTP traffic at the client side. // Note that timeouts or retries will not be enabled when faults are // enabled on the client side. - Fault *HTTPFaultInjection `protobuf:"bytes,8,opt,name=fault" json:"fault,omitempty"` + Fault *HTTPFaultInjection `protobuf:"bytes,8,opt,name=fault,proto3" json:"fault,omitempty"` // Mirror HTTP traffic to a another destination in addition to forwarding // the requests to the intended destination. Mirrored traffic is on a // best effort basis where the sidecar/gateway will not wait for the // mirrored cluster to respond before returning the response from the // original destination. Statistics will be generated for the mirrored // destination. - Mirror *Destination `protobuf:"bytes,9,opt,name=mirror" json:"mirror,omitempty"` + Mirror *Destination `protobuf:"bytes,9,opt,name=mirror,proto3" json:"mirror,omitempty"` // Cross-Origin Resource Sharing policy (CORS). Refer to // [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) // for further details about cross origin resource sharing. - CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy" json:"cors_policy,omitempty"` + CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"` // Use of `append_headers` is deprecated. Use the `headers` // field instead. - AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders,proto3" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Use of `remove_response_header` is deprecated. Use the `headers` // field instead. - RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` + RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use. // Use of `append_response_headers` is deprecated. Use the `headers` // field instead. - AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Use of `remove_request_headers` is deprecated. Use the `headers` // field instead. - RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` + RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use. // Use of `append_request_headers` is deprecated. Use the `headers` // field instead. - AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Header manipulation rules - Headers *Headers `protobuf:"bytes,16,opt,name=headers" json:"headers,omitempty"` + Headers *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRoute) Reset() { *m = HTTPRoute{} } +func (m *HTTPRoute) String() string { return proto.CompactTextString(m) } +func (*HTTPRoute) ProtoMessage() {} +func (*HTTPRoute) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{2} +} +func (m *HTTPRoute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRoute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRoute) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRoute.Merge(m, src) +} +func (m *HTTPRoute) XXX_Size() int { + return m.Size() +} +func (m *HTTPRoute) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRoute.DiscardUnknown(m) } -func (m *HTTPRoute) Reset() { *m = HTTPRoute{} } -func (m *HTTPRoute) String() string { return proto.CompactTextString(m) } -func (*HTTPRoute) ProtoMessage() {} -func (*HTTPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{2} } +var xxx_messageInfo_HTTPRoute proto.InternalMessageInfo func (m *HTTPRoute) GetMatch() []*HTTPMatchRequest { if m != nil { @@ -477,7 +604,7 @@ func (m *HTTPRoute) GetWebsocketUpgrade() bool { return false } -func (m *HTTPRoute) GetTimeout() *google_protobuf.Duration { +func (m *HTTPRoute) GetTimeout() *types.Duration { if m != nil { return m.Timeout } @@ -512,6 +639,7 @@ func (m *HTTPRoute) GetCorsPolicy() *CorsPolicy { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetAppendHeaders() map[string]string { if m != nil { return m.AppendHeaders @@ -519,6 +647,7 @@ func (m *HTTPRoute) GetAppendHeaders() map[string]string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetRemoveResponseHeaders() []string { if m != nil { return m.RemoveResponseHeaders @@ -526,6 +655,7 @@ func (m *HTTPRoute) GetRemoveResponseHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetAppendResponseHeaders() map[string]string { if m != nil { return m.AppendResponseHeaders @@ -533,6 +663,7 @@ func (m *HTTPRoute) GetAppendResponseHeaders() map[string]string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetRemoveRequestHeaders() []string { if m != nil { return m.RemoveRequestHeaders @@ -540,6 +671,7 @@ func (m *HTTPRoute) GetRemoveRequestHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRoute) GetAppendRequestHeaders() map[string]string { if m != nil { return m.AppendRequestHeaders @@ -558,16 +690,47 @@ func (m *HTTPRoute) GetHeaders() *Headers { type Headers struct { // Header manipulation rules to apply before forwarding a request // to the destination service - Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request" json:"request,omitempty"` + Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` // Header manipulation rules to apply before returning a response // to the caller - Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"` + Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Headers) Reset() { *m = Headers{} } +func (m *Headers) String() string { return proto.CompactTextString(m) } +func (*Headers) ProtoMessage() {} +func (*Headers) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{3} +} +func (m *Headers) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Headers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Headers.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Headers) XXX_Merge(src proto.Message) { + xxx_messageInfo_Headers.Merge(m, src) +} +func (m *Headers) XXX_Size() int { + return m.Size() +} +func (m *Headers) XXX_DiscardUnknown() { + xxx_messageInfo_Headers.DiscardUnknown(m) } -func (m *Headers) Reset() { *m = Headers{} } -func (m *Headers) String() string { return proto.CompactTextString(m) } -func (*Headers) ProtoMessage() {} -func (*Headers) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{3} } +var xxx_messageInfo_Headers proto.InternalMessageInfo func (m *Headers) GetRequest() *Headers_HeaderOperations { if m != nil { @@ -586,20 +749,49 @@ func (m *Headers) GetResponse() *Headers_HeaderOperations { // HeaderOperations Describes the header manipulations to apply type Headers_HeaderOperations struct { // Overwrite the headers specified by key with the given values - Set map[string]string `protobuf:"bytes,1,rep,name=set" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Append the given values to the headers specified by keys // (will create a comma-separated list of values) - Add map[string]string `protobuf:"bytes,2,rep,name=add" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Remove a the specified headers - Remove []string `protobuf:"bytes,3,rep,name=remove" json:"remove,omitempty"` + Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Headers_HeaderOperations) Reset() { *m = Headers_HeaderOperations{} } func (m *Headers_HeaderOperations) String() string { return proto.CompactTextString(m) } func (*Headers_HeaderOperations) ProtoMessage() {} func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{3, 0} + return fileDescriptor_e85a9a4fa9c17a22, []int{3, 0} } +func (m *Headers_HeaderOperations) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Headers_HeaderOperations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Headers_HeaderOperations.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Headers_HeaderOperations) XXX_Merge(src proto.Message) { + xxx_messageInfo_Headers_HeaderOperations.Merge(m, src) +} +func (m *Headers_HeaderOperations) XXX_Size() int { + return m.Size() +} +func (m *Headers_HeaderOperations) XXX_DiscardUnknown() { + xxx_messageInfo_Headers_HeaderOperations.DiscardUnknown(m) +} + +var xxx_messageInfo_Headers_HeaderOperations proto.InternalMessageInfo func (m *Headers_HeaderOperations) GetSet() map[string]string { if m != nil { @@ -658,15 +850,46 @@ type TLSRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` + Match []*TLSMatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` // The destination to which the connection should be forwarded to. - Route []*RouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` + Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TLSRoute) Reset() { *m = TLSRoute{} } +func (m *TLSRoute) String() string { return proto.CompactTextString(m) } +func (*TLSRoute) ProtoMessage() {} +func (*TLSRoute) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{4} +} +func (m *TLSRoute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TLSRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TLSRoute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TLSRoute) XXX_Merge(src proto.Message) { + xxx_messageInfo_TLSRoute.Merge(m, src) +} +func (m *TLSRoute) XXX_Size() int { + return m.Size() +} +func (m *TLSRoute) XXX_DiscardUnknown() { + xxx_messageInfo_TLSRoute.DiscardUnknown(m) } -func (m *TLSRoute) Reset() { *m = TLSRoute{} } -func (m *TLSRoute) String() string { return proto.CompactTextString(m) } -func (*TLSRoute) ProtoMessage() {} -func (*TLSRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{4} } +var xxx_messageInfo_TLSRoute proto.InternalMessageInfo func (m *TLSRoute) GetMatch() []*TLSMatchAttributes { if m != nil { @@ -708,15 +931,46 @@ type TCPRoute struct { // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. - Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match" json:"match,omitempty"` + Match []*L4MatchAttributes `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"` // The destination to which the connection should be forwarded to. - Route []*RouteDestination `protobuf:"bytes,2,rep,name=route" json:"route,omitempty"` + Route []*RouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TCPRoute) Reset() { *m = TCPRoute{} } +func (m *TCPRoute) String() string { return proto.CompactTextString(m) } +func (*TCPRoute) ProtoMessage() {} +func (*TCPRoute) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{5} +} +func (m *TCPRoute) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TCPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TCPRoute.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TCPRoute) XXX_Merge(src proto.Message) { + xxx_messageInfo_TCPRoute.Merge(m, src) +} +func (m *TCPRoute) XXX_Size() int { + return m.Size() +} +func (m *TCPRoute) XXX_DiscardUnknown() { + xxx_messageInfo_TCPRoute.DiscardUnknown(m) } -func (m *TCPRoute) Reset() { *m = TCPRoute{} } -func (m *TCPRoute) String() string { return proto.CompactTextString(m) } -func (*TCPRoute) ProtoMessage() {} -func (*TCPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{5} } +var xxx_messageInfo_TCPRoute proto.InternalMessageInfo func (m *TCPRoute) GetMatch() []*L4MatchAttributes { if m != nil { @@ -769,7 +1023,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Uri *StringMatch `protobuf:"bytes,1,opt,name=uri" json:"uri,omitempty"` + Uri *StringMatch `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // URI Scheme // values are case-sensitive and formatted as follows: // @@ -779,7 +1033,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Scheme *StringMatch `protobuf:"bytes,2,opt,name=scheme" json:"scheme,omitempty"` + Scheme *StringMatch `protobuf:"bytes,2,opt,name=scheme,proto3" json:"scheme,omitempty"` // HTTP Method // values are case-sensitive and formatted as follows: // @@ -789,7 +1043,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Method *StringMatch `protobuf:"bytes,3,opt,name=method" json:"method,omitempty"` + Method *StringMatch `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` // HTTP Authority // values are case-sensitive and formatted as follows: // @@ -799,7 +1053,7 @@ type HTTPMatchRequest struct { // // - `regex: "value"` for ECMAscript style regex-based match // - Authority *StringMatch `protobuf:"bytes,4,opt,name=authority" json:"authority,omitempty"` + Authority *StringMatch `protobuf:"bytes,4,opt,name=authority,proto3" json:"authority,omitempty"` // The header keys must be lowercase and use hyphen as the separator, // e.g. _x-request-id_. // @@ -812,7 +1066,7 @@ type HTTPMatchRequest struct { // - `regex: "value"` for ECMAscript style regex-based match // // **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored. - Headers map[string]*StringMatch `protobuf:"bytes,5,rep,name=headers" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Headers map[string]*StringMatch `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies the ports on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they support, // in these cases it is not required to explicitly select the port. @@ -821,17 +1075,48 @@ type HTTPMatchRequest struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,7,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,7,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway match is // independent of sourceLabels. - Gateways []string `protobuf:"bytes,8,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,8,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} } +func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) } +func (*HTTPMatchRequest) ProtoMessage() {} +func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{6} +} +func (m *HTTPMatchRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPMatchRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPMatchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPMatchRequest.Merge(m, src) +} +func (m *HTTPMatchRequest) XXX_Size() int { + return m.Size() +} +func (m *HTTPMatchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPMatchRequest.DiscardUnknown(m) } -func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} } -func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) } -func (*HTTPMatchRequest) ProtoMessage() {} -func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{6} } +var xxx_messageInfo_HTTPMatchRequest proto.InternalMessageInfo func (m *HTTPMatchRequest) GetUri() *StringMatch { if m != nil { @@ -958,7 +1243,7 @@ func (m *HTTPMatchRequest) GetGateways() []string { type HTTPRouteDestination struct { // REQUIRED. Destination uniquely identifies the instances of a service // to which the request/connection should be forwarded to. - Destination *Destination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"` + Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` // REQUIRED. The proportion of traffic to be forwarded to the service // version. (0-100). Sum of weights across destinations SHOULD BE == 100. // If there is only one destination in a rule, the weight value is assumed to @@ -966,26 +1251,55 @@ type HTTPRouteDestination struct { Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // Use of `remove_response_header` is deprecated. Use the `headers` // field instead. - RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` + RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use. // Use of `append_response_headers` is deprecated. Use the `headers` // field instead. - AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Use of `remove_request_headers` is deprecated. Use the `headers` // field instead. - RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` + RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use. // Use of `append_request_headers` is deprecated. Use the `headers` // field instead. - AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use. // Header manipulation rules - Headers *Headers `protobuf:"bytes,7,opt,name=headers" json:"headers,omitempty"` + Headers *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPRouteDestination) Reset() { *m = HTTPRouteDestination{} } func (m *HTTPRouteDestination) String() string { return proto.CompactTextString(m) } func (*HTTPRouteDestination) ProtoMessage() {} func (*HTTPRouteDestination) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{7} + return fileDescriptor_e85a9a4fa9c17a22, []int{7} +} +func (m *HTTPRouteDestination) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRouteDestination.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRouteDestination) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRouteDestination.Merge(m, src) } +func (m *HTTPRouteDestination) XXX_Size() int { + return m.Size() +} +func (m *HTTPRouteDestination) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRouteDestination.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPRouteDestination proto.InternalMessageInfo func (m *HTTPRouteDestination) GetDestination() *Destination { if m != nil { @@ -1001,6 +1315,7 @@ func (m *HTTPRouteDestination) GetWeight() int32 { return 0 } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetRemoveResponseHeaders() []string { if m != nil { return m.RemoveResponseHeaders @@ -1008,6 +1323,7 @@ func (m *HTTPRouteDestination) GetRemoveResponseHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetAppendResponseHeaders() map[string]string { if m != nil { return m.AppendResponseHeaders @@ -1015,6 +1331,7 @@ func (m *HTTPRouteDestination) GetAppendResponseHeaders() map[string]string { return nil } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetRemoveRequestHeaders() []string { if m != nil { return m.RemoveRequestHeaders @@ -1022,6 +1339,7 @@ func (m *HTTPRouteDestination) GetRemoveRequestHeaders() []string { return nil } +// Deprecated: Do not use. func (m *HTTPRouteDestination) GetAppendRequestHeaders() map[string]string { if m != nil { return m.AppendRequestHeaders @@ -1040,17 +1358,48 @@ func (m *HTTPRouteDestination) GetHeaders() *Headers { type RouteDestination struct { // REQUIRED. Destination uniquely identifies the instances of a service // to which the request/connection should be forwarded to. - Destination *Destination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"` + Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` // REQUIRED. The proportion of traffic to be forwarded to the service // version. If there is only one destination in a rule, all traffic will be // routed to it irrespective of the weight. - Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RouteDestination) Reset() { *m = RouteDestination{} } +func (m *RouteDestination) String() string { return proto.CompactTextString(m) } +func (*RouteDestination) ProtoMessage() {} +func (*RouteDestination) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{8} +} +func (m *RouteDestination) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RouteDestination.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RouteDestination) XXX_Merge(src proto.Message) { + xxx_messageInfo_RouteDestination.Merge(m, src) +} +func (m *RouteDestination) XXX_Size() int { + return m.Size() +} +func (m *RouteDestination) XXX_DiscardUnknown() { + xxx_messageInfo_RouteDestination.DiscardUnknown(m) } -func (m *RouteDestination) Reset() { *m = RouteDestination{} } -func (m *RouteDestination) String() string { return proto.CompactTextString(m) } -func (*RouteDestination) ProtoMessage() {} -func (*RouteDestination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{8} } +var xxx_messageInfo_RouteDestination proto.InternalMessageInfo func (m *RouteDestination) GetDestination() *Destination { if m != nil { @@ -1071,7 +1420,7 @@ func (m *RouteDestination) GetWeight() int32 { type L4MatchAttributes struct { // IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., // a.b.c.d/xx form or just a.b.c.d. - DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets" json:"destination_subnets,omitempty"` + DestinationSubnets []string `protobuf:"bytes,1,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"` // Specifies the port on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they support, // in these cases it is not required to explicitly select the port. @@ -1084,17 +1433,48 @@ type L4MatchAttributes struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,4,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,4,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway // match is independent of sourceLabels. - Gateways []string `protobuf:"bytes,5,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,5,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} } +func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) } +func (*L4MatchAttributes) ProtoMessage() {} +func (*L4MatchAttributes) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{9} +} +func (m *L4MatchAttributes) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *L4MatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_L4MatchAttributes.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *L4MatchAttributes) XXX_Merge(src proto.Message) { + xxx_messageInfo_L4MatchAttributes.Merge(m, src) +} +func (m *L4MatchAttributes) XXX_Size() int { + return m.Size() +} +func (m *L4MatchAttributes) XXX_DiscardUnknown() { + xxx_messageInfo_L4MatchAttributes.DiscardUnknown(m) } -func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} } -func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) } -func (*L4MatchAttributes) ProtoMessage() {} -func (*L4MatchAttributes) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{9} } +var xxx_messageInfo_L4MatchAttributes proto.InternalMessageInfo func (m *L4MatchAttributes) GetDestinationSubnets() []string { if m != nil { @@ -1137,10 +1517,10 @@ type TLSMatchAttributes struct { // can be used in the SNI value, e.g., *.com will match foo.example.com // as well as example.com. An SNI value must be a subset (i.e., fall // within the domain) of the corresponding virtual serivce's hosts. - SniHosts []string `protobuf:"bytes,1,rep,name=sni_hosts,json=sniHosts" json:"sni_hosts,omitempty"` + SniHosts []string `protobuf:"bytes,1,rep,name=sni_hosts,json=sniHosts,proto3" json:"sni_hosts,omitempty"` // IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., // a.b.c.d/xx form or just a.b.c.d. - DestinationSubnets []string `protobuf:"bytes,2,rep,name=destination_subnets,json=destinationSubnets" json:"destination_subnets,omitempty"` + DestinationSubnets []string `protobuf:"bytes,2,rep,name=destination_subnets,json=destinationSubnets,proto3" json:"destination_subnets,omitempty"` // Specifies the port on the host that is being addressed. Many services // only expose a single port or label ports with the protocols they // support, in these cases it is not required to explicitly select the @@ -1154,20 +1534,49 @@ type TLSMatchAttributes struct { // workloads with the given labels. If the VirtualService has a list of // gateways specified at the top, it should include the reserved gateway // `mesh` in order for this field to be applicable. - SourceLabels map[string]string `protobuf:"bytes,5,rep,name=source_labels,json=sourceLabels" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceLabels map[string]string `protobuf:"bytes,5,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Names of gateways where the rule should be applied to. Gateway names // at the top of the VirtualService (if any) are overridden. The gateway // match is independent of sourceLabels. - Gateways []string `protobuf:"bytes,6,rep,name=gateways" json:"gateways,omitempty"` + Gateways []string `protobuf:"bytes,6,rep,name=gateways,proto3" json:"gateways,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TLSMatchAttributes) Reset() { *m = TLSMatchAttributes{} } func (m *TLSMatchAttributes) String() string { return proto.CompactTextString(m) } func (*TLSMatchAttributes) ProtoMessage() {} func (*TLSMatchAttributes) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{10} + return fileDescriptor_e85a9a4fa9c17a22, []int{10} +} +func (m *TLSMatchAttributes) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TLSMatchAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TLSMatchAttributes.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TLSMatchAttributes) XXX_Merge(src proto.Message) { + xxx_messageInfo_TLSMatchAttributes.Merge(m, src) +} +func (m *TLSMatchAttributes) XXX_Size() int { + return m.Size() +} +func (m *TLSMatchAttributes) XXX_DiscardUnknown() { + xxx_messageInfo_TLSMatchAttributes.DiscardUnknown(m) } +var xxx_messageInfo_TLSMatchAttributes proto.InternalMessageInfo + func (m *TLSMatchAttributes) GetSniHosts() []string { if m != nil { return m.SniHosts @@ -1240,13 +1649,44 @@ type HTTPRedirect struct { Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // On a redirect, overwrite the Authority/Host portion of the URL with // this value. - Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} } +func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) } +func (*HTTPRedirect) ProtoMessage() {} +func (*HTTPRedirect) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{11} +} +func (m *HTTPRedirect) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRedirect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRedirect.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRedirect) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRedirect.Merge(m, src) +} +func (m *HTTPRedirect) XXX_Size() int { + return m.Size() +} +func (m *HTTPRedirect) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRedirect.DiscardUnknown(m) } -func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} } -func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) } -func (*HTTPRedirect) ProtoMessage() {} -func (*HTTPRedirect) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{11} } +var xxx_messageInfo_HTTPRedirect proto.InternalMessageInfo func (m *HTTPRedirect) GetUri() string { if m != nil { @@ -1294,13 +1734,44 @@ type HTTPRewrite struct { // provided in this field will replace the corresponding matched prefix. Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // rewrite the Authority/Host header with this value. - Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} } +func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) } +func (*HTTPRewrite) ProtoMessage() {} +func (*HTTPRewrite) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{12} +} +func (m *HTTPRewrite) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRewrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRewrite.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRewrite) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRewrite.Merge(m, src) +} +func (m *HTTPRewrite) XXX_Size() int { + return m.Size() +} +func (m *HTTPRewrite) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRewrite.DiscardUnknown(m) } -func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} } -func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) } -func (*HTTPRewrite) ProtoMessage() {} -func (*HTTPRewrite) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{12} } +var xxx_messageInfo_HTTPRewrite proto.InternalMessageInfo func (m *HTTPRewrite) GetUri() string { if m != nil { @@ -1323,13 +1794,44 @@ type StringMatch struct { // *StringMatch_Exact // *StringMatch_Prefix // *StringMatch_Regex - MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` + MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StringMatch) Reset() { *m = StringMatch{} } +func (m *StringMatch) String() string { return proto.CompactTextString(m) } +func (*StringMatch) ProtoMessage() {} +func (*StringMatch) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{13} +} +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 + } +} +func (m *StringMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringMatch.Merge(m, src) +} +func (m *StringMatch) XXX_Size() int { + return m.Size() +} +func (m *StringMatch) XXX_DiscardUnknown() { + xxx_messageInfo_StringMatch.DiscardUnknown(m) } -func (m *StringMatch) Reset() { *m = StringMatch{} } -func (m *StringMatch) String() string { return proto.CompactTextString(m) } -func (*StringMatch) ProtoMessage() {} -func (*StringMatch) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{13} } +var xxx_messageInfo_StringMatch proto.InternalMessageInfo type isStringMatch_MatchType interface { isStringMatch_MatchType() @@ -1442,15 +1944,15 @@ func _StringMatch_OneofSizer(msg proto.Message) (n int) { // match_type switch x := m.MatchType.(type) { case *StringMatch_Exact: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Exact))) n += len(x.Exact) case *StringMatch_Prefix: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Prefix))) n += len(x.Prefix) case *StringMatch_Regex: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Regex))) n += len(x.Regex) case nil: @@ -1489,19 +1991,50 @@ type HTTPRetry struct { // number of retries attempted depends on the httpReqTimeout. Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"` // Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms. - PerTryTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout" json:"per_try_timeout,omitempty"` + 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 - RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` + RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } +func (m *HTTPRetry) String() string { return proto.CompactTextString(m) } +func (*HTTPRetry) ProtoMessage() {} +func (*HTTPRetry) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{14} +} +func (m *HTTPRetry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPRetry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPRetry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPRetry) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPRetry.Merge(m, src) +} +func (m *HTTPRetry) XXX_Size() int { + return m.Size() +} +func (m *HTTPRetry) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPRetry.DiscardUnknown(m) } -func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } -func (m *HTTPRetry) String() string { return proto.CompactTextString(m) } -func (*HTTPRetry) ProtoMessage() {} -func (*HTTPRetry) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{14} } +var xxx_messageInfo_HTTPRetry proto.InternalMessageInfo func (m *HTTPRetry) GetAttempts() int32 { if m != nil { @@ -1510,7 +2043,7 @@ func (m *HTTPRetry) GetAttempts() int32 { return 0 } -func (m *HTTPRetry) GetPerTryTimeout() *google_protobuf.Duration { +func (m *HTTPRetry) GetPerTryTimeout() *types.Duration { if m != nil { return m.PerTryTimeout } @@ -1562,29 +2095,60 @@ type CorsPolicy struct { // The list of origins that are allowed to perform CORS requests. The // content will be serialized into the Access-Control-Allow-Origin // header. Wildcard * will allow all origins. - AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin" json:"allow_origin,omitempty"` + AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"` // List of HTTP methods allowed to access the resource. The content will // be serialized into the Access-Control-Allow-Methods header. - AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods" json:"allow_methods,omitempty"` + AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"` // List of HTTP headers that can be used when requesting the // resource. Serialized to Access-Control-Allow-Headers header. - AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders" json:"allow_headers,omitempty"` + AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"` // A white list of HTTP headers that the browsers are allowed to // access. Serialized into Access-Control-Expose-Headers header. - ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders" json:"expose_headers,omitempty"` + ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"` // Specifies how long the results of a preflight request can be // cached. Translates to the `Access-Control-Max-Age` header. - MaxAge *google_protobuf.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge" json:"max_age,omitempty"` + MaxAge *types.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` // Indicates whether the caller is allowed to send the actual request // (not the preflight) using credentials. Translates to // `Access-Control-Allow-Credentials` header. - AllowCredentials *google_protobuf1.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials" json:"allow_credentials,omitempty"` + AllowCredentials *types.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CorsPolicy) Reset() { *m = CorsPolicy{} } +func (m *CorsPolicy) String() string { return proto.CompactTextString(m) } +func (*CorsPolicy) ProtoMessage() {} +func (*CorsPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{15} +} +func (m *CorsPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CorsPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CorsPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_CorsPolicy.Merge(m, src) +} +func (m *CorsPolicy) XXX_Size() int { + return m.Size() +} +func (m *CorsPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_CorsPolicy.DiscardUnknown(m) } -func (m *CorsPolicy) Reset() { *m = CorsPolicy{} } -func (m *CorsPolicy) String() string { return proto.CompactTextString(m) } -func (*CorsPolicy) ProtoMessage() {} -func (*CorsPolicy) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{15} } +var xxx_messageInfo_CorsPolicy proto.InternalMessageInfo func (m *CorsPolicy) GetAllowOrigin() []string { if m != nil { @@ -1614,14 +2178,14 @@ func (m *CorsPolicy) GetExposeHeaders() []string { return nil } -func (m *CorsPolicy) GetMaxAge() *google_protobuf.Duration { +func (m *CorsPolicy) GetMaxAge() *types.Duration { if m != nil { return m.MaxAge } return nil } -func (m *CorsPolicy) GetAllowCredentials() *google_protobuf1.BoolValue { +func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue { if m != nil { return m.AllowCredentials } @@ -1639,19 +2203,48 @@ func (m *CorsPolicy) GetAllowCredentials() *google_protobuf1.BoolValue { type HTTPFaultInjection struct { // Delay requests before forwarding, emulating various failures such as // network issues, overloaded upstream service, etc. - Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay" json:"delay,omitempty"` + Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"` // Abort Http request attempts and return error codes back to downstream // service, giving the impression that the upstream service is faulty. - Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort" json:"abort,omitempty"` + Abort *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPFaultInjection) Reset() { *m = HTTPFaultInjection{} } func (m *HTTPFaultInjection) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection) ProtoMessage() {} func (*HTTPFaultInjection) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{16} + return fileDescriptor_e85a9a4fa9c17a22, []int{16} +} +func (m *HTTPFaultInjection) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPFaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPFaultInjection.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPFaultInjection) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPFaultInjection.Merge(m, src) +} +func (m *HTTPFaultInjection) XXX_Size() int { + return m.Size() +} +func (m *HTTPFaultInjection) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPFaultInjection.DiscardUnknown(m) } +var xxx_messageInfo_HTTPFaultInjection proto.InternalMessageInfo + func (m *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay { if m != nil { return m.Delay @@ -1701,22 +2294,51 @@ type HTTPFaultInjection_Delay struct { // Percentage of requests on which the delay will be injected (0-100). // Use of integer `percent` value is deprecated. Use the double `percentage` // field instead. - Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` + Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use. // Types that are valid to be assigned to HttpDelayType: // *HTTPFaultInjection_Delay_FixedDelay // *HTTPFaultInjection_Delay_ExponentialDelay HttpDelayType isHTTPFaultInjection_Delay_HttpDelayType `protobuf_oneof:"http_delay_type"` // Percentage of requests on which the delay will be injected. - Percentage *Percent `protobuf:"bytes,5,opt,name=percentage" json:"percentage,omitempty"` + Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPFaultInjection_Delay) Reset() { *m = HTTPFaultInjection_Delay{} } func (m *HTTPFaultInjection_Delay) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Delay) ProtoMessage() {} func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{16, 0} + return fileDescriptor_e85a9a4fa9c17a22, []int{16, 0} +} +func (m *HTTPFaultInjection_Delay) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HTTPFaultInjection_Delay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPFaultInjection_Delay.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPFaultInjection_Delay) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPFaultInjection_Delay.Merge(m, src) +} +func (m *HTTPFaultInjection_Delay) XXX_Size() int { + return m.Size() +} +func (m *HTTPFaultInjection_Delay) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPFaultInjection_Delay.DiscardUnknown(m) } +var xxx_messageInfo_HTTPFaultInjection_Delay proto.InternalMessageInfo + type isHTTPFaultInjection_Delay_HttpDelayType interface { isHTTPFaultInjection_Delay_HttpDelayType() MarshalTo([]byte) (int, error) @@ -1724,10 +2346,10 @@ type isHTTPFaultInjection_Delay_HttpDelayType interface { } type HTTPFaultInjection_Delay_FixedDelay struct { - FixedDelay *google_protobuf.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,oneof"` + FixedDelay *types.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"` } type HTTPFaultInjection_Delay_ExponentialDelay struct { - ExponentialDelay *google_protobuf.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,oneof"` + ExponentialDelay *types.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof"` } func (*HTTPFaultInjection_Delay_FixedDelay) isHTTPFaultInjection_Delay_HttpDelayType() {} @@ -1740,6 +2362,7 @@ func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay return nil } +// Deprecated: Do not use. func (m *HTTPFaultInjection_Delay) GetPercent() int32 { if m != nil { return m.Percent @@ -1747,14 +2370,14 @@ func (m *HTTPFaultInjection_Delay) GetPercent() int32 { return 0 } -func (m *HTTPFaultInjection_Delay) GetFixedDelay() *google_protobuf.Duration { +func (m *HTTPFaultInjection_Delay) GetFixedDelay() *types.Duration { if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_FixedDelay); ok { return x.FixedDelay } return nil } -func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *google_protobuf.Duration { +func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *types.Duration { if x, ok := m.GetHttpDelayType().(*HTTPFaultInjection_Delay_ExponentialDelay); ok { return x.ExponentialDelay } @@ -1804,7 +2427,7 @@ func _HTTPFaultInjection_Delay_OneofUnmarshaler(msg proto.Message, tag, wire int if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(google_protobuf.Duration) + msg := new(types.Duration) err := b.DecodeMessage(msg) m.HttpDelayType = &HTTPFaultInjection_Delay_FixedDelay{msg} return true, err @@ -1812,7 +2435,7 @@ func _HTTPFaultInjection_Delay_OneofUnmarshaler(msg proto.Message, tag, wire int if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(google_protobuf.Duration) + msg := new(types.Duration) err := b.DecodeMessage(msg) m.HttpDelayType = &HTTPFaultInjection_Delay_ExponentialDelay{msg} return true, err @@ -1827,12 +2450,12 @@ func _HTTPFaultInjection_Delay_OneofSizer(msg proto.Message) (n int) { switch x := m.HttpDelayType.(type) { case *HTTPFaultInjection_Delay_FixedDelay: s := proto.Size(x.FixedDelay) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *HTTPFaultInjection_Delay_ExponentialDelay: s := proto.Size(x.ExponentialDelay) - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -1874,22 +2497,51 @@ type HTTPFaultInjection_Abort struct { // Percentage of requests to be aborted with the error code provided (0-100). // Use of integer `percent` value is deprecated. Use the double `percentage` // field instead. - Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` + Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use. // Types that are valid to be assigned to ErrorType: // *HTTPFaultInjection_Abort_HttpStatus // *HTTPFaultInjection_Abort_GrpcStatus // *HTTPFaultInjection_Abort_Http2Error ErrorType isHTTPFaultInjection_Abort_ErrorType `protobuf_oneof:"error_type"` // Percentage of requests to be aborted with the error code provided. - Percentage *Percent `protobuf:"bytes,5,opt,name=percentage" json:"percentage,omitempty"` + Percentage *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *HTTPFaultInjection_Abort) Reset() { *m = HTTPFaultInjection_Abort{} } func (m *HTTPFaultInjection_Abort) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Abort) ProtoMessage() {} func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{16, 1} + return fileDescriptor_e85a9a4fa9c17a22, []int{16, 1} +} +func (m *HTTPFaultInjection_Abort) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } +func (m *HTTPFaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HTTPFaultInjection_Abort.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HTTPFaultInjection_Abort) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPFaultInjection_Abort.Merge(m, src) +} +func (m *HTTPFaultInjection_Abort) XXX_Size() int { + return m.Size() +} +func (m *HTTPFaultInjection_Abort) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPFaultInjection_Abort.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPFaultInjection_Abort proto.InternalMessageInfo type isHTTPFaultInjection_Abort_ErrorType interface { isHTTPFaultInjection_Abort_ErrorType() @@ -1918,6 +2570,7 @@ func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_Err return nil } +// Deprecated: Do not use. func (m *HTTPFaultInjection_Abort) GetPercent() int32 { if m != nil { return m.Percent @@ -2016,14 +2669,14 @@ func _HTTPFaultInjection_Abort_OneofSizer(msg proto.Message) (n int) { // error_type switch x := m.ErrorType.(type) { case *HTTPFaultInjection_Abort_HttpStatus: - n += proto.SizeVarint(2<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.HttpStatus)) case *HTTPFaultInjection_Abort_GrpcStatus: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.GrpcStatus))) n += len(x.GrpcStatus) case *HTTPFaultInjection_Abort_Http2Error: - n += proto.SizeVarint(4<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Http2Error))) n += len(x.Http2Error) case nil: @@ -2039,13 +2692,44 @@ type PortSelector struct { // Types that are valid to be assigned to Port: // *PortSelector_Number // *PortSelector_Name - Port isPortSelector_Port `protobuf_oneof:"port"` + Port isPortSelector_Port `protobuf_oneof:"port"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PortSelector) Reset() { *m = PortSelector{} } +func (m *PortSelector) String() string { return proto.CompactTextString(m) } +func (*PortSelector) ProtoMessage() {} +func (*PortSelector) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{17} +} +func (m *PortSelector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PortSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PortSelector.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PortSelector) XXX_Merge(src proto.Message) { + xxx_messageInfo_PortSelector.Merge(m, src) +} +func (m *PortSelector) XXX_Size() int { + return m.Size() +} +func (m *PortSelector) XXX_DiscardUnknown() { + xxx_messageInfo_PortSelector.DiscardUnknown(m) } -func (m *PortSelector) Reset() { *m = PortSelector{} } -func (m *PortSelector) String() string { return proto.CompactTextString(m) } -func (*PortSelector) ProtoMessage() {} -func (*PortSelector) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{17} } +var xxx_messageInfo_PortSelector proto.InternalMessageInfo type isPortSelector_Port interface { isPortSelector_Port() @@ -2136,10 +2820,10 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { // port switch x := m.Port.(type) { case *PortSelector_Number: - n += proto.SizeVarint(1<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Number)) case *PortSelector_Name: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Name))) n += len(x.Name) case nil: @@ -2151,13 +2835,44 @@ func _PortSelector_OneofSizer(msg proto.Message) (n int) { // Percent specifies a percentage in the range of [0.0, 100.0]. type Percent struct { - Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Percent) Reset() { *m = Percent{} } +func (m *Percent) String() string { return proto.CompactTextString(m) } +func (*Percent) ProtoMessage() {} +func (*Percent) Descriptor() ([]byte, []int) { + return fileDescriptor_e85a9a4fa9c17a22, []int{18} +} +func (m *Percent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Percent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Percent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Percent) XXX_Merge(src proto.Message) { + xxx_messageInfo_Percent.Merge(m, src) +} +func (m *Percent) XXX_Size() int { + return m.Size() +} +func (m *Percent) XXX_DiscardUnknown() { + xxx_messageInfo_Percent.DiscardUnknown(m) } -func (m *Percent) Reset() { *m = Percent{} } -func (m *Percent) String() string { return proto.CompactTextString(m) } -func (*Percent) ProtoMessage() {} -func (*Percent) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{18} } +var xxx_messageInfo_Percent proto.InternalMessageInfo func (m *Percent) GetValue() float64 { if m != nil { @@ -2170,15 +2885,26 @@ func init() { proto.RegisterType((*VirtualService)(nil), "istio.networking.v1alpha3.VirtualService") proto.RegisterType((*Destination)(nil), "istio.networking.v1alpha3.Destination") proto.RegisterType((*HTTPRoute)(nil), "istio.networking.v1alpha3.HTTPRoute") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntry") proto.RegisterType((*Headers)(nil), "istio.networking.v1alpha3.Headers") proto.RegisterType((*Headers_HeaderOperations)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry") proto.RegisterType((*TLSRoute)(nil), "istio.networking.v1alpha3.TLSRoute") proto.RegisterType((*TCPRoute)(nil), "istio.networking.v1alpha3.TCPRoute") proto.RegisterType((*HTTPMatchRequest)(nil), "istio.networking.v1alpha3.HTTPMatchRequest") + proto.RegisterMapType((map[string]*StringMatch)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry") proto.RegisterType((*HTTPRouteDestination)(nil), "istio.networking.v1alpha3.HTTPRouteDestination") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntry") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntry") proto.RegisterType((*RouteDestination)(nil), "istio.networking.v1alpha3.RouteDestination") proto.RegisterType((*L4MatchAttributes)(nil), "istio.networking.v1alpha3.L4MatchAttributes") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry") proto.RegisterType((*TLSMatchAttributes)(nil), "istio.networking.v1alpha3.TLSMatchAttributes") + proto.RegisterMapType((map[string]string)(nil), "istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry") proto.RegisterType((*HTTPRedirect)(nil), "istio.networking.v1alpha3.HTTPRedirect") proto.RegisterType((*HTTPRewrite)(nil), "istio.networking.v1alpha3.HTTPRewrite") proto.RegisterType((*StringMatch)(nil), "istio.networking.v1alpha3.StringMatch") @@ -2190,6 +2916,127 @@ func init() { proto.RegisterType((*PortSelector)(nil), "istio.networking.v1alpha3.PortSelector") proto.RegisterType((*Percent)(nil), "istio.networking.v1alpha3.Percent") } + +func init() { + proto.RegisterFile("networking/v1alpha3/virtual_service.proto", fileDescriptor_e85a9a4fa9c17a22) +} + +var fileDescriptor_e85a9a4fa9c17a22 = []byte{ + // 1785 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x73, 0xdb, 0x4a, + 0x15, 0xaf, 0x6c, 0xcb, 0x7f, 0x8e, 0x9d, 0xd4, 0x59, 0x72, 0x73, 0x15, 0xdf, 0x3b, 0x21, 0xd7, + 0x97, 0x0b, 0x61, 0x4a, 0xed, 0x21, 0x81, 0x92, 0x29, 0x69, 0x5a, 0x3b, 0x69, 0xeb, 0x32, 0x2d, + 0xc9, 0xc8, 0xa1, 0x0f, 0xbc, 0x68, 0x64, 0x69, 0x63, 0x8b, 0xda, 0x5a, 0xb1, 0x5a, 0x25, 0xf6, + 0xf0, 0xc8, 0xbf, 0x67, 0x18, 0x5e, 0x19, 0xbe, 0x07, 0x2f, 0xbc, 0xf2, 0xc4, 0xf0, 0x09, 0x98, + 0x4e, 0x1f, 0x78, 0xe5, 0x2b, 0x30, 0xbb, 0x2b, 0xc9, 0x4a, 0x9c, 0x58, 0x76, 0x28, 0x0c, 0x4f, + 0xf1, 0xee, 0x9e, 0xdf, 0x6f, 0xcf, 0x9e, 0xdd, 0x3d, 0xe7, 0xa7, 0x0d, 0x7c, 0xdb, 0xc5, 0xec, + 0x92, 0xd0, 0x77, 0x8e, 0xdb, 0x6f, 0x5e, 0x7c, 0xd7, 0x1c, 0x7a, 0x03, 0x73, 0xaf, 0x79, 0xe1, + 0x50, 0x16, 0x98, 0x43, 0xc3, 0xc7, 0xf4, 0xc2, 0xb1, 0x70, 0xc3, 0xa3, 0x84, 0x11, 0xb4, 0xe9, + 0xf8, 0xcc, 0x21, 0x8d, 0x29, 0xa0, 0x11, 0x01, 0x6a, 0x5b, 0x7d, 0x42, 0xfa, 0x43, 0xdc, 0x14, + 0x86, 0xbd, 0xe0, 0xbc, 0x69, 0x07, 0xd4, 0x64, 0x0e, 0x71, 0x25, 0x74, 0x76, 0xfc, 0x92, 0x9a, + 0x9e, 0x87, 0xa9, 0x2f, 0xc7, 0xeb, 0xbf, 0xcd, 0xc0, 0xea, 0x5b, 0x39, 0x69, 0x57, 0xce, 0x89, + 0xd6, 0x41, 0x1d, 0x10, 0x9f, 0xf9, 0x9a, 0xb2, 0x9d, 0xdd, 0x29, 0xe9, 0xb2, 0x81, 0x6a, 0x50, + 0xec, 0x9b, 0x0c, 0x5f, 0x9a, 0x13, 0x5f, 0xcb, 0x88, 0x81, 0xb8, 0x8d, 0xf6, 0x21, 0x37, 0x60, + 0xcc, 0xd3, 0xb2, 0xdb, 0xd9, 0x9d, 0xf2, 0xee, 0x37, 0x1a, 0xb7, 0xba, 0xdb, 0xe8, 0x9c, 0x9d, + 0x9d, 0xea, 0x24, 0x60, 0x58, 0x17, 0x08, 0xf4, 0x7d, 0xc8, 0xb2, 0xa1, 0xaf, 0xa9, 0x02, 0xf8, + 0xe5, 0x1c, 0xe0, 0xd9, 0xeb, 0xae, 0xc4, 0x71, 0x7b, 0x01, 0xb3, 0x3c, 0x2d, 0x97, 0x0e, 0x3b, + 0x3a, 0x8d, 0x60, 0x96, 0x87, 0x3e, 0x83, 0x12, 0x1e, 0x7b, 0x84, 0x32, 0x83, 0x11, 0x2d, 0x2f, + 0x17, 0x21, 0x3b, 0xce, 0x48, 0xfd, 0x02, 0xca, 0xc7, 0xd8, 0x67, 0x8e, 0x2b, 0xc2, 0x87, 0x10, + 0xe4, 0xf8, 0xc2, 0x35, 0x65, 0x5b, 0xd9, 0x29, 0xe9, 0xe2, 0x37, 0xda, 0x80, 0xbc, 0x1f, 0xf4, + 0x7c, 0xcc, 0xb4, 0x8c, 0xe8, 0x0d, 0x5b, 0xe8, 0x87, 0x90, 0xe3, 0x24, 0x5a, 0x76, 0x5b, 0xd9, + 0x29, 0xef, 0x7e, 0x6b, 0x8e, 0x3f, 0xa7, 0x84, 0xb2, 0x2e, 0x1e, 0x62, 0x8b, 0x11, 0xaa, 0x0b, + 0x50, 0xfd, 0x5f, 0x00, 0xa5, 0x38, 0x2c, 0xa8, 0x05, 0xea, 0xc8, 0x64, 0xd6, 0x40, 0x04, 0xbf, + 0xbc, 0xfb, 0x20, 0x25, 0x96, 0x6f, 0xb8, 0xad, 0x8e, 0x7f, 0x1e, 0x60, 0x9f, 0xe9, 0x12, 0x89, + 0x9e, 0x83, 0x4a, 0x39, 0x97, 0xd8, 0xa6, 0xf2, 0x6e, 0x73, 0x91, 0xed, 0x48, 0xac, 0x5c, 0x97, + 0x68, 0x74, 0x04, 0x45, 0x8a, 0x6d, 0x87, 0x62, 0x6b, 0x91, 0x85, 0x09, 0xa6, 0xd0, 0x5c, 0x8f, + 0x81, 0xe8, 0x19, 0x14, 0x28, 0xbe, 0xa4, 0x0e, 0xc3, 0x5a, 0x4e, 0x70, 0x7c, 0x33, 0x95, 0x43, + 0x58, 0xeb, 0x11, 0x0c, 0x3d, 0x80, 0xb5, 0x4b, 0xdc, 0xf3, 0x89, 0xf5, 0x0e, 0x33, 0x23, 0xf0, + 0xfa, 0xd4, 0xb4, 0xb1, 0xa6, 0x6e, 0x2b, 0x3b, 0x45, 0xbd, 0x1a, 0x0f, 0xfc, 0x44, 0xf6, 0xa3, + 0x3d, 0x28, 0x30, 0x67, 0x84, 0x49, 0xc0, 0xb4, 0xbc, 0x98, 0x6e, 0xb3, 0x21, 0xcf, 0x7f, 0x23, + 0x3a, 0xff, 0x8d, 0xe3, 0xf0, 0x7e, 0xe8, 0x91, 0x25, 0x3a, 0xe4, 0x3e, 0x32, 0xea, 0x60, 0x5f, + 0x2b, 0x08, 0x50, 0xea, 0x01, 0xc6, 0x8c, 0x4e, 0xf4, 0x08, 0x84, 0x8e, 0x40, 0x3d, 0x37, 0x83, + 0x21, 0xd3, 0x8a, 0x02, 0xfd, 0x30, 0x05, 0xfd, 0x82, 0xdb, 0xbe, 0x72, 0x7f, 0x86, 0x2d, 0x19, + 0x6d, 0x81, 0x45, 0x87, 0x90, 0x1f, 0x39, 0x94, 0x12, 0xaa, 0x95, 0x52, 0xe3, 0x94, 0xdc, 0xac, + 0x10, 0x85, 0x5e, 0x40, 0xd9, 0x22, 0xd4, 0x37, 0x3c, 0x32, 0x74, 0xac, 0x89, 0x06, 0x82, 0xe4, + 0xab, 0x39, 0x24, 0x47, 0x84, 0xfa, 0xa7, 0xc2, 0x58, 0x07, 0x2b, 0xfe, 0x8d, 0x7a, 0xb0, 0xca, + 0xf3, 0x83, 0x6b, 0x1b, 0x03, 0x6c, 0xda, 0x98, 0xfa, 0x5a, 0x59, 0x9c, 0xa2, 0x1f, 0x2c, 0x72, + 0x8a, 0x1a, 0x2d, 0x01, 0xed, 0x48, 0xe4, 0x73, 0x97, 0xd1, 0x49, 0x3b, 0xa3, 0x29, 0xfa, 0x8a, + 0x99, 0xec, 0x47, 0x8f, 0xe1, 0x53, 0x8a, 0x47, 0xe4, 0x02, 0x1b, 0x14, 0xfb, 0x1e, 0x71, 0x7d, + 0x1c, 0x4f, 0x56, 0xe1, 0x97, 0x52, 0x60, 0x3e, 0x91, 0x26, 0x7a, 0x68, 0x11, 0x61, 0x7f, 0x01, + 0x9f, 0x86, 0xfe, 0xcd, 0x60, 0x57, 0x84, 0xa3, 0x4f, 0x97, 0x70, 0xf4, 0x1a, 0xf9, 0xd4, 0xe1, + 0x4f, 0xcc, 0x9b, 0xc6, 0xd1, 0x3e, 0x6c, 0xc4, 0x8e, 0x8b, 0x2b, 0x17, 0xcf, 0xbd, 0x1a, 0xfb, + 0xbd, 0x1e, 0xf9, 0x2d, 0x0c, 0x22, 0xe4, 0x18, 0x36, 0x62, 0xb7, 0xaf, 0x22, 0xef, 0x0b, 0xaf, + 0x0f, 0x97, 0xf2, 0x3a, 0x49, 0x3d, 0x75, 0x7a, 0xdd, 0xbc, 0x61, 0x18, 0x1d, 0x40, 0x21, 0x9a, + 0xaa, 0x2a, 0x0e, 0x45, 0x7d, 0xde, 0x54, 0xd2, 0x52, 0x8f, 0x20, 0xb5, 0x67, 0x80, 0x66, 0xf7, + 0x14, 0x55, 0x21, 0xfb, 0x0e, 0x4f, 0xc2, 0xd4, 0xc8, 0x7f, 0xf2, 0x9a, 0x71, 0x61, 0x0e, 0x03, + 0x1c, 0x26, 0x46, 0xd9, 0x78, 0x9c, 0xd9, 0x57, 0x6a, 0x1d, 0xa8, 0xdd, 0x1e, 0xec, 0xa5, 0x98, + 0x5e, 0xc2, 0xe6, 0xad, 0x01, 0x58, 0x86, 0xa8, 0xfe, 0xcf, 0x2c, 0x14, 0xa2, 0xf0, 0xbc, 0xe1, + 0x97, 0x5f, 0xd0, 0x09, 0x6c, 0x79, 0x77, 0x2f, 0x3d, 0x3c, 0xe1, 0xdf, 0x13, 0x0f, 0xcb, 0x54, + 0xe2, 0xeb, 0x11, 0x07, 0x3a, 0xe1, 0x49, 0x53, 0xae, 0x53, 0xcc, 0x7b, 0x47, 0xbe, 0x98, 0xa4, + 0xf6, 0xe7, 0x0c, 0x54, 0xaf, 0x0f, 0xa3, 0x1f, 0x43, 0x96, 0x17, 0x21, 0x59, 0x22, 0x0e, 0xee, + 0x30, 0x41, 0xa3, 0x8b, 0x99, 0x88, 0x9b, 0xce, 0x89, 0x38, 0x9f, 0x69, 0xdb, 0x61, 0xbd, 0xb8, + 0x13, 0x5f, 0xcb, 0xb6, 0x43, 0x3e, 0xd3, 0xb6, 0x79, 0x9d, 0x94, 0xb7, 0x40, 0x28, 0x82, 0x92, + 0x1e, 0xb6, 0x6a, 0x8f, 0xa0, 0x18, 0x4d, 0xbc, 0xd4, 0xce, 0x3f, 0x82, 0x62, 0x34, 0xc1, 0x52, + 0x1b, 0xfd, 0x7b, 0x05, 0x8a, 0x91, 0x70, 0xe0, 0x69, 0x3a, 0x59, 0x59, 0x1f, 0xce, 0x17, 0x1b, + 0xa2, 0xb0, 0xb6, 0x18, 0xa3, 0x4e, 0x2f, 0x60, 0xd8, 0x8f, 0x6a, 0x6b, 0xeb, 0x6a, 0x6d, 0x9d, + 0x57, 0x9e, 0x6f, 0xa9, 0xab, 0xf5, 0xdf, 0x71, 0xa7, 0x42, 0x59, 0x82, 0xda, 0x57, 0x9d, 0xfa, + 0xce, 0x1c, 0xbe, 0xd7, 0xdf, 0xfb, 0xef, 0xf9, 0xf4, 0x27, 0x15, 0xaa, 0xd7, 0xe5, 0x04, 0xda, + 0x87, 0x6c, 0x40, 0x9d, 0xf0, 0x5a, 0xcc, 0xab, 0x47, 0x5d, 0x46, 0x1d, 0xb7, 0x2f, 0xb1, 0x1c, + 0xc2, 0x8b, 0x99, 0x6f, 0x0d, 0xf0, 0x28, 0xba, 0x03, 0x8b, 0x82, 0x43, 0x94, 0x28, 0x86, 0x98, + 0x0d, 0x88, 0x1d, 0x0a, 0x8f, 0x85, 0xf1, 0x12, 0x85, 0x8e, 0xa1, 0x64, 0x06, 0x6c, 0x40, 0xa8, + 0xc3, 0x26, 0x0b, 0xe8, 0x8e, 0x24, 0xc5, 0x14, 0x88, 0xf4, 0x69, 0xe6, 0x94, 0xfa, 0x74, 0x7f, + 0x09, 0x31, 0xd6, 0x48, 0x66, 0xa7, 0x38, 0x9f, 0x72, 0x55, 0x29, 0x94, 0x22, 0x57, 0x27, 0x2b, + 0x52, 0x00, 0xa2, 0x1e, 0xac, 0xf8, 0x24, 0xa0, 0x16, 0x36, 0x86, 0x66, 0x0f, 0x0f, 0xb9, 0x0a, + 0xe1, 0xb3, 0x3d, 0x59, 0x66, 0xb6, 0xae, 0x20, 0x78, 0x2d, 0xf0, 0x72, 0xca, 0x8a, 0x9f, 0xe8, + 0xba, 0xa2, 0xde, 0x8b, 0x57, 0xd5, 0x7b, 0xad, 0x07, 0x95, 0x94, 0x54, 0x7a, 0x90, 0xbc, 0x61, + 0x8b, 0xc7, 0x32, 0x71, 0x83, 0x9f, 0xc2, 0xda, 0x8c, 0x8b, 0x4b, 0x5d, 0xe5, 0xbf, 0xa9, 0xb0, + 0x7e, 0x93, 0x5a, 0x45, 0x1d, 0x28, 0xdb, 0xd3, 0xe6, 0x02, 0xa7, 0x35, 0x79, 0xfc, 0x93, 0x50, + 0x9e, 0xb5, 0x2e, 0xb1, 0xd3, 0x1f, 0x48, 0x75, 0xaf, 0xea, 0x61, 0x6b, 0x9e, 0x5c, 0xc9, 0xa6, + 0xc9, 0x95, 0xdf, 0x28, 0xb7, 0xeb, 0x15, 0xf9, 0xf5, 0xf2, 0xa3, 0x25, 0xe5, 0xf9, 0x47, 0x97, + 0x2e, 0x6a, 0x8a, 0x74, 0xf9, 0xa5, 0x72, 0xab, 0x76, 0xc9, 0x8b, 0x15, 0xbc, 0xba, 0xeb, 0x0a, + 0xee, 0x28, 0x63, 0x0a, 0xcb, 0xcb, 0x98, 0xff, 0x43, 0x11, 0xc2, 0xa0, 0xfa, 0xbf, 0x3f, 0xcb, + 0xf5, 0xbf, 0x64, 0x60, 0x6d, 0xa6, 0x90, 0xa0, 0x26, 0x7c, 0x2d, 0x01, 0x36, 0xfc, 0xa0, 0xe7, + 0xe2, 0xf8, 0xfb, 0x1f, 0x25, 0x86, 0xba, 0x72, 0x24, 0x4e, 0x63, 0x99, 0x44, 0x1a, 0xfb, 0x32, + 0x4e, 0x63, 0x12, 0x2f, 0x72, 0x77, 0x29, 0xca, 0x43, 0x12, 0x89, 0xac, 0xeb, 0xb9, 0x2e, 0x97, + 0x2a, 0x7f, 0x67, 0xdc, 0x5d, 0x2a, 0xd9, 0xa9, 0xd7, 0x92, 0xdd, 0x7f, 0x9c, 0x88, 0xfe, 0x91, + 0x01, 0x34, 0xab, 0x0f, 0xd0, 0x67, 0x50, 0xf2, 0x5d, 0xc7, 0x48, 0x3e, 0x9c, 0x14, 0x7d, 0xd7, + 0xe9, 0x88, 0xb7, 0x93, 0x5b, 0xe2, 0x9b, 0x49, 0x8d, 0x6f, 0x76, 0x5e, 0x7c, 0x73, 0x37, 0xc4, + 0xd7, 0xbe, 0x1e, 0x5f, 0x35, 0xf5, 0xa3, 0x68, 0x76, 0x31, 0x4b, 0x05, 0x38, 0xff, 0xb1, 0x03, + 0x7c, 0x08, 0x95, 0xe4, 0x63, 0x02, 0xc7, 0x46, 0x32, 0xa4, 0x24, 0xe5, 0xc5, 0xe7, 0xc9, 0xf2, + 0x2e, 0xf1, 0xd3, 0x8e, 0xfa, 0x13, 0x28, 0x27, 0x1e, 0x12, 0x96, 0x86, 0x63, 0x28, 0x27, 0x6a, + 0x18, 0xda, 0x00, 0x15, 0x8f, 0x4d, 0x2b, 0x7c, 0x07, 0xea, 0xdc, 0xd3, 0x65, 0x13, 0x69, 0x90, + 0xf7, 0x28, 0x3e, 0x77, 0xc6, 0x92, 0xa1, 0x73, 0x4f, 0x0f, 0xdb, 0x1c, 0x41, 0x71, 0x1f, 0x8f, + 0xe5, 0xf9, 0xe7, 0x08, 0xd1, 0x6c, 0x57, 0x00, 0x84, 0x5e, 0x33, 0xd8, 0xc4, 0xc3, 0xf5, 0x5f, + 0x2b, 0xe1, 0xab, 0x0f, 0xe6, 0xf1, 0xa9, 0x41, 0xd1, 0x64, 0x0c, 0x8f, 0x3c, 0x71, 0x78, 0xf8, + 0x85, 0x8d, 0xdb, 0xa8, 0x05, 0xf7, 0x3d, 0x4c, 0x0d, 0x46, 0x27, 0x46, 0xf4, 0xb6, 0x91, 0x49, + 0x7b, 0xdb, 0x58, 0xf1, 0x30, 0x3d, 0xa3, 0x93, 0xb3, 0xf0, 0x85, 0x63, 0x93, 0x7f, 0x95, 0x70, + 0x02, 0xe2, 0x86, 0xb7, 0x52, 0x3c, 0x5e, 0x4c, 0x4e, 0xdc, 0xfa, 0x1f, 0x33, 0x00, 0xd3, 0xa7, + 0x00, 0xf4, 0x05, 0x54, 0xcc, 0xe1, 0x90, 0x5c, 0x1a, 0x84, 0x3a, 0x7d, 0xc7, 0x0d, 0x4f, 0x72, + 0x59, 0xf4, 0x9d, 0x88, 0x2e, 0x7e, 0x0e, 0xa5, 0x89, 0x14, 0x5b, 0xd1, 0x31, 0x96, 0xb8, 0x37, + 0xb2, 0x6f, 0x6a, 0x74, 0xa5, 0x52, 0x86, 0x46, 0x51, 0x4e, 0xff, 0x0a, 0x56, 0xf1, 0xd8, 0x23, + 0xd7, 0x4a, 0x62, 0x49, 0x5f, 0x91, 0xbd, 0x91, 0xd9, 0x2e, 0x14, 0x46, 0xe6, 0xd8, 0x30, 0xfb, + 0xf2, 0xdd, 0x67, 0xee, 0xc2, 0xf3, 0x23, 0x73, 0xdc, 0xea, 0x63, 0xf4, 0x12, 0xd6, 0xe4, 0xfc, + 0x16, 0xc5, 0x36, 0x76, 0x99, 0x63, 0x0e, 0xfd, 0xf0, 0x49, 0xa8, 0x36, 0x83, 0x6e, 0x13, 0x32, + 0x7c, 0xcb, 0xcf, 0x9f, 0x5e, 0x15, 0xa0, 0xa3, 0x29, 0xa6, 0xfe, 0x07, 0x15, 0xd0, 0xec, 0xab, + 0x0d, 0x7a, 0x05, 0xaa, 0x8d, 0x87, 0xe6, 0x64, 0x91, 0x8f, 0xc6, 0x19, 0x74, 0xe3, 0x98, 0x43, + 0x75, 0xc9, 0xc0, 0xa9, 0xcc, 0x5e, 0x94, 0x4c, 0x97, 0xa6, 0x6a, 0x71, 0xa8, 0x2e, 0x19, 0x6a, + 0xbf, 0xca, 0x80, 0x2a, 0xb8, 0xd1, 0xe7, 0x50, 0xf0, 0x30, 0xb5, 0xb0, 0x2b, 0x0f, 0xae, 0x2a, + 0x2a, 0x6b, 0xd4, 0x85, 0x0e, 0xa0, 0x7c, 0xee, 0x8c, 0xb1, 0x6d, 0xc8, 0x35, 0xa4, 0x1d, 0xa7, + 0xce, 0x3d, 0x1d, 0x84, 0xbd, 0xe4, 0xee, 0xc0, 0x1a, 0xdf, 0x20, 0x57, 0x86, 0x28, 0xe4, 0xc8, + 0xa6, 0x73, 0x54, 0x13, 0x28, 0xc9, 0xd4, 0x06, 0x08, 0x5d, 0x9a, 0x6e, 0xee, 0xbc, 0xba, 0x7e, + 0x2a, 0x8d, 0xf5, 0x04, 0xaa, 0xbd, 0x06, 0xf7, 0x07, 0x8c, 0x79, 0xd2, 0x0d, 0x71, 0xb7, 0x6a, + 0xef, 0x15, 0x50, 0x45, 0x5c, 0x52, 0xc2, 0xf0, 0x05, 0x94, 0x05, 0xd4, 0x67, 0x26, 0x0b, 0x7c, + 0x59, 0x29, 0xf9, 0x5a, 0x79, 0x67, 0x57, 0xf4, 0x71, 0x93, 0x3e, 0xf5, 0xac, 0xc8, 0x24, 0xba, + 0xd2, 0xc0, 0x3b, 0xa7, 0x26, 0x1c, 0xb0, 0x6b, 0x60, 0xf1, 0x7c, 0x97, 0x8b, 0x4c, 0x44, 0xe7, + 0x73, 0xf1, 0x38, 0xf7, 0x31, 0xd6, 0x59, 0x01, 0x10, 0x13, 0xc8, 0xf4, 0xf1, 0x02, 0x2a, 0xc9, + 0xa7, 0x64, 0x9e, 0x8e, 0xdc, 0x60, 0xd4, 0xc3, 0x54, 0xac, 0x73, 0x85, 0xa7, 0x23, 0xd9, 0x46, + 0xeb, 0x90, 0x73, 0xcd, 0xf0, 0x4b, 0x8c, 0xfb, 0x25, 0x5a, 0xed, 0xbc, 0x2c, 0x30, 0xf5, 0xaf, + 0x43, 0x21, 0x9c, 0x6c, 0x9a, 0x91, 0x39, 0x83, 0x12, 0x66, 0xe4, 0x76, 0xe3, 0xaf, 0x1f, 0xb6, + 0x94, 0xbf, 0x7f, 0xd8, 0x52, 0xde, 0x7f, 0xd8, 0x52, 0x7e, 0xba, 0x2d, 0x7d, 0x76, 0x48, 0xd3, + 0xf4, 0x9c, 0xe6, 0x0d, 0xff, 0xc0, 0xe8, 0xe5, 0xc5, 0xce, 0xef, 0xfd, 0x3b, 0x00, 0x00, 0xff, + 0xff, 0x73, 0x7c, 0x3f, 0xb9, 0xde, 0x18, 0x00, 0x00, +} + func (m *VirtualService) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2286,6 +3133,9 @@ func (m *VirtualService) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2326,6 +3176,9 @@ func (m *Destination) MarshalTo(dAtA []byte) (int, error) { } i += n1 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2541,6 +3394,9 @@ func (m *HTTPRoute) MarshalTo(dAtA []byte) (int, error) { } i += n9 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2579,6 +3435,9 @@ func (m *Headers) MarshalTo(dAtA []byte) (int, error) { } i += n11 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2646,6 +3505,9 @@ func (m *Headers_HeaderOperations) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2688,6 +3550,9 @@ func (m *TLSRoute) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2730,6 +3595,9 @@ func (m *TCPRoute) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2853,6 +3721,9 @@ func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2960,6 +3831,9 @@ func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error) { } i += n18 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -2993,6 +3867,9 @@ func (m *RouteDestination) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3069,6 +3946,9 @@ func (m *L4MatchAttributes) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3160,6 +4040,9 @@ func (m *TLSMatchAttributes) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3190,6 +4073,9 @@ func (m *HTTPRedirect) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority))) i += copy(dAtA[i:], m.Authority) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3220,6 +4106,9 @@ func (m *HTTPRewrite) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.Authority))) i += copy(dAtA[i:], m.Authority) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3245,6 +4134,9 @@ func (m *StringMatch) MarshalTo(dAtA []byte) (int, error) { } i += nn20 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3308,6 +4200,9 @@ func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(len(m.RetryOn))) i += copy(dAtA[i:], m.RetryOn) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3406,6 +4301,9 @@ func (m *CorsPolicy) MarshalTo(dAtA []byte) (int, error) { } i += n23 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3444,6 +4342,9 @@ func (m *HTTPFaultInjection) MarshalTo(dAtA []byte) (int, error) { } i += n25 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3484,6 +4385,9 @@ func (m *HTTPFaultInjection_Delay) MarshalTo(dAtA []byte) (int, error) { } i += n27 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3552,6 +4456,9 @@ func (m *HTTPFaultInjection_Abort) MarshalTo(dAtA []byte) (int, error) { } i += n31 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3600,6 +4507,9 @@ func (m *PortSelector) MarshalTo(dAtA []byte) (int, error) { } i += nn32 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3636,9 +4546,12 @@ func (m *Percent) MarshalTo(dAtA []byte) (int, error) { if m.Value != 0 { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) i += 8 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -3652,6 +4565,9 @@ func encodeVarintVirtualService(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *VirtualService) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Hosts) > 0 { @@ -3690,10 +4606,16 @@ func (m *VirtualService) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Destination) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Host) @@ -3708,10 +4630,16 @@ func (m *Destination) Size() (n int) { l = m.Port.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRoute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Match) > 0 { @@ -3797,10 +4725,16 @@ func (m *HTTPRoute) Size() (n int) { l = m.Headers.Size() n += 2 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Headers) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Request != nil { @@ -3811,10 +4745,16 @@ func (m *Headers) Size() (n int) { l = m.Response.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Headers_HeaderOperations) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Set) > 0 { @@ -3839,10 +4779,16 @@ func (m *Headers_HeaderOperations) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TLSRoute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Match) > 0 { @@ -3857,10 +4803,16 @@ func (m *TLSRoute) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TCPRoute) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Match) > 0 { @@ -3875,10 +4827,16 @@ func (m *TCPRoute) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPMatchRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Uri != nil { @@ -3927,10 +4885,16 @@ func (m *HTTPMatchRequest) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRouteDestination) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Destination != nil { @@ -3972,10 +4936,16 @@ func (m *HTTPRouteDestination) Size() (n int) { l = m.Headers.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *RouteDestination) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Destination != nil { @@ -3985,10 +4955,16 @@ func (m *RouteDestination) Size() (n int) { if m.Weight != 0 { n += 1 + sovVirtualService(uint64(m.Weight)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *L4MatchAttributes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.DestinationSubnets) > 0 { @@ -4018,10 +4994,16 @@ func (m *L4MatchAttributes) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *TLSMatchAttributes) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.SniHosts) > 0 { @@ -4057,10 +5039,16 @@ func (m *TLSMatchAttributes) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRedirect) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Uri) @@ -4071,10 +5059,16 @@ func (m *HTTPRedirect) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPRewrite) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Uri) @@ -4085,19 +5079,31 @@ func (m *HTTPRewrite) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *StringMatch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.MatchType != nil { n += m.MatchType.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *StringMatch_Exact) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Exact) @@ -4105,6 +5111,9 @@ func (m *StringMatch_Exact) Size() (n int) { return n } func (m *StringMatch_Prefix) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Prefix) @@ -4112,6 +5121,9 @@ func (m *StringMatch_Prefix) Size() (n int) { return n } func (m *StringMatch_Regex) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Regex) @@ -4119,6 +5131,9 @@ func (m *StringMatch_Regex) Size() (n int) { return n } func (m *HTTPRetry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Attempts != 0 { @@ -4132,10 +5147,16 @@ func (m *HTTPRetry) Size() (n int) { if l > 0 { n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *CorsPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.AllowOrigin) > 0 { @@ -4170,10 +5191,16 @@ func (m *CorsPolicy) Size() (n int) { l = m.AllowCredentials.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Delay != nil { @@ -4184,10 +5211,16 @@ func (m *HTTPFaultInjection) Size() (n int) { l = m.Abort.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection_Delay) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Percent != 0 { @@ -4200,10 +5233,16 @@ func (m *HTTPFaultInjection_Delay) Size() (n int) { l = m.Percentage.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FixedDelay != nil { @@ -4213,6 +5252,9 @@ func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int) { return n } func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ExponentialDelay != nil { @@ -4222,6 +5264,9 @@ func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int) { return n } func (m *HTTPFaultInjection_Abort) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Percent != 0 { @@ -4234,16 +5279,25 @@ func (m *HTTPFaultInjection_Abort) Size() (n int) { l = m.Percentage.Size() n += 1 + l + sovVirtualService(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *HTTPFaultInjection_Abort_HttpStatus) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovVirtualService(uint64(m.HttpStatus)) return n } func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.GrpcStatus) @@ -4251,6 +5305,9 @@ func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int) { return n } func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Http2Error) @@ -4258,21 +5315,33 @@ func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int) { return n } func (m *PortSelector) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Port != nil { n += m.Port.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *PortSelector_Number) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovVirtualService(uint64(m.Number)) return n } func (m *PortSelector_Name) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -4280,11 +5349,17 @@ func (m *PortSelector_Name) Size() (n int) { return n } func (m *Percent) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 9 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -4316,7 +5391,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4344,7 +5419,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4354,6 +5429,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4373,7 +5451,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4383,6 +5461,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4402,7 +5483,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4411,6 +5492,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4433,7 +5517,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4442,6 +5526,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4464,7 +5551,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4473,6 +5560,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4495,7 +5585,7 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4505,6 +5595,9 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4519,9 +5612,13 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4546,7 +5643,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4574,7 +5671,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4584,6 +5681,9 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4603,7 +5703,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4613,6 +5713,9 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4632,7 +5735,7 @@ func (m *Destination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4641,6 +5744,9 @@ func (m *Destination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4660,9 +5766,13 @@ func (m *Destination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -4687,7 +5797,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4715,7 +5825,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4724,6 +5834,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4746,7 +5859,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4755,6 +5868,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4777,7 +5893,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4786,6 +5902,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4810,7 +5929,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4819,6 +5938,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4843,7 +5965,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4863,7 +5985,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4872,11 +5994,14 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Timeout == nil { - m.Timeout = &google_protobuf.Duration{} + m.Timeout = &types.Duration{} } if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4896,7 +6021,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4905,6 +6030,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4929,7 +6057,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4938,6 +6066,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4962,7 +6093,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4971,6 +6102,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4995,7 +6129,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5004,6 +6138,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5028,7 +6165,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5037,6 +6174,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5057,7 +6197,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5074,7 +6214,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5084,6 +6224,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5100,7 +6243,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5110,6 +6253,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5146,7 +6292,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5156,6 +6302,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5175,7 +6324,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5184,6 +6333,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5204,7 +6356,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5221,7 +6373,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5231,6 +6383,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5247,7 +6402,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5257,6 +6412,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5293,7 +6451,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5303,6 +6461,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5322,7 +6483,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5331,6 +6492,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5351,7 +6515,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5368,7 +6532,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5378,6 +6542,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5394,7 +6561,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5404,6 +6571,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5440,7 +6610,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5449,6 +6619,9 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5468,9 +6641,13 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5495,7 +6672,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5523,7 +6700,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5532,6 +6709,9 @@ func (m *Headers) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5556,7 +6736,7 @@ func (m *Headers) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5565,6 +6745,9 @@ func (m *Headers) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5584,9 +6767,13 @@ func (m *Headers) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5611,7 +6798,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5639,7 +6826,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5648,6 +6835,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5668,7 +6858,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5685,7 +6875,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5695,6 +6885,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5711,7 +6904,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5721,6 +6914,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5757,7 +6953,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5766,6 +6962,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5786,7 +6985,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5803,7 +7002,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5813,6 +7012,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -5829,7 +7031,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5839,6 +7041,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -5875,7 +7080,7 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5885,6 +7090,9 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5899,9 +7107,13 @@ func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -5926,7 +7138,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5954,7 +7166,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5963,6 +7175,9 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5985,7 +7200,7 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5994,6 +7209,9 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6011,9 +7229,13 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6038,7 +7260,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6066,7 +7288,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6075,6 +7297,9 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6097,7 +7322,7 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6106,6 +7331,9 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6123,9 +7351,13 @@ func (m *TCPRoute) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6150,7 +7382,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6178,7 +7410,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6187,6 +7419,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6211,7 +7446,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6220,6 +7455,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6244,7 +7482,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6253,6 +7491,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6277,7 +7518,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6286,6 +7527,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6310,7 +7554,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6319,6 +7563,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6339,7 +7586,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6356,7 +7603,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6366,6 +7613,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6382,7 +7632,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6391,7 +7641,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthVirtualService } if postmsgIndex > l { @@ -6433,7 +7683,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -6452,7 +7702,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6461,6 +7711,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6481,7 +7734,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6498,7 +7751,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6508,6 +7761,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6524,7 +7780,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6534,6 +7790,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6570,7 +7829,7 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6580,6 +7839,9 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6594,9 +7856,13 @@ func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -6621,7 +7887,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6649,7 +7915,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6658,6 +7924,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6682,7 +7951,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= (int32(b) & 0x7F) << shift + m.Weight |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -6701,7 +7970,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6711,6 +7980,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6730,7 +8002,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6739,6 +8011,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6759,7 +8034,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6776,7 +8051,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6786,6 +8061,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6802,7 +8080,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6812,6 +8090,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6848,7 +8129,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6858,6 +8139,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6877,7 +8161,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6886,6 +8170,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6906,7 +8193,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6923,7 +8210,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6933,6 +8220,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6949,7 +8239,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6959,6 +8249,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6995,7 +8288,7 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7004,6 +8297,9 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7023,9 +8319,13 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7050,7 +8350,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7078,7 +8378,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7087,6 +8387,9 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7111,7 +8414,7 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Weight |= (int32(b) & 0x7F) << shift + m.Weight |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -7125,9 +8428,13 @@ func (m *RouteDestination) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7152,7 +8459,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7180,7 +8487,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7190,6 +8497,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7209,7 +8519,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -7228,7 +8538,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7238,6 +8548,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7257,7 +8570,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7266,6 +8579,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7286,7 +8602,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7303,7 +8619,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7313,6 +8629,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -7329,7 +8648,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7339,6 +8658,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -7375,7 +8697,7 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7385,6 +8707,9 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7399,9 +8724,13 @@ func (m *L4MatchAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7426,7 +8755,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7454,7 +8783,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7464,6 +8793,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7483,7 +8815,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7493,6 +8825,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7512,7 +8847,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Port |= (uint32(b) & 0x7F) << shift + m.Port |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -7531,7 +8866,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7541,6 +8876,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7560,7 +8898,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -7569,6 +8907,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7589,7 +8930,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7606,7 +8947,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7616,6 +8957,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -7632,7 +8976,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7642,6 +8986,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthVirtualService + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -7678,7 +9025,7 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7688,6 +9035,9 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7702,9 +9052,13 @@ func (m *TLSMatchAttributes) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7729,7 +9083,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7757,7 +9111,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7767,6 +9121,9 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7786,7 +9143,7 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7796,6 +9153,9 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7810,9 +9170,13 @@ func (m *HTTPRedirect) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7837,7 +9201,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7865,7 +9229,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7875,6 +9239,9 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7894,7 +9261,7 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7904,6 +9271,9 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -7918,9 +9288,13 @@ func (m *HTTPRewrite) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -7945,7 +9319,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7973,7 +9347,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7983,6 +9357,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8002,7 +9379,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8012,6 +9389,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8031,7 +9411,7 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8041,6 +9421,9 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8055,9 +9438,13 @@ func (m *StringMatch) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8082,7 +9469,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8110,7 +9497,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Attempts |= (int32(b) & 0x7F) << shift + m.Attempts |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8129,7 +9516,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8138,11 +9525,14 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.PerTryTimeout == nil { - m.PerTryTimeout = &google_protobuf.Duration{} + m.PerTryTimeout = &types.Duration{} } if err := m.PerTryTimeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8162,7 +9552,7 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8172,6 +9562,9 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8186,9 +9579,13 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8213,7 +9610,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8241,7 +9638,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8251,6 +9648,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8270,7 +9670,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8280,6 +9680,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8299,7 +9702,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8309,6 +9712,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8328,7 +9734,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8338,6 +9744,9 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8357,7 +9766,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8366,11 +9775,14 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.MaxAge == nil { - m.MaxAge = &google_protobuf.Duration{} + m.MaxAge = &types.Duration{} } if err := m.MaxAge.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8390,7 +9802,7 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8399,11 +9811,14 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } if m.AllowCredentials == nil { - m.AllowCredentials = &google_protobuf1.BoolValue{} + m.AllowCredentials = &types.BoolValue{} } if err := m.AllowCredentials.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8418,9 +9833,13 @@ func (m *CorsPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8445,7 +9864,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8473,7 +9892,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8482,6 +9901,9 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8506,7 +9928,7 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8515,6 +9937,9 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8534,9 +9959,13 @@ func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8561,7 +9990,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8589,7 +10018,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Percent |= (int32(b) & 0x7F) << shift + m.Percent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8608,7 +10037,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8617,10 +10046,13 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } - v := &google_protobuf.Duration{} + v := &types.Duration{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -8640,7 +10072,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8649,10 +10081,13 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } - v := &google_protobuf.Duration{} + v := &types.Duration{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -8672,7 +10107,7 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8681,6 +10116,9 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8700,9 +10138,13 @@ func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8727,7 +10169,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8755,7 +10197,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Percent |= (int32(b) & 0x7F) << shift + m.Percent |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8774,7 +10216,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -8794,7 +10236,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8804,6 +10246,9 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8823,7 +10268,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8833,6 +10278,9 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8852,7 +10300,7 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -8861,6 +10309,9 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8880,9 +10331,13 @@ func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -8907,7 +10362,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8935,7 +10390,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint32(b) & 0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -8955,7 +10410,7 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8965,6 +10420,9 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthVirtualService } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVirtualService + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -8979,9 +10437,13 @@ func (m *PortSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9006,7 +10468,7 @@ func (m *Percent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -9028,7 +10490,7 @@ func (m *Percent) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Value = float64(math.Float64frombits(v)) default: @@ -9040,9 +10502,13 @@ func (m *Percent) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthVirtualService } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthVirtualService + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -9106,10 +10572,13 @@ func skipVirtualService(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthVirtualService } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthVirtualService + } return iNdEx, nil case 3: for { @@ -9138,6 +10607,9 @@ func skipVirtualService(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthVirtualService + } } return iNdEx, nil case 4: @@ -9156,123 +10628,3 @@ var ( ErrInvalidLengthVirtualService = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVirtualService = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("networking/v1alpha3/virtual_service.proto", fileDescriptorVirtualService) -} - -var fileDescriptorVirtualService = []byte{ - // 1785 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xe3, 0x48, - 0x15, 0x1f, 0xd9, 0x96, 0xff, 0x3c, 0x3b, 0x19, 0xa7, 0xc9, 0x66, 0x15, 0xef, 0x56, 0xc8, 0x7a, - 0x59, 0x08, 0xb5, 0xac, 0x5d, 0x24, 0xb0, 0xa4, 0x96, 0x6c, 0x76, 0xed, 0x64, 0x66, 0x3d, 0xd4, - 0x0c, 0x49, 0xc9, 0x61, 0x0e, 0x5c, 0x54, 0xb2, 0xd4, 0xb1, 0xc5, 0xc8, 0x6a, 0xd1, 0x6a, 0x25, - 0x76, 0x71, 0xe4, 0xdf, 0x19, 0x8a, 0x2b, 0xc5, 0xf7, 0xe0, 0xc2, 0x95, 0x13, 0xc5, 0x27, 0xa0, - 0xa6, 0xe6, 0xc0, 0x95, 0xaf, 0x40, 0x75, 0xb7, 0x24, 0x2b, 0x71, 0x62, 0xd9, 0x61, 0xa0, 0x38, - 0xc5, 0xdd, 0xfd, 0x7e, 0xbf, 0x7e, 0xfd, 0xba, 0xfb, 0xbd, 0x9f, 0x3a, 0xf0, 0x6d, 0x0f, 0xb3, - 0x6b, 0x42, 0x5f, 0x39, 0xde, 0xb0, 0x7d, 0xf5, 0x5d, 0xd3, 0xf5, 0x47, 0xe6, 0x41, 0xfb, 0xca, - 0xa1, 0x2c, 0x34, 0x5d, 0x23, 0xc0, 0xf4, 0xca, 0xb1, 0x70, 0xcb, 0xa7, 0x84, 0x11, 0xb4, 0xed, - 0x04, 0xcc, 0x21, 0xad, 0x19, 0xa0, 0x15, 0x03, 0x1a, 0x3b, 0x43, 0x42, 0x86, 0x2e, 0x6e, 0x0b, - 0xc3, 0x41, 0x78, 0xd9, 0xb6, 0x43, 0x6a, 0x32, 0x87, 0x78, 0x12, 0x3a, 0x3f, 0x7e, 0x4d, 0x4d, - 0xdf, 0xc7, 0x34, 0x90, 0xe3, 0xcd, 0xdf, 0xe6, 0x60, 0xfd, 0xa5, 0x9c, 0xb4, 0x2f, 0xe7, 0x44, - 0x9b, 0xa0, 0x8e, 0x48, 0xc0, 0x02, 0x4d, 0xd9, 0xcd, 0xef, 0x55, 0x74, 0xd9, 0x40, 0x0d, 0x28, - 0x0f, 0x4d, 0x86, 0xaf, 0xcd, 0x69, 0xa0, 0xe5, 0xc4, 0x40, 0xd2, 0x46, 0x87, 0x50, 0x18, 0x31, - 0xe6, 0x6b, 0xf9, 0xdd, 0xfc, 0x5e, 0x75, 0xff, 0x1b, 0xad, 0x7b, 0xdd, 0x6d, 0xf5, 0x2e, 0x2e, - 0xce, 0x75, 0x12, 0x32, 0xac, 0x0b, 0x04, 0xfa, 0x3e, 0xe4, 0x99, 0xe5, 0x6b, 0x05, 0x01, 0xfc, - 0x70, 0x01, 0xf0, 0xe2, 0x24, 0xc2, 0x71, 0x7b, 0x01, 0x73, 0x03, 0x4d, 0xcd, 0x86, 0x3d, 0xef, - 0xc7, 0x30, 0x37, 0x40, 0xef, 0x41, 0x05, 0x4f, 0x7c, 0x42, 0x99, 0xc1, 0x88, 0x56, 0x94, 0x8b, - 0x90, 0x1d, 0x17, 0xa4, 0x79, 0x05, 0xd5, 0x53, 0x1c, 0x30, 0xc7, 0x13, 0xe1, 0x43, 0x08, 0x0a, - 0x7c, 0xe1, 0x9a, 0xb2, 0xab, 0xec, 0x55, 0x74, 0xf1, 0x1b, 0x6d, 0x41, 0x31, 0x08, 0x07, 0x01, - 0x66, 0x5a, 0x4e, 0xf4, 0x46, 0x2d, 0xf4, 0x43, 0x28, 0x70, 0x12, 0x2d, 0xbf, 0xab, 0xec, 0x55, - 0xf7, 0xbf, 0xb5, 0xc0, 0x9f, 0x73, 0x42, 0x59, 0x1f, 0xbb, 0xd8, 0x62, 0x84, 0xea, 0x02, 0xd4, - 0xfc, 0x17, 0x40, 0x25, 0x09, 0x0b, 0xea, 0x80, 0x3a, 0x36, 0x99, 0x35, 0x12, 0xc1, 0xaf, 0xee, - 0x7f, 0x9c, 0x11, 0xcb, 0x17, 0xdc, 0x56, 0xc7, 0x3f, 0x0f, 0x71, 0xc0, 0x74, 0x89, 0x44, 0x4f, - 0x40, 0xa5, 0x9c, 0x4b, 0x6c, 0x53, 0x75, 0xbf, 0xbd, 0xcc, 0x76, 0xa4, 0x56, 0xae, 0x4b, 0x34, - 0x3a, 0x81, 0x32, 0xc5, 0xb6, 0x43, 0xb1, 0xb5, 0xcc, 0xc2, 0x04, 0x53, 0x64, 0xae, 0x27, 0x40, - 0xf4, 0x25, 0x94, 0x28, 0xbe, 0xa6, 0x0e, 0xc3, 0x5a, 0x41, 0x70, 0x7c, 0x33, 0x93, 0x43, 0x58, - 0xeb, 0x31, 0x0c, 0x7d, 0x0c, 0x1b, 0xd7, 0x78, 0x10, 0x10, 0xeb, 0x15, 0x66, 0x46, 0xe8, 0x0f, - 0xa9, 0x69, 0x63, 0x4d, 0xdd, 0x55, 0xf6, 0xca, 0x7a, 0x3d, 0x19, 0xf8, 0x89, 0xec, 0x47, 0x07, - 0x50, 0x62, 0xce, 0x18, 0x93, 0x90, 0x69, 0x45, 0x31, 0xdd, 0x76, 0x4b, 0x9e, 0xff, 0x56, 0x7c, - 0xfe, 0x5b, 0xa7, 0xd1, 0xfd, 0xd0, 0x63, 0x4b, 0x74, 0xcc, 0x7d, 0x64, 0xd4, 0xc1, 0x81, 0x56, - 0x12, 0xa0, 0xcc, 0x03, 0x8c, 0x19, 0x9d, 0xea, 0x31, 0x08, 0x9d, 0x80, 0x7a, 0x69, 0x86, 0x2e, - 0xd3, 0xca, 0x02, 0xfd, 0x49, 0x06, 0xfa, 0x29, 0xb7, 0x7d, 0xe6, 0xfd, 0x0c, 0x5b, 0x32, 0xda, - 0x02, 0x8b, 0x8e, 0xa1, 0x38, 0x76, 0x28, 0x25, 0x54, 0xab, 0x64, 0xc6, 0x29, 0xbd, 0x59, 0x11, - 0x0a, 0x3d, 0x85, 0xaa, 0x45, 0x68, 0x60, 0xf8, 0xc4, 0x75, 0xac, 0xa9, 0x06, 0x82, 0xe4, 0xa3, - 0x05, 0x24, 0x27, 0x84, 0x06, 0xe7, 0xc2, 0x58, 0x07, 0x2b, 0xf9, 0x8d, 0x06, 0xb0, 0xce, 0xf3, - 0x83, 0x67, 0x1b, 0x23, 0x6c, 0xda, 0x98, 0x06, 0x5a, 0x55, 0x9c, 0xa2, 0x1f, 0x2c, 0x73, 0x8a, - 0x5a, 0x1d, 0x01, 0xed, 0x49, 0xe4, 0x13, 0x8f, 0xd1, 0x69, 0x37, 0xa7, 0x29, 0xfa, 0x9a, 0x99, - 0xee, 0x47, 0x9f, 0xc1, 0xbb, 0x14, 0x8f, 0xc9, 0x15, 0x36, 0x28, 0x0e, 0x7c, 0xe2, 0x05, 0x38, - 0x99, 0xac, 0xc6, 0x2f, 0xa5, 0xc0, 0xbc, 0x23, 0x4d, 0xf4, 0xc8, 0x22, 0xc6, 0xfe, 0x02, 0xde, - 0x8d, 0xfc, 0x9b, 0xc3, 0xae, 0x09, 0x47, 0xbf, 0x58, 0xc1, 0xd1, 0x5b, 0xe4, 0x33, 0x87, 0xdf, - 0x31, 0xef, 0x1a, 0x47, 0x87, 0xb0, 0x95, 0x38, 0x2e, 0xae, 0x5c, 0x32, 0xf7, 0x7a, 0xe2, 0xf7, - 0x66, 0xec, 0xb7, 0x30, 0x88, 0x91, 0x13, 0xd8, 0x4a, 0xdc, 0xbe, 0x89, 0x7c, 0x2c, 0xbc, 0x3e, - 0x5e, 0xc9, 0xeb, 0x34, 0xf5, 0xcc, 0xe9, 0x4d, 0xf3, 0x8e, 0x61, 0x74, 0x04, 0xa5, 0x78, 0xaa, - 0xba, 0x38, 0x14, 0xcd, 0x45, 0x53, 0x49, 0x4b, 0x3d, 0x86, 0x34, 0xbe, 0x04, 0x34, 0xbf, 0xa7, - 0xa8, 0x0e, 0xf9, 0x57, 0x78, 0x1a, 0xa5, 0x46, 0xfe, 0x93, 0xd7, 0x8c, 0x2b, 0xd3, 0x0d, 0x71, - 0x94, 0x18, 0x65, 0xe3, 0xb3, 0xdc, 0xa1, 0xd2, 0xe8, 0x41, 0xe3, 0xfe, 0x60, 0xaf, 0xc4, 0xf4, - 0x15, 0x6c, 0xdf, 0x1b, 0x80, 0x55, 0x88, 0x9a, 0xff, 0xcc, 0x43, 0x29, 0x0e, 0xcf, 0x0b, 0x7e, - 0xf9, 0x05, 0x9d, 0xc0, 0x56, 0xf7, 0x0f, 0xb2, 0xc3, 0x13, 0xfd, 0x3d, 0xf3, 0xb1, 0x4c, 0x25, - 0x81, 0x1e, 0x73, 0xa0, 0x33, 0x9e, 0x34, 0xe5, 0x3a, 0xc5, 0xbc, 0x0f, 0xe4, 0x4b, 0x48, 0x1a, - 0x7f, 0xce, 0x41, 0xfd, 0xf6, 0x30, 0xfa, 0x31, 0xe4, 0x79, 0x11, 0x92, 0x25, 0xe2, 0xe8, 0x01, - 0x13, 0xb4, 0xfa, 0x98, 0x89, 0xb8, 0xe9, 0x9c, 0x88, 0xf3, 0x99, 0xb6, 0x1d, 0xd5, 0x8b, 0x07, - 0xf1, 0x75, 0x6c, 0x3b, 0xe2, 0x33, 0x6d, 0x9b, 0xd7, 0x49, 0x79, 0x0b, 0x84, 0x22, 0xa8, 0xe8, - 0x51, 0xab, 0xf1, 0x29, 0x94, 0xe3, 0x89, 0x57, 0xda, 0xf9, 0x4f, 0xa1, 0x1c, 0x4f, 0xb0, 0xd2, - 0x46, 0xff, 0x5e, 0x81, 0x72, 0xac, 0x00, 0x78, 0x9a, 0x4e, 0x57, 0xd6, 0x4f, 0x16, 0xab, 0x06, - 0x51, 0x58, 0x3b, 0x8c, 0x51, 0x67, 0x10, 0x32, 0x1c, 0xc4, 0xb5, 0xb5, 0x73, 0xb3, 0xb6, 0x2e, - 0x2a, 0xcf, 0xf7, 0xd4, 0xd5, 0xe6, 0xef, 0xb8, 0x53, 0x91, 0x9a, 0x41, 0xdd, 0x9b, 0x4e, 0x7d, - 0x67, 0x01, 0xdf, 0xf3, 0xef, 0xfd, 0xf7, 0x7c, 0xfa, 0x93, 0x0a, 0xf5, 0xdb, 0x72, 0x02, 0x1d, - 0x42, 0x3e, 0xa4, 0x4e, 0x74, 0x2d, 0x16, 0xd5, 0xa3, 0x3e, 0xa3, 0x8e, 0x37, 0x94, 0x58, 0x0e, - 0xe1, 0xc5, 0x2c, 0xb0, 0x46, 0x78, 0x1c, 0xdf, 0x81, 0x65, 0xc1, 0x11, 0x4a, 0x14, 0x43, 0xcc, - 0x46, 0xc4, 0x8e, 0x84, 0xc7, 0xd2, 0x78, 0x89, 0x42, 0xa7, 0x50, 0x31, 0x43, 0x36, 0x22, 0xd4, - 0x61, 0xd3, 0x25, 0x74, 0x47, 0x9a, 0x62, 0x06, 0x44, 0xfa, 0x2c, 0x73, 0x4a, 0xa1, 0x79, 0xb8, - 0x82, 0x18, 0x6b, 0xa5, 0xb3, 0x53, 0x92, 0x4f, 0xb9, 0xaa, 0x14, 0x4a, 0x91, 0xab, 0x93, 0x35, - 0x29, 0x00, 0xd1, 0x00, 0xd6, 0x02, 0x12, 0x52, 0x0b, 0x1b, 0xae, 0x39, 0xc0, 0x2e, 0x57, 0x21, - 0x7c, 0xb6, 0xcf, 0x57, 0x99, 0xad, 0x2f, 0x08, 0x9e, 0x0b, 0xbc, 0x9c, 0xb2, 0x16, 0xa4, 0xba, - 0x6e, 0xa8, 0xf7, 0xf2, 0x4d, 0xf5, 0xde, 0x18, 0x40, 0x2d, 0x23, 0x95, 0x1e, 0xa5, 0x6f, 0xd8, - 0xf2, 0xb1, 0x4c, 0xdd, 0xe0, 0x2f, 0x60, 0x63, 0xce, 0xc5, 0x95, 0xae, 0xf2, 0xdf, 0x54, 0xd8, - 0xbc, 0x4b, 0xad, 0xa2, 0x1e, 0x54, 0xed, 0x59, 0x73, 0x89, 0xd3, 0x9a, 0x3e, 0xfe, 0x69, 0x28, - 0xcf, 0x5a, 0xd7, 0xd8, 0x19, 0x8e, 0xa4, 0xba, 0x57, 0xf5, 0xa8, 0xb5, 0x48, 0xae, 0xe4, 0xb3, - 0xe4, 0xca, 0x6f, 0x94, 0xfb, 0xf5, 0x8a, 0xfc, 0xe8, 0xf9, 0xd1, 0x8a, 0xf2, 0xfc, 0xad, 0x4b, - 0x17, 0x35, 0x43, 0xba, 0xfc, 0x52, 0xb9, 0x57, 0xbb, 0x14, 0xc5, 0x0a, 0x9e, 0x3d, 0x74, 0x05, - 0x0f, 0x94, 0x31, 0xa5, 0xd5, 0x65, 0xcc, 0xff, 0xa1, 0x08, 0x61, 0x50, 0xff, 0xdf, 0x9f, 0xe5, - 0xe6, 0x5f, 0x72, 0xb0, 0x31, 0x57, 0x48, 0x50, 0x1b, 0xbe, 0x96, 0x02, 0x1b, 0x41, 0x38, 0xf0, - 0x70, 0xf2, 0xfd, 0x8f, 0x52, 0x43, 0x7d, 0x39, 0x92, 0xa4, 0xb1, 0x5c, 0x2a, 0x8d, 0x7d, 0x98, - 0xa4, 0x31, 0x89, 0x17, 0xb9, 0xbb, 0x12, 0xe7, 0x21, 0x89, 0x44, 0xd6, 0xed, 0x5c, 0x57, 0xc8, - 0x94, 0xbf, 0x73, 0xee, 0xae, 0x94, 0xec, 0xd4, 0x5b, 0xc9, 0xee, 0x3f, 0x4e, 0x44, 0xff, 0xc8, - 0x01, 0x9a, 0xd7, 0x07, 0xe8, 0x3d, 0xa8, 0x04, 0x9e, 0x63, 0xa4, 0x1f, 0x4e, 0xca, 0x81, 0xe7, - 0xf4, 0xc4, 0xdb, 0xc9, 0x3d, 0xf1, 0xcd, 0x65, 0xc6, 0x37, 0xbf, 0x28, 0xbe, 0x85, 0x3b, 0xe2, - 0x6b, 0xdf, 0x8e, 0xaf, 0x9a, 0xf9, 0x51, 0x34, 0xbf, 0x98, 0x95, 0x02, 0x5c, 0x7c, 0xdb, 0x01, - 0x3e, 0x86, 0x5a, 0xfa, 0x31, 0x81, 0x63, 0x63, 0x19, 0x52, 0x91, 0xf2, 0xe2, 0xfd, 0x74, 0x79, - 0x97, 0xf8, 0x59, 0x47, 0xf3, 0x73, 0xa8, 0xa6, 0x1e, 0x12, 0x56, 0x86, 0x63, 0xa8, 0xa6, 0x6a, - 0x18, 0xda, 0x02, 0x15, 0x4f, 0x4c, 0x2b, 0x7a, 0x07, 0xea, 0x3d, 0xd2, 0x65, 0x13, 0x69, 0x50, - 0xf4, 0x29, 0xbe, 0x74, 0x26, 0x92, 0xa1, 0xf7, 0x48, 0x8f, 0xda, 0x1c, 0x41, 0xf1, 0x10, 0x4f, - 0xe4, 0xf9, 0xe7, 0x08, 0xd1, 0xec, 0xd6, 0x00, 0x84, 0x5e, 0x33, 0xd8, 0xd4, 0xc7, 0xcd, 0x5f, - 0x2b, 0xd1, 0xab, 0x0f, 0xe6, 0xf1, 0x69, 0x40, 0xd9, 0x64, 0x0c, 0x8f, 0x7d, 0x71, 0x78, 0xf8, - 0x85, 0x4d, 0xda, 0xa8, 0x03, 0x8f, 0x7d, 0x4c, 0x0d, 0x46, 0xa7, 0x46, 0xfc, 0xb6, 0x91, 0xcb, - 0x7a, 0xdb, 0x58, 0xf3, 0x31, 0xbd, 0xa0, 0xd3, 0x8b, 0xe8, 0x85, 0x63, 0x9b, 0x7f, 0x95, 0x70, - 0x02, 0xe2, 0x45, 0xb7, 0x52, 0x3c, 0x5e, 0x4c, 0xcf, 0xbc, 0xe6, 0x1f, 0x73, 0x00, 0xb3, 0xa7, - 0x00, 0xf4, 0x01, 0xd4, 0x4c, 0xd7, 0x25, 0xd7, 0x06, 0xa1, 0xce, 0xd0, 0xf1, 0xa2, 0x93, 0x5c, - 0x15, 0x7d, 0x67, 0xa2, 0x8b, 0x9f, 0x43, 0x69, 0x22, 0xc5, 0x56, 0x7c, 0x8c, 0x25, 0xee, 0x85, - 0xec, 0x9b, 0x19, 0xdd, 0xa8, 0x94, 0x91, 0x51, 0x9c, 0xd3, 0x3f, 0x82, 0x75, 0x3c, 0xf1, 0xc9, - 0xad, 0x92, 0x58, 0xd1, 0xd7, 0x64, 0x6f, 0x6c, 0xb6, 0x0f, 0xa5, 0xb1, 0x39, 0x31, 0xcc, 0xa1, - 0x7c, 0xf7, 0x59, 0xb8, 0xf0, 0xe2, 0xd8, 0x9c, 0x74, 0x86, 0x18, 0x7d, 0x05, 0x1b, 0x72, 0x7e, - 0x8b, 0x62, 0x1b, 0x7b, 0xcc, 0x31, 0xdd, 0x20, 0x7a, 0x12, 0x6a, 0xcc, 0xa1, 0xbb, 0x84, 0xb8, - 0x2f, 0xf9, 0xf9, 0xd3, 0xeb, 0x02, 0x74, 0x32, 0xc3, 0x34, 0xff, 0xa0, 0x02, 0x9a, 0x7f, 0xb5, - 0x41, 0xcf, 0x40, 0xb5, 0xb1, 0x6b, 0x4e, 0x97, 0xf9, 0x68, 0x9c, 0x43, 0xb7, 0x4e, 0x39, 0x54, - 0x97, 0x0c, 0x9c, 0xca, 0x1c, 0xc4, 0xc9, 0x74, 0x65, 0xaa, 0x0e, 0x87, 0xea, 0x92, 0xa1, 0xf1, - 0xab, 0x1c, 0xa8, 0x82, 0x1b, 0xbd, 0x0f, 0x25, 0x1f, 0x53, 0x0b, 0x7b, 0xf2, 0xe0, 0xaa, 0xa2, - 0xb2, 0xc6, 0x5d, 0xe8, 0x08, 0xaa, 0x97, 0xce, 0x04, 0xdb, 0x86, 0x5c, 0x43, 0xd6, 0x71, 0xea, - 0x3d, 0xd2, 0x41, 0xd8, 0x4b, 0xee, 0x1e, 0x6c, 0xf0, 0x0d, 0xf2, 0x64, 0x88, 0x22, 0x8e, 0x7c, - 0x36, 0x47, 0x3d, 0x85, 0x92, 0x4c, 0x5d, 0x80, 0xc8, 0xa5, 0xd9, 0xe6, 0x2e, 0xaa, 0xeb, 0xe7, - 0xd2, 0x58, 0x4f, 0xa1, 0xba, 0x1b, 0xf0, 0x78, 0xc4, 0x98, 0x2f, 0xdd, 0x10, 0x77, 0xab, 0xf1, - 0x5a, 0x01, 0x55, 0xc4, 0x25, 0x23, 0x0c, 0x1f, 0x40, 0x55, 0x40, 0x03, 0x66, 0xb2, 0x30, 0x90, - 0x95, 0x92, 0xaf, 0x95, 0x77, 0xf6, 0x45, 0x1f, 0x37, 0x19, 0x52, 0xdf, 0x8a, 0x4d, 0xe2, 0x2b, - 0x0d, 0xbc, 0x73, 0x66, 0xc2, 0x01, 0xfb, 0x06, 0x16, 0xcf, 0x77, 0x85, 0xd8, 0x44, 0x74, 0x3e, - 0x11, 0x8f, 0x73, 0x6f, 0x63, 0x9d, 0x35, 0x00, 0x31, 0x81, 0x4c, 0x1f, 0x4f, 0xa1, 0x96, 0x7e, - 0x4a, 0xe6, 0xe9, 0xc8, 0x0b, 0xc7, 0x03, 0x4c, 0xc5, 0x3a, 0xd7, 0x78, 0x3a, 0x92, 0x6d, 0xb4, - 0x09, 0x05, 0xcf, 0x8c, 0xbe, 0xc4, 0xb8, 0x5f, 0xa2, 0xd5, 0x2d, 0xca, 0x02, 0xd3, 0xfc, 0x3a, - 0x94, 0xa2, 0xc9, 0x66, 0x19, 0x99, 0x33, 0x28, 0x51, 0x46, 0xee, 0xb6, 0xfe, 0xfa, 0x66, 0x47, - 0xf9, 0xfb, 0x9b, 0x1d, 0xe5, 0xf5, 0x9b, 0x1d, 0xe5, 0xa7, 0xbb, 0xd2, 0x67, 0x87, 0xb4, 0x4d, - 0xdf, 0x69, 0xdf, 0xf1, 0x0f, 0x8c, 0x41, 0x51, 0xec, 0xfc, 0xc1, 0xbf, 0x03, 0x00, 0x00, 0xff, - 0xff, 0x3d, 0x3a, 0x29, 0x1e, 0xde, 0x18, 0x00, 0x00, -} diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go index 30d0befa927..331e46b523c 100644 --- a/policy/v1beta1/cfg.pb.go +++ b/policy/v1beta1/cfg.pb.go @@ -1,59 +1,22 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: policy/v1beta1/cfg.proto -/* - Package v1beta1 is a generated protocol buffer package. - - It is generated from these files: - policy/v1beta1/cfg.proto - policy/v1beta1/http_response.proto - policy/v1beta1/type.proto - policy/v1beta1/value_type.proto - - It has these top-level messages: - AttributeManifest - Rule - Action - Instance - Handler - Connection - Sampling - RandomSampling - RateLimitSampling - FractionalPercent - Authentication - Tls - OAuth - Mutual - DirectHttpResponse - Value - IPAddress - Duration - TimeStamp - DNSName - EmailAddress - Uri -*/ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import google_protobuf1 "github.com/gogo/protobuf/types" -import _ "github.com/gogo/protobuf/types" - -import time "time" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import types "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + io "io" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -84,6 +47,7 @@ var Rule_HeaderOperationTemplate_Operation_name = map[int32]string{ 1: "REMOVE", 2: "APPEND", } + var Rule_HeaderOperationTemplate_Operation_value = map[string]int32{ "REPLACE": 0, "REMOVE": 1, @@ -91,7 +55,7 @@ var Rule_HeaderOperationTemplate_Operation_value = map[string]int32{ } func (Rule_HeaderOperationTemplate_Operation) EnumDescriptor() ([]byte, []int) { - return fileDescriptorCfg, []int{1, 0, 0} + return fileDescriptor_dfb7777e81b6b919, []int{1, 0, 0} } // Fraction percentages support several fixed denominator values. @@ -112,13 +76,14 @@ var FractionalPercent_DenominatorType_name = map[int32]string{ 0: "HUNDRED", 1: "TEN_THOUSAND", } + var FractionalPercent_DenominatorType_value = map[string]int32{ "HUNDRED": 0, "TEN_THOUSAND": 1, } func (FractionalPercent_DenominatorType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorCfg, []int{9, 0} + return fileDescriptor_dfb7777e81b6b919, []int{9, 0} } // AuthHeader specifies how to pass access token with authorization header. @@ -137,12 +102,15 @@ var Tls_AuthHeader_name = map[int32]string{ 0: "PLAIN", 1: "BEARER", } + var Tls_AuthHeader_value = map[string]int32{ "PLAIN": 0, "BEARER": 1, } -func (Tls_AuthHeader) EnumDescriptor() ([]byte, []int) { return fileDescriptorCfg, []int{11, 0} } +func (Tls_AuthHeader) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{11, 0} +} // AttributeManifest describes a set of Attributes produced by some component // of an Istio deployment. @@ -166,12 +134,40 @@ type AttributeManifest struct { // attributes are described at https://istio.io/docs/reference/attribute-vocabulary.html. // Attributes not in that list should be named with a component-specific suffix such as // request.count-my.component. - Attributes map[string]*AttributeManifest_AttributeInfo `protobuf:"bytes,3,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Attributes map[string]*AttributeManifest_AttributeInfo `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *AttributeManifest) Reset() { *m = AttributeManifest{} } -func (*AttributeManifest) ProtoMessage() {} -func (*AttributeManifest) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{0} } +func (m *AttributeManifest) Reset() { *m = AttributeManifest{} } +func (*AttributeManifest) ProtoMessage() {} +func (*AttributeManifest) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{0} +} +func (m *AttributeManifest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AttributeManifest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AttributeManifest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AttributeManifest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AttributeManifest.Merge(m, src) +} +func (m *AttributeManifest) XXX_Size() int { + return m.Size() +} +func (m *AttributeManifest) XXX_DiscardUnknown() { + xxx_messageInfo_AttributeManifest.DiscardUnknown(m) +} + +var xxx_messageInfo_AttributeManifest proto.InternalMessageInfo func (m *AttributeManifest) GetRevision() string { if m != nil { @@ -245,8 +241,34 @@ type AttributeManifest_AttributeInfo struct { func (m *AttributeManifest_AttributeInfo) Reset() { *m = AttributeManifest_AttributeInfo{} } func (*AttributeManifest_AttributeInfo) ProtoMessage() {} func (*AttributeManifest_AttributeInfo) Descriptor() ([]byte, []int) { - return fileDescriptorCfg, []int{0, 0} + return fileDescriptor_dfb7777e81b6b919, []int{0, 0} +} +func (m *AttributeManifest_AttributeInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AttributeManifest_AttributeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AttributeManifest_AttributeInfo.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AttributeManifest_AttributeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_AttributeManifest_AttributeInfo.Merge(m, src) } +func (m *AttributeManifest_AttributeInfo) XXX_Size() int { + return m.Size() +} +func (m *AttributeManifest_AttributeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_AttributeManifest_AttributeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_AttributeManifest_AttributeInfo proto.InternalMessageInfo func (m *AttributeManifest_AttributeInfo) GetDescription() string { if m != nil { @@ -289,25 +311,53 @@ type Rule struct { // * `attr1 == "20" && attr2 == "30"` logical AND, OR, and NOT are also available Match string `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Optional. The actions that will be executed when match evaluates to `true`. - Actions []*Action `protobuf:"bytes,2,rep,name=actions" json:"actions,omitempty"` + Actions []*Action `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"` // Optional. Templatized operations on the request headers using values produced by the // rule actions. Require the check action result to be OK. - RequestHeaderOperations []*Rule_HeaderOperationTemplate `protobuf:"bytes,3,rep,name=request_header_operations,json=requestHeaderOperations" json:"request_header_operations,omitempty"` + RequestHeaderOperations []*Rule_HeaderOperationTemplate `protobuf:"bytes,3,rep,name=request_header_operations,json=requestHeaderOperations,proto3" json:"request_header_operations,omitempty"` // Optional. Templatized operations on the response headers using values produced by the // rule actions. Require the check action result to be OK. - ResponseHeaderOperations []*Rule_HeaderOperationTemplate `protobuf:"bytes,4,rep,name=response_header_operations,json=responseHeaderOperations" json:"response_header_operations,omitempty"` + ResponseHeaderOperations []*Rule_HeaderOperationTemplate `protobuf:"bytes,4,rep,name=response_header_operations,json=responseHeaderOperations,proto3" json:"response_header_operations,omitempty"` // $hide_from_docs // Optional. Provides the ability to add a sampling configuration for Mixer rules. This sampling // will limit the scenarios in which the `actions` of the rule are executed. The sampling will // only take place after a `match` predicate has evaluated to true. // // Default behavior is no sampling (the `actions` are executed for all requests). - Sampling *Sampling `protobuf:"bytes,5,opt,name=sampling" json:"sampling,omitempty"` + Sampling *Sampling `protobuf:"bytes,5,opt,name=sampling,proto3" json:"sampling,omitempty"` } -func (m *Rule) Reset() { *m = Rule{} } -func (*Rule) ProtoMessage() {} -func (*Rule) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{1} } +func (m *Rule) Reset() { *m = Rule{} } +func (*Rule) ProtoMessage() {} +func (*Rule) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{1} +} +func (m *Rule) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Rule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Rule.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Rule) XXX_Merge(src proto.Message) { + xxx_messageInfo_Rule.Merge(m, src) +} +func (m *Rule) XXX_Size() int { + return m.Size() +} +func (m *Rule) XXX_DiscardUnknown() { + xxx_messageInfo_Rule.DiscardUnknown(m) +} + +var xxx_messageInfo_Rule proto.InternalMessageInfo func (m *Rule) GetMatch() string { if m != nil { @@ -363,7 +413,7 @@ type Rule_HeaderOperationTemplate struct { // Required. Header name literal value. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. Header value expressions. - Values []string `protobuf:"bytes,2,rep,name=values" json:"values,omitempty"` + Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` // Optional. Header operation type. Default operation is to replace the value of the header by name. Operation Rule_HeaderOperationTemplate_Operation `protobuf:"varint,3,opt,name=operation,proto3,enum=istio.policy.v1beta1.Rule_HeaderOperationTemplate_Operation" json:"operation,omitempty"` } @@ -371,8 +421,34 @@ type Rule_HeaderOperationTemplate struct { func (m *Rule_HeaderOperationTemplate) Reset() { *m = Rule_HeaderOperationTemplate{} } func (*Rule_HeaderOperationTemplate) ProtoMessage() {} func (*Rule_HeaderOperationTemplate) Descriptor() ([]byte, []int) { - return fileDescriptorCfg, []int{1, 0} + return fileDescriptor_dfb7777e81b6b919, []int{1, 0} +} +func (m *Rule_HeaderOperationTemplate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Rule_HeaderOperationTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Rule_HeaderOperationTemplate.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Rule_HeaderOperationTemplate) XXX_Merge(src proto.Message) { + xxx_messageInfo_Rule_HeaderOperationTemplate.Merge(m, src) +} +func (m *Rule_HeaderOperationTemplate) XXX_Size() int { + return m.Size() } +func (m *Rule_HeaderOperationTemplate) XXX_DiscardUnknown() { + xxx_messageInfo_Rule_HeaderOperationTemplate.DiscardUnknown(m) +} + +var xxx_messageInfo_Rule_HeaderOperationTemplate proto.InternalMessageInfo func (m *Rule_HeaderOperationTemplate) GetName() string { if m != nil { @@ -413,14 +489,42 @@ type Action struct { // [Instance][istio.policy.v1beta1.Instance.name]s. // Referenced instances are evaluated by resolving the attributes/literals for all the fields. // The constructed objects are then passed to the `handler` referenced within this action. - Instances []string `protobuf:"bytes,3,rep,name=instances" json:"instances,omitempty"` + Instances []string `protobuf:"bytes,3,rep,name=instances,proto3" json:"instances,omitempty"` // Optional. A handle to refer to the results of the action. Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` } -func (m *Action) Reset() { *m = Action{} } -func (*Action) ProtoMessage() {} -func (*Action) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{2} } +func (m *Action) Reset() { *m = Action{} } +func (*Action) ProtoMessage() {} +func (*Action) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{2} +} +func (m *Action) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Action) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Action.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Action) XXX_Merge(src proto.Message) { + xxx_messageInfo_Action.Merge(m, src) +} +func (m *Action) XXX_Size() int { + return m.Size() +} +func (m *Action) XXX_DiscardUnknown() { + xxx_messageInfo_Action.DiscardUnknown(m) +} + +var xxx_messageInfo_Action proto.InternalMessageInfo func (m *Action) GetHandler() string { if m != nil { @@ -481,7 +585,7 @@ type Instance struct { Template string `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` // Required. Depends on referenced template. Struct representation of a // proto defined by the template; this varies depending on the value of field `template`. - Params *google_protobuf1.Struct `protobuf:"bytes,3,opt,name=params" json:"params,omitempty"` + Params *types.Struct `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"` // Optional. Defines attribute bindings to map the output of attribute-producing adapters back into // the attribute space. The variable `output` refers to the output template instance produced // by the adapter. @@ -494,12 +598,40 @@ type Instance struct { // # Fill the new attributes from the adapter produced output // source.namespace: output.source_namespace // ``` - AttributeBindings map[string]string `protobuf:"bytes,4,rep,name=attribute_bindings,json=attributeBindings" json:"attribute_bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + AttributeBindings map[string]string `protobuf:"bytes,4,rep,name=attribute_bindings,json=attributeBindings,proto3" json:"attribute_bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *Instance) Reset() { *m = Instance{} } -func (*Instance) ProtoMessage() {} -func (*Instance) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{3} } +func (m *Instance) Reset() { *m = Instance{} } +func (*Instance) ProtoMessage() {} +func (*Instance) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{3} +} +func (m *Instance) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Instance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Instance.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Instance) XXX_Merge(src proto.Message) { + xxx_messageInfo_Instance.Merge(m, src) +} +func (m *Instance) XXX_Size() int { + return m.Size() +} +func (m *Instance) XXX_DiscardUnknown() { + xxx_messageInfo_Instance.DiscardUnknown(m) +} + +var xxx_messageInfo_Instance proto.InternalMessageInfo func (m *Instance) GetName() string { if m != nil { @@ -522,7 +654,7 @@ func (m *Instance) GetTemplate() string { return "" } -func (m *Instance) GetParams() *google_protobuf1.Struct { +func (m *Instance) GetParams() *types.Struct { if m != nil { return m.Params } @@ -604,15 +736,43 @@ type Handler struct { Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"` // Optional. Depends on adapter implementation. Struct representation of a // proto defined by the adapter implementation; this varies depending on the value of field `adapter`. - Params *google_protobuf1.Struct `protobuf:"bytes,3,opt,name=params" json:"params,omitempty"` + Params *types.Struct `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"` // Optional. Information on how to connect to the out-of-process adapter. // This is used if the adapter is not compiled into Mixer binary and is running as a separate process. - Connection *Connection `protobuf:"bytes,4,opt,name=connection" json:"connection,omitempty"` + Connection *Connection `protobuf:"bytes,4,opt,name=connection,proto3" json:"connection,omitempty"` } -func (m *Handler) Reset() { *m = Handler{} } -func (*Handler) ProtoMessage() {} -func (*Handler) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{4} } +func (m *Handler) Reset() { *m = Handler{} } +func (*Handler) ProtoMessage() {} +func (*Handler) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{4} +} +func (m *Handler) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Handler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Handler.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Handler) XXX_Merge(src proto.Message) { + xxx_messageInfo_Handler.Merge(m, src) +} +func (m *Handler) XXX_Size() int { + return m.Size() +} +func (m *Handler) XXX_DiscardUnknown() { + xxx_messageInfo_Handler.DiscardUnknown(m) +} + +var xxx_messageInfo_Handler proto.InternalMessageInfo func (m *Handler) GetName() string { if m != nil { @@ -635,7 +795,7 @@ func (m *Handler) GetAdapter() string { return "" } -func (m *Handler) GetParams() *google_protobuf1.Struct { +func (m *Handler) GetParams() *types.Struct { if m != nil { return m.Params } @@ -655,15 +815,43 @@ type Connection struct { // The address of the backend. Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Timeout for remote calls to the backend. - Timeout *time.Duration `protobuf:"bytes,3,opt,name=timeout,stdduration" json:"timeout,omitempty"` + Timeout *time.Duration `protobuf:"bytes,3,opt,name=timeout,proto3,stdduration" json:"timeout,omitempty"` // Auth config for the connection to the backend. If omitted, plain text will // be used. - Authentication *Authentication `protobuf:"bytes,4,opt,name=authentication" json:"authentication,omitempty"` + Authentication *Authentication `protobuf:"bytes,4,opt,name=authentication,proto3" json:"authentication,omitempty"` +} + +func (m *Connection) Reset() { *m = Connection{} } +func (*Connection) ProtoMessage() {} +func (*Connection) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{5} +} +func (m *Connection) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Connection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Connection.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Connection) XXX_Merge(src proto.Message) { + xxx_messageInfo_Connection.Merge(m, src) +} +func (m *Connection) XXX_Size() int { + return m.Size() +} +func (m *Connection) XXX_DiscardUnknown() { + xxx_messageInfo_Connection.DiscardUnknown(m) } -func (m *Connection) Reset() { *m = Connection{} } -func (*Connection) ProtoMessage() {} -func (*Connection) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{5} } +var xxx_messageInfo_Connection proto.InternalMessageInfo func (m *Connection) GetAddress() string { if m != nil { @@ -692,15 +880,43 @@ func (m *Connection) GetAuthentication() *Authentication { // a request must be selected by all configured sampling strategies. type Sampling struct { // Optional. Provides filtering of actions based on random selection per request. - Random *RandomSampling `protobuf:"bytes,1,opt,name=random" json:"random,omitempty"` + Random *RandomSampling `protobuf:"bytes,1,opt,name=random,proto3" json:"random,omitempty"` // Optional. Provides filtering of actions based on number of requests observed within // a configured time window. - RateLimit *RateLimitSampling `protobuf:"bytes,2,opt,name=rate_limit,json=rateLimit" json:"rate_limit,omitempty"` + RateLimit *RateLimitSampling `protobuf:"bytes,2,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"` } -func (m *Sampling) Reset() { *m = Sampling{} } -func (*Sampling) ProtoMessage() {} -func (*Sampling) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{6} } +func (m *Sampling) Reset() { *m = Sampling{} } +func (*Sampling) ProtoMessage() {} +func (*Sampling) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{6} +} +func (m *Sampling) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Sampling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Sampling.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Sampling) XXX_Merge(src proto.Message) { + xxx_messageInfo_Sampling.Merge(m, src) +} +func (m *Sampling) XXX_Size() int { + return m.Size() +} +func (m *Sampling) XXX_DiscardUnknown() { + xxx_messageInfo_Sampling.DiscardUnknown(m) +} + +var xxx_messageInfo_Sampling proto.InternalMessageInfo func (m *Sampling) GetRandom() *RandomSampling { if m != nil { @@ -732,7 +948,7 @@ type RandomSampling struct { AttributeExpression string `protobuf:"bytes,1,opt,name=attribute_expression,json=attributeExpression,proto3" json:"attribute_expression,omitempty"` // The default sampling rate, expressed as a percentage. Defaults to 0% with a denominator // of 100. - PercentSampled *FractionalPercent `protobuf:"bytes,2,opt,name=percent_sampled,json=percentSampled" json:"percent_sampled,omitempty"` + PercentSampled *FractionalPercent `protobuf:"bytes,2,opt,name=percent_sampled,json=percentSampled,proto3" json:"percent_sampled,omitempty"` // By default sampling will be based on the value of the request header `x-request-id`. // This behavior will cause consistent sampling across `Rule`s and for the full trace of a // request through a mesh (across hosts). If that value is not present and/or @@ -742,9 +958,37 @@ type RandomSampling struct { UseIndependentRandomness bool `protobuf:"varint,3,opt,name=use_independent_randomness,json=useIndependentRandomness,proto3" json:"use_independent_randomness,omitempty"` } -func (m *RandomSampling) Reset() { *m = RandomSampling{} } -func (*RandomSampling) ProtoMessage() {} -func (*RandomSampling) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{7} } +func (m *RandomSampling) Reset() { *m = RandomSampling{} } +func (*RandomSampling) ProtoMessage() {} +func (*RandomSampling) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{7} +} +func (m *RandomSampling) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RandomSampling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RandomSampling.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RandomSampling) XXX_Merge(src proto.Message) { + xxx_messageInfo_RandomSampling.Merge(m, src) +} +func (m *RandomSampling) XXX_Size() int { + return m.Size() +} +func (m *RandomSampling) XXX_DiscardUnknown() { + xxx_messageInfo_RandomSampling.DiscardUnknown(m) +} + +var xxx_messageInfo_RandomSampling proto.InternalMessageInfo func (m *RandomSampling) GetAttributeExpression() string { if m != nil { @@ -772,7 +1016,7 @@ func (m *RandomSampling) GetUseIndependentRandomness() bool { // occur over a period of time. type RateLimitSampling struct { // Window in which to enforce the sampling rate. - SamplingDuration time.Duration `protobuf:"bytes,1,opt,name=sampling_duration,json=samplingDuration,stdduration" json:"sampling_duration"` + SamplingDuration time.Duration `protobuf:"bytes,1,opt,name=sampling_duration,json=samplingDuration,proto3,stdduration" json:"sampling_duration"` // Number of entries to allow during the `sampling_duration` before sampling is enforced. MaxUnsampledEntries int64 `protobuf:"varint,2,opt,name=max_unsampled_entries,json=maxUnsampledEntries,proto3" json:"max_unsampled_entries,omitempty"` // The rate at which to sample entries once the unsampled limit has been reached. Sampling will be enforced @@ -780,9 +1024,37 @@ type RateLimitSampling struct { SamplingRate int64 `protobuf:"varint,3,opt,name=sampling_rate,json=samplingRate,proto3" json:"sampling_rate,omitempty"` } -func (m *RateLimitSampling) Reset() { *m = RateLimitSampling{} } -func (*RateLimitSampling) ProtoMessage() {} -func (*RateLimitSampling) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{8} } +func (m *RateLimitSampling) Reset() { *m = RateLimitSampling{} } +func (*RateLimitSampling) ProtoMessage() {} +func (*RateLimitSampling) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{8} +} +func (m *RateLimitSampling) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RateLimitSampling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RateLimitSampling.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RateLimitSampling) XXX_Merge(src proto.Message) { + xxx_messageInfo_RateLimitSampling.Merge(m, src) +} +func (m *RateLimitSampling) XXX_Size() int { + return m.Size() +} +func (m *RateLimitSampling) XXX_DiscardUnknown() { + xxx_messageInfo_RateLimitSampling.DiscardUnknown(m) +} + +var xxx_messageInfo_RateLimitSampling proto.InternalMessageInfo func (m *RateLimitSampling) GetSamplingDuration() time.Duration { if m != nil { @@ -820,9 +1092,37 @@ type FractionalPercent struct { Denominator FractionalPercent_DenominatorType `protobuf:"varint,2,opt,name=denominator,proto3,enum=istio.policy.v1beta1.FractionalPercent_DenominatorType" json:"denominator,omitempty"` } -func (m *FractionalPercent) Reset() { *m = FractionalPercent{} } -func (*FractionalPercent) ProtoMessage() {} -func (*FractionalPercent) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{9} } +func (m *FractionalPercent) Reset() { *m = FractionalPercent{} } +func (*FractionalPercent) ProtoMessage() {} +func (*FractionalPercent) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{9} +} +func (m *FractionalPercent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FractionalPercent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FractionalPercent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *FractionalPercent) XXX_Merge(src proto.Message) { + xxx_messageInfo_FractionalPercent.Merge(m, src) +} +func (m *FractionalPercent) XXX_Size() int { + return m.Size() +} +func (m *FractionalPercent) XXX_DiscardUnknown() { + xxx_messageInfo_FractionalPercent.DiscardUnknown(m) +} + +var xxx_messageInfo_FractionalPercent proto.InternalMessageInfo func (m *FractionalPercent) GetNumerator() uint32 { if m != nil { @@ -847,9 +1147,37 @@ type Authentication struct { AuthType isAuthentication_AuthType `protobuf_oneof:"auth_type"` } -func (m *Authentication) Reset() { *m = Authentication{} } -func (*Authentication) ProtoMessage() {} -func (*Authentication) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{10} } +func (m *Authentication) Reset() { *m = Authentication{} } +func (*Authentication) ProtoMessage() {} +func (*Authentication) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{10} +} +func (m *Authentication) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Authentication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Authentication.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Authentication) XXX_Merge(src proto.Message) { + xxx_messageInfo_Authentication.Merge(m, src) +} +func (m *Authentication) XXX_Size() int { + return m.Size() +} +func (m *Authentication) XXX_DiscardUnknown() { + xxx_messageInfo_Authentication.DiscardUnknown(m) +} + +var xxx_messageInfo_Authentication proto.InternalMessageInfo type isAuthentication_AuthType interface { isAuthentication_AuthType() @@ -859,10 +1187,10 @@ type isAuthentication_AuthType interface { } type Authentication_Tls struct { - Tls *Tls `protobuf:"bytes,1,opt,name=tls,oneof"` + Tls *Tls `protobuf:"bytes,1,opt,name=tls,proto3,oneof"` } type Authentication_Mutual struct { - Mutual *Mutual `protobuf:"bytes,2,opt,name=mutual,oneof"` + Mutual *Mutual `protobuf:"bytes,2,opt,name=mutual,proto3,oneof"` } func (*Authentication_Tls) isAuthentication_AuthType() {} @@ -948,12 +1276,12 @@ func _Authentication_OneofSizer(msg proto.Message) (n int) { switch x := m.AuthType.(type) { case *Authentication_Tls: s := proto.Size(x.Tls) - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Authentication_Mutual: s := proto.Size(x.Mutual) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -986,9 +1314,37 @@ type Tls struct { ServerName string `protobuf:"bytes,6,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` } -func (m *Tls) Reset() { *m = Tls{} } -func (*Tls) ProtoMessage() {} -func (*Tls) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{11} } +func (m *Tls) Reset() { *m = Tls{} } +func (*Tls) ProtoMessage() {} +func (*Tls) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{11} +} +func (m *Tls) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tls) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tls.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Tls) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tls.Merge(m, src) +} +func (m *Tls) XXX_Size() int { + return m.Size() +} +func (m *Tls) XXX_DiscardUnknown() { + xxx_messageInfo_Tls.DiscardUnknown(m) +} + +var xxx_messageInfo_Tls proto.InternalMessageInfo type isTls_TokenSource interface { isTls_TokenSource() @@ -1007,7 +1363,7 @@ type Tls_TokenPath struct { TokenPath string `protobuf:"bytes,2,opt,name=token_path,json=tokenPath,proto3,oneof"` } type Tls_Oauth struct { - Oauth *OAuth `protobuf:"bytes,3,opt,name=oauth,oneof"` + Oauth *OAuth `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"` } type Tls_AuthHeader_ struct { AuthHeader Tls_AuthHeader `protobuf:"varint,4,opt,name=auth_header,json=authHeader,proto3,enum=istio.policy.v1beta1.Tls_AuthHeader,oneof"` @@ -1159,12 +1515,12 @@ func _Tls_OneofSizer(msg proto.Message) (n int) { // token_source switch x := m.TokenSource.(type) { case *Tls_TokenPath: - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.TokenPath))) n += len(x.TokenPath) case *Tls_Oauth: s := proto.Size(x.Oauth) - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -1174,10 +1530,10 @@ func _Tls_OneofSizer(msg proto.Message) (n int) { // token_type switch x := m.TokenType.(type) { case *Tls_AuthHeader_: - n += proto.SizeVarint(4<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.AuthHeader)) case *Tls_CustomHeader: - n += proto.SizeVarint(5<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.CustomHeader))) n += len(x.CustomHeader) case nil: @@ -1197,14 +1553,42 @@ type OAuth struct { // REQUIRED. The Resource server's token endpoint URL. TokenUrl string `protobuf:"bytes,3,opt,name=token_url,json=tokenUrl,proto3" json:"token_url,omitempty"` // List of requested permissions. - Scopes []string `protobuf:"bytes,4,rep,name=scopes" json:"scopes,omitempty"` + Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` // Additional parameters for requests to the token endpoint. - EndpointParams map[string]string `protobuf:"bytes,5,rep,name=endpoint_params,json=endpointParams" json:"endpoint_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + EndpointParams map[string]string `protobuf:"bytes,5,rep,name=endpoint_params,json=endpointParams,proto3" json:"endpoint_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *OAuth) Reset() { *m = OAuth{} } -func (*OAuth) ProtoMessage() {} -func (*OAuth) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{12} } +func (m *OAuth) Reset() { *m = OAuth{} } +func (*OAuth) ProtoMessage() {} +func (*OAuth) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{12} +} +func (m *OAuth) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OAuth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OAuth.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *OAuth) XXX_Merge(src proto.Message) { + xxx_messageInfo_OAuth.Merge(m, src) +} +func (m *OAuth) XXX_Size() int { + return m.Size() +} +func (m *OAuth) XXX_DiscardUnknown() { + xxx_messageInfo_OAuth.DiscardUnknown(m) +} + +var xxx_messageInfo_OAuth proto.InternalMessageInfo func (m *OAuth) GetClientId() string { if m != nil { @@ -1259,9 +1643,37 @@ type Mutual struct { ServerName string `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` } -func (m *Mutual) Reset() { *m = Mutual{} } -func (*Mutual) ProtoMessage() {} -func (*Mutual) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{13} } +func (m *Mutual) Reset() { *m = Mutual{} } +func (*Mutual) ProtoMessage() {} +func (*Mutual) Descriptor() ([]byte, []int) { + return fileDescriptor_dfb7777e81b6b919, []int{13} +} +func (m *Mutual) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Mutual) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Mutual.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Mutual) XXX_Merge(src proto.Message) { + xxx_messageInfo_Mutual.Merge(m, src) +} +func (m *Mutual) XXX_Size() int { + return m.Size() +} +func (m *Mutual) XXX_DiscardUnknown() { + xxx_messageInfo_Mutual.DiscardUnknown(m) +} + +var xxx_messageInfo_Mutual proto.InternalMessageInfo func (m *Mutual) GetPrivateKey() string { if m != nil { @@ -1292,12 +1704,17 @@ func (m *Mutual) GetServerName() string { } func init() { + proto.RegisterEnum("istio.policy.v1beta1.Rule_HeaderOperationTemplate_Operation", Rule_HeaderOperationTemplate_Operation_name, Rule_HeaderOperationTemplate_Operation_value) + proto.RegisterEnum("istio.policy.v1beta1.FractionalPercent_DenominatorType", FractionalPercent_DenominatorType_name, FractionalPercent_DenominatorType_value) + proto.RegisterEnum("istio.policy.v1beta1.Tls_AuthHeader", Tls_AuthHeader_name, Tls_AuthHeader_value) proto.RegisterType((*AttributeManifest)(nil), "istio.policy.v1beta1.AttributeManifest") + proto.RegisterMapType((map[string]*AttributeManifest_AttributeInfo)(nil), "istio.policy.v1beta1.AttributeManifest.AttributesEntry") proto.RegisterType((*AttributeManifest_AttributeInfo)(nil), "istio.policy.v1beta1.AttributeManifest.AttributeInfo") proto.RegisterType((*Rule)(nil), "istio.policy.v1beta1.Rule") proto.RegisterType((*Rule_HeaderOperationTemplate)(nil), "istio.policy.v1beta1.Rule.HeaderOperationTemplate") proto.RegisterType((*Action)(nil), "istio.policy.v1beta1.Action") proto.RegisterType((*Instance)(nil), "istio.policy.v1beta1.Instance") + proto.RegisterMapType((map[string]string)(nil), "istio.policy.v1beta1.Instance.AttributeBindingsEntry") proto.RegisterType((*Handler)(nil), "istio.policy.v1beta1.Handler") proto.RegisterType((*Connection)(nil), "istio.policy.v1beta1.Connection") proto.RegisterType((*Sampling)(nil), "istio.policy.v1beta1.Sampling") @@ -1307,11 +1724,111 @@ func init() { proto.RegisterType((*Authentication)(nil), "istio.policy.v1beta1.Authentication") proto.RegisterType((*Tls)(nil), "istio.policy.v1beta1.Tls") proto.RegisterType((*OAuth)(nil), "istio.policy.v1beta1.OAuth") + proto.RegisterMapType((map[string]string)(nil), "istio.policy.v1beta1.OAuth.EndpointParamsEntry") proto.RegisterType((*Mutual)(nil), "istio.policy.v1beta1.Mutual") - proto.RegisterEnum("istio.policy.v1beta1.Rule_HeaderOperationTemplate_Operation", Rule_HeaderOperationTemplate_Operation_name, Rule_HeaderOperationTemplate_Operation_value) - proto.RegisterEnum("istio.policy.v1beta1.FractionalPercent_DenominatorType", FractionalPercent_DenominatorType_name, FractionalPercent_DenominatorType_value) - proto.RegisterEnum("istio.policy.v1beta1.Tls_AuthHeader", Tls_AuthHeader_name, Tls_AuthHeader_value) } + +func init() { proto.RegisterFile("policy/v1beta1/cfg.proto", fileDescriptor_dfb7777e81b6b919) } + +var fileDescriptor_dfb7777e81b6b919 = []byte{ + // 1519 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcf, 0x6f, 0x13, 0xc7, + 0x17, 0xf7, 0xc6, 0xb1, 0x13, 0x3f, 0x27, 0x8e, 0x33, 0xe4, 0x0b, 0xc6, 0x20, 0x27, 0x32, 0xdf, + 0xaf, 0xe0, 0xf0, 0xc5, 0x86, 0xa0, 0x42, 0x8b, 0x50, 0x55, 0x87, 0x98, 0x3a, 0x22, 0x24, 0xee, + 0xc4, 0xa1, 0x2d, 0x97, 0xd5, 0x64, 0x77, 0x92, 0xac, 0x58, 0xcf, 0x2e, 0xbb, 0xb3, 0x11, 0xb9, + 0xf5, 0xd0, 0xde, 0x39, 0x56, 0xea, 0xad, 0xa7, 0xf6, 0xd4, 0xff, 0xa0, 0xd7, 0x72, 0x44, 0xe2, + 0x92, 0x53, 0x5b, 0xc2, 0xa5, 0x97, 0x4a, 0x1c, 0xfa, 0x07, 0x54, 0xf3, 0x63, 0x77, 0x1d, 0xc7, + 0x46, 0x4d, 0x6f, 0x3b, 0xef, 0x7d, 0xde, 0xef, 0x37, 0xef, 0xcd, 0x42, 0xc5, 0xf7, 0x5c, 0xc7, + 0x3a, 0x6c, 0x1e, 0xdc, 0xdc, 0xa1, 0x9c, 0xdc, 0x6c, 0x5a, 0xbb, 0x7b, 0x0d, 0x3f, 0xf0, 0xb8, + 0x87, 0x16, 0x9c, 0x90, 0x3b, 0x5e, 0x43, 0xf1, 0x1b, 0x9a, 0x5f, 0x5d, 0xd8, 0xf3, 0xf6, 0x3c, + 0x09, 0x68, 0x8a, 0x2f, 0x85, 0xad, 0x5e, 0xde, 0xf3, 0xbc, 0x3d, 0x97, 0x36, 0xe5, 0x69, 0x27, + 0xda, 0x6d, 0x86, 0x3c, 0x88, 0x2c, 0xae, 0xb9, 0xb5, 0x61, 0xae, 0x1d, 0x05, 0x84, 0x3b, 0x1e, + 0xd3, 0xfc, 0xc5, 0x21, 0x1f, 0x0e, 0x88, 0x1b, 0x51, 0x93, 0x1f, 0xfa, 0x54, 0x01, 0xea, 0xdf, + 0x64, 0x61, 0xbe, 0xc5, 0x79, 0xe0, 0xec, 0x44, 0x9c, 0x3e, 0x22, 0xcc, 0xd9, 0xa5, 0x21, 0x47, + 0x55, 0x98, 0x0e, 0xe8, 0x81, 0x13, 0x3a, 0x1e, 0xab, 0x18, 0x4b, 0xc6, 0xb5, 0x02, 0x4e, 0xce, + 0x08, 0xc1, 0x24, 0x23, 0x7d, 0x5a, 0x99, 0x90, 0x74, 0xf9, 0x8d, 0x3e, 0x07, 0x20, 0xb1, 0x92, + 0xb0, 0x92, 0x5d, 0xca, 0x5e, 0x2b, 0x2e, 0xdf, 0x69, 0x8c, 0x8a, 0xb2, 0x71, 0xca, 0x58, 0x4a, + 0x09, 0xdb, 0x8c, 0x07, 0x87, 0x78, 0x40, 0x55, 0xf5, 0x19, 0xcc, 0x26, 0xec, 0x35, 0xb6, 0xeb, + 0xa1, 0x25, 0x28, 0xda, 0x34, 0xb4, 0x02, 0xc7, 0xe7, 0xa9, 0x73, 0x83, 0x24, 0xf4, 0x31, 0x40, + 0x1a, 0xa5, 0xf4, 0xb2, 0xb4, 0xbc, 0x38, 0xda, 0x97, 0xc7, 0x02, 0xd7, 0x3b, 0xf4, 0x29, 0x2e, + 0x1c, 0xc4, 0x9f, 0x55, 0x0e, 0x73, 0x43, 0x1e, 0xa1, 0x32, 0x64, 0x9f, 0xd2, 0x43, 0x6d, 0x4c, + 0x7c, 0xa2, 0x87, 0x90, 0x93, 0x12, 0x52, 0x7f, 0x71, 0xf9, 0x83, 0x33, 0xc7, 0x2a, 0x82, 0xc1, + 0x4a, 0xc7, 0xdd, 0x89, 0x0f, 0x8d, 0xfa, 0xcb, 0x49, 0x98, 0xc4, 0x91, 0x4b, 0xd1, 0x02, 0xe4, + 0xfa, 0x84, 0x5b, 0xfb, 0xda, 0x9a, 0x3a, 0xa0, 0xdb, 0x30, 0x45, 0x2c, 0x11, 0x5e, 0x58, 0x99, + 0x90, 0xd9, 0xbd, 0x3c, 0xc6, 0xa2, 0x04, 0xe1, 0x18, 0x8c, 0x18, 0x5c, 0x0c, 0xe8, 0xb3, 0x88, + 0x86, 0xdc, 0xdc, 0xa7, 0xc4, 0xa6, 0x81, 0xe9, 0xf9, 0x54, 0x75, 0x48, 0x5c, 0xa7, 0xe5, 0xd1, + 0x9a, 0x84, 0x33, 0x8d, 0x8e, 0x94, 0xd9, 0x8c, 0x45, 0x7a, 0xb4, 0xef, 0xbb, 0x84, 0x53, 0x7c, + 0x41, 0x2b, 0x1d, 0xe2, 0x87, 0xc8, 0x87, 0x6a, 0x40, 0x43, 0xdf, 0x63, 0x21, 0x1d, 0x61, 0x70, + 0xf2, 0x5f, 0x1b, 0xac, 0xc4, 0x5a, 0x4f, 0x59, 0xbc, 0x0b, 0xd3, 0x21, 0xe9, 0xfb, 0xae, 0xc3, + 0xf6, 0x2a, 0x39, 0x59, 0x8c, 0xda, 0x68, 0xfd, 0x5b, 0x1a, 0x85, 0x13, 0x7c, 0xf5, 0xb5, 0x01, + 0x17, 0xc6, 0x58, 0x4c, 0xda, 0xdc, 0x18, 0x68, 0xf3, 0xf3, 0x90, 0x97, 0x15, 0x53, 0x45, 0x28, + 0x60, 0x7d, 0x42, 0x4f, 0xa0, 0x90, 0x44, 0x59, 0xc9, 0xca, 0x8e, 0xbb, 0x77, 0xf6, 0x20, 0x1b, + 0x09, 0x05, 0xa7, 0xea, 0xea, 0x37, 0xa0, 0x90, 0xd0, 0x51, 0x11, 0xa6, 0x70, 0xbb, 0xbb, 0xde, + 0xba, 0xdf, 0x2e, 0x67, 0x10, 0x40, 0x1e, 0xb7, 0x1f, 0x6d, 0x3e, 0x6e, 0x97, 0x0d, 0xf1, 0xdd, + 0xea, 0x76, 0xdb, 0x1b, 0xab, 0xe5, 0x89, 0x7a, 0x0f, 0xf2, 0xaa, 0x0d, 0x50, 0x05, 0xa6, 0xf6, + 0x09, 0xb3, 0x5d, 0x1a, 0xe8, 0xdb, 0x1a, 0x1f, 0xd1, 0x65, 0x28, 0x38, 0x2c, 0xe4, 0x84, 0x59, + 0xfa, 0xbe, 0x16, 0x70, 0x4a, 0x48, 0x62, 0x9f, 0x4c, 0x63, 0xaf, 0xff, 0x32, 0x01, 0xd3, 0x6b, + 0x1a, 0x31, 0x32, 0x39, 0x0d, 0x98, 0xb7, 0xbc, 0xbe, 0xef, 0xb8, 0xd4, 0x36, 0xb9, 0x0e, 0xa9, + 0xf2, 0xd7, 0x9f, 0x3f, 0x2e, 0x49, 0x4c, 0x39, 0xe6, 0x25, 0x09, 0xae, 0xc2, 0x74, 0x02, 0x53, + 0xde, 0x25, 0x67, 0xd4, 0x84, 0xbc, 0x4f, 0x02, 0xd2, 0x0f, 0x65, 0x36, 0x8b, 0xcb, 0x17, 0x1a, + 0x6a, 0xce, 0x35, 0xe2, 0x39, 0xd7, 0xd8, 0x92, 0x53, 0x10, 0x6b, 0x18, 0xb2, 0x01, 0x25, 0x53, + 0xc3, 0xdc, 0x71, 0x98, 0xed, 0xb0, 0xbd, 0xb8, 0xdf, 0xc6, 0x5c, 0xce, 0x38, 0x98, 0xf4, 0x4e, + 0xae, 0x68, 0x39, 0x35, 0x86, 0xe6, 0xc9, 0x30, 0xbd, 0xba, 0x0a, 0xe7, 0x47, 0x83, 0x47, 0x4c, + 0x88, 0x85, 0xc1, 0x09, 0x51, 0x18, 0xbc, 0xea, 0x47, 0x06, 0x4c, 0x75, 0x74, 0x1d, 0x46, 0x25, + 0xf2, 0xff, 0x90, 0x24, 0xcb, 0x24, 0x36, 0xf1, 0x39, 0x0d, 0xd2, 0x3c, 0xce, 0xc5, 0xac, 0x96, + 0xe2, 0x88, 0x1a, 0xc7, 0x20, 0x5d, 0x63, 0x7d, 0x3c, 0x7b, 0x12, 0x3f, 0x01, 0xb0, 0x3c, 0xc6, + 0xa8, 0x6c, 0x1e, 0x59, 0xfc, 0xe2, 0xf2, 0xd2, 0xe8, 0xe4, 0xdd, 0x4f, 0x70, 0x78, 0x40, 0xa6, + 0xfe, 0x93, 0x01, 0x90, 0xb2, 0x94, 0x6f, 0x76, 0x40, 0xc3, 0x30, 0xf5, 0x4d, 0x1e, 0xd1, 0x47, + 0x30, 0xc5, 0x9d, 0x3e, 0xf5, 0x22, 0xae, 0x9d, 0xbb, 0x78, 0xca, 0xb9, 0x55, 0xbd, 0xc9, 0x56, + 0x26, 0xbf, 0xfd, 0x6d, 0xd1, 0xc0, 0x31, 0x1e, 0xad, 0x43, 0x89, 0x44, 0x7c, 0x9f, 0x32, 0xee, + 0x58, 0x64, 0xc0, 0xd3, 0xff, 0x8e, 0x99, 0x88, 0x27, 0xb0, 0x78, 0x48, 0xb6, 0xfe, 0xc2, 0x80, + 0xe9, 0x78, 0x32, 0xa0, 0x7b, 0x90, 0x0f, 0x08, 0xb3, 0xbd, 0xbe, 0xac, 0xc7, 0x58, 0x95, 0x58, + 0x62, 0x92, 0x79, 0xa2, 0x65, 0xd0, 0x03, 0x80, 0x80, 0x70, 0x6a, 0xba, 0x4e, 0xdf, 0xe1, 0x7a, + 0x31, 0x5c, 0x1d, 0xa7, 0x81, 0xd3, 0x75, 0x01, 0x4b, 0x94, 0x14, 0x82, 0x98, 0x54, 0x7f, 0x6d, + 0x40, 0xe9, 0xa4, 0x09, 0x74, 0x13, 0x16, 0xd2, 0xf6, 0xa6, 0xcf, 0x7d, 0x91, 0xc3, 0x74, 0xfd, + 0x9d, 0x4b, 0x78, 0xed, 0x84, 0x85, 0xba, 0x30, 0xe7, 0xd3, 0xc0, 0xa2, 0x8c, 0x9b, 0x72, 0xde, + 0x51, 0xfb, 0xfd, 0x2e, 0x3d, 0x08, 0xd4, 0xce, 0x20, 0x6e, 0x57, 0x89, 0xe1, 0x92, 0x96, 0xdf, + 0x52, 0xe2, 0xe8, 0x1e, 0x54, 0xa3, 0x90, 0x9a, 0x0e, 0xb3, 0xa9, 0x4f, 0x99, 0x2d, 0x34, 0xab, + 0xc8, 0x99, 0x28, 0xb0, 0x28, 0xe3, 0x34, 0xae, 0x44, 0x21, 0x5d, 0x4b, 0x01, 0x38, 0xe1, 0xd7, + 0x7f, 0x36, 0x60, 0xfe, 0x54, 0xd8, 0xa8, 0x0b, 0xf3, 0xf1, 0x34, 0x36, 0xe3, 0xa7, 0x8b, 0x4e, + 0xfe, 0x7b, 0x3a, 0x62, 0xfa, 0xe5, 0xaf, 0x8b, 0x19, 0xd9, 0x15, 0xe5, 0x58, 0x3a, 0xe6, 0xa1, + 0x65, 0xf8, 0x4f, 0x9f, 0x3c, 0x37, 0x23, 0xa6, 0xa3, 0x36, 0x29, 0xe3, 0x81, 0x43, 0x55, 0x07, + 0x66, 0xf1, 0xb9, 0x3e, 0x79, 0xbe, 0x1d, 0xf3, 0xda, 0x8a, 0x85, 0xae, 0xc0, 0x6c, 0xe2, 0x85, + 0xa8, 0x83, 0x0c, 0x26, 0x8b, 0x67, 0x62, 0xa2, 0xf0, 0x5b, 0x06, 0x70, 0x2a, 0x49, 0x62, 0x90, + 0xb2, 0xa8, 0x2f, 0xe6, 0xb3, 0x17, 0x48, 0xc7, 0x67, 0x71, 0x4a, 0x40, 0x5f, 0x8a, 0xd7, 0x0a, + 0xf3, 0xfa, 0x0e, 0x93, 0x7c, 0xf5, 0x18, 0xb9, 0xf3, 0x0f, 0x0b, 0xd0, 0x58, 0x4d, 0x45, 0xe5, + 0x23, 0x65, 0x50, 0x57, 0xfd, 0x06, 0xcc, 0x0d, 0xf1, 0xc5, 0x76, 0xe8, 0x6c, 0x6f, 0xac, 0xe2, + 0xf6, 0x6a, 0x39, 0x83, 0xca, 0x30, 0xd3, 0x6b, 0x6f, 0x98, 0xbd, 0xce, 0xe6, 0xf6, 0x56, 0x6b, + 0x63, 0xb5, 0x6c, 0xd4, 0xbf, 0x36, 0xa0, 0x74, 0xf2, 0x36, 0xa0, 0xeb, 0x90, 0xe5, 0x6e, 0x98, + 0x24, 0x7c, 0xa4, 0x5f, 0x3d, 0x37, 0xec, 0x64, 0xb0, 0xc0, 0xa1, 0xdb, 0x90, 0xef, 0x47, 0x3c, + 0x22, 0xae, 0x6e, 0xa5, 0x31, 0x8f, 0x90, 0x47, 0x12, 0xd3, 0xc9, 0x60, 0x8d, 0x5e, 0x29, 0x42, + 0x41, 0x5c, 0x3b, 0xf9, 0x22, 0xab, 0x1f, 0x4d, 0x40, 0xb6, 0xe7, 0x86, 0xe8, 0x2a, 0xcc, 0x59, + 0xc4, 0xb4, 0x68, 0xc0, 0x9d, 0x5d, 0xe1, 0x0f, 0x0d, 0x75, 0x3b, 0x97, 0x2c, 0x72, 0x7f, 0x80, + 0x8a, 0x16, 0x01, 0xb8, 0xf7, 0x94, 0x32, 0xd3, 0x27, 0x7c, 0x5f, 0x0d, 0x92, 0x4e, 0x06, 0x17, + 0x24, 0xad, 0x4b, 0xf8, 0x3e, 0xba, 0x05, 0x39, 0x4f, 0xe8, 0xd7, 0xa3, 0xe4, 0xd2, 0x68, 0xaf, + 0x36, 0x45, 0xec, 0x9d, 0x0c, 0x56, 0x58, 0xf4, 0x29, 0x14, 0xa5, 0x4f, 0xea, 0x95, 0x22, 0x67, + 0x48, 0x69, 0xdc, 0x85, 0xef, 0xb9, 0xa1, 0x9c, 0x23, 0x6a, 0x71, 0x77, 0x0c, 0x0c, 0x24, 0x39, + 0xa1, 0xff, 0xc1, 0xac, 0x15, 0x85, 0xdc, 0xeb, 0xc7, 0xaa, 0x72, 0xd2, 0x43, 0x03, 0xcf, 0x28, + 0xb2, 0x86, 0x2d, 0x42, 0x31, 0xa4, 0xc1, 0x01, 0x0d, 0x4c, 0x39, 0xf0, 0xf3, 0x32, 0x54, 0x50, + 0xa4, 0x0d, 0xb1, 0x60, 0xaf, 0x00, 0xa4, 0x36, 0x50, 0x01, 0x72, 0xdd, 0xf5, 0xd6, 0xda, 0x86, + 0xda, 0xf3, 0x2b, 0xed, 0x16, 0x6e, 0xe3, 0xb2, 0xb1, 0x52, 0x82, 0x19, 0x95, 0x8b, 0xd0, 0x8b, + 0x02, 0x8b, 0xae, 0xcc, 0xc4, 0xb9, 0x91, 0xa9, 0xfd, 0x6e, 0x02, 0x72, 0x32, 0x4c, 0x74, 0x09, + 0x0a, 0x96, 0xeb, 0x88, 0x2b, 0xea, 0xd8, 0xf1, 0x0b, 0x5e, 0x11, 0xd6, 0x6c, 0xd1, 0xee, 0x9a, + 0x19, 0x52, 0x2b, 0xa0, 0x5c, 0x0f, 0xe7, 0x19, 0x45, 0xdc, 0x92, 0x34, 0xa1, 0x41, 0x69, 0x8e, + 0x02, 0x57, 0x26, 0x56, 0xec, 0x67, 0x41, 0xd8, 0x0e, 0x5c, 0xf1, 0x10, 0x0a, 0x2d, 0xcf, 0xa7, + 0x6a, 0xc5, 0x16, 0xb0, 0x3e, 0xa1, 0x2f, 0x60, 0x8e, 0x32, 0xdb, 0xf7, 0x1c, 0xc6, 0x4d, 0xbd, + 0x7b, 0x72, 0x72, 0x07, 0x37, 0xdf, 0x53, 0x93, 0x46, 0x5b, 0x8b, 0x74, 0xa5, 0x84, 0xda, 0xbe, + 0x25, 0x7a, 0x82, 0x58, 0x6d, 0xc1, 0xb9, 0x11, 0xb0, 0x33, 0xed, 0xdd, 0xef, 0x0d, 0xc8, 0xab, + 0xd6, 0x14, 0xc5, 0xf0, 0x03, 0xe7, 0x40, 0x4c, 0xeb, 0x54, 0x1c, 0x34, 0xe9, 0x21, 0x3d, 0x44, + 0xd7, 0x01, 0xe9, 0x14, 0x0d, 0x34, 0xa8, 0x56, 0x39, 0xaf, 0x38, 0x03, 0x3d, 0x3a, 0xaa, 0x97, + 0xb3, 0x63, 0x7a, 0xf9, 0x44, 0x17, 0x4c, 0x0e, 0x77, 0xc1, 0xca, 0x67, 0xaf, 0xde, 0xd4, 0x32, + 0x47, 0x6f, 0x6a, 0x99, 0x77, 0x6f, 0x6a, 0xc6, 0x57, 0xc7, 0x35, 0xe3, 0x87, 0xe3, 0x9a, 0xf1, + 0xf2, 0xb8, 0x66, 0xbc, 0x3a, 0xae, 0x19, 0xbf, 0x1f, 0xd7, 0x8c, 0x3f, 0x8e, 0x6b, 0x99, 0x77, + 0xc7, 0x35, 0xe3, 0xc5, 0xdb, 0x5a, 0xe6, 0xd5, 0xdb, 0x5a, 0xe6, 0xe8, 0x6d, 0x2d, 0xf3, 0xe4, + 0x92, 0xca, 0xae, 0xe3, 0x35, 0x89, 0xef, 0x34, 0x4f, 0xfe, 0xf3, 0xed, 0xe4, 0xe5, 0x00, 0xbd, + 0xf5, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2a, 0x5a, 0x42, 0x6d, 0x90, 0x0e, 0x00, 0x00, +} + func (x Rule_HeaderOperationTemplate_Operation) String() string { s, ok := Rule_HeaderOperationTemplate_Operation_name[int32(x)] if ok { @@ -2053,7 +2570,7 @@ func (this *AttributeManifest) GoString() string { for k, _ := range this.Attributes { keysForAttributes = append(keysForAttributes, k) } - sortkeys.Strings(keysForAttributes) + github_com_gogo_protobuf_sortkeys.Strings(keysForAttributes) mapStringForAttributes := "map[string]*AttributeManifest_AttributeInfo{" for _, k := range keysForAttributes { mapStringForAttributes += fmt.Sprintf("%#v: %#v,", k, this.Attributes[k]) @@ -2138,7 +2655,7 @@ func (this *Instance) GoString() string { for k, _ := range this.AttributeBindings { keysForAttributeBindings = append(keysForAttributeBindings, k) } - sortkeys.Strings(keysForAttributeBindings) + github_com_gogo_protobuf_sortkeys.Strings(keysForAttributeBindings) mapStringForAttributeBindings := "map[string]string{" for _, k := range keysForAttributeBindings { mapStringForAttributeBindings += fmt.Sprintf("%#v: %#v,", k, this.AttributeBindings[k]) @@ -2325,7 +2842,7 @@ func (this *OAuth) GoString() string { for k, _ := range this.EndpointParams { keysForEndpointParams = append(keysForEndpointParams, k) } - sortkeys.Strings(keysForEndpointParams) + github_com_gogo_protobuf_sortkeys.Strings(keysForEndpointParams) mapStringForEndpointParams := "map[string]string{" for _, k := range keysForEndpointParams { mapStringForEndpointParams += fmt.Sprintf("%#v: %#v,", k, this.EndpointParams[k]) @@ -2763,8 +3280,8 @@ func (m *Connection) MarshalTo(dAtA []byte) (int, error) { if m.Timeout != nil { dAtA[i] = 0x1a i++ - i = encodeVarintCfg(dAtA, i, uint64(types.SizeOfStdDuration(*m.Timeout))) - n6, err := types.StdDurationMarshalTo(*m.Timeout, dAtA[i:]) + i = encodeVarintCfg(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Timeout))) + n6, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Timeout, dAtA[i:]) if err != nil { return 0, err } @@ -2882,8 +3399,8 @@ func (m *RateLimitSampling) MarshalTo(dAtA []byte) (int, error) { _ = l dAtA[i] = 0xa i++ - i = encodeVarintCfg(dAtA, i, uint64(types.SizeOfStdDuration(m.SamplingDuration))) - n11, err := types.StdDurationMarshalTo(m.SamplingDuration, dAtA[i:]) + i = encodeVarintCfg(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(m.SamplingDuration))) + n11, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.SamplingDuration, dAtA[i:]) if err != nil { return 0, err } @@ -3183,6 +3700,9 @@ func encodeVarintCfg(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *AttributeManifest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Revision) @@ -3210,6 +3730,9 @@ func (m *AttributeManifest) Size() (n int) { } func (m *AttributeManifest_AttributeInfo) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Description) @@ -3223,6 +3746,9 @@ func (m *AttributeManifest_AttributeInfo) Size() (n int) { } func (m *Rule) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Match) @@ -3255,6 +3781,9 @@ func (m *Rule) Size() (n int) { } func (m *Rule_HeaderOperationTemplate) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -3274,6 +3803,9 @@ func (m *Rule_HeaderOperationTemplate) Size() (n int) { } func (m *Action) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Handler) @@ -3294,6 +3826,9 @@ func (m *Action) Size() (n int) { } func (m *Instance) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -3324,6 +3859,9 @@ func (m *Instance) Size() (n int) { } func (m *Handler) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -3350,6 +3888,9 @@ func (m *Handler) Size() (n int) { } func (m *Connection) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -3357,7 +3898,7 @@ func (m *Connection) Size() (n int) { n += 1 + l + sovCfg(uint64(l)) } if m.Timeout != nil { - l = types.SizeOfStdDuration(*m.Timeout) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Timeout) n += 1 + l + sovCfg(uint64(l)) } if m.Authentication != nil { @@ -3368,6 +3909,9 @@ func (m *Connection) Size() (n int) { } func (m *Sampling) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Random != nil { @@ -3382,6 +3926,9 @@ func (m *Sampling) Size() (n int) { } func (m *RandomSampling) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.AttributeExpression) @@ -3399,9 +3946,12 @@ func (m *RandomSampling) Size() (n int) { } func (m *RateLimitSampling) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - l = types.SizeOfStdDuration(m.SamplingDuration) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.SamplingDuration) n += 1 + l + sovCfg(uint64(l)) if m.MaxUnsampledEntries != 0 { n += 1 + sovCfg(uint64(m.MaxUnsampledEntries)) @@ -3413,6 +3963,9 @@ func (m *RateLimitSampling) Size() (n int) { } func (m *FractionalPercent) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Numerator != 0 { @@ -3425,6 +3978,9 @@ func (m *FractionalPercent) Size() (n int) { } func (m *Authentication) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.AuthType != nil { @@ -3434,6 +3990,9 @@ func (m *Authentication) Size() (n int) { } func (m *Authentication_Tls) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Tls != nil { @@ -3443,6 +4002,9 @@ func (m *Authentication_Tls) Size() (n int) { return n } func (m *Authentication_Mutual) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Mutual != nil { @@ -3452,6 +4014,9 @@ func (m *Authentication_Mutual) Size() (n int) { return n } func (m *Tls) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.CaCertificates) @@ -3472,6 +4037,9 @@ func (m *Tls) Size() (n int) { } func (m *Tls_TokenPath) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.TokenPath) @@ -3479,6 +4047,9 @@ func (m *Tls_TokenPath) Size() (n int) { return n } func (m *Tls_Oauth) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Oauth != nil { @@ -3488,12 +4059,18 @@ func (m *Tls_Oauth) Size() (n int) { return n } func (m *Tls_AuthHeader_) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovCfg(uint64(m.AuthHeader)) return n } func (m *Tls_CustomHeader) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.CustomHeader) @@ -3501,6 +4078,9 @@ func (m *Tls_CustomHeader) Size() (n int) { return n } func (m *OAuth) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.ClientId) @@ -3533,6 +4113,9 @@ func (m *OAuth) Size() (n int) { } func (m *Mutual) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.PrivateKey) @@ -3575,7 +4158,7 @@ func (this *AttributeManifest) String() string { for k, _ := range this.Attributes { keysForAttributes = append(keysForAttributes, k) } - sortkeys.Strings(keysForAttributes) + github_com_gogo_protobuf_sortkeys.Strings(keysForAttributes) mapStringForAttributes := "map[string]*AttributeManifest_AttributeInfo{" for _, k := range keysForAttributes { mapStringForAttributes += fmt.Sprintf("%v: %v,", k, this.Attributes[k]) @@ -3646,7 +4229,7 @@ func (this *Instance) String() string { for k, _ := range this.AttributeBindings { keysForAttributeBindings = append(keysForAttributeBindings, k) } - sortkeys.Strings(keysForAttributeBindings) + github_com_gogo_protobuf_sortkeys.Strings(keysForAttributeBindings) mapStringForAttributeBindings := "map[string]string{" for _, k := range keysForAttributeBindings { mapStringForAttributeBindings += fmt.Sprintf("%v: %v,", k, this.AttributeBindings[k]) @@ -3655,7 +4238,7 @@ func (this *Instance) String() string { s := strings.Join([]string{`&Instance{`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Template:` + fmt.Sprintf("%v", this.Template) + `,`, - `Params:` + strings.Replace(fmt.Sprintf("%v", this.Params), "Struct", "google_protobuf1.Struct", 1) + `,`, + `Params:` + strings.Replace(fmt.Sprintf("%v", this.Params), "Struct", "types.Struct", 1) + `,`, `AttributeBindings:` + mapStringForAttributeBindings + `,`, `CompiledTemplate:` + fmt.Sprintf("%v", this.CompiledTemplate) + `,`, `}`, @@ -3669,7 +4252,7 @@ func (this *Handler) String() string { s := strings.Join([]string{`&Handler{`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Adapter:` + fmt.Sprintf("%v", this.Adapter) + `,`, - `Params:` + strings.Replace(fmt.Sprintf("%v", this.Params), "Struct", "google_protobuf1.Struct", 1) + `,`, + `Params:` + strings.Replace(fmt.Sprintf("%v", this.Params), "Struct", "types.Struct", 1) + `,`, `Connection:` + strings.Replace(fmt.Sprintf("%v", this.Connection), "Connection", "Connection", 1) + `,`, `CompiledAdapter:` + fmt.Sprintf("%v", this.CompiledAdapter) + `,`, `}`, @@ -3682,7 +4265,7 @@ func (this *Connection) String() string { } s := strings.Join([]string{`&Connection{`, `Address:` + fmt.Sprintf("%v", this.Address) + `,`, - `Timeout:` + strings.Replace(fmt.Sprintf("%v", this.Timeout), "Duration", "google_protobuf2.Duration", 1) + `,`, + `Timeout:` + strings.Replace(fmt.Sprintf("%v", this.Timeout), "Duration", "types.Duration", 1) + `,`, `Authentication:` + strings.Replace(fmt.Sprintf("%v", this.Authentication), "Authentication", "Authentication", 1) + `,`, `}`, }, "") @@ -3716,7 +4299,7 @@ func (this *RateLimitSampling) String() string { return "nil" } s := strings.Join([]string{`&RateLimitSampling{`, - `SamplingDuration:` + strings.Replace(strings.Replace(this.SamplingDuration.String(), "Duration", "google_protobuf2.Duration", 1), `&`, ``, 1) + `,`, + `SamplingDuration:` + strings.Replace(strings.Replace(this.SamplingDuration.String(), "Duration", "types.Duration", 1), `&`, ``, 1) + `,`, `MaxUnsampledEntries:` + fmt.Sprintf("%v", this.MaxUnsampledEntries) + `,`, `SamplingRate:` + fmt.Sprintf("%v", this.SamplingRate) + `,`, `}`, @@ -3825,7 +4408,7 @@ func (this *OAuth) String() string { for k, _ := range this.EndpointParams { keysForEndpointParams = append(keysForEndpointParams, k) } - sortkeys.Strings(keysForEndpointParams) + github_com_gogo_protobuf_sortkeys.Strings(keysForEndpointParams) mapStringForEndpointParams := "map[string]string{" for _, k := range keysForEndpointParams { mapStringForEndpointParams += fmt.Sprintf("%v: %v,", k, this.EndpointParams[k]) @@ -3877,7 +4460,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3905,7 +4488,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3915,6 +4498,9 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3934,7 +4520,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3944,6 +4530,9 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3963,7 +4552,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3972,6 +4561,9 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3992,7 +4584,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4009,7 +4601,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4019,6 +4611,9 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthCfg + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -4035,7 +4630,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift + mapmsglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4044,7 +4639,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { + if postmsgIndex < 0 { return ErrInvalidLengthCfg } if postmsgIndex > l { @@ -4081,6 +4676,9 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -4108,7 +4706,7 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4136,7 +4734,7 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4146,6 +4744,9 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4165,7 +4766,7 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ValueType |= (ValueType(b) & 0x7F) << shift + m.ValueType |= ValueType(b&0x7F) << shift if b < 0x80 { break } @@ -4179,6 +4780,9 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -4206,7 +4810,7 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4234,7 +4838,7 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4244,6 +4848,9 @@ func (m *Rule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4263,7 +4870,7 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4272,6 +4879,9 @@ func (m *Rule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4294,7 +4904,7 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4303,6 +4913,9 @@ func (m *Rule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4325,7 +4938,7 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4334,6 +4947,9 @@ func (m *Rule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4356,7 +4972,7 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4365,6 +4981,9 @@ func (m *Rule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4384,6 +5003,9 @@ func (m *Rule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -4411,7 +5033,7 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4439,7 +5061,7 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4449,6 +5071,9 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4468,7 +5093,7 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4478,6 +5103,9 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4497,7 +5125,7 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Operation |= (Rule_HeaderOperationTemplate_Operation(b) & 0x7F) << shift + m.Operation |= Rule_HeaderOperationTemplate_Operation(b&0x7F) << shift if b < 0x80 { break } @@ -4511,6 +5139,9 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -4538,7 +5169,7 @@ func (m *Action) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4566,7 +5197,7 @@ func (m *Action) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4576,6 +5207,9 @@ func (m *Action) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4595,7 +5229,7 @@ func (m *Action) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4605,6 +5239,9 @@ func (m *Action) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4624,7 +5261,7 @@ func (m *Action) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4634,6 +5271,9 @@ func (m *Action) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4648,6 +5288,9 @@ func (m *Action) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -4675,7 +5318,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4703,7 +5346,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4713,6 +5356,9 @@ func (m *Instance) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4732,7 +5378,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4742,6 +5388,9 @@ func (m *Instance) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4761,7 +5410,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4770,11 +5419,14 @@ func (m *Instance) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Params == nil { - m.Params = &google_protobuf1.Struct{} + m.Params = &types.Struct{} } if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4794,7 +5446,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -4803,6 +5455,9 @@ func (m *Instance) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4823,7 +5478,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4840,7 +5495,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4850,6 +5505,9 @@ func (m *Instance) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthCfg + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -4866,7 +5524,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4876,6 +5534,9 @@ func (m *Instance) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthCfg + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -4912,7 +5573,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4922,6 +5583,9 @@ func (m *Instance) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -4936,6 +5600,9 @@ func (m *Instance) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -4963,7 +5630,7 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -4991,7 +5658,7 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5001,6 +5668,9 @@ func (m *Handler) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5020,7 +5690,7 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5030,6 +5700,9 @@ func (m *Handler) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5049,7 +5722,7 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5058,11 +5731,14 @@ func (m *Handler) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Params == nil { - m.Params = &google_protobuf1.Struct{} + m.Params = &types.Struct{} } if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -5082,7 +5758,7 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5091,6 +5767,9 @@ func (m *Handler) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5115,7 +5794,7 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5125,6 +5804,9 @@ func (m *Handler) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5139,6 +5821,9 @@ func (m *Handler) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -5166,7 +5851,7 @@ func (m *Connection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5194,7 +5879,7 @@ func (m *Connection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5204,6 +5889,9 @@ func (m *Connection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5223,7 +5911,7 @@ func (m *Connection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5232,13 +5920,16 @@ func (m *Connection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Timeout == nil { m.Timeout = new(time.Duration) } - if err := types.StdDurationUnmarshal(m.Timeout, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Timeout, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5256,7 +5947,7 @@ func (m *Connection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5265,6 +5956,9 @@ func (m *Connection) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5284,6 +5978,9 @@ func (m *Connection) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -5311,7 +6008,7 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5339,7 +6036,7 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5348,6 +6045,9 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5372,7 +6072,7 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5381,6 +6081,9 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5400,6 +6103,9 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -5427,7 +6133,7 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5455,7 +6161,7 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5465,6 +6171,9 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5484,7 +6193,7 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5493,6 +6202,9 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5517,7 +6229,7 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5532,6 +6244,9 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -5559,7 +6274,7 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5587,7 +6302,7 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5596,10 +6311,13 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdDurationUnmarshal(&m.SamplingDuration, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.SamplingDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5617,7 +6335,7 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxUnsampledEntries |= (int64(b) & 0x7F) << shift + m.MaxUnsampledEntries |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -5636,7 +6354,7 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SamplingRate |= (int64(b) & 0x7F) << shift + m.SamplingRate |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -5650,6 +6368,9 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -5677,7 +6398,7 @@ func (m *FractionalPercent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5705,7 +6426,7 @@ func (m *FractionalPercent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Numerator |= (uint32(b) & 0x7F) << shift + m.Numerator |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -5724,7 +6445,7 @@ func (m *FractionalPercent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Denominator |= (FractionalPercent_DenominatorType(b) & 0x7F) << shift + m.Denominator |= FractionalPercent_DenominatorType(b&0x7F) << shift if b < 0x80 { break } @@ -5738,6 +6459,9 @@ func (m *FractionalPercent) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -5765,7 +6489,7 @@ func (m *Authentication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5793,7 +6517,7 @@ func (m *Authentication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5802,6 +6526,9 @@ func (m *Authentication) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5825,7 +6552,7 @@ func (m *Authentication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5834,6 +6561,9 @@ func (m *Authentication) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5852,6 +6582,9 @@ func (m *Authentication) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -5879,7 +6612,7 @@ func (m *Tls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5907,7 +6640,7 @@ func (m *Tls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5917,6 +6650,9 @@ func (m *Tls) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5936,7 +6672,7 @@ func (m *Tls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5946,6 +6682,9 @@ func (m *Tls) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5965,7 +6704,7 @@ func (m *Tls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -5974,6 +6713,9 @@ func (m *Tls) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -5997,7 +6739,7 @@ func (m *Tls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (Tls_AuthHeader(b) & 0x7F) << shift + v |= Tls_AuthHeader(b&0x7F) << shift if b < 0x80 { break } @@ -6017,7 +6759,7 @@ func (m *Tls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6027,6 +6769,9 @@ func (m *Tls) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6046,7 +6791,7 @@ func (m *Tls) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6056,6 +6801,9 @@ func (m *Tls) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6070,6 +6818,9 @@ func (m *Tls) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -6097,7 +6848,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6125,7 +6876,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6135,6 +6886,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6154,7 +6908,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6164,6 +6918,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6183,7 +6940,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6193,6 +6950,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6212,7 +6972,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6222,6 +6982,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6241,7 +7004,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -6250,6 +7013,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6270,7 +7036,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6287,7 +7053,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6297,6 +7063,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthCfg + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -6313,7 +7082,7 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6323,6 +7092,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthCfg + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -6354,6 +7126,9 @@ func (m *OAuth) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -6381,7 +7156,7 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6409,7 +7184,7 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6419,6 +7194,9 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6438,7 +7216,7 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6448,6 +7226,9 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6467,7 +7248,7 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6477,6 +7258,9 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6496,7 +7280,7 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -6506,6 +7290,9 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCfg } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCfg + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -6520,6 +7307,9 @@ func (m *Mutual) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCfg } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCfg + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -6586,10 +7376,13 @@ func skipCfg(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthCfg } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthCfg + } return iNdEx, nil case 3: for { @@ -6618,6 +7411,9 @@ func skipCfg(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthCfg + } } return iNdEx, nil case 4: @@ -6636,104 +7432,3 @@ var ( ErrInvalidLengthCfg = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCfg = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("policy/v1beta1/cfg.proto", fileDescriptorCfg) } - -var fileDescriptorCfg = []byte{ - // 1513 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x3f, 0x6f, 0x1b, 0x47, - 0x16, 0xe7, 0x8a, 0x22, 0x25, 0x3e, 0x4a, 0x14, 0x35, 0xd6, 0xd9, 0x34, 0x6d, 0x50, 0x02, 0x7d, - 0x07, 0xbb, 0x38, 0x93, 0xb6, 0x8c, 0xb3, 0xef, 0x0c, 0xe3, 0x70, 0x94, 0x45, 0x1f, 0x05, 0xcb, - 0x12, 0x31, 0xa2, 0x7c, 0x17, 0x37, 0x8b, 0xd1, 0xee, 0x48, 0x5a, 0x78, 0x77, 0x76, 0xbd, 0x3b, - 0x2b, 0x58, 0x5d, 0x8a, 0xa4, 0x77, 0x19, 0x20, 0x5d, 0xaa, 0xa4, 0xca, 0x37, 0x48, 0x1b, 0x97, - 0x06, 0xdc, 0xb8, 0x4a, 0x62, 0xa5, 0x49, 0x13, 0xc0, 0x45, 0x3e, 0x40, 0x30, 0x7f, 0x76, 0x97, - 0xa2, 0x48, 0x23, 0x4a, 0xb7, 0xf3, 0xfe, 0xff, 0xde, 0x7b, 0xf3, 0xde, 0x2c, 0xd4, 0x02, 0xdf, - 0x75, 0xac, 0xe3, 0xf6, 0xd1, 0xed, 0x3d, 0xca, 0xc9, 0xed, 0xb6, 0xb5, 0x7f, 0xd0, 0x0a, 0x42, - 0x9f, 0xfb, 0x68, 0xc9, 0x89, 0xb8, 0xe3, 0xb7, 0x14, 0xbf, 0xa5, 0xf9, 0xf5, 0xa5, 0x03, 0xff, - 0xc0, 0x97, 0x02, 0x6d, 0xf1, 0xa5, 0x64, 0xeb, 0x57, 0x0f, 0x7c, 0xff, 0xc0, 0xa5, 0x6d, 0x79, - 0xda, 0x8b, 0xf7, 0xdb, 0x11, 0x0f, 0x63, 0x8b, 0x6b, 0x6e, 0x63, 0x94, 0x6b, 0xc7, 0x21, 0xe1, - 0x8e, 0xcf, 0x34, 0x7f, 0x79, 0x24, 0x86, 0x23, 0xe2, 0xc6, 0xd4, 0xe4, 0xc7, 0x01, 0x55, 0x02, - 0xcd, 0xcf, 0xf3, 0xb0, 0xd8, 0xe1, 0x3c, 0x74, 0xf6, 0x62, 0x4e, 0x9f, 0x10, 0xe6, 0xec, 0xd3, - 0x88, 0xa3, 0x3a, 0xcc, 0x86, 0xf4, 0xc8, 0x89, 0x1c, 0x9f, 0xd5, 0x8c, 0x15, 0xe3, 0x46, 0x09, - 0xa7, 0x67, 0x84, 0x60, 0x9a, 0x11, 0x8f, 0xd6, 0xa6, 0x24, 0x5d, 0x7e, 0xa3, 0xff, 0x01, 0x90, - 0xc4, 0x48, 0x54, 0xcb, 0xaf, 0xe4, 0x6f, 0x94, 0x57, 0xef, 0xb5, 0xc6, 0xa1, 0x6c, 0x9d, 0x71, - 0x96, 0x51, 0xa2, 0x2e, 0xe3, 0xe1, 0x31, 0x1e, 0x32, 0x55, 0x7f, 0x01, 0xf3, 0x29, 0x7b, 0x83, - 0xed, 0xfb, 0x68, 0x05, 0xca, 0x36, 0x8d, 0xac, 0xd0, 0x09, 0x78, 0x16, 0xdc, 0x30, 0x09, 0xfd, - 0x1b, 0x20, 0x43, 0x29, 0xa3, 0xac, 0xac, 0x2e, 0x8f, 0x8f, 0xe5, 0xa9, 0x90, 0x1b, 0x1c, 0x07, - 0x14, 0x97, 0x8e, 0x92, 0xcf, 0x3a, 0x87, 0x85, 0x91, 0x88, 0x50, 0x15, 0xf2, 0xcf, 0xe9, 0xb1, - 0x76, 0x26, 0x3e, 0xd1, 0x63, 0x28, 0x48, 0x0d, 0x69, 0xbf, 0xbc, 0xfa, 0x8f, 0x73, 0x63, 0x15, - 0x60, 0xb0, 0xb2, 0x71, 0x7f, 0xea, 0x9f, 0x46, 0xf3, 0xf5, 0x34, 0x4c, 0xe3, 0xd8, 0xa5, 0x68, - 0x09, 0x0a, 0x1e, 0xe1, 0xd6, 0xa1, 0xf6, 0xa6, 0x0e, 0xe8, 0x2e, 0xcc, 0x10, 0x4b, 0xc0, 0x8b, - 0x6a, 0x53, 0x32, 0xbb, 0x57, 0x27, 0x78, 0x94, 0x42, 0x38, 0x11, 0x46, 0x0c, 0x2e, 0x87, 0xf4, - 0x45, 0x4c, 0x23, 0x6e, 0x1e, 0x52, 0x62, 0xd3, 0xd0, 0xf4, 0x03, 0xaa, 0x3a, 0x24, 0xa9, 0xd3, - 0xea, 0x78, 0x4b, 0x22, 0x98, 0x56, 0x4f, 0xea, 0x6c, 0x27, 0x2a, 0x03, 0xea, 0x05, 0x2e, 0xe1, - 0x14, 0x5f, 0xd2, 0x46, 0x47, 0xf8, 0x11, 0x0a, 0xa0, 0x1e, 0xd2, 0x28, 0xf0, 0x59, 0x44, 0xc7, - 0x38, 0x9c, 0xfe, 0xd3, 0x0e, 0x6b, 0x89, 0xd5, 0x33, 0x1e, 0xef, 0xc3, 0x6c, 0x44, 0xbc, 0xc0, - 0x75, 0xd8, 0x41, 0xad, 0x20, 0x8b, 0xd1, 0x18, 0x6f, 0x7f, 0x47, 0x4b, 0xe1, 0x54, 0xbe, 0xfe, - 0xd6, 0x80, 0x4b, 0x13, 0x3c, 0xa6, 0x6d, 0x6e, 0x0c, 0xb5, 0xf9, 0x45, 0x28, 0xca, 0x8a, 0xa9, - 0x22, 0x94, 0xb0, 0x3e, 0xa1, 0x67, 0x50, 0x4a, 0x51, 0xd6, 0xf2, 0xb2, 0xe3, 0x1e, 0x9c, 0x1f, - 0x64, 0x2b, 0xa5, 0xe0, 0xcc, 0x5c, 0xf3, 0x16, 0x94, 0x52, 0x3a, 0x2a, 0xc3, 0x0c, 0xee, 0xf6, - 0x37, 0x3b, 0x0f, 0xbb, 0xd5, 0x1c, 0x02, 0x28, 0xe2, 0xee, 0x93, 0xed, 0xa7, 0xdd, 0xaa, 0x21, - 0xbe, 0x3b, 0xfd, 0x7e, 0x77, 0x6b, 0xbd, 0x3a, 0xd5, 0x1c, 0x40, 0x51, 0xb5, 0x01, 0xaa, 0xc1, - 0xcc, 0x21, 0x61, 0xb6, 0x4b, 0x43, 0x7d, 0x5b, 0x93, 0x23, 0xba, 0x0a, 0x25, 0x87, 0x45, 0x9c, - 0x30, 0x4b, 0xdf, 0xd7, 0x12, 0xce, 0x08, 0x29, 0xf6, 0xe9, 0x0c, 0x7b, 0xf3, 0xfb, 0x29, 0x98, - 0xdd, 0xd0, 0x12, 0x63, 0x93, 0x53, 0x87, 0x59, 0xae, 0x91, 0x68, 0x6f, 0xe9, 0x19, 0xb5, 0xa1, - 0x18, 0x90, 0x90, 0x78, 0x91, 0xcc, 0x4e, 0x79, 0xf5, 0x52, 0x4b, 0xcd, 0xad, 0x56, 0x32, 0xb7, - 0x5a, 0x3b, 0x72, 0xaa, 0x61, 0x2d, 0x86, 0x6c, 0x40, 0xe9, 0x14, 0x30, 0xf7, 0x1c, 0x66, 0x3b, - 0xec, 0x20, 0xe9, 0x9f, 0x09, 0x97, 0x2d, 0x09, 0x2e, 0xbb, 0x63, 0x6b, 0x5a, 0x4f, 0x8d, 0x95, - 0x45, 0x32, 0x4a, 0x47, 0x2d, 0x58, 0xb4, 0x7c, 0x2f, 0x70, 0x5c, 0x6a, 0x9b, 0x69, 0xec, 0xbf, - 0xfd, 0xfa, 0xcd, 0x8a, 0x0c, 0xbf, 0x9a, 0xf0, 0x92, 0x02, 0xd5, 0xd7, 0xe1, 0xe2, 0x78, 0xe3, - 0x63, 0x26, 0xc4, 0xd2, 0xf0, 0x84, 0x28, 0x0d, 0x5f, 0xf5, 0x77, 0x06, 0xcc, 0xf4, 0x74, 0x1d, - 0xc6, 0x25, 0xb2, 0x06, 0x33, 0xc4, 0x26, 0x01, 0xcf, 0xaa, 0xa6, 0x8f, 0xe7, 0x4f, 0xe3, 0x7f, - 0x00, 0x2c, 0x9f, 0x31, 0x2a, 0xdb, 0x41, 0x96, 0xb3, 0xbc, 0xba, 0x32, 0x3e, 0x7d, 0x0f, 0x53, - 0x39, 0x3c, 0xa4, 0x83, 0xfe, 0x0e, 0x69, 0x1a, 0xcc, 0x24, 0xaa, 0x34, 0x43, 0x0b, 0x09, 0xab, - 0xa3, 0x38, 0xcd, 0x6f, 0x0d, 0x80, 0xcc, 0x90, 0x42, 0x62, 0x87, 0x34, 0x8a, 0x32, 0x24, 0xf2, - 0x88, 0xfe, 0x05, 0x33, 0xdc, 0xf1, 0xa8, 0x1f, 0x73, 0x0d, 0xe5, 0xf2, 0x19, 0x28, 0xeb, 0x7a, - 0x93, 0xad, 0x4d, 0x7f, 0xf1, 0xe3, 0xb2, 0x81, 0x13, 0x79, 0xb4, 0x09, 0x15, 0x12, 0xf3, 0x43, - 0xca, 0xb8, 0x63, 0x91, 0x21, 0x5c, 0x7f, 0x9d, 0x30, 0x11, 0x4f, 0xc9, 0xe2, 0x11, 0xdd, 0xe6, - 0x2b, 0x03, 0x66, 0x93, 0xc9, 0x80, 0x1e, 0x40, 0x31, 0x24, 0xcc, 0xf6, 0x3d, 0x59, 0x8f, 0x89, - 0x26, 0xb1, 0x94, 0x49, 0xe7, 0x89, 0xd6, 0x41, 0x8f, 0x00, 0x42, 0xc2, 0xa9, 0xe9, 0x3a, 0x9e, - 0xc3, 0xf5, 0x62, 0xb8, 0x3e, 0xc9, 0x02, 0xa7, 0x9b, 0x42, 0x2c, 0x35, 0x52, 0x0a, 0x13, 0x52, - 0xf3, 0xad, 0x01, 0x95, 0xd3, 0x2e, 0xd0, 0x6d, 0x58, 0xca, 0xae, 0x03, 0x7d, 0x19, 0x88, 0x1c, - 0x66, 0xeb, 0xef, 0x42, 0xca, 0xeb, 0xa6, 0x2c, 0xd4, 0x87, 0x85, 0x80, 0x86, 0x16, 0x65, 0xdc, - 0x94, 0xf3, 0x8e, 0xda, 0x1f, 0x0f, 0xe9, 0x51, 0xa8, 0x76, 0x06, 0x71, 0xfb, 0x4a, 0x0d, 0x57, - 0xb4, 0xfe, 0x8e, 0x52, 0x47, 0x0f, 0xa0, 0x1e, 0x47, 0xd4, 0x74, 0x98, 0x4d, 0x03, 0xca, 0x6c, - 0x61, 0x59, 0x21, 0x67, 0xa2, 0xc0, 0xa2, 0x8c, 0xb3, 0xb8, 0x16, 0x47, 0x74, 0x23, 0x13, 0xc0, - 0x29, 0xbf, 0xf9, 0x9d, 0x01, 0x8b, 0x67, 0x60, 0xa3, 0x3e, 0x2c, 0x26, 0xd3, 0xd8, 0x4c, 0x9e, - 0x2e, 0x3a, 0xf9, 0x1f, 0xe9, 0x88, 0xd9, 0xd7, 0x3f, 0x2c, 0xe7, 0x64, 0x57, 0x54, 0x13, 0xed, - 0x84, 0x87, 0x56, 0xe1, 0x2f, 0x1e, 0x79, 0x69, 0xc6, 0x4c, 0xa3, 0x36, 0x29, 0xe3, 0xa1, 0x43, - 0x55, 0x07, 0xe6, 0xf1, 0x05, 0x8f, 0xbc, 0xdc, 0x4d, 0x78, 0x5d, 0xc5, 0x42, 0xd7, 0x60, 0x3e, - 0x8d, 0x42, 0xd4, 0x41, 0x82, 0xc9, 0xe3, 0xb9, 0x84, 0x28, 0xe2, 0x96, 0x00, 0xce, 0x24, 0x49, - 0x0c, 0x52, 0x16, 0x7b, 0x62, 0x3e, 0xfb, 0xa1, 0x0c, 0x7c, 0x1e, 0x67, 0x04, 0xf4, 0x89, 0x78, - 0xad, 0x30, 0xdf, 0x73, 0x98, 0xe4, 0xab, 0xc7, 0xc8, 0xbd, 0x3f, 0x58, 0x80, 0xd6, 0x7a, 0xa6, - 0x2a, 0x1f, 0x29, 0xc3, 0xb6, 0x9a, 0xb7, 0x60, 0x61, 0x84, 0x2f, 0xb6, 0x43, 0x6f, 0x77, 0x6b, - 0x1d, 0x77, 0xd7, 0xab, 0x39, 0x54, 0x85, 0xb9, 0x41, 0x77, 0xcb, 0x1c, 0xf4, 0xb6, 0x77, 0x77, - 0x3a, 0x5b, 0xeb, 0x55, 0xa3, 0xf9, 0x99, 0x01, 0x95, 0xd3, 0xb7, 0x01, 0xdd, 0x84, 0x3c, 0x77, - 0xa3, 0x34, 0xe1, 0x63, 0xe3, 0x1a, 0xb8, 0x51, 0x2f, 0x87, 0x85, 0x1c, 0xba, 0x0b, 0x45, 0x2f, - 0xe6, 0x31, 0x71, 0x75, 0x2b, 0x4d, 0x78, 0x84, 0x3c, 0x91, 0x32, 0xbd, 0x1c, 0xd6, 0xd2, 0x6b, - 0x65, 0x28, 0x89, 0x6b, 0x27, 0x5f, 0x64, 0xcd, 0x77, 0x53, 0x90, 0x1f, 0xb8, 0x11, 0xba, 0x0e, - 0x0b, 0x16, 0x31, 0x2d, 0x1a, 0x72, 0x67, 0x5f, 0xc4, 0x43, 0x23, 0xdd, 0xce, 0x15, 0x8b, 0x3c, - 0x1c, 0xa2, 0xa2, 0x65, 0x00, 0xee, 0x3f, 0xa7, 0xcc, 0x0c, 0x08, 0x3f, 0x54, 0x83, 0xa4, 0x97, - 0xc3, 0x25, 0x49, 0xeb, 0x13, 0x7e, 0x88, 0xee, 0x40, 0xc1, 0x17, 0xf6, 0xf5, 0x28, 0xb9, 0x32, - 0x3e, 0xaa, 0x6d, 0x81, 0xbd, 0x97, 0xc3, 0x4a, 0x16, 0xfd, 0x17, 0xca, 0x32, 0x26, 0xf5, 0x4a, - 0x91, 0x33, 0xa4, 0x32, 0xe9, 0xc2, 0x0f, 0xdc, 0x48, 0xce, 0x11, 0xb5, 0xb8, 0x7b, 0x06, 0x06, - 0x92, 0x9e, 0xd0, 0xdf, 0x60, 0xde, 0x8a, 0x23, 0xee, 0x7b, 0x89, 0xa9, 0x82, 0x8c, 0xd0, 0xc0, - 0x73, 0x8a, 0xac, 0xc5, 0x96, 0xa1, 0x1c, 0xd1, 0xf0, 0x88, 0x86, 0xa6, 0x1c, 0xf8, 0x45, 0x09, - 0x15, 0x14, 0x69, 0x4b, 0x2c, 0xd8, 0x6b, 0x00, 0x99, 0x0f, 0x54, 0x82, 0x42, 0x7f, 0xb3, 0xb3, - 0xb1, 0xa5, 0xf6, 0xfc, 0x5a, 0xb7, 0x83, 0xbb, 0xb8, 0x6a, 0xac, 0x55, 0x60, 0x4e, 0xe5, 0x22, - 0xf2, 0xe3, 0xd0, 0xa2, 0x6b, 0x73, 0x49, 0x6e, 0x64, 0x6a, 0xbf, 0x9c, 0x82, 0x82, 0x84, 0x89, - 0xae, 0x40, 0xc9, 0x72, 0x1d, 0x71, 0x45, 0x1d, 0x3b, 0x79, 0xc1, 0x2b, 0xc2, 0x86, 0x2d, 0xda, - 0x5d, 0x33, 0x23, 0x6a, 0x85, 0x94, 0xeb, 0xe1, 0x3c, 0xa7, 0x88, 0x3b, 0x92, 0x26, 0x2c, 0x28, - 0xcb, 0x71, 0xe8, 0xca, 0xc4, 0x8a, 0x7d, 0x2e, 0x08, 0xbb, 0xa1, 0x2b, 0x1e, 0x42, 0x91, 0xe5, - 0x07, 0x54, 0xad, 0xe4, 0x12, 0xd6, 0x27, 0xf4, 0x7f, 0x58, 0xa0, 0xcc, 0x0e, 0x7c, 0x87, 0x71, - 0x53, 0x6f, 0xaa, 0x82, 0xdc, 0xd9, 0xed, 0x8f, 0xd4, 0xa4, 0xd5, 0xd5, 0x2a, 0x7d, 0xa9, 0xa1, - 0xb6, 0x75, 0x85, 0x9e, 0x22, 0xd6, 0x3b, 0x70, 0x61, 0x8c, 0xd8, 0xb9, 0xf6, 0xee, 0x57, 0x06, - 0x14, 0x55, 0x6b, 0x8a, 0x62, 0x04, 0xa1, 0x73, 0x24, 0xa6, 0x75, 0xa6, 0x0e, 0x9a, 0xf4, 0x98, - 0x1e, 0xa3, 0x9b, 0x80, 0x74, 0x8a, 0x86, 0x1a, 0x54, 0x9b, 0x5c, 0x54, 0x9c, 0xa1, 0x1e, 0x1d, - 0xd7, 0xcb, 0xf9, 0x09, 0xbd, 0x7c, 0xaa, 0x0b, 0xa6, 0x47, 0xbb, 0x60, 0x6d, 0xe3, 0xcd, 0xfb, - 0x46, 0xee, 0xdd, 0xfb, 0x46, 0xee, 0xc3, 0xfb, 0x86, 0xf1, 0xe9, 0x49, 0xc3, 0xf8, 0xfa, 0xa4, - 0x61, 0xbc, 0x3e, 0x69, 0x18, 0x6f, 0x4e, 0x1a, 0xc6, 0x4f, 0x27, 0x0d, 0xe3, 0x97, 0x93, 0x46, - 0xee, 0xc3, 0x49, 0xc3, 0x78, 0xf5, 0x73, 0x23, 0xf7, 0xec, 0x8a, 0xca, 0xaa, 0xe3, 0xb7, 0x49, - 0xe0, 0xb4, 0x4f, 0xff, 0xeb, 0xed, 0x15, 0xe5, 0xe0, 0xbc, 0xf3, 0x7b, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xa6, 0xbe, 0xc2, 0x69, 0x88, 0x0e, 0x00, 0x00, -} diff --git a/policy/v1beta1/http_response.pb.go b/policy/v1beta1/http_response.pb.go index ec3d55e25f7..66955ad3b5d 100644 --- a/policy/v1beta1/http_response.pb.go +++ b/policy/v1beta1/http_response.pb.go @@ -3,23 +3,28 @@ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // HTTP response codes. // For more details: http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml type HttpStatusCode int32 @@ -145,6 +150,7 @@ var HttpStatusCode_name = map[int32]string{ 510: "NotExtended", 511: "NetworkAuthenticationRequired", } + var HttpStatusCode_value = map[string]int32{ "Empty": 0, "Continue": 100, @@ -205,7 +211,9 @@ var HttpStatusCode_value = map[string]int32{ "NetworkAuthenticationRequired": 511, } -func (HttpStatusCode) EnumDescriptor() ([]byte, []int) { return fileDescriptorHttpResponse, []int{0} } +func (HttpStatusCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_dffd274153c8a074, []int{0} +} // Direct HTTP response for a client-facing error message which can be attached // to an RPC error. @@ -215,12 +223,40 @@ type DirectHttpResponse struct { // HTTP response body. Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` // Optional HTTP response headers. - Headers map[string]string `protobuf:"bytes,3,rep,name=headers" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Headers map[string]string `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *DirectHttpResponse) Reset() { *m = DirectHttpResponse{} } -func (*DirectHttpResponse) ProtoMessage() {} -func (*DirectHttpResponse) Descriptor() ([]byte, []int) { return fileDescriptorHttpResponse, []int{0} } +func (m *DirectHttpResponse) Reset() { *m = DirectHttpResponse{} } +func (*DirectHttpResponse) ProtoMessage() {} +func (*DirectHttpResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_dffd274153c8a074, []int{0} +} +func (m *DirectHttpResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DirectHttpResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DirectHttpResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DirectHttpResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DirectHttpResponse.Merge(m, src) +} +func (m *DirectHttpResponse) XXX_Size() int { + return m.Size() +} +func (m *DirectHttpResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DirectHttpResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DirectHttpResponse proto.InternalMessageInfo func (m *DirectHttpResponse) GetCode() HttpStatusCode { if m != nil { @@ -244,9 +280,83 @@ func (m *DirectHttpResponse) GetHeaders() map[string]string { } func init() { - proto.RegisterType((*DirectHttpResponse)(nil), "istio.policy.v1beta1.DirectHttpResponse") proto.RegisterEnum("istio.policy.v1beta1.HttpStatusCode", HttpStatusCode_name, HttpStatusCode_value) + proto.RegisterType((*DirectHttpResponse)(nil), "istio.policy.v1beta1.DirectHttpResponse") + proto.RegisterMapType((map[string]string)(nil), "istio.policy.v1beta1.DirectHttpResponse.HeadersEntry") +} + +func init() { proto.RegisterFile("policy/v1beta1/http_response.proto", fileDescriptor_dffd274153c8a074) } + +var fileDescriptor_dffd274153c8a074 = []byte{ + // 1042 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x55, 0xcb, 0x6f, 0x14, 0xc7, + 0x13, 0xde, 0xd9, 0xe6, 0xe5, 0xc6, 0x98, 0xa6, 0x31, 0x3f, 0xfc, 0x83, 0x64, 0x64, 0xa1, 0x1c, + 0x50, 0x0e, 0xb6, 0x20, 0x8a, 0x84, 0xb8, 0x19, 0x63, 0x83, 0x15, 0xef, 0xe2, 0xac, 0x77, 0x39, + 0xe4, 0x12, 0xb5, 0xa7, 0x6b, 0x77, 0x5b, 0xcc, 0x76, 0x0d, 0x3d, 0xb5, 0x0b, 0x93, 0x53, 0xfe, + 0x04, 0xf2, 0x7e, 0xbf, 0x0e, 0x49, 0x50, 0x04, 0x21, 0x51, 0x72, 0xc9, 0x7f, 0x40, 0xde, 0x3e, + 0x72, 0x0c, 0xcb, 0x25, 0xb7, 0x70, 0xc8, 0x3b, 0x51, 0x12, 0x75, 0xef, 0x43, 0x46, 0x21, 0xb7, + 0xe9, 0x9a, 0xfa, 0xaa, 0xbe, 0xfa, 0xbe, 0x9a, 0x69, 0x7e, 0x24, 0xc3, 0xd4, 0x24, 0xc5, 0x7c, + 0xef, 0xd8, 0x06, 0x90, 0x3a, 0x36, 0xdf, 0x26, 0xca, 0x9e, 0x74, 0x90, 0x67, 0x68, 0x73, 0x98, + 0xcb, 0x1c, 0x12, 0xca, 0x69, 0x93, 0x93, 0xc1, 0xb9, 0x41, 0xe6, 0xdc, 0x30, 0xf3, 0xc8, 0x0f, + 0x11, 0x97, 0xa7, 0x8d, 0x83, 0x84, 0xce, 0x12, 0x65, 0xb5, 0x21, 0x44, 0x9e, 0xe0, 0xdb, 0x12, + 0xd4, 0x30, 0x13, 0xcd, 0x46, 0x47, 0xa7, 0x8e, 0x3f, 0x34, 0x77, 0x3f, 0xec, 0x9c, 0x47, 0xac, + 0x93, 0xa2, 0x6e, 0xbe, 0x88, 0x1a, 0x6a, 0x01, 0x21, 0x25, 0xdf, 0xb6, 0x81, 0xba, 0x98, 0x29, + 0xcf, 0x46, 0x47, 0x27, 0x6a, 0xe1, 0x59, 0x9e, 0xe3, 0x3b, 0xdb, 0xa0, 0x34, 0xb8, 0x7c, 0x86, + 0xcd, 0xb2, 0xa3, 0xbb, 0x8f, 0x3f, 0x7a, 0xff, 0x82, 0xff, 0x26, 0x32, 0x77, 0x76, 0x80, 0x5b, + 0xb2, 0xe4, 0x8a, 0xda, 0xa8, 0xca, 0xa1, 0x93, 0x7c, 0x72, 0xeb, 0x0b, 0x29, 0x38, 0xbb, 0x00, + 0x45, 0x60, 0x3b, 0x51, 0xf3, 0x8f, 0x72, 0x9a, 0x6f, 0xef, 0xa9, 0xb4, 0x0b, 0x43, 0x1e, 0x83, + 0xc3, 0xc9, 0xf2, 0x89, 0xe8, 0xe1, 0xcf, 0x26, 0xf8, 0xd4, 0xbd, 0xcc, 0xe5, 0x04, 0xdf, 0xbe, + 0xd4, 0xc9, 0xa8, 0x10, 0x25, 0x39, 0xc9, 0x77, 0x2d, 0xa2, 0x25, 0x63, 0xbb, 0x20, 0xb4, 0xdc, + 0xc9, 0xcb, 0xe7, 0x1e, 0x13, 0x37, 0x23, 0x39, 0xc9, 0x77, 0x2e, 0x3a, 0x50, 0x04, 0x5a, 0x7c, + 0x1e, 0xc9, 0x3d, 0x7c, 0xd7, 0x42, 0x92, 0x40, 0xe6, 0x8f, 0x5f, 0x44, 0x72, 0x96, 0x1f, 0xae, + 0xa2, 0x5d, 0xe8, 0x52, 0x1b, 0x9d, 0x21, 0x45, 0xa6, 0x07, 0x2b, 0xb6, 0x89, 0xae, 0xa3, 0xc8, + 0xa0, 0x15, 0x5f, 0x46, 0x72, 0x8a, 0x4f, 0x54, 0xd1, 0xd7, 0x05, 0x4b, 0xe2, 0xab, 0x48, 0xee, + 0xe3, 0x93, 0x35, 0xc8, 0x81, 0x46, 0xa1, 0xaf, 0x23, 0xb9, 0x9f, 0x4f, 0xad, 0x29, 0x47, 0x46, + 0xa5, 0xa3, 0xe0, 0x37, 0x91, 0x14, 0x7c, 0x77, 0xa5, 0x9b, 0x92, 0x19, 0x70, 0x15, 0xdf, 0x46, + 0x72, 0x9a, 0xef, 0x5d, 0x48, 0x1d, 0x28, 0x5d, 0xd4, 0x20, 0x43, 0xe7, 0x19, 0x6c, 0x46, 0x72, + 0x37, 0xdf, 0xb1, 0x52, 0x69, 0xe4, 0xa0, 0x45, 0x3f, 0xa4, 0x04, 0x50, 0x96, 0xc2, 0x62, 0x1b, + 0x4d, 0x02, 0xb9, 0xb8, 0x56, 0x96, 0x07, 0xb8, 0xa8, 0x60, 0x0f, 0xf4, 0x1a, 0xb8, 0x8e, 0xb2, + 0x60, 0x29, 0x2d, 0xc4, 0xf5, 0xb2, 0xe4, 0x7c, 0xfb, 0x32, 0x76, 0xad, 0x16, 0x1f, 0x96, 0xfd, + 0x58, 0xeb, 0x00, 0xe7, 0xa8, 0x0d, 0x4e, 0xdc, 0x28, 0xfb, 0xe6, 0x55, 0xa4, 0x0a, 0x6a, 0xd3, + 0x34, 0xa0, 0xc5, 0x47, 0x21, 0xa1, 0x91, 0xc3, 0x9a, 0xc3, 0xcb, 0x85, 0xf8, 0xb8, 0x2c, 0xff, + 0xc7, 0xf7, 0xd5, 0xa1, 0x93, 0xa1, 0x53, 0xae, 0xa8, 0x81, 0x0e, 0xe6, 0x89, 0x4f, 0x42, 0x7c, + 0xdc, 0x65, 0x1c, 0xff, 0xb4, 0x2c, 0xf7, 0x72, 0x7e, 0x4a, 0xe9, 0x1a, 0x5c, 0xec, 0x42, 0x4e, + 0xe2, 0x0a, 0xf3, 0x32, 0x34, 0xac, 0x1a, 0xe8, 0xf6, 0x14, 0x68, 0xf1, 0x0c, 0xf3, 0xe4, 0xd7, + 0x54, 0xd1, 0x09, 0xc8, 0x8b, 0x5d, 0xe3, 0x40, 0x8b, 0x67, 0x99, 0xd7, 0x6f, 0x19, 0xdd, 0x86, + 0xd1, 0x1a, 0xac, 0x78, 0x8e, 0x79, 0x22, 0x55, 0xa4, 0x01, 0xf1, 0xe7, 0x59, 0x98, 0x0d, 0xa8, + 0x8d, 0xba, 0x8a, 0xb4, 0x90, 0xa6, 0x78, 0x09, 0xb4, 0x78, 0x81, 0x49, 0xc9, 0xf7, 0xf8, 0x40, + 0x70, 0x4a, 0x6d, 0xa4, 0x20, 0x5e, 0x64, 0xde, 0xab, 0xc0, 0xdf, 0xbb, 0x05, 0x96, 0x4c, 0x12, + 0x3c, 0x1a, 0xf7, 0x7a, 0x89, 0x79, 0x23, 0x86, 0x14, 0xeb, 0xa6, 0x03, 0xd8, 0x25, 0xf1, 0x72, + 0x68, 0xb8, 0x88, 0xb6, 0x99, 0x9a, 0x84, 0xc4, 0x2b, 0x4c, 0x4e, 0xf0, 0x6d, 0x67, 0xd0, 0x82, + 0x78, 0x35, 0xa4, 0xaf, 0x82, 0x6d, 0x51, 0x7b, 0x5c, 0xe3, 0x35, 0x26, 0x0f, 0x72, 0xb9, 0xe6, + 0x20, 0x41, 0xab, 0x8d, 0x2f, 0xbf, 0xac, 0x4c, 0x0a, 0x5a, 0xbc, 0x3e, 0x1a, 0x2f, 0x45, 0xa5, + 0xeb, 0x88, 0xab, 0xca, 0xb5, 0x40, 0xbc, 0xc1, 0xbc, 0x30, 0x8d, 0xda, 0x8a, 0x8f, 0xa0, 0x6d, + 0x89, 0x37, 0x99, 0xfc, 0x3f, 0x9f, 0x6e, 0xd8, 0xbc, 0x9b, 0x0d, 0x1c, 0xae, 0x80, 0x36, 0xaa, + 0x5e, 0x64, 0x20, 0xde, 0x62, 0x72, 0x86, 0xef, 0xaf, 0x29, 0xdb, 0x82, 0x2a, 0xd2, 0xba, 0x22, + 0x93, 0x37, 0x4d, 0x18, 0xed, 0x6d, 0xe6, 0x65, 0x5f, 0xba, 0x9c, 0x41, 0x42, 0x6a, 0x4b, 0xcf, + 0x77, 0x02, 0x99, 0x8a, 0xc9, 0x07, 0x36, 0xc0, 0x58, 0xfe, 0x77, 0x43, 0xa9, 0x86, 0xcd, 0x1c, + 0x26, 0x90, 0xe7, 0xbe, 0xc8, 0x92, 0x25, 0x43, 0x85, 0x78, 0x8f, 0xf9, 0x7d, 0x5a, 0xc5, 0xe4, + 0x02, 0x68, 0xf1, 0x7e, 0x50, 0x77, 0x50, 0xec, 0x34, 0x64, 0x60, 0x35, 0xd8, 0xa4, 0x10, 0x57, + 0xc3, 0x28, 0x8d, 0xac, 0xe5, 0x94, 0x86, 0xf1, 0xe4, 0x1f, 0x04, 0xe6, 0x5b, 0x27, 0x1f, 0xbf, + 0xba, 0x16, 0x00, 0x75, 0xc4, 0x8a, 0xb2, 0xc5, 0x90, 0x43, 0x2e, 0xae, 0x07, 0x43, 0x86, 0xc7, + 0xc1, 0x17, 0xbd, 0x6c, 0x20, 0xd5, 0xf9, 0x58, 0x9d, 0x1b, 0x81, 0xe6, 0x8a, 0x25, 0x70, 0x56, + 0xa5, 0xeb, 0xe0, 0x7a, 0xe0, 0x96, 0x9c, 0x43, 0x27, 0x7e, 0x0c, 0xda, 0x57, 0x91, 0x56, 0x3a, + 0x59, 0x0a, 0x7e, 0x63, 0x40, 0x8b, 0x9f, 0xd8, 0x70, 0xcb, 0xce, 0x28, 0x82, 0x4b, 0xaa, 0x10, + 0x3f, 0x87, 0xf9, 0x3d, 0xce, 0x24, 0xd0, 0xb0, 0xaa, 0xa7, 0x4c, 0x1a, 0x04, 0xfb, 0x25, 0xc0, + 0x87, 0x69, 0x23, 0xa7, 0x7f, 0x65, 0xf2, 0x01, 0x7e, 0xf0, 0x6c, 0xbd, 0xbe, 0x76, 0x1e, 0x5c, + 0x6e, 0xd0, 0x7a, 0x95, 0x47, 0x36, 0x88, 0xdf, 0x98, 0x3c, 0xc4, 0x0f, 0x9c, 0x57, 0xce, 0x28, + 0x4b, 0x0b, 0x69, 0x8e, 0x55, 0x68, 0x21, 0x19, 0x45, 0x90, 0x8b, 0xdf, 0x87, 0x3c, 0xf3, 0x6e, + 0xb3, 0x69, 0x12, 0x03, 0x96, 0xd6, 0x09, 0x9d, 0x6a, 0x81, 0xf8, 0x23, 0xec, 0xf9, 0x2a, 0x62, + 0x76, 0x1a, 0x28, 0x58, 0x20, 0xfe, 0x64, 0xc3, 0x8f, 0x6b, 0xe9, 0x32, 0x79, 0x45, 0xb5, 0xf8, + 0x8b, 0xc9, 0x23, 0xfc, 0xc1, 0x2a, 0xd0, 0x25, 0x74, 0x17, 0xfe, 0x63, 0x37, 0xff, 0x66, 0xa7, + 0x1e, 0xdf, 0xbc, 0x1d, 0x97, 0x6e, 0xdd, 0x8e, 0x4b, 0x77, 0x6f, 0xc7, 0xd1, 0xd3, 0xfd, 0x38, + 0xba, 0xda, 0x8f, 0xa3, 0x9b, 0xfd, 0x38, 0xda, 0xec, 0xc7, 0xd1, 0x77, 0xfd, 0x38, 0xfa, 0xbe, + 0x1f, 0x97, 0xee, 0xf6, 0xe3, 0xe8, 0xca, 0x9d, 0xb8, 0xb4, 0x79, 0x27, 0x2e, 0xdd, 0xba, 0x13, + 0x97, 0x9e, 0x38, 0x3c, 0xf8, 0xd9, 0x1a, 0x9c, 0x57, 0x99, 0x99, 0xbf, 0xf7, 0xaa, 0xd8, 0xd8, + 0x11, 0x6e, 0x87, 0x47, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0xea, 0x47, 0xf8, 0xf5, 0x43, 0x06, + 0x00, 0x00, } + func (x HttpStatusCode) String() string { s, ok := HttpStatusCode_name[int32(x)] if ok { @@ -301,7 +411,7 @@ func (this *DirectHttpResponse) GoString() string { for k, _ := range this.Headers { keysForHeaders = append(keysForHeaders, k) } - sortkeys.Strings(keysForHeaders) + github_com_gogo_protobuf_sortkeys.Strings(keysForHeaders) mapStringForHeaders := "map[string]string{" for _, k := range keysForHeaders { mapStringForHeaders += fmt.Sprintf("%#v: %#v,", k, this.Headers[k]) @@ -377,6 +487,9 @@ func encodeVarintHttpResponse(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *DirectHttpResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Code != 0 { @@ -418,7 +531,7 @@ func (this *DirectHttpResponse) String() string { for k, _ := range this.Headers { keysForHeaders = append(keysForHeaders, k) } - sortkeys.Strings(keysForHeaders) + github_com_gogo_protobuf_sortkeys.Strings(keysForHeaders) mapStringForHeaders := "map[string]string{" for _, k := range keysForHeaders { mapStringForHeaders += fmt.Sprintf("%v: %v,", k, this.Headers[k]) @@ -455,7 +568,7 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -483,7 +596,7 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Code |= (HttpStatusCode(b) & 0x7F) << shift + m.Code |= HttpStatusCode(b&0x7F) << shift if b < 0x80 { break } @@ -502,7 +615,7 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -512,6 +625,9 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthHttpResponse } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthHttpResponse + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -531,7 +647,7 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -540,6 +656,9 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthHttpResponse } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthHttpResponse + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -560,7 +679,7 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -577,7 +696,7 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -587,6 +706,9 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthHttpResponse } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthHttpResponse + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -603,7 +725,7 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -613,6 +735,9 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { return ErrInvalidLengthHttpResponse } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthHttpResponse + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -644,6 +769,9 @@ func (m *DirectHttpResponse) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthHttpResponse } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthHttpResponse + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -710,10 +838,13 @@ func skipHttpResponse(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthHttpResponse } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthHttpResponse + } return iNdEx, nil case 3: for { @@ -742,6 +873,9 @@ func skipHttpResponse(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthHttpResponse + } } return iNdEx, nil case 4: @@ -760,74 +894,3 @@ var ( ErrInvalidLengthHttpResponse = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowHttpResponse = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("policy/v1beta1/http_response.proto", fileDescriptorHttpResponse) } - -var fileDescriptorHttpResponse = []byte{ - // 1032 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x55, 0x4b, 0x8f, 0x1b, 0x45, - 0x10, 0xde, 0x71, 0xe7, 0xb5, 0x9d, 0xcd, 0xa6, 0xd3, 0xd9, 0x90, 0x25, 0x01, 0x6b, 0x15, 0x71, - 0x88, 0x38, 0x78, 0x95, 0x20, 0xa4, 0x28, 0xb7, 0xcd, 0xc6, 0x9b, 0x58, 0xac, 0x1d, 0xcb, 0x6b, - 0xe7, 0xc0, 0x05, 0xf5, 0x4e, 0x97, 0xed, 0x56, 0xc6, 0x5d, 0x93, 0x9e, 0xb2, 0x93, 0xe1, 0xc4, - 0x4f, 0x08, 0xef, 0xf7, 0xeb, 0x00, 0x44, 0x28, 0x21, 0x20, 0xb8, 0xf0, 0x0f, 0xc2, 0x3b, 0x47, - 0x8e, 0xc4, 0x5c, 0xb8, 0x91, 0x03, 0x6f, 0x10, 0xa0, 0x6e, 0x3f, 0xb4, 0x11, 0xe1, 0x36, 0x5d, - 0x53, 0x5f, 0xd5, 0x57, 0xdf, 0x57, 0x33, 0xcd, 0x8f, 0xa4, 0x98, 0x98, 0x38, 0x5f, 0x1e, 0x1c, - 0xdb, 0x04, 0x52, 0xc7, 0x96, 0xbb, 0x44, 0xe9, 0x13, 0x0e, 0xb2, 0x14, 0x6d, 0x06, 0xa5, 0xd4, - 0x21, 0xa1, 0x5c, 0x30, 0x19, 0x19, 0x2c, 0x8d, 0x32, 0x4b, 0xe3, 0xcc, 0x23, 0x3f, 0x46, 0x5c, - 0x9e, 0x36, 0x0e, 0x62, 0x3a, 0x4b, 0x94, 0x36, 0xc6, 0x10, 0x79, 0x82, 0x6f, 0x8b, 0x51, 0xc3, - 0x62, 0xb4, 0x14, 0x1d, 0x9d, 0x3f, 0xfe, 0x50, 0xe9, 0x5e, 0xd8, 0x92, 0x47, 0x6c, 0x90, 0xa2, - 0x7e, 0xb6, 0x8a, 0x1a, 0x1a, 0x01, 0x21, 0x25, 0xdf, 0xb6, 0x89, 0x3a, 0x5f, 0x2c, 0x2c, 0x45, - 0x47, 0x67, 0x1b, 0xe1, 0x59, 0x9e, 0xe3, 0x3b, 0xbb, 0xa0, 0x34, 0xb8, 0x6c, 0x91, 0x2d, 0xb1, - 0xa3, 0xbb, 0x8f, 0x3f, 0x7a, 0xef, 0x82, 0xff, 0x25, 0x52, 0x3a, 0x3b, 0xc2, 0x95, 0x2d, 0xb9, - 0xbc, 0x31, 0xa9, 0x72, 0xe8, 0x24, 0x9f, 0xdb, 0xfa, 0x42, 0x0a, 0xce, 0x2e, 0x40, 0x1e, 0xd8, - 0xce, 0x36, 0xfc, 0xa3, 0x5c, 0xe0, 0xdb, 0x07, 0x2a, 0xe9, 0xc3, 0x98, 0xc7, 0xe8, 0x70, 0xb2, - 0x70, 0x22, 0x7a, 0xf8, 0xd3, 0x59, 0x3e, 0x7f, 0x37, 0x73, 0x39, 0xcb, 0xb7, 0x97, 0x7b, 0x29, - 0xe5, 0x62, 0x46, 0xce, 0xf1, 0x5d, 0xab, 0x68, 0xc9, 0xd8, 0x3e, 0x08, 0x2d, 0x77, 0xf2, 0xc2, - 0xb9, 0xc7, 0xc4, 0xcd, 0x48, 0xce, 0xf1, 0x9d, 0xab, 0x0e, 0x14, 0x81, 0x16, 0x9f, 0x45, 0x72, - 0x0f, 0xdf, 0xb5, 0x12, 0xc7, 0x90, 0xfa, 0xe3, 0xe7, 0x91, 0x5c, 0xe2, 0x87, 0x6b, 0x68, 0x57, - 0xfa, 0xd4, 0x45, 0x67, 0x48, 0x91, 0x19, 0x40, 0xc5, 0xb6, 0xd1, 0xf5, 0x14, 0x19, 0xb4, 0xe2, - 0x8b, 0x48, 0xce, 0xf3, 0xd9, 0x1a, 0xfa, 0xba, 0x60, 0x49, 0x7c, 0x19, 0xc9, 0x7d, 0x7c, 0xae, - 0x01, 0x19, 0xd0, 0x24, 0xf4, 0x55, 0x24, 0xf7, 0xf3, 0xf9, 0xba, 0x72, 0x64, 0x54, 0x32, 0x09, - 0x7e, 0x1d, 0x49, 0xc1, 0x77, 0x57, 0xfb, 0x09, 0x99, 0x11, 0x57, 0xf1, 0x4d, 0x24, 0x17, 0xf8, - 0xde, 0x95, 0xc4, 0x81, 0xd2, 0x79, 0x03, 0x52, 0x74, 0x9e, 0xc1, 0xad, 0x48, 0xee, 0xe6, 0x3b, - 0x2a, 0xd5, 0x56, 0x06, 0x5a, 0x0c, 0x43, 0x4a, 0x00, 0xa5, 0x09, 0xac, 0x76, 0xd1, 0xc4, 0x90, - 0x89, 0x6b, 0x05, 0x79, 0x80, 0x8b, 0x2a, 0x0e, 0x40, 0xd7, 0xc1, 0xf5, 0x94, 0x05, 0x4b, 0x49, - 0x2e, 0xae, 0x17, 0x24, 0xe7, 0xdb, 0xd7, 0xb0, 0x6f, 0xb5, 0xf8, 0xa0, 0xe0, 0xc7, 0xda, 0x00, - 0x38, 0x47, 0x5d, 0x70, 0xe2, 0x46, 0xc1, 0x37, 0xaf, 0x21, 0x55, 0x51, 0x9b, 0xb6, 0x01, 0x2d, - 0x3e, 0x0c, 0x09, 0xad, 0x0c, 0xea, 0x0e, 0x2f, 0xe7, 0xe2, 0xa3, 0x82, 0xbc, 0x8f, 0xef, 0x6b, - 0x42, 0x2f, 0x45, 0xa7, 0x5c, 0xde, 0x00, 0x1d, 0xcc, 0x13, 0x1f, 0x87, 0xf8, 0xb4, 0xcb, 0x34, - 0xfe, 0x49, 0x41, 0xee, 0xe5, 0xfc, 0x94, 0xd2, 0x0d, 0xb8, 0xd8, 0x87, 0x8c, 0xc4, 0x15, 0xe6, - 0x65, 0x68, 0x59, 0x35, 0xd2, 0xed, 0x49, 0xd0, 0xe2, 0x69, 0xe6, 0xc9, 0xd7, 0x55, 0xde, 0x0b, - 0xc8, 0x8b, 0x7d, 0xe3, 0x40, 0x8b, 0x67, 0x98, 0xd7, 0x6f, 0x0d, 0xdd, 0xa6, 0xd1, 0x1a, 0xac, - 0x78, 0x96, 0x79, 0x22, 0x35, 0xa4, 0x11, 0xf1, 0xe7, 0x58, 0x98, 0x0d, 0xa8, 0x8b, 0xba, 0x86, - 0xb4, 0x92, 0x24, 0x78, 0x09, 0xb4, 0x78, 0x9e, 0x49, 0xc9, 0xf7, 0xf8, 0x40, 0x70, 0x4a, 0x6d, - 0x26, 0x20, 0x5e, 0x60, 0xde, 0xab, 0xc0, 0xdf, 0xbb, 0x05, 0x96, 0x4c, 0x1c, 0x3c, 0x9a, 0xf6, - 0x7a, 0x91, 0x79, 0x23, 0xc6, 0x14, 0x9b, 0xa6, 0x07, 0xd8, 0x27, 0xf1, 0x52, 0x68, 0xb8, 0x8a, - 0xb6, 0x9d, 0x98, 0x98, 0xc4, 0xcb, 0x4c, 0xce, 0xf2, 0x6d, 0x67, 0xd0, 0x82, 0x78, 0x25, 0xa4, - 0xaf, 0x83, 0xed, 0x50, 0x77, 0x5a, 0xe3, 0x55, 0x26, 0x0f, 0x72, 0x59, 0x77, 0x10, 0xa3, 0xd5, - 0xc6, 0x97, 0x5f, 0x53, 0x26, 0x01, 0x2d, 0x5e, 0x9b, 0x8c, 0x97, 0xa0, 0xd2, 0x4d, 0xc4, 0x75, - 0xe5, 0x3a, 0x20, 0x5e, 0x67, 0x5e, 0x98, 0x56, 0xa3, 0xe2, 0x23, 0x68, 0x3b, 0xe2, 0x0d, 0x26, - 0xef, 0xe7, 0x0b, 0x2d, 0x9b, 0xf5, 0xd3, 0x91, 0xc3, 0x55, 0xd0, 0x46, 0x35, 0xf3, 0x14, 0xc4, - 0x9b, 0x4c, 0x2e, 0xf2, 0xfd, 0x0d, 0x65, 0x3b, 0x50, 0x43, 0xda, 0x50, 0x64, 0xb2, 0xb6, 0x09, - 0xa3, 0xbd, 0xc5, 0xbc, 0xec, 0xe5, 0xcb, 0x29, 0xc4, 0xa4, 0xb6, 0xf4, 0x7c, 0x3b, 0x90, 0xa9, - 0x9a, 0x6c, 0x64, 0x03, 0x4c, 0xe5, 0x7f, 0x27, 0x94, 0x6a, 0xd9, 0xd4, 0x61, 0x0c, 0x59, 0xe6, - 0x8b, 0x94, 0x2d, 0x19, 0xca, 0xc5, 0xbb, 0xcc, 0xef, 0xd3, 0x3a, 0xc6, 0x17, 0x40, 0x8b, 0xf7, - 0x82, 0xba, 0xa3, 0x62, 0xa7, 0x21, 0x05, 0xab, 0xc1, 0xc6, 0xb9, 0xb8, 0x1a, 0x46, 0x69, 0xa5, - 0x1d, 0xa7, 0x34, 0x4c, 0x27, 0x7f, 0x3f, 0x30, 0xdf, 0x3a, 0xf9, 0xf4, 0xd5, 0xb5, 0x00, 0x68, - 0x22, 0x56, 0x95, 0xcd, 0xc7, 0x1c, 0x32, 0x71, 0x3d, 0x18, 0x32, 0x3e, 0x8e, 0xbe, 0xe8, 0x35, - 0x03, 0x89, 0xce, 0xa6, 0xea, 0xdc, 0x08, 0x34, 0x2b, 0x96, 0xc0, 0x59, 0x95, 0x6c, 0x80, 0x1b, - 0x80, 0x2b, 0x3b, 0x87, 0x4e, 0xfc, 0x14, 0xb4, 0xaf, 0x21, 0x55, 0x7a, 0x69, 0x02, 0x7e, 0x63, - 0x40, 0x8b, 0x9f, 0xd9, 0x78, 0xcb, 0xce, 0x28, 0x82, 0x4b, 0x2a, 0x17, 0xbf, 0x84, 0xf9, 0x3d, - 0xce, 0xc4, 0xd0, 0xb2, 0x6a, 0xa0, 0x4c, 0x12, 0x04, 0xfb, 0x35, 0xc0, 0xc7, 0x69, 0x13, 0xa7, - 0x7f, 0x63, 0xf2, 0x01, 0x7e, 0xf0, 0x6c, 0xb3, 0x59, 0x3f, 0x0f, 0x2e, 0x33, 0x68, 0xbd, 0xca, - 0x13, 0x1b, 0xc4, 0xef, 0x4c, 0x1e, 0xe2, 0x07, 0xce, 0x2b, 0x67, 0x94, 0xa5, 0x95, 0x24, 0xc3, - 0x1a, 0x74, 0x90, 0x8c, 0x22, 0xc8, 0xc4, 0x1f, 0x63, 0x9e, 0x59, 0xbf, 0xdd, 0x36, 0xb1, 0x01, - 0x4b, 0x1b, 0x84, 0x4e, 0x75, 0x40, 0xfc, 0x19, 0xf6, 0x7c, 0x1d, 0x31, 0x3d, 0x0d, 0x14, 0x2c, - 0x10, 0x7f, 0xb1, 0xf1, 0xc7, 0x55, 0xbe, 0x4c, 0x5e, 0x51, 0x2d, 0xfe, 0x66, 0xf2, 0x08, 0x7f, - 0xb0, 0x06, 0x74, 0x09, 0xdd, 0x85, 0xff, 0xd9, 0xcd, 0x7f, 0xd8, 0xa9, 0xca, 0xad, 0xdb, 0xc5, - 0x99, 0x6f, 0x6f, 0x17, 0x67, 0xee, 0xdc, 0x2e, 0x46, 0x4f, 0x0d, 0x8b, 0xd1, 0xd5, 0x61, 0x31, - 0xba, 0x39, 0x2c, 0x46, 0xb7, 0x86, 0xc5, 0xe8, 0xbb, 0x61, 0x31, 0xfa, 0x61, 0x58, 0x9c, 0xb9, - 0x33, 0x2c, 0x46, 0x57, 0xbe, 0x2f, 0xce, 0x3c, 0x7e, 0x78, 0xf4, 0x93, 0x35, 0xb8, 0xac, 0x52, - 0xb3, 0x7c, 0xf7, 0x15, 0xb1, 0xb9, 0x23, 0xdc, 0x0a, 0x8f, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, - 0xd9, 0x97, 0x1d, 0x7f, 0x3b, 0x06, 0x00, 0x00, -} diff --git a/policy/v1beta1/type.pb.go b/policy/v1beta1/type.pb.go index c1a2ab10607..41c9dfa9f84 100644 --- a/policy/v1beta1/type.pb.go +++ b/policy/v1beta1/type.pb.go @@ -1,28 +1,33 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: policy/v1beta1/type.proto -package v1beta1 - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import google_protobuf2 "github.com/gogo/protobuf/types" -import google_protobuf3 "github.com/gogo/protobuf/types" - -import bytes "bytes" +// Describes the rules used to configure Mixer's policy and telemetry features. -import strings "strings" -import reflect "reflect" - -import binary "encoding/binary" +package v1beta1 -import io "io" +import ( + bytes "bytes" + encoding_binary "encoding/binary" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // An instance field of type Value denotes that the expression for the field is of dynamic type and can evalaute to any // [ValueType][istio.policy.v1beta1.ValueType] enum values. For example, when // authoring an instance configuration for a template that has a field `data` of type `istio.policy.v1beta1.Value`, @@ -47,9 +52,37 @@ type Value struct { Value isValue_Value `protobuf_oneof:"value"` } -func (m *Value) Reset() { *m = Value{} } -func (*Value) ProtoMessage() {} -func (*Value) Descriptor() ([]byte, []int) { return fileDescriptorType, []int{0} } +func (m *Value) Reset() { *m = Value{} } +func (*Value) ProtoMessage() {} +func (*Value) Descriptor() ([]byte, []int) { + return fileDescriptor_81aa672910c4f44d, []int{0} +} +func (m *Value) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Value.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Value.Merge(m, src) +} +func (m *Value) XXX_Size() int { + return m.Size() +} +func (m *Value) XXX_DiscardUnknown() { + xxx_messageInfo_Value.DiscardUnknown(m) +} + +var xxx_messageInfo_Value proto.InternalMessageInfo type isValue_Value interface { isValue_Value() @@ -71,22 +104,22 @@ type Value_BoolValue struct { BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` } type Value_IpAddressValue struct { - IpAddressValue *IPAddress `protobuf:"bytes,5,opt,name=ip_address_value,json=ipAddressValue,oneof"` + IpAddressValue *IPAddress `protobuf:"bytes,5,opt,name=ip_address_value,json=ipAddressValue,proto3,oneof"` } type Value_TimestampValue struct { - TimestampValue *TimeStamp `protobuf:"bytes,6,opt,name=timestamp_value,json=timestampValue,oneof"` + TimestampValue *TimeStamp `protobuf:"bytes,6,opt,name=timestamp_value,json=timestampValue,proto3,oneof"` } type Value_DurationValue struct { - DurationValue *Duration `protobuf:"bytes,7,opt,name=duration_value,json=durationValue,oneof"` + DurationValue *Duration `protobuf:"bytes,7,opt,name=duration_value,json=durationValue,proto3,oneof"` } type Value_EmailAddressValue struct { - EmailAddressValue *EmailAddress `protobuf:"bytes,8,opt,name=email_address_value,json=emailAddressValue,oneof"` + EmailAddressValue *EmailAddress `protobuf:"bytes,8,opt,name=email_address_value,json=emailAddressValue,proto3,oneof"` } type Value_DnsNameValue struct { - DnsNameValue *DNSName `protobuf:"bytes,9,opt,name=dns_name_value,json=dnsNameValue,oneof"` + DnsNameValue *DNSName `protobuf:"bytes,9,opt,name=dns_name_value,json=dnsNameValue,proto3,oneof"` } type Value_UriValue struct { - UriValue *Uri `protobuf:"bytes,10,opt,name=uri_value,json=uriValue,oneof"` + UriValue *Uri `protobuf:"bytes,10,opt,name=uri_value,json=uriValue,proto3,oneof"` } func (*Value_StringValue) isValue_Value() {} @@ -339,46 +372,46 @@ func _Value_OneofSizer(msg proto.Message) (n int) { // value switch x := m.Value.(type) { case *Value_StringValue: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.StringValue))) n += len(x.StringValue) case *Value_Int64Value: - n += proto.SizeVarint(2<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Int64Value)) case *Value_DoubleValue: - n += proto.SizeVarint(3<<3 | proto.WireFixed64) + n += 1 // tag and wire n += 8 case *Value_BoolValue: - n += proto.SizeVarint(4<<3 | proto.WireVarint) + n += 1 // tag and wire n += 1 case *Value_IpAddressValue: s := proto.Size(x.IpAddressValue) - n += proto.SizeVarint(5<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Value_TimestampValue: s := proto.Size(x.TimestampValue) - n += proto.SizeVarint(6<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Value_DurationValue: s := proto.Size(x.DurationValue) - n += proto.SizeVarint(7<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Value_EmailAddressValue: s := proto.Size(x.EmailAddressValue) - n += proto.SizeVarint(8<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Value_DnsNameValue: s := proto.Size(x.DnsNameValue) - n += proto.SizeVarint(9<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Value_UriValue: s := proto.Size(x.UriValue) - n += proto.SizeVarint(10<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -398,9 +431,37 @@ type IPAddress struct { Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (m *IPAddress) Reset() { *m = IPAddress{} } -func (*IPAddress) ProtoMessage() {} -func (*IPAddress) Descriptor() ([]byte, []int) { return fileDescriptorType, []int{1} } +func (m *IPAddress) Reset() { *m = IPAddress{} } +func (*IPAddress) ProtoMessage() {} +func (*IPAddress) Descriptor() ([]byte, []int) { + return fileDescriptor_81aa672910c4f44d, []int{1} +} +func (m *IPAddress) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IPAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IPAddress.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *IPAddress) XXX_Merge(src proto.Message) { + xxx_messageInfo_IPAddress.Merge(m, src) +} +func (m *IPAddress) XXX_Size() int { + return m.Size() +} +func (m *IPAddress) XXX_DiscardUnknown() { + xxx_messageInfo_IPAddress.DiscardUnknown(m) +} + +var xxx_messageInfo_IPAddress proto.InternalMessageInfo func (m *IPAddress) GetValue() []byte { if m != nil { @@ -416,14 +477,42 @@ func (m *IPAddress) GetValue() []byte { // type Duration type Duration struct { // Duration encoded as google.protobuf.Duration. - Value *google_protobuf2.Duration `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` + Value *types.Duration `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *Duration) Reset() { *m = Duration{} } +func (*Duration) ProtoMessage() {} +func (*Duration) Descriptor() ([]byte, []int) { + return fileDescriptor_81aa672910c4f44d, []int{2} +} +func (m *Duration) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Duration.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Duration) XXX_Merge(src proto.Message) { + xxx_messageInfo_Duration.Merge(m, src) +} +func (m *Duration) XXX_Size() int { + return m.Size() +} +func (m *Duration) XXX_DiscardUnknown() { + xxx_messageInfo_Duration.DiscardUnknown(m) } -func (m *Duration) Reset() { *m = Duration{} } -func (*Duration) ProtoMessage() {} -func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptorType, []int{2} } +var xxx_messageInfo_Duration proto.InternalMessageInfo -func (m *Duration) GetValue() *google_protobuf2.Duration { +func (m *Duration) GetValue() *types.Duration { if m != nil { return m.Value } @@ -437,14 +526,42 @@ func (m *Duration) GetValue() *google_protobuf2.Duration { // type TimeStamp type TimeStamp struct { // TimeStamp encoded as google.protobuf.Timestamp. - Value *google_protobuf3.Timestamp `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` + Value *types.Timestamp `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (m *TimeStamp) Reset() { *m = TimeStamp{} } -func (*TimeStamp) ProtoMessage() {} -func (*TimeStamp) Descriptor() ([]byte, []int) { return fileDescriptorType, []int{3} } +func (m *TimeStamp) Reset() { *m = TimeStamp{} } +func (*TimeStamp) ProtoMessage() {} +func (*TimeStamp) Descriptor() ([]byte, []int) { + return fileDescriptor_81aa672910c4f44d, []int{3} +} +func (m *TimeStamp) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TimeStamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TimeStamp.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TimeStamp) XXX_Merge(src proto.Message) { + xxx_messageInfo_TimeStamp.Merge(m, src) +} +func (m *TimeStamp) XXX_Size() int { + return m.Size() +} +func (m *TimeStamp) XXX_DiscardUnknown() { + xxx_messageInfo_TimeStamp.DiscardUnknown(m) +} -func (m *TimeStamp) GetValue() *google_protobuf3.Timestamp { +var xxx_messageInfo_TimeStamp proto.InternalMessageInfo + +func (m *TimeStamp) GetValue() *types.Timestamp { if m != nil { return m.Value } @@ -461,9 +578,37 @@ type DNSName struct { Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (m *DNSName) Reset() { *m = DNSName{} } -func (*DNSName) ProtoMessage() {} -func (*DNSName) Descriptor() ([]byte, []int) { return fileDescriptorType, []int{4} } +func (m *DNSName) Reset() { *m = DNSName{} } +func (*DNSName) ProtoMessage() {} +func (*DNSName) Descriptor() ([]byte, []int) { + return fileDescriptor_81aa672910c4f44d, []int{4} +} +func (m *DNSName) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DNSName) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DNSName.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DNSName) XXX_Merge(src proto.Message) { + xxx_messageInfo_DNSName.Merge(m, src) +} +func (m *DNSName) XXX_Size() int { + return m.Size() +} +func (m *DNSName) XXX_DiscardUnknown() { + xxx_messageInfo_DNSName.DiscardUnknown(m) +} + +var xxx_messageInfo_DNSName proto.InternalMessageInfo func (m *DNSName) GetValue() string { if m != nil { @@ -483,9 +628,37 @@ type EmailAddress struct { Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (m *EmailAddress) Reset() { *m = EmailAddress{} } -func (*EmailAddress) ProtoMessage() {} -func (*EmailAddress) Descriptor() ([]byte, []int) { return fileDescriptorType, []int{5} } +func (m *EmailAddress) Reset() { *m = EmailAddress{} } +func (*EmailAddress) ProtoMessage() {} +func (*EmailAddress) Descriptor() ([]byte, []int) { + return fileDescriptor_81aa672910c4f44d, []int{5} +} +func (m *EmailAddress) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EmailAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EmailAddress.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EmailAddress) XXX_Merge(src proto.Message) { + xxx_messageInfo_EmailAddress.Merge(m, src) +} +func (m *EmailAddress) XXX_Size() int { + return m.Size() +} +func (m *EmailAddress) XXX_DiscardUnknown() { + xxx_messageInfo_EmailAddress.DiscardUnknown(m) +} + +var xxx_messageInfo_EmailAddress proto.InternalMessageInfo func (m *EmailAddress) GetValue() string { if m != nil { @@ -505,9 +678,37 @@ type Uri struct { Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (m *Uri) Reset() { *m = Uri{} } -func (*Uri) ProtoMessage() {} -func (*Uri) Descriptor() ([]byte, []int) { return fileDescriptorType, []int{6} } +func (m *Uri) Reset() { *m = Uri{} } +func (*Uri) ProtoMessage() {} +func (*Uri) Descriptor() ([]byte, []int) { + return fileDescriptor_81aa672910c4f44d, []int{6} +} +func (m *Uri) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Uri) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Uri.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Uri) XXX_Merge(src proto.Message) { + xxx_messageInfo_Uri.Merge(m, src) +} +func (m *Uri) XXX_Size() int { + return m.Size() +} +func (m *Uri) XXX_DiscardUnknown() { + xxx_messageInfo_Uri.DiscardUnknown(m) +} + +var xxx_messageInfo_Uri proto.InternalMessageInfo func (m *Uri) GetValue() string { if m != nil { @@ -525,6 +726,46 @@ func init() { proto.RegisterType((*EmailAddress)(nil), "istio.policy.v1beta1.EmailAddress") proto.RegisterType((*Uri)(nil), "istio.policy.v1beta1.Uri") } + +func init() { proto.RegisterFile("policy/v1beta1/type.proto", fileDescriptor_81aa672910c4f44d) } + +var fileDescriptor_81aa672910c4f44d = []byte{ + // 524 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x4f, 0x6f, 0xd3, 0x3e, + 0x18, 0xc7, 0xed, 0x5f, 0xd7, 0xb5, 0x79, 0xda, 0x5f, 0x81, 0xb2, 0x03, 0xeb, 0x84, 0x9b, 0x15, + 0x0e, 0x39, 0x25, 0x0c, 0x10, 0x42, 0x42, 0x1c, 0x98, 0x98, 0x08, 0x20, 0x4d, 0x90, 0x75, 0x1c, + 0xb8, 0x54, 0x09, 0x31, 0x95, 0xa5, 0x24, 0x8e, 0xf2, 0x67, 0xd2, 0x6e, 0xbc, 0x04, 0x5e, 0x06, + 0x2f, 0x85, 0x63, 0x6f, 0xec, 0x48, 0xd3, 0x0b, 0xc7, 0xbd, 0x04, 0x14, 0xdb, 0x09, 0xed, 0xc8, + 0xb8, 0xd5, 0x8f, 0x3f, 0xdf, 0x4f, 0xfd, 0x3c, 0xb6, 0x02, 0xbb, 0x31, 0x0f, 0xd8, 0xa7, 0x73, + 0xeb, 0xec, 0xc0, 0xa3, 0x99, 0x7b, 0x60, 0x65, 0xe7, 0x31, 0x35, 0xe3, 0x84, 0x67, 0x7c, 0xb8, + 0xc3, 0xd2, 0x8c, 0x71, 0x53, 0x02, 0xa6, 0x02, 0x46, 0x64, 0xce, 0xf9, 0x3c, 0xa0, 0x96, 0x60, + 0xbc, 0xfc, 0xb3, 0xe5, 0xe7, 0x89, 0x9b, 0x31, 0x1e, 0xc9, 0xd4, 0x68, 0x7c, 0x75, 0x3f, 0x63, + 0x21, 0x4d, 0x33, 0x37, 0x8c, 0x25, 0x30, 0xf9, 0xb1, 0x05, 0xed, 0x0f, 0x6e, 0x90, 0xd3, 0xe1, + 0x3d, 0xe8, 0xa7, 0x59, 0xc2, 0xa2, 0xf9, 0xec, 0xac, 0x5c, 0xdf, 0xc1, 0x3a, 0x36, 0x34, 0x1b, + 0x39, 0x3d, 0x59, 0x95, 0xd0, 0x3e, 0xf4, 0x58, 0x94, 0x3d, 0x79, 0xac, 0x98, 0xff, 0x74, 0x6c, + 0xb4, 0x6c, 0xe4, 0x80, 0x28, 0xd6, 0x1e, 0x9f, 0xe7, 0x5e, 0x40, 0x15, 0xd3, 0xd2, 0xb1, 0x81, + 0x4b, 0x8f, 0xac, 0x4a, 0x68, 0x0c, 0xe0, 0x71, 0x1e, 0x28, 0x64, 0x4b, 0xc7, 0x46, 0xd7, 0x46, + 0x8e, 0x56, 0xd6, 0x24, 0xf0, 0x16, 0x6e, 0xb2, 0x78, 0xe6, 0xfa, 0x7e, 0x42, 0xd3, 0x54, 0x61, + 0x6d, 0x1d, 0x1b, 0xbd, 0x87, 0x63, 0xb3, 0x69, 0x12, 0xe6, 0xeb, 0x77, 0x2f, 0x24, 0x6c, 0x23, + 0x67, 0xc0, 0x62, 0xb5, 0x90, 0xb2, 0x37, 0x70, 0xa3, 0xee, 0x5b, 0xb9, 0xb6, 0xff, 0xe5, 0x9a, + 0xb2, 0x90, 0x9e, 0x94, 0x70, 0xe9, 0xaa, 0x93, 0xd2, 0xf5, 0x0a, 0x06, 0xd5, 0x8c, 0x95, 0xaa, + 0x23, 0x54, 0xa4, 0x59, 0xf5, 0x52, 0xb1, 0x36, 0x72, 0xfe, 0xaf, 0x72, 0x52, 0x34, 0x85, 0xdb, + 0x34, 0x74, 0x59, 0x70, 0xa5, 0xc9, 0xae, 0xb0, 0x4d, 0x9a, 0x6d, 0x47, 0x65, 0xe0, 0x4f, 0x9f, + 0xb7, 0xe8, 0xda, 0x5a, 0x5a, 0x8f, 0x60, 0xe0, 0x47, 0xe9, 0x2c, 0x72, 0xc3, 0x6a, 0xfe, 0x9a, + 0x10, 0xde, 0xbd, 0xe6, 0x78, 0xc7, 0x27, 0xc7, 0x6e, 0x48, 0x6d, 0xe4, 0xf4, 0xfd, 0x28, 0x2d, + 0x7f, 0x4a, 0xcd, 0x53, 0xd0, 0xf2, 0x84, 0x29, 0x03, 0x08, 0xc3, 0x6e, 0xb3, 0xe1, 0x34, 0x61, + 0x36, 0x72, 0xba, 0x79, 0xc2, 0x44, 0xf2, 0xb0, 0x03, 0x6d, 0x91, 0x9a, 0xec, 0x83, 0x56, 0xdf, + 0xc9, 0x70, 0x47, 0x55, 0xc5, 0xab, 0xea, 0x3b, 0x0a, 0x79, 0x06, 0xdd, 0x6a, 0x3e, 0x43, 0x6b, + 0x9d, 0x28, 0xff, 0x4d, 0xbe, 0x5c, 0xb3, 0x7a, 0xb9, 0xf5, 0x24, 0xab, 0xf0, 0x73, 0xd0, 0xea, + 0x7b, 0x1a, 0x3e, 0xd8, 0x4c, 0x8f, 0xfe, 0x4a, 0x4f, 0xab, 0x5b, 0xac, 0xe2, 0x63, 0xe8, 0xa8, + 0xe6, 0x37, 0x0f, 0xa7, 0x55, 0xc0, 0x7d, 0xe8, 0xaf, 0x8f, 0xfb, 0x1a, 0x6a, 0x0f, 0x5a, 0xa7, + 0x09, 0x6b, 0xde, 0x3c, 0x7c, 0xbf, 0x58, 0x12, 0x74, 0xb1, 0x24, 0xe8, 0x72, 0x49, 0xf0, 0x97, + 0x82, 0xe0, 0x6f, 0x05, 0xc1, 0xdf, 0x0b, 0x82, 0x17, 0x05, 0xc1, 0x3f, 0x0b, 0x82, 0x7f, 0x15, + 0x04, 0x5d, 0x16, 0x04, 0x7f, 0x5d, 0x11, 0xb4, 0x58, 0x11, 0x74, 0xb1, 0x22, 0xe8, 0xe3, 0x9e, + 0x9c, 0x33, 0xe3, 0x96, 0x1b, 0x33, 0x6b, 0xf3, 0x8b, 0xe0, 0x6d, 0x8b, 0x8e, 0x1e, 0xfd, 0x0e, + 0x00, 0x00, 0xff, 0xff, 0x61, 0x78, 0xcb, 0x26, 0x2a, 0x04, 0x00, 0x00, +} + func (this *Value) Equal(that interface{}) bool { if that == nil { return this == nil @@ -1147,7 +1388,7 @@ func (m *Value_DoubleValue) MarshalTo(dAtA []byte) (int, error) { i := 0 dAtA[i] = 0x19 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.DoubleValue)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.DoubleValue)))) i += 8 return i, nil } @@ -1409,6 +1650,9 @@ func encodeVarintType(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != nil { @@ -1418,6 +1662,9 @@ func (m *Value) Size() (n int) { } func (m *Value_StringValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.StringValue) @@ -1425,24 +1672,36 @@ func (m *Value_StringValue) Size() (n int) { return n } func (m *Value_Int64Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovType(uint64(m.Int64Value)) return n } func (m *Value_DoubleValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 return n } func (m *Value_BoolValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 2 return n } func (m *Value_IpAddressValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.IpAddressValue != nil { @@ -1452,6 +1711,9 @@ func (m *Value_IpAddressValue) Size() (n int) { return n } func (m *Value_TimestampValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.TimestampValue != nil { @@ -1461,6 +1723,9 @@ func (m *Value_TimestampValue) Size() (n int) { return n } func (m *Value_DurationValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.DurationValue != nil { @@ -1470,6 +1735,9 @@ func (m *Value_DurationValue) Size() (n int) { return n } func (m *Value_EmailAddressValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.EmailAddressValue != nil { @@ -1479,6 +1747,9 @@ func (m *Value_EmailAddressValue) Size() (n int) { return n } func (m *Value_DnsNameValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.DnsNameValue != nil { @@ -1488,6 +1759,9 @@ func (m *Value_DnsNameValue) Size() (n int) { return n } func (m *Value_UriValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.UriValue != nil { @@ -1497,6 +1771,9 @@ func (m *Value_UriValue) Size() (n int) { return n } func (m *IPAddress) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Value) @@ -1507,6 +1784,9 @@ func (m *IPAddress) Size() (n int) { } func (m *Duration) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != nil { @@ -1517,6 +1797,9 @@ func (m *Duration) Size() (n int) { } func (m *TimeStamp) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != nil { @@ -1527,6 +1810,9 @@ func (m *TimeStamp) Size() (n int) { } func (m *DNSName) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Value) @@ -1537,6 +1823,9 @@ func (m *DNSName) Size() (n int) { } func (m *EmailAddress) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Value) @@ -1547,6 +1836,9 @@ func (m *EmailAddress) Size() (n int) { } func (m *Uri) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Value) @@ -1694,7 +1986,7 @@ func (this *Duration) String() string { return "nil" } s := strings.Join([]string{`&Duration{`, - `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Duration", "google_protobuf2.Duration", 1) + `,`, + `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Duration", "types.Duration", 1) + `,`, `}`, }, "") return s @@ -1704,7 +1996,7 @@ func (this *TimeStamp) String() string { return "nil" } s := strings.Join([]string{`&TimeStamp{`, - `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Timestamp", "google_protobuf3.Timestamp", 1) + `,`, + `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Timestamp", "types.Timestamp", 1) + `,`, `}`, }, "") return s @@ -1762,7 +2054,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1790,7 +2082,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1800,6 +2092,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1819,7 +2114,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int64(b) & 0x7F) << shift + v |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -1833,7 +2128,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Value = &Value_DoubleValue{float64(math.Float64frombits(v))} case 4: @@ -1850,7 +2145,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1871,7 +2166,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1880,6 +2175,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1903,7 +2201,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1912,6 +2210,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1935,7 +2236,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1944,6 +2245,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1967,7 +2271,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1976,6 +2280,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1999,7 +2306,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2008,6 +2315,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2031,7 +2341,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2040,6 +2350,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2058,6 +2371,9 @@ func (m *Value) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthType } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthType + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2085,7 +2401,7 @@ func (m *IPAddress) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2113,7 +2429,7 @@ func (m *IPAddress) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= (int(b) & 0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2122,6 +2438,9 @@ func (m *IPAddress) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2139,6 +2458,9 @@ func (m *IPAddress) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthType } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthType + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2166,7 +2488,7 @@ func (m *Duration) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2194,7 +2516,7 @@ func (m *Duration) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2203,11 +2525,14 @@ func (m *Duration) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Value == nil { - m.Value = &google_protobuf2.Duration{} + m.Value = &types.Duration{} } if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2222,6 +2547,9 @@ func (m *Duration) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthType } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthType + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2249,7 +2577,7 @@ func (m *TimeStamp) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2277,7 +2605,7 @@ func (m *TimeStamp) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2286,11 +2614,14 @@ func (m *TimeStamp) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } if m.Value == nil { - m.Value = &google_protobuf3.Timestamp{} + m.Value = &types.Timestamp{} } if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2305,6 +2636,9 @@ func (m *TimeStamp) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthType } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthType + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2332,7 +2666,7 @@ func (m *DNSName) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2360,7 +2694,7 @@ func (m *DNSName) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2370,6 +2704,9 @@ func (m *DNSName) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2384,6 +2721,9 @@ func (m *DNSName) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthType } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthType + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2411,7 +2751,7 @@ func (m *EmailAddress) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2439,7 +2779,7 @@ func (m *EmailAddress) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2449,6 +2789,9 @@ func (m *EmailAddress) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2463,6 +2806,9 @@ func (m *EmailAddress) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthType } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthType + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2490,7 +2836,7 @@ func (m *Uri) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2518,7 +2864,7 @@ func (m *Uri) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2528,6 +2874,9 @@ func (m *Uri) Unmarshal(dAtA []byte) error { return ErrInvalidLengthType } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthType + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2542,6 +2891,9 @@ func (m *Uri) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthType } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthType + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } @@ -2608,10 +2960,13 @@ func skipType(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthType } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthType + } return iNdEx, nil case 3: for { @@ -2640,6 +2995,9 @@ func skipType(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthType + } } return iNdEx, nil case 4: @@ -2658,42 +3016,3 @@ var ( ErrInvalidLengthType = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowType = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("policy/v1beta1/type.proto", fileDescriptorType) } - -var fileDescriptorType = []byte{ - // 516 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x4f, 0x6f, 0xd3, 0x30, - 0x18, 0x87, 0x6d, 0xba, 0xae, 0xcd, 0xdb, 0x52, 0x20, 0xec, 0xc0, 0x3a, 0xe1, 0x66, 0x85, 0x43, - 0x4e, 0x09, 0x03, 0x84, 0x90, 0x10, 0x07, 0x26, 0x26, 0x32, 0x90, 0x26, 0x94, 0x75, 0x1c, 0xb8, - 0x54, 0x09, 0x31, 0x95, 0xa5, 0x24, 0x8e, 0xf2, 0x67, 0xd2, 0x6e, 0x7c, 0x04, 0x3e, 0x06, 0x1f, - 0x85, 0xe3, 0x6e, 0x70, 0xa4, 0xe1, 0xc2, 0x71, 0x1f, 0x01, 0xc5, 0x76, 0x42, 0x3b, 0xb2, 0xdd, - 0xea, 0xd7, 0xcf, 0xef, 0xa9, 0xdf, 0xd7, 0x56, 0x60, 0x3b, 0xe1, 0x21, 0xfb, 0x74, 0x66, 0x9f, - 0xee, 0xf9, 0x34, 0xf7, 0xf6, 0xec, 0xfc, 0x2c, 0xa1, 0x56, 0x92, 0xf2, 0x9c, 0xeb, 0x5b, 0x2c, - 0xcb, 0x19, 0xb7, 0x24, 0x60, 0x29, 0x60, 0x4c, 0x16, 0x9c, 0x2f, 0x42, 0x6a, 0x0b, 0xc6, 0x2f, - 0x3e, 0xdb, 0x41, 0x91, 0x7a, 0x39, 0xe3, 0xb1, 0x4c, 0x8d, 0x27, 0x97, 0xf7, 0x73, 0x16, 0xd1, - 0x2c, 0xf7, 0xa2, 0x44, 0x02, 0xd3, 0x1f, 0x1b, 0xd0, 0xfd, 0xe0, 0x85, 0x05, 0xd5, 0x1f, 0xc0, - 0x30, 0xcb, 0x53, 0x16, 0x2f, 0xe6, 0xa7, 0xd5, 0xfa, 0x1e, 0x36, 0xb0, 0xa9, 0x39, 0xc8, 0x1d, - 0xc8, 0xaa, 0x84, 0x76, 0x61, 0xc0, 0xe2, 0xfc, 0xd9, 0x53, 0xc5, 0xdc, 0x30, 0xb0, 0xd9, 0x71, - 0x90, 0x0b, 0xa2, 0xd8, 0x78, 0x02, 0x5e, 0xf8, 0x21, 0x55, 0x4c, 0xc7, 0xc0, 0x26, 0xae, 0x3c, - 0xb2, 0x2a, 0xa1, 0x09, 0x80, 0xcf, 0x79, 0xa8, 0x90, 0x0d, 0x03, 0x9b, 0x7d, 0x07, 0xb9, 0x5a, - 0x55, 0x93, 0xc0, 0x3b, 0xb8, 0xcd, 0x92, 0xb9, 0x17, 0x04, 0x29, 0xcd, 0x32, 0x85, 0x75, 0x0d, - 0x6c, 0x0e, 0x1e, 0x4f, 0xac, 0xb6, 0x49, 0x58, 0x87, 0xef, 0x5f, 0x49, 0xd8, 0x41, 0xee, 0x88, - 0x25, 0x6a, 0x21, 0x65, 0x6f, 0xe1, 0x56, 0xd3, 0xb7, 0x72, 0x6d, 0x5e, 0xe7, 0x9a, 0xb1, 0x88, - 0x1e, 0x57, 0x70, 0xe5, 0x6a, 0x92, 0xd2, 0xf5, 0x06, 0x46, 0xf5, 0x8c, 0x95, 0xaa, 0x27, 0x54, - 0xa4, 0x5d, 0xf5, 0x5a, 0xb1, 0x0e, 0x72, 0x6f, 0xd6, 0x39, 0x29, 0x9a, 0xc1, 0x5d, 0x1a, 0x79, - 0x2c, 0xbc, 0xd4, 0x64, 0x5f, 0xd8, 0xa6, 0xed, 0xb6, 0x83, 0x2a, 0xf0, 0xaf, 0xcf, 0x3b, 0x74, - 0x65, 0x2d, 0xad, 0x07, 0x30, 0x0a, 0xe2, 0x6c, 0x1e, 0x7b, 0x51, 0x3d, 0x7f, 0x4d, 0x08, 0xef, - 0x5f, 0x71, 0xbc, 0xa3, 0xe3, 0x23, 0x2f, 0xa2, 0x0e, 0x72, 0x87, 0x41, 0x9c, 0x55, 0x3f, 0xa5, - 0xe6, 0x39, 0x68, 0x45, 0xca, 0x94, 0x01, 0x84, 0x61, 0xbb, 0xdd, 0x70, 0x92, 0x32, 0x07, 0xb9, - 0xfd, 0x22, 0x65, 0x22, 0xb9, 0xdf, 0x83, 0xae, 0x48, 0x4d, 0x77, 0x41, 0x6b, 0xee, 0x44, 0xdf, - 0x52, 0x55, 0xf1, 0xaa, 0x86, 0xae, 0x42, 0x5e, 0x40, 0xbf, 0x9e, 0x8f, 0x6e, 0xaf, 0x12, 0xd5, - 0xbf, 0xc9, 0x97, 0x6b, 0xd5, 0x2f, 0xb7, 0x99, 0x64, 0x1d, 0x7e, 0x09, 0x5a, 0x73, 0x4f, 0xfa, - 0xa3, 0xf5, 0xf4, 0xf8, 0xbf, 0xf4, 0xac, 0xbe, 0xc5, 0x3a, 0x3e, 0x81, 0x9e, 0x6a, 0x7e, 0xfd, - 0x70, 0x5a, 0x0d, 0x3c, 0x84, 0xe1, 0xea, 0xb8, 0xaf, 0xa0, 0x76, 0xa0, 0x73, 0x92, 0xb2, 0xf6, - 0xcd, 0xfd, 0xc3, 0xf3, 0x25, 0x41, 0x3f, 0x97, 0x04, 0x5d, 0x2c, 0x09, 0xfe, 0x52, 0x12, 0xfc, - 0xad, 0x24, 0xf8, 0x7b, 0x49, 0xf0, 0x79, 0x49, 0xf0, 0xaf, 0x92, 0xe0, 0x3f, 0x25, 0x41, 0x17, - 0x25, 0xc1, 0x5f, 0x7f, 0x13, 0xf4, 0x71, 0x47, 0xce, 0x97, 0x71, 0xdb, 0x4b, 0x98, 0xbd, 0xfe, - 0x25, 0xf0, 0x37, 0x45, 0x27, 0x4f, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x38, 0xb2, 0xa2, - 0x22, 0x04, 0x00, 0x00, -} diff --git a/policy/v1beta1/value_type.pb.go b/policy/v1beta1/value_type.pb.go index e7a28969a8b..1dbd9a04652 100644 --- a/policy/v1beta1/value_type.pb.go +++ b/policy/v1beta1/value_type.pb.go @@ -3,17 +3,24 @@ package v1beta1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import strconv "strconv" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" + strconv "strconv" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + // ValueType describes the types that values in the Istio system can take. These // are used to describe the type of Attributes at run time, describe the type of // the result of evaluating an expression, and to describe the runtime type of @@ -61,6 +68,7 @@ var ValueType_name = map[int32]string{ 10: "DURATION", 11: "STRING_MAP", } + var ValueType_value = map[string]int32{ "VALUE_TYPE_UNSPECIFIED": 0, "STRING": 1, @@ -76,11 +84,40 @@ var ValueType_value = map[string]int32{ "STRING_MAP": 11, } -func (ValueType) EnumDescriptor() ([]byte, []int) { return fileDescriptorValueType, []int{0} } +func (ValueType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_72649b1dc07496e9, []int{0} +} func init() { proto.RegisterEnum("istio.policy.v1beta1.ValueType", ValueType_name, ValueType_value) } + +func init() { proto.RegisterFile("policy/v1beta1/value_type.proto", fileDescriptor_72649b1dc07496e9) } + +var fileDescriptor_72649b1dc07496e9 = []byte{ + // 309 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xcd, 0x4a, 0xfb, 0x40, + 0x14, 0x47, 0x67, 0xfe, 0xfd, 0xcc, 0xfd, 0x5b, 0x19, 0x07, 0x71, 0xa1, 0x70, 0xdd, 0xbb, 0x68, + 0x28, 0x8a, 0xfb, 0xa9, 0x19, 0x65, 0x20, 0x5f, 0x26, 0x93, 0x82, 0x6e, 0x42, 0x2b, 0x59, 0x04, + 0x0a, 0x09, 0x1a, 0x0b, 0xdd, 0xf9, 0x08, 0x3e, 0x86, 0xef, 0xe0, 0x0b, 0xb8, 0xec, 0xb2, 0x4b, + 0x3b, 0xdd, 0xb8, 0xec, 0x23, 0x48, 0x1b, 0x11, 0x5c, 0xde, 0xc3, 0xe1, 0xf2, 0xe3, 0xc0, 0x69, + 0x59, 0x4c, 0xf3, 0x87, 0xb9, 0x3d, 0x1b, 0x4c, 0xb2, 0x6a, 0x3c, 0xb0, 0x67, 0xe3, 0xe9, 0x73, + 0x96, 0x56, 0xf3, 0x32, 0xeb, 0x97, 0x8f, 0x45, 0x55, 0xf0, 0xc3, 0xfc, 0xa9, 0xca, 0x8b, 0x7e, + 0xad, 0xf5, 0x7f, 0xb4, 0xb3, 0x77, 0x0a, 0xd6, 0x68, 0xab, 0xea, 0x79, 0x99, 0xf1, 0x63, 0x38, + 0x1a, 0x09, 0x37, 0x91, 0xa9, 0xbe, 0x0b, 0x65, 0x9a, 0xf8, 0x71, 0x28, 0xaf, 0xd4, 0xb5, 0x92, + 0x0e, 0x23, 0x1c, 0xa0, 0x1d, 0xeb, 0x48, 0xf9, 0x37, 0x8c, 0x72, 0x0b, 0x5a, 0xca, 0xd7, 0x97, + 0x17, 0xec, 0xdf, 0x16, 0x3b, 0x41, 0x32, 0x74, 0x25, 0x6b, 0xf0, 0x2e, 0x34, 0x87, 0x41, 0xe0, + 0xb2, 0x26, 0xef, 0x81, 0xa5, 0x95, 0x27, 0x63, 0x2d, 0xbc, 0x90, 0xb5, 0xf8, 0x3e, 0x80, 0x0a, + 0x53, 0xe1, 0x38, 0x91, 0x8c, 0x63, 0xd6, 0xe6, 0x07, 0xd0, 0x93, 0x9e, 0x50, 0xee, 0x2f, 0xea, + 0xf0, 0x0e, 0x34, 0x92, 0x48, 0xb1, 0x2e, 0xdf, 0x83, 0xae, 0xe3, 0xc7, 0xa9, 0x2f, 0x3c, 0xc9, + 0xac, 0xdd, 0x95, 0x44, 0x42, 0xab, 0xc0, 0x67, 0xb0, 0xfd, 0x53, 0x6f, 0x48, 0x3d, 0x11, 0xb2, + 0xff, 0xc3, 0xdb, 0xc5, 0x0a, 0xc9, 0x72, 0x85, 0x64, 0xb3, 0x42, 0xfa, 0x62, 0x90, 0xbe, 0x19, + 0xa4, 0x1f, 0x06, 0xe9, 0xc2, 0x20, 0xfd, 0x34, 0x48, 0xbf, 0x0c, 0x92, 0x8d, 0x41, 0xfa, 0xba, + 0x46, 0xb2, 0x58, 0x23, 0x59, 0xae, 0x91, 0xdc, 0x9f, 0xd4, 0x25, 0xf2, 0xc2, 0x1e, 0x97, 0xb9, + 0xfd, 0xb7, 0xdb, 0xa4, 0xbd, 0xab, 0x75, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x0e, 0x39, + 0x92, 0x50, 0x01, 0x00, 0x00, +} + func (x ValueType) String() string { s, ok := ValueType_name[int32(x)] if ok { @@ -88,28 +125,3 @@ func (x ValueType) String() string { } return strconv.Itoa(int(x)) } - -func init() { proto.RegisterFile("policy/v1beta1/value_type.proto", fileDescriptorValueType) } - -var fileDescriptorValueType = []byte{ - // 302 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x3f, 0x4b, 0xc3, 0x40, - 0x18, 0x87, 0x73, 0xf6, 0x6f, 0x5e, 0xad, 0x9c, 0x87, 0x38, 0x28, 0x9c, 0xbb, 0x43, 0x43, 0x51, - 0xdc, 0xaf, 0xe6, 0x94, 0x83, 0xe4, 0x12, 0x72, 0x97, 0x82, 0x2e, 0x47, 0x2b, 0x19, 0x02, 0x85, - 0x04, 0x8d, 0x85, 0x6e, 0x7e, 0x04, 0x3f, 0x86, 0xdf, 0xc1, 0x2f, 0xe0, 0xd8, 0xd1, 0xd1, 0x9e, - 0x8b, 0x63, 0x3f, 0x82, 0xa4, 0x11, 0xc1, 0xf1, 0x7d, 0x78, 0x78, 0xf9, 0xf1, 0xc0, 0x69, 0x59, - 0xcc, 0xf3, 0xfb, 0xa5, 0xb7, 0x18, 0xcd, 0xb2, 0x6a, 0x3a, 0xf2, 0x16, 0xd3, 0xf9, 0x53, 0x66, - 0xaa, 0x65, 0x99, 0x0d, 0xcb, 0x87, 0xa2, 0x2a, 0xc8, 0x61, 0xfe, 0x58, 0xe5, 0xc5, 0xb0, 0xd1, - 0x86, 0xbf, 0xda, 0xd9, 0x1b, 0x02, 0x77, 0x52, 0xab, 0x7a, 0x59, 0x66, 0xe4, 0x18, 0x8e, 0x26, - 0x2c, 0x48, 0xb9, 0xd1, 0xb7, 0x31, 0x37, 0xa9, 0x54, 0x31, 0xbf, 0x12, 0xd7, 0x82, 0xfb, 0xd8, - 0x21, 0x00, 0x5d, 0xa5, 0x13, 0x21, 0x6f, 0x30, 0x22, 0x2e, 0x74, 0x84, 0xd4, 0x97, 0x17, 0x78, - 0xa7, 0xc6, 0x7e, 0x94, 0x8e, 0x03, 0x8e, 0x5b, 0xa4, 0x0f, 0xed, 0x71, 0x14, 0x05, 0xb8, 0x4d, - 0x06, 0xe0, 0x6a, 0x11, 0x72, 0xa5, 0x59, 0x18, 0xe3, 0x0e, 0xd9, 0x07, 0x10, 0xb1, 0x61, 0xbe, - 0x9f, 0x70, 0xa5, 0x70, 0x97, 0x1c, 0xc0, 0x80, 0x87, 0x4c, 0x04, 0x7f, 0xa8, 0x47, 0x7a, 0xd0, - 0x4a, 0x13, 0x81, 0xfb, 0x64, 0x0f, 0xfa, 0xbe, 0x54, 0x46, 0xb2, 0x90, 0x63, 0x77, 0x7b, 0xa5, - 0x09, 0xd3, 0x22, 0x92, 0x18, 0xea, 0x3f, 0xcd, 0x06, 0x13, 0xb2, 0x18, 0xef, 0x8e, 0xc5, 0x6a, - 0x4d, 0x9d, 0x8f, 0x35, 0x75, 0x36, 0x6b, 0x8a, 0x9e, 0x2d, 0x45, 0xaf, 0x96, 0xa2, 0x77, 0x4b, - 0xd1, 0xca, 0x52, 0xf4, 0x69, 0x29, 0xfa, 0xb6, 0xd4, 0xd9, 0x58, 0x8a, 0x5e, 0xbe, 0xa8, 0x73, - 0x77, 0xd2, 0x14, 0xc8, 0x0b, 0x6f, 0x5a, 0xe6, 0xde, 0xff, 0x5e, 0xb3, 0xee, 0xb6, 0xd2, 0xf9, - 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x41, 0xab, 0x82, 0x48, 0x01, 0x00, 0x00, -} diff --git a/rbac/v1alpha1/rbac.pb.go b/rbac/v1alpha1/rbac.pb.go index 87a6b890f03..297f24ca196 100644 --- a/rbac/v1alpha1/rbac.pb.go +++ b/rbac/v1alpha1/rbac.pb.go @@ -1,92 +1,77 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: rbac/v1alpha1/rbac.proto -/* - Package v1alpha1 is a generated protocol buffer package. - - Istio RBAC (Role Based Access Control) defines ServiceRole and ServiceRoleBinding - objects. - - A ServiceRole specification includes a list of rules (permissions). Each rule has - the following standard fields: - - * services: a list of services. - * methods: HTTP methods. In the case of gRPC, this field is ignored because the value is always "POST". - * paths: HTTP paths or gRPC methods. Note that gRPC methods should be - presented in the form of "/packageName.serviceName/methodName" and are case sensitive. - - In addition to the standard fields, operators can also use custom keys in the `constraints` field, - the supported keys are listed in the "constraints and properties" page. - - Below is an example of ServiceRole object "product-viewer", which has "read" ("GET" and "HEAD") - access to "products.svc.cluster.local" service at versions "v1" and "v2". "path" is not specified, - so it applies to any path in the service. - - ```yaml - apiVersion: "rbac.istio.io/v1alpha1" - kind: ServiceRole - metadata: - name: products-viewer - namespace: default - spec: - rules: - - services: ["products.svc.cluster.local"] - methods: ["GET", "HEAD"] - constraints: - - key: "destination.labels[version]" - value: ["v1", "v2"] - ``` - - A ServiceRoleBinding specification includes two parts: - - * The `roleRef` field that refers to a ServiceRole object in the same namespace. - * A list of `subjects` that are assigned the roles. - - In addition to a simple `user` field, operators can also use custom keys in the `properties` field, - the supported keys are listed in the "constraints and properties" page. - - Below is an example of ServiceRoleBinding object "test-binding-products", which binds two subjects - to ServiceRole "product-viewer": - - * User "alice@yahoo.com" - * Services in "abc" namespace. - - ```yaml - apiVersion: "rbac.istio.io/v1alpha1" - kind: ServiceRoleBinding - metadata: - name: test-binding-products - namespace: default - spec: - subjects: - - user: alice@yahoo.com - - properties: - source.namespace: "abc" - roleRef: - kind: ServiceRole - name: "products-viewer" - ``` - - It is generated from these files: - rbac/v1alpha1/rbac.proto - - It has these top-level messages: - WorkloadSelector - AuthorizationPolicy - ServiceRole - AccessRule - ServiceRoleBinding - Subject - RoleRef - RbacConfig -*/ -package v1alpha1 +// Istio RBAC (Role Based Access Control) defines ServiceRole and ServiceRoleBinding +// objects. +// +// A ServiceRole specification includes a list of rules (permissions). Each rule has +// the following standard fields: +// +// * services: a list of services. +// * methods: HTTP methods. In the case of gRPC, this field is ignored because the value is always "POST". +// * paths: HTTP paths or gRPC methods. Note that gRPC methods should be +// presented in the form of "/packageName.serviceName/methodName" and are case sensitive. +// +// In addition to the standard fields, operators can also use custom keys in the `constraints` field, +// the supported keys are listed in the "constraints and properties" page. +// +// Below is an example of ServiceRole object "product-viewer", which has "read" ("GET" and "HEAD") +// access to "products.svc.cluster.local" service at versions "v1" and "v2". "path" is not specified, +// so it applies to any path in the service. +// +// ```yaml +// apiVersion: "rbac.istio.io/v1alpha1" +// kind: ServiceRole +// metadata: +// name: products-viewer +// namespace: default +// spec: +// rules: +// - services: ["products.svc.cluster.local"] +// methods: ["GET", "HEAD"] +// constraints: +// - key: "destination.labels[version]" +// value: ["v1", "v2"] +// ``` +// +// A ServiceRoleBinding specification includes two parts: +// +// * The `roleRef` field that refers to a ServiceRole object in the same namespace. +// * A list of `subjects` that are assigned the roles. +// +// In addition to a simple `user` field, operators can also use custom keys in the `properties` field, +// the supported keys are listed in the "constraints and properties" page. +// +// Below is an example of ServiceRoleBinding object "test-binding-products", which binds two subjects +// to ServiceRole "product-viewer": +// +// * User "alice@yahoo.com" +// * Services in "abc" namespace. +// +// ```yaml +// apiVersion: "rbac.istio.io/v1alpha1" +// kind: ServiceRoleBinding +// metadata: +// name: test-binding-products +// namespace: default +// spec: +// subjects: +// - user: alice@yahoo.com +// - properties: +// source.namespace: "abc" +// roleRef: +// kind: ServiceRole +// name: "products-viewer" +// ``` -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +package v1alpha1 -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -119,6 +104,7 @@ var EnforcementMode_name = map[int32]string{ 0: "ENFORCED", 1: "PERMISSIVE", } + var EnforcementMode_value = map[string]int32{ "ENFORCED": 0, "PERMISSIVE": 1, @@ -127,7 +113,10 @@ var EnforcementMode_value = map[string]int32{ func (x EnforcementMode) String() string { return proto.EnumName(EnforcementMode_name, int32(x)) } -func (EnforcementMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorRbac, []int{0} } + +func (EnforcementMode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{0} +} type RbacConfig_Mode int32 @@ -151,6 +140,7 @@ var RbacConfig_Mode_name = map[int32]string{ 2: "ON_WITH_INCLUSION", 3: "ON_WITH_EXCLUSION", } + var RbacConfig_Mode_value = map[string]int32{ "OFF": 0, "ON": 1, @@ -161,7 +151,10 @@ var RbacConfig_Mode_value = map[string]int32{ func (x RbacConfig_Mode) String() string { return proto.EnumName(RbacConfig_Mode_name, int32(x)) } -func (RbacConfig_Mode) EnumDescriptor() ([]byte, []int) { return fileDescriptorRbac, []int{7, 0} } + +func (RbacConfig_Mode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{7, 0} +} // $hide_from_docs // This is forked from the networking/v1alpha3/sidecar.proto to avoid a direct @@ -179,13 +172,44 @@ type WorkloadSelector struct { // this sidecar configuration should be applied. The scope of label // search is restricted to the configuration namespace in which the the // resource is present. - Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } -func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } -func (*WorkloadSelector) ProtoMessage() {} -func (*WorkloadSelector) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{0} } +func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } +func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } +func (*WorkloadSelector) ProtoMessage() {} +func (*WorkloadSelector) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{0} +} +func (m *WorkloadSelector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *WorkloadSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_WorkloadSelector.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *WorkloadSelector) XXX_Merge(src proto.Message) { + xxx_messageInfo_WorkloadSelector.Merge(m, src) +} +func (m *WorkloadSelector) XXX_Size() int { + return m.Size() +} +func (m *WorkloadSelector) XXX_DiscardUnknown() { + xxx_messageInfo_WorkloadSelector.DiscardUnknown(m) +} + +var xxx_messageInfo_WorkloadSelector proto.InternalMessageInfo func (m *WorkloadSelector) GetLabels() map[string]string { if m != nil { @@ -203,16 +227,47 @@ type AuthorizationPolicy struct { // select all pods/VMs. // The scope of label search is platform dependent. On Kubernetes, for example, // the scope includes pods running in the same namespace as the authorization policy itself. - WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector" json:"workload_selector,omitempty"` + WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector,proto3" json:"workload_selector,omitempty"` // $hide_from_docs // A list of bindings that specify the subjects and permissions to the selected workload. - Allow []*ServiceRoleBinding `protobuf:"bytes,2,rep,name=allow" json:"allow,omitempty"` + Allow []*ServiceRoleBinding `protobuf:"bytes,2,rep,name=allow,proto3" json:"allow,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AuthorizationPolicy) Reset() { *m = AuthorizationPolicy{} } +func (m *AuthorizationPolicy) String() string { return proto.CompactTextString(m) } +func (*AuthorizationPolicy) ProtoMessage() {} +func (*AuthorizationPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{1} +} +func (m *AuthorizationPolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AuthorizationPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AuthorizationPolicy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AuthorizationPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_AuthorizationPolicy.Merge(m, src) +} +func (m *AuthorizationPolicy) XXX_Size() int { + return m.Size() +} +func (m *AuthorizationPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_AuthorizationPolicy.DiscardUnknown(m) } -func (m *AuthorizationPolicy) Reset() { *m = AuthorizationPolicy{} } -func (m *AuthorizationPolicy) String() string { return proto.CompactTextString(m) } -func (*AuthorizationPolicy) ProtoMessage() {} -func (*AuthorizationPolicy) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{1} } +var xxx_messageInfo_AuthorizationPolicy proto.InternalMessageInfo func (m *AuthorizationPolicy) GetWorkloadSelector() *WorkloadSelector { if m != nil { @@ -231,13 +286,44 @@ func (m *AuthorizationPolicy) GetAllow() []*ServiceRoleBinding { // ServiceRole specification contains a list of access rules (permissions). type ServiceRole struct { // Required. The set of access rules (permissions) that the role has. - Rules []*AccessRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"` + Rules []*AccessRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ServiceRole) Reset() { *m = ServiceRole{} } +func (m *ServiceRole) String() string { return proto.CompactTextString(m) } +func (*ServiceRole) ProtoMessage() {} +func (*ServiceRole) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{2} +} +func (m *ServiceRole) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ServiceRole) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ServiceRole.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ServiceRole) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceRole.Merge(m, src) +} +func (m *ServiceRole) XXX_Size() int { + return m.Size() +} +func (m *ServiceRole) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceRole.DiscardUnknown(m) } -func (m *ServiceRole) Reset() { *m = ServiceRole{} } -func (m *ServiceRole) String() string { return proto.CompactTextString(m) } -func (*ServiceRole) ProtoMessage() {} -func (*ServiceRole) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{2} } +var xxx_messageInfo_ServiceRole proto.InternalMessageInfo func (m *ServiceRole) GetRules() []*AccessRule { if m != nil { @@ -254,17 +340,17 @@ type AccessRule struct { // "bookstore.mtv.cluster.local" (exact match), or "bookstore*" (prefix match), // or "*.mtv.cluster.local" (suffix match). // If set to ["*"], it refers to all services in the namespace. - Services []string `protobuf:"bytes,1,rep,name=services" json:"services,omitempty"` + Services []string `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` // $hide_from_docs // Optional. A list of HTTP hosts. This is matched against the HOST header in // a HTTP request. Exact match, prefix match and suffix match are supported. // For example, the host "test.abc.com" matches "test.abc.com" (exact match), // or "*.abc.com" (prefix match), or "test.abc.*" (suffix match). // If not specified, it matches to any host. - Hosts []string `protobuf:"bytes,5,rep,name=hosts" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,5,rep,name=hosts,proto3" json:"hosts,omitempty"` // $hide_from_docs // Optional. A list of HTTP hosts that must not be matched. - NotHosts []string `protobuf:"bytes,6,rep,name=not_hosts,json=notHosts" json:"not_hosts,omitempty"` + NotHosts []string `protobuf:"bytes,6,rep,name=not_hosts,json=notHosts,proto3" json:"not_hosts,omitempty"` // Optional. A list of HTTP paths or gRPC methods. // gRPC methods must be presented as fully-qualified name in the form of // "/packageName.serviceName/methodName" and are case sensitive. @@ -272,35 +358,66 @@ type AccessRule struct { // the path "/books/review" matches "/books/review" (exact match), // or "/books/*" (prefix match), or "*/review" (suffix match). // If not specified, it matches to any path. - Paths []string `protobuf:"bytes,2,rep,name=paths" json:"paths,omitempty"` + Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` // $hide_from_docs // Optional. A list of HTTP paths or gRPC methods that must not be matched. - NotPaths []string `protobuf:"bytes,7,rep,name=not_paths,json=notPaths" json:"not_paths,omitempty"` + NotPaths []string `protobuf:"bytes,7,rep,name=not_paths,json=notPaths,proto3" json:"not_paths,omitempty"` // Optional. A list of HTTP methods (e.g., "GET", "POST"). // It is ignored in gRPC case because the value is always "POST". // If not specified, it matches to any methods. - Methods []string `protobuf:"bytes,3,rep,name=methods" json:"methods,omitempty"` + Methods []string `protobuf:"bytes,3,rep,name=methods,proto3" json:"methods,omitempty"` // $hide_from_docs // Optional. A list of HTTP methods that must not be matched. // Note: It's an error to set methods and not_methods at the same time. - NotMethods []string `protobuf:"bytes,8,rep,name=not_methods,json=notMethods" json:"not_methods,omitempty"` + NotMethods []string `protobuf:"bytes,8,rep,name=not_methods,json=notMethods,proto3" json:"not_methods,omitempty"` // $hide_from_docs // Optional. A list of port numbers of the request. If not specified, it matches // to any port number. // Note: It's an error to set ports and not_ports at the same time. - Ports []int32 `protobuf:"varint,9,rep,packed,name=ports" json:"ports,omitempty"` + Ports []int32 `protobuf:"varint,9,rep,packed,name=ports,proto3" json:"ports,omitempty"` // $hide_from_docs // Optional. A list of port numbers that must not be matched. // Note: It's an error to set ports and not_ports at the same time. - NotPorts []int32 `protobuf:"varint,10,rep,packed,name=not_ports,json=notPorts" json:"not_ports,omitempty"` + NotPorts []int32 `protobuf:"varint,10,rep,packed,name=not_ports,json=notPorts,proto3" json:"not_ports,omitempty"` // Optional. Extra constraints in the ServiceRole specification. - Constraints []*AccessRule_Constraint `protobuf:"bytes,4,rep,name=constraints" json:"constraints,omitempty"` + Constraints []*AccessRule_Constraint `protobuf:"bytes,4,rep,name=constraints,proto3" json:"constraints,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AccessRule) Reset() { *m = AccessRule{} } +func (m *AccessRule) String() string { return proto.CompactTextString(m) } +func (*AccessRule) ProtoMessage() {} +func (*AccessRule) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{3} +} +func (m *AccessRule) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AccessRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AccessRule.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AccessRule) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccessRule.Merge(m, src) +} +func (m *AccessRule) XXX_Size() int { + return m.Size() +} +func (m *AccessRule) XXX_DiscardUnknown() { + xxx_messageInfo_AccessRule.DiscardUnknown(m) } -func (m *AccessRule) Reset() { *m = AccessRule{} } -func (m *AccessRule) String() string { return proto.CompactTextString(m) } -func (*AccessRule) ProtoMessage() {} -func (*AccessRule) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{3} } +var xxx_messageInfo_AccessRule proto.InternalMessageInfo func (m *AccessRule) GetServices() []string { if m != nil { @@ -380,13 +497,44 @@ type AccessRule_Constraint struct { // Exact match, prefix match, and suffix match are supported. // For example, the value "v1alpha2" matches "v1alpha2" (exact match), // or "v1*" (prefix match), or "*alpha2" (suffix match). - Values []string `protobuf:"bytes,2,rep,name=values" json:"values,omitempty"` + Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AccessRule_Constraint) Reset() { *m = AccessRule_Constraint{} } -func (m *AccessRule_Constraint) String() string { return proto.CompactTextString(m) } -func (*AccessRule_Constraint) ProtoMessage() {} -func (*AccessRule_Constraint) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{3, 0} } +func (m *AccessRule_Constraint) Reset() { *m = AccessRule_Constraint{} } +func (m *AccessRule_Constraint) String() string { return proto.CompactTextString(m) } +func (*AccessRule_Constraint) ProtoMessage() {} +func (*AccessRule_Constraint) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{3, 0} +} +func (m *AccessRule_Constraint) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AccessRule_Constraint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AccessRule_Constraint.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AccessRule_Constraint) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccessRule_Constraint.Merge(m, src) +} +func (m *AccessRule_Constraint) XXX_Size() int { + return m.Size() +} +func (m *AccessRule_Constraint) XXX_DiscardUnknown() { + xxx_messageInfo_AccessRule_Constraint.DiscardUnknown(m) +} + +var xxx_messageInfo_AccessRule_Constraint proto.InternalMessageInfo func (m *AccessRule_Constraint) GetKey() string { if m != nil { @@ -405,18 +553,49 @@ func (m *AccessRule_Constraint) GetValues() []string { // ServiceRoleBinding assigns a ServiceRole to a list of subjects. type ServiceRoleBinding struct { // Required. List of subjects that are assigned the ServiceRole object. - Subjects []*Subject `protobuf:"bytes,1,rep,name=subjects" json:"subjects,omitempty"` + Subjects []*Subject `protobuf:"bytes,1,rep,name=subjects,proto3" json:"subjects,omitempty"` // Required. Reference to the ServiceRole object. - RoleRef *RoleRef `protobuf:"bytes,2,opt,name=roleRef" json:"roleRef,omitempty"` + RoleRef *RoleRef `protobuf:"bytes,2,opt,name=roleRef,proto3" json:"roleRef,omitempty"` // $hide_from_docs // Indicates enforcement mode of the ServiceRoleBinding. - Mode EnforcementMode `protobuf:"varint,3,opt,name=mode,proto3,enum=istio.rbac.v1alpha1.EnforcementMode" json:"mode,omitempty"` + Mode EnforcementMode `protobuf:"varint,3,opt,name=mode,proto3,enum=istio.rbac.v1alpha1.EnforcementMode" json:"mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ServiceRoleBinding) Reset() { *m = ServiceRoleBinding{} } +func (m *ServiceRoleBinding) String() string { return proto.CompactTextString(m) } +func (*ServiceRoleBinding) ProtoMessage() {} +func (*ServiceRoleBinding) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{4} +} +func (m *ServiceRoleBinding) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ServiceRoleBinding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ServiceRoleBinding.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ServiceRoleBinding) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceRoleBinding.Merge(m, src) +} +func (m *ServiceRoleBinding) XXX_Size() int { + return m.Size() +} +func (m *ServiceRoleBinding) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceRoleBinding.DiscardUnknown(m) } -func (m *ServiceRoleBinding) Reset() { *m = ServiceRoleBinding{} } -func (m *ServiceRoleBinding) String() string { return proto.CompactTextString(m) } -func (*ServiceRoleBinding) ProtoMessage() {} -func (*ServiceRoleBinding) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{4} } +var xxx_messageInfo_ServiceRoleBinding proto.InternalMessageInfo func (m *ServiceRoleBinding) GetSubjects() []*Subject { if m != nil { @@ -448,43 +627,74 @@ type Subject struct { // Optional. A list of subject names. This is matched to the // `source.principal` attribute. If one of subject names is "*", it matches to a subject with any name. // Prefix and suffix matches are supported. - Names []string `protobuf:"bytes,4,rep,name=names" json:"names,omitempty"` + Names []string `protobuf:"bytes,4,rep,name=names,proto3" json:"names,omitempty"` // $hide_from_docs // Optional. A list of subject names that must not be matched. - NotNames []string `protobuf:"bytes,5,rep,name=not_names,json=notNames" json:"not_names,omitempty"` + NotNames []string `protobuf:"bytes,5,rep,name=not_names,json=notNames,proto3" json:"not_names,omitempty"` // $hide_from_docs // Optional. The group that the subject belongs to. // Deprecated. Use groups and not_groups instead. - Group string `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"` + Group string `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"` // Deprecated: Do not use. // $hide_from_docs // Optional. A list of groups that the subject represents. This is matched to the // `request.auth.claims[groups]` attribute. If not specified, it applies to any groups. - Groups []string `protobuf:"bytes,6,rep,name=groups" json:"groups,omitempty"` + Groups []string `protobuf:"bytes,6,rep,name=groups,proto3" json:"groups,omitempty"` // $hide_from_docs // Optional. A list of groups that must not be matched. - NotGroups []string `protobuf:"bytes,7,rep,name=not_groups,json=notGroups" json:"not_groups,omitempty"` + NotGroups []string `protobuf:"bytes,7,rep,name=not_groups,json=notGroups,proto3" json:"not_groups,omitempty"` // $hide_from_docs // Optional. A list of namespaces that the subject represents. This is matched to // the `source.namespace` attribute. If not specified, it applies to any namespaces. - Namespaces []string `protobuf:"bytes,8,rep,name=namespaces" json:"namespaces,omitempty"` + Namespaces []string `protobuf:"bytes,8,rep,name=namespaces,proto3" json:"namespaces,omitempty"` // $hide_from_docs // Optional. A list of namespaces that must not be matched. - NotNamespaces []string `protobuf:"bytes,9,rep,name=not_namespaces,json=notNamespaces" json:"not_namespaces,omitempty"` + NotNamespaces []string `protobuf:"bytes,9,rep,name=not_namespaces,json=notNamespaces,proto3" json:"not_namespaces,omitempty"` // $hide_from_docs // Optional. A list of IP address or CIDR ranges that the subject represents. // E.g. 192.168.100.2 or 10.1.0.0/16. If not specified, it applies to any IP addresses. - Ips []string `protobuf:"bytes,10,rep,name=ips" json:"ips,omitempty"` + Ips []string `protobuf:"bytes,10,rep,name=ips,proto3" json:"ips,omitempty"` // $hide_from_docs // Optional. A list of IP addresses or CIDR ranges that must not be matched. - NotIps []string `protobuf:"bytes,11,rep,name=not_ips,json=notIps" json:"not_ips,omitempty"` + NotIps []string `protobuf:"bytes,11,rep,name=not_ips,json=notIps,proto3" json:"not_ips,omitempty"` // Optional. The set of properties that identify the subject. - Properties map[string]string `protobuf:"bytes,3,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Properties map[string]string `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Subject) Reset() { *m = Subject{} } +func (m *Subject) String() string { return proto.CompactTextString(m) } +func (*Subject) ProtoMessage() {} +func (*Subject) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{5} +} +func (m *Subject) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Subject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Subject.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Subject) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subject.Merge(m, src) +} +func (m *Subject) XXX_Size() int { + return m.Size() +} +func (m *Subject) XXX_DiscardUnknown() { + xxx_messageInfo_Subject.DiscardUnknown(m) } -func (m *Subject) Reset() { *m = Subject{} } -func (m *Subject) String() string { return proto.CompactTextString(m) } -func (*Subject) ProtoMessage() {} -func (*Subject) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{5} } +var xxx_messageInfo_Subject proto.InternalMessageInfo func (m *Subject) GetUser() string { if m != nil { @@ -507,6 +717,7 @@ func (m *Subject) GetNotNames() []string { return nil } +// Deprecated: Do not use. func (m *Subject) GetGroup() string { if m != nil { return m.Group @@ -570,13 +781,44 @@ type RoleRef struct { Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` // Required. The name of the ServiceRole object being referenced. // The ServiceRole object must be in the same namespace as the ServiceRoleBinding object. - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RoleRef) Reset() { *m = RoleRef{} } +func (m *RoleRef) String() string { return proto.CompactTextString(m) } +func (*RoleRef) ProtoMessage() {} +func (*RoleRef) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{6} +} +func (m *RoleRef) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RoleRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RoleRef.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RoleRef) XXX_Merge(src proto.Message) { + xxx_messageInfo_RoleRef.Merge(m, src) +} +func (m *RoleRef) XXX_Size() int { + return m.Size() +} +func (m *RoleRef) XXX_DiscardUnknown() { + xxx_messageInfo_RoleRef.DiscardUnknown(m) } -func (m *RoleRef) Reset() { *m = RoleRef{} } -func (m *RoleRef) String() string { return proto.CompactTextString(m) } -func (*RoleRef) ProtoMessage() {} -func (*RoleRef) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{6} } +var xxx_messageInfo_RoleRef proto.InternalMessageInfo func (m *RoleRef) GetKind() string { if m != nil { @@ -617,23 +859,54 @@ type RbacConfig struct { Mode RbacConfig_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.rbac.v1alpha1.RbacConfig_Mode" json:"mode,omitempty"` // A list of services or namespaces that should be enforced by Istio RBAC policies. Note: This field have // effect only when mode is ON_WITH_INCLUSION and will be ignored for any other modes. - Inclusion *RbacConfig_Target `protobuf:"bytes,2,opt,name=inclusion" json:"inclusion,omitempty"` + Inclusion *RbacConfig_Target `protobuf:"bytes,2,opt,name=inclusion,proto3" json:"inclusion,omitempty"` // A list of services or namespaces that should not be enforced by Istio RBAC policies. Note: This field have // effect only when mode is ON_WITH_EXCLUSION and will be ignored for any other modes. - Exclusion *RbacConfig_Target `protobuf:"bytes,3,opt,name=exclusion" json:"exclusion,omitempty"` + Exclusion *RbacConfig_Target `protobuf:"bytes,3,opt,name=exclusion,proto3" json:"exclusion,omitempty"` // $hide_from_docs // Indicates enforcement mode of the RbacConfig, in ENFORCED mode by default. // It's used to verify new RbacConfig work as expected before rolling to production. // When setting as PERMISSIVE, RBAC isn't enforced and has no impact on users. // RBAC engine run RbacConfig in PERMISSIVE mode and logs stats. // Invalid to set RbacConfig in PERMISSIVE and ServiceRoleBinding in ENFORCED mode. - EnforcementMode EnforcementMode `protobuf:"varint,4,opt,name=enforcement_mode,json=enforcementMode,proto3,enum=istio.rbac.v1alpha1.EnforcementMode" json:"enforcement_mode,omitempty"` + EnforcementMode EnforcementMode `protobuf:"varint,4,opt,name=enforcement_mode,json=enforcementMode,proto3,enum=istio.rbac.v1alpha1.EnforcementMode" json:"enforcement_mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RbacConfig) Reset() { *m = RbacConfig{} } +func (m *RbacConfig) String() string { return proto.CompactTextString(m) } +func (*RbacConfig) ProtoMessage() {} +func (*RbacConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{7} +} +func (m *RbacConfig) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RbacConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RbacConfig.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RbacConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_RbacConfig.Merge(m, src) +} +func (m *RbacConfig) XXX_Size() int { + return m.Size() +} +func (m *RbacConfig) XXX_DiscardUnknown() { + xxx_messageInfo_RbacConfig.DiscardUnknown(m) } -func (m *RbacConfig) Reset() { *m = RbacConfig{} } -func (m *RbacConfig) String() string { return proto.CompactTextString(m) } -func (*RbacConfig) ProtoMessage() {} -func (*RbacConfig) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{7} } +var xxx_messageInfo_RbacConfig proto.InternalMessageInfo func (m *RbacConfig) GetMode() RbacConfig_Mode { if m != nil { @@ -666,18 +939,49 @@ func (m *RbacConfig) GetEnforcementMode() EnforcementMode { // Target defines a list of services or namespaces. type RbacConfig_Target struct { // A list of services. - Services []string `protobuf:"bytes,1,rep,name=services" json:"services,omitempty"` + Services []string `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` // $hide_from_docs // A list of workloads. - WorkloadSelectors []*WorkloadSelector `protobuf:"bytes,3,rep,name=workload_selectors,json=workloadSelectors" json:"workload_selectors,omitempty"` + WorkloadSelectors []*WorkloadSelector `protobuf:"bytes,3,rep,name=workload_selectors,json=workloadSelectors,proto3" json:"workload_selectors,omitempty"` // A list of namespaces. - Namespaces []string `protobuf:"bytes,2,rep,name=namespaces" json:"namespaces,omitempty"` + Namespaces []string `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RbacConfig_Target) Reset() { *m = RbacConfig_Target{} } +func (m *RbacConfig_Target) String() string { return proto.CompactTextString(m) } +func (*RbacConfig_Target) ProtoMessage() {} +func (*RbacConfig_Target) Descriptor() ([]byte, []int) { + return fileDescriptor_3462954d26c055c0, []int{7, 0} +} +func (m *RbacConfig_Target) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RbacConfig_Target) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RbacConfig_Target.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RbacConfig_Target) XXX_Merge(src proto.Message) { + xxx_messageInfo_RbacConfig_Target.Merge(m, src) +} +func (m *RbacConfig_Target) XXX_Size() int { + return m.Size() +} +func (m *RbacConfig_Target) XXX_DiscardUnknown() { + xxx_messageInfo_RbacConfig_Target.DiscardUnknown(m) } -func (m *RbacConfig_Target) Reset() { *m = RbacConfig_Target{} } -func (m *RbacConfig_Target) String() string { return proto.CompactTextString(m) } -func (*RbacConfig_Target) ProtoMessage() {} -func (*RbacConfig_Target) Descriptor() ([]byte, []int) { return fileDescriptorRbac, []int{7, 0} } +var xxx_messageInfo_RbacConfig_Target proto.InternalMessageInfo func (m *RbacConfig_Target) GetServices() []string { if m != nil { @@ -701,19 +1005,85 @@ func (m *RbacConfig_Target) GetNamespaces() []string { } func init() { + proto.RegisterEnum("istio.rbac.v1alpha1.EnforcementMode", EnforcementMode_name, EnforcementMode_value) + proto.RegisterEnum("istio.rbac.v1alpha1.RbacConfig_Mode", RbacConfig_Mode_name, RbacConfig_Mode_value) proto.RegisterType((*WorkloadSelector)(nil), "istio.rbac.v1alpha1.WorkloadSelector") + proto.RegisterMapType((map[string]string)(nil), "istio.rbac.v1alpha1.WorkloadSelector.LabelsEntry") proto.RegisterType((*AuthorizationPolicy)(nil), "istio.rbac.v1alpha1.AuthorizationPolicy") proto.RegisterType((*ServiceRole)(nil), "istio.rbac.v1alpha1.ServiceRole") proto.RegisterType((*AccessRule)(nil), "istio.rbac.v1alpha1.AccessRule") proto.RegisterType((*AccessRule_Constraint)(nil), "istio.rbac.v1alpha1.AccessRule.Constraint") proto.RegisterType((*ServiceRoleBinding)(nil), "istio.rbac.v1alpha1.ServiceRoleBinding") proto.RegisterType((*Subject)(nil), "istio.rbac.v1alpha1.Subject") + proto.RegisterMapType((map[string]string)(nil), "istio.rbac.v1alpha1.Subject.PropertiesEntry") proto.RegisterType((*RoleRef)(nil), "istio.rbac.v1alpha1.RoleRef") proto.RegisterType((*RbacConfig)(nil), "istio.rbac.v1alpha1.RbacConfig") proto.RegisterType((*RbacConfig_Target)(nil), "istio.rbac.v1alpha1.RbacConfig.Target") - proto.RegisterEnum("istio.rbac.v1alpha1.EnforcementMode", EnforcementMode_name, EnforcementMode_value) - proto.RegisterEnum("istio.rbac.v1alpha1.RbacConfig_Mode", RbacConfig_Mode_name, RbacConfig_Mode_value) } + +func init() { proto.RegisterFile("rbac/v1alpha1/rbac.proto", fileDescriptor_3462954d26c055c0) } + +var fileDescriptor_3462954d26c055c0 = []byte{ + // 898 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xcd, 0x6e, 0x23, 0x45, + 0x10, 0xde, 0xf1, 0xf8, 0x27, 0x53, 0x86, 0x64, 0xd2, 0xbb, 0xc0, 0xc8, 0x40, 0x36, 0xb2, 0x58, + 0xb0, 0x56, 0xc8, 0x56, 0x82, 0x58, 0x05, 0xa4, 0x3d, 0x6c, 0x12, 0x87, 0xb5, 0x94, 0xd8, 0x51, + 0x3b, 0xb0, 0x88, 0x8b, 0x35, 0x1e, 0x77, 0xe2, 0x26, 0x93, 0xee, 0x51, 0x4f, 0x4f, 0x42, 0x38, + 0x72, 0xe1, 0x15, 0x10, 0x27, 0x8e, 0x3c, 0x06, 0x47, 0x8e, 0x3c, 0x02, 0xca, 0x93, 0xa0, 0xee, + 0x9e, 0x1e, 0x7b, 0xbd, 0x26, 0x9b, 0xdc, 0xba, 0xea, 0xab, 0xaf, 0xaa, 0xab, 0xea, 0xf3, 0xb4, + 0x21, 0x10, 0xe3, 0x30, 0xea, 0x5c, 0x6e, 0x85, 0x71, 0x32, 0x0d, 0xb7, 0x3a, 0xca, 0x6a, 0x27, + 0x82, 0x4b, 0x8e, 0x1e, 0xd2, 0x54, 0x52, 0xde, 0xd6, 0x1e, 0x8b, 0x37, 0x7f, 0x73, 0xc0, 0x7f, + 0xc5, 0xc5, 0x79, 0xcc, 0xc3, 0xc9, 0x90, 0xc4, 0x24, 0x92, 0x5c, 0xa0, 0x1e, 0x54, 0xe3, 0x70, + 0x4c, 0xe2, 0x34, 0x70, 0x36, 0xdd, 0x56, 0x7d, 0x7b, 0xab, 0xbd, 0x84, 0xda, 0x5e, 0xa4, 0xb5, + 0x0f, 0x35, 0xa7, 0xcb, 0xa4, 0xb8, 0xc6, 0x79, 0x82, 0xc6, 0x57, 0x50, 0x9f, 0x73, 0x23, 0x1f, + 0xdc, 0x73, 0x72, 0x1d, 0x38, 0x9b, 0x4e, 0xcb, 0xc3, 0xea, 0x88, 0x1e, 0x41, 0xe5, 0x32, 0x8c, + 0x33, 0x12, 0x94, 0xb4, 0xcf, 0x18, 0x5f, 0x97, 0x76, 0x9c, 0xe6, 0x9f, 0x0e, 0x3c, 0x7c, 0x91, + 0xc9, 0x29, 0x17, 0xf4, 0xe7, 0x50, 0x52, 0xce, 0x8e, 0x79, 0x4c, 0xa3, 0x6b, 0x84, 0x61, 0xfd, + 0x2a, 0x2f, 0x3d, 0x4a, 0xf3, 0xda, 0x3a, 0x63, 0x7d, 0xfb, 0xc9, 0x9d, 0x2e, 0x8a, 0xfd, 0xab, + 0xc5, 0x8e, 0x9f, 0x43, 0x25, 0x8c, 0x63, 0x7e, 0x15, 0x94, 0x74, 0xc3, 0x9f, 0x2d, 0xcd, 0x33, + 0x24, 0xe2, 0x92, 0x46, 0x04, 0xf3, 0x98, 0xec, 0x52, 0x36, 0xa1, 0xec, 0x0c, 0x1b, 0x56, 0x73, + 0x1f, 0xea, 0x73, 0x20, 0xfa, 0x12, 0x2a, 0x22, 0x8b, 0x89, 0x1d, 0xdf, 0xe3, 0xa5, 0xd9, 0x5e, + 0x44, 0x11, 0x49, 0x53, 0x9c, 0xc5, 0x04, 0x9b, 0xe8, 0xe6, 0x2f, 0x2e, 0xc0, 0xcc, 0x8b, 0x1a, + 0xb0, 0x92, 0x9a, 0xa4, 0x26, 0x91, 0x87, 0x0b, 0x5b, 0x4d, 0x6d, 0xca, 0x53, 0x99, 0x06, 0x15, + 0x0d, 0x18, 0x03, 0x7d, 0x08, 0x1e, 0xe3, 0x72, 0x64, 0x90, 0xaa, 0xa1, 0x30, 0x2e, 0x5f, 0x6a, + 0xf0, 0x11, 0x54, 0x92, 0x50, 0x4e, 0x53, 0xdd, 0xa2, 0x87, 0x8d, 0x61, 0x29, 0x06, 0xa9, 0x15, + 0x94, 0x63, 0x0d, 0x06, 0x50, 0xbb, 0x20, 0x72, 0xca, 0x27, 0x69, 0xe0, 0x6a, 0xc8, 0x9a, 0xe8, + 0x31, 0xd4, 0x15, 0xcd, 0xa2, 0x2b, 0x1a, 0x05, 0xc6, 0xe5, 0x51, 0x1e, 0xa0, 0xaa, 0x71, 0x21, + 0xd3, 0xc0, 0xdb, 0x74, 0x5b, 0x15, 0x6c, 0x8c, 0xa2, 0x9a, 0x46, 0x40, 0x23, 0xba, 0x9a, 0x06, + 0x0f, 0xa1, 0x1e, 0x71, 0x96, 0x4a, 0x11, 0x52, 0x26, 0xd3, 0xa0, 0xac, 0x67, 0xf7, 0xf4, 0x2d, + 0xb3, 0x6b, 0xef, 0x15, 0x14, 0x3c, 0x4f, 0x6f, 0x3c, 0x03, 0x98, 0x41, 0x4b, 0x74, 0xf7, 0x3e, + 0x54, 0xb5, 0xd4, 0xec, 0x3c, 0x72, 0xab, 0xf9, 0x97, 0x03, 0xe8, 0xcd, 0x45, 0xa3, 0x1d, 0x58, + 0x49, 0xb3, 0xf1, 0x8f, 0x24, 0x92, 0x76, 0xab, 0x1f, 0x2d, 0xd7, 0x88, 0x09, 0xc2, 0x45, 0x34, + 0x7a, 0x06, 0x35, 0xc1, 0x63, 0x82, 0xc9, 0xa9, 0x96, 0xf8, 0xff, 0x11, 0xb1, 0x89, 0xc1, 0x36, + 0x18, 0xed, 0x40, 0xf9, 0x82, 0x4f, 0x48, 0xe0, 0x6e, 0x3a, 0xad, 0xd5, 0xed, 0x4f, 0x96, 0x92, + 0xba, 0xec, 0x94, 0x8b, 0x88, 0x5c, 0x10, 0x26, 0x8f, 0xf8, 0x84, 0x60, 0xcd, 0x68, 0xfe, 0xe1, + 0x42, 0x2d, 0xbf, 0x07, 0x42, 0x50, 0xce, 0x52, 0x22, 0xf2, 0xce, 0xf5, 0x59, 0xed, 0x86, 0x85, + 0x17, 0xc4, 0x8c, 0xd8, 0xc3, 0xc6, 0xb0, 0xbb, 0x31, 0x48, 0xa5, 0x50, 0x42, 0x5f, 0x83, 0x01, + 0x54, 0xce, 0x04, 0xcf, 0x12, 0xf3, 0x2b, 0xdd, 0x2d, 0x05, 0x0e, 0x36, 0x0e, 0x35, 0x47, 0x7d, + 0xb0, 0x82, 0xcb, 0x2d, 0xf4, 0x31, 0x28, 0x39, 0x8c, 0x72, 0xcc, 0x28, 0x4b, 0x15, 0xf8, 0xc6, + 0xc0, 0x1b, 0x00, 0xba, 0x52, 0x12, 0x2a, 0x79, 0x5b, 0xfd, 0x14, 0x1e, 0xf4, 0x04, 0x56, 0x8b, + 0xdb, 0x98, 0x18, 0x4f, 0xc7, 0xbc, 0x6b, 0xaf, 0x64, 0xc2, 0x7c, 0x70, 0x69, 0x62, 0xa4, 0xe4, + 0x61, 0x75, 0x44, 0x1f, 0x40, 0x4d, 0x11, 0x95, 0xb7, 0x6e, 0x2e, 0xc4, 0xb8, 0xec, 0x25, 0x4a, + 0x5e, 0x90, 0x08, 0x9e, 0x10, 0x21, 0x29, 0x31, 0x7a, 0xae, 0x6f, 0x7f, 0x7e, 0xdb, 0x0e, 0xdb, + 0xc7, 0x45, 0xb8, 0xf9, 0xa6, 0xcd, 0xf1, 0x1b, 0xcf, 0x61, 0x6d, 0x01, 0xbe, 0xd7, 0xb7, 0x6d, + 0x0b, 0x6a, 0xf9, 0xc2, 0xd5, 0x86, 0xce, 0x29, 0x9b, 0xd8, 0x0d, 0xa9, 0xb3, 0xf2, 0xa9, 0xce, + 0x73, 0x9e, 0x3e, 0x37, 0x7f, 0x2d, 0x03, 0xe0, 0x71, 0x18, 0xed, 0x71, 0x76, 0x4a, 0xcf, 0x0a, + 0x79, 0x38, 0xb7, 0xc8, 0x63, 0x16, 0xde, 0x9e, 0xc9, 0x03, 0xed, 0x83, 0x47, 0x59, 0x14, 0x67, + 0x29, 0xe5, 0x2c, 0x97, 0xe4, 0xa7, 0x6f, 0xa3, 0x9f, 0x84, 0xe2, 0x8c, 0x48, 0x3c, 0x23, 0xaa, + 0x2c, 0xe4, 0x27, 0x9b, 0xc5, 0xbd, 0x5f, 0x96, 0x82, 0x88, 0x06, 0xe0, 0x93, 0x99, 0x86, 0x47, + 0xba, 0xa3, 0xf2, 0x3d, 0x04, 0xbf, 0x46, 0x5e, 0x77, 0x34, 0x7e, 0x77, 0xa0, 0x6a, 0xca, 0xdc, + 0xfa, 0xfd, 0x3c, 0x01, 0xf4, 0xc6, 0x1b, 0x62, 0x45, 0x71, 0xc7, 0x47, 0x64, 0x7d, 0xf1, 0x11, + 0x59, 0x14, 0x75, 0x69, 0x51, 0xd4, 0xcd, 0x2e, 0x94, 0xd5, 0x25, 0x51, 0x0d, 0xdc, 0xc1, 0xc1, + 0x81, 0xff, 0x00, 0x55, 0xa1, 0x34, 0xe8, 0xfb, 0x0e, 0x7a, 0x0f, 0xd6, 0x07, 0xfd, 0xd1, 0xab, + 0xde, 0xc9, 0xcb, 0x51, 0xaf, 0xbf, 0x77, 0xf8, 0xed, 0xb0, 0x37, 0xe8, 0xfb, 0xa5, 0x79, 0x77, + 0xf7, 0x7b, 0xeb, 0x76, 0x9f, 0x76, 0x60, 0x6d, 0x61, 0x0e, 0xe8, 0x1d, 0x58, 0xe9, 0xf6, 0x0f, + 0x06, 0x78, 0xaf, 0xbb, 0xef, 0x3f, 0x40, 0xab, 0x00, 0xc7, 0x5d, 0x7c, 0xd4, 0x1b, 0x0e, 0x7b, + 0xdf, 0x75, 0x7d, 0x67, 0xb7, 0xf5, 0xf7, 0xcd, 0x86, 0xf3, 0xcf, 0xcd, 0x86, 0xf3, 0xef, 0xcd, + 0x86, 0xf3, 0x43, 0xc3, 0xb4, 0x47, 0x79, 0x27, 0x4c, 0x68, 0xe7, 0xb5, 0xbf, 0x0b, 0xe3, 0xaa, + 0xfe, 0xab, 0xf0, 0xc5, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x63, 0x73, 0xac, 0x2f, 0x46, 0x08, + 0x00, 0x00, +} + func (m *WorkloadSelector) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -746,6 +1116,9 @@ func (m *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -786,6 +1159,9 @@ func (m *AuthorizationPolicy) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -816,6 +1192,9 @@ func (m *ServiceRole) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -987,6 +1366,9 @@ func (m *AccessRule) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintRbac(dAtA, i, uint64(j4)) i += copy(dAtA[i:], dAtA5[:j4]) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1026,6 +1408,9 @@ func (m *AccessRule_Constraint) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1071,6 +1456,9 @@ func (m *ServiceRoleBinding) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintRbac(dAtA, i, uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1238,6 +1626,9 @@ func (m *Subject) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1268,6 +1659,9 @@ func (m *RoleRef) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintRbac(dAtA, i, uint64(len(m.Name))) i += copy(dAtA[i:], m.Name) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1316,6 +1710,9 @@ func (m *RbacConfig) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintRbac(dAtA, i, uint64(m.EnforcementMode)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1376,6 +1773,9 @@ func (m *RbacConfig_Target) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1389,6 +1789,9 @@ func encodeVarintRbac(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *WorkloadSelector) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Labels) > 0 { @@ -1399,10 +1802,16 @@ func (m *WorkloadSelector) Size() (n int) { n += mapEntrySize + 1 + sovRbac(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *AuthorizationPolicy) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.WorkloadSelector != nil { @@ -1415,10 +1824,16 @@ func (m *AuthorizationPolicy) Size() (n int) { n += 1 + l + sovRbac(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ServiceRole) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Rules) > 0 { @@ -1427,10 +1842,16 @@ func (m *ServiceRole) Size() (n int) { n += 1 + l + sovRbac(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *AccessRule) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Services) > 0 { @@ -1495,10 +1916,16 @@ func (m *AccessRule) Size() (n int) { } n += 1 + sovRbac(uint64(l)) + l } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *AccessRule_Constraint) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Key) @@ -1511,10 +1938,16 @@ func (m *AccessRule_Constraint) Size() (n int) { n += 1 + l + sovRbac(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *ServiceRoleBinding) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Subjects) > 0 { @@ -1530,10 +1963,16 @@ func (m *ServiceRoleBinding) Size() (n int) { if m.Mode != 0 { n += 1 + sovRbac(uint64(m.Mode)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Subject) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.User) @@ -1600,10 +2039,16 @@ func (m *Subject) Size() (n int) { n += 1 + l + sovRbac(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *RoleRef) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Kind) @@ -1614,10 +2059,16 @@ func (m *RoleRef) Size() (n int) { if l > 0 { n += 1 + l + sovRbac(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *RbacConfig) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Mode != 0 { @@ -1634,10 +2085,16 @@ func (m *RbacConfig) Size() (n int) { if m.EnforcementMode != 0 { n += 1 + sovRbac(uint64(m.EnforcementMode)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *RbacConfig_Target) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Services) > 0 { @@ -1658,6 +2115,9 @@ func (m *RbacConfig_Target) Size() (n int) { n += 1 + l + sovRbac(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -1689,7 +2149,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1717,7 +2177,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1726,6 +2186,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1746,7 +2209,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1763,7 +2226,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1773,6 +2236,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthRbac + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -1789,7 +2255,7 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1799,6 +2265,9 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthRbac + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -1830,9 +2299,13 @@ func (m *WorkloadSelector) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1857,7 +2330,7 @@ func (m *AuthorizationPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1885,7 +2358,7 @@ func (m *AuthorizationPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1894,6 +2367,9 @@ func (m *AuthorizationPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1918,7 +2394,7 @@ func (m *AuthorizationPolicy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1927,6 +2403,9 @@ func (m *AuthorizationPolicy) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1944,9 +2423,13 @@ func (m *AuthorizationPolicy) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1971,7 +2454,7 @@ func (m *ServiceRole) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1999,7 +2482,7 @@ func (m *ServiceRole) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2008,6 +2491,9 @@ func (m *ServiceRole) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2025,9 +2511,13 @@ func (m *ServiceRole) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2052,7 +2542,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2080,7 +2570,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2090,6 +2580,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2109,7 +2602,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2119,6 +2612,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2138,7 +2634,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2148,6 +2644,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2167,7 +2666,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2176,6 +2675,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2198,7 +2700,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2208,6 +2710,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2227,7 +2732,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2237,6 +2742,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2256,7 +2764,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2266,6 +2774,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2285,7 +2796,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2295,6 +2806,9 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2312,7 +2826,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2329,7 +2843,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - packedLen |= (int(b) & 0x7F) << shift + packedLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2338,9 +2852,23 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Ports) == 0 { + m.Ports = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -2352,7 +2880,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2374,7 +2902,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2391,7 +2919,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - packedLen |= (int(b) & 0x7F) << shift + packedLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2400,9 +2928,23 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.NotPorts) == 0 { + m.NotPorts = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -2414,7 +2956,7 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int32(b) & 0x7F) << shift + v |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2433,9 +2975,13 @@ func (m *AccessRule) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2460,7 +3006,7 @@ func (m *AccessRule_Constraint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2488,7 +3034,7 @@ func (m *AccessRule_Constraint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2498,6 +3044,9 @@ func (m *AccessRule_Constraint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2517,7 +3066,7 @@ func (m *AccessRule_Constraint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2527,6 +3076,9 @@ func (m *AccessRule_Constraint) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2541,9 +3093,13 @@ func (m *AccessRule_Constraint) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2568,7 +3124,7 @@ func (m *ServiceRoleBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2596,7 +3152,7 @@ func (m *ServiceRoleBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2605,6 +3161,9 @@ func (m *ServiceRoleBinding) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2627,7 +3186,7 @@ func (m *ServiceRoleBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2636,6 +3195,9 @@ func (m *ServiceRoleBinding) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2660,7 +3222,7 @@ func (m *ServiceRoleBinding) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (EnforcementMode(b) & 0x7F) << shift + m.Mode |= EnforcementMode(b&0x7F) << shift if b < 0x80 { break } @@ -2674,9 +3236,13 @@ func (m *ServiceRoleBinding) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2701,7 +3267,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2729,7 +3295,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2739,6 +3305,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2758,7 +3327,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2768,6 +3337,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2787,7 +3359,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2796,6 +3368,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2816,7 +3391,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2833,7 +3408,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapkey |= (uint64(b) & 0x7F) << shift + stringLenmapkey |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2843,6 +3418,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthRbac + } if postStringIndexmapkey > l { return io.ErrUnexpectedEOF } @@ -2859,7 +3437,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLenmapvalue |= (uint64(b) & 0x7F) << shift + stringLenmapvalue |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2869,6 +3447,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthRbac + } if postStringIndexmapvalue > l { return io.ErrUnexpectedEOF } @@ -2905,7 +3486,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2915,6 +3496,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2934,7 +3518,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2944,6 +3528,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2963,7 +3550,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -2973,6 +3560,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -2992,7 +3582,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3002,6 +3592,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3021,7 +3614,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3031,6 +3624,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3050,7 +3646,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3060,6 +3656,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3079,7 +3678,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3089,6 +3688,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3108,7 +3710,7 @@ func (m *Subject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3118,6 +3720,9 @@ func (m *Subject) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3132,9 +3737,13 @@ func (m *Subject) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3159,7 +3768,7 @@ func (m *RoleRef) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3187,7 +3796,7 @@ func (m *RoleRef) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3197,6 +3806,9 @@ func (m *RoleRef) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3216,7 +3828,7 @@ func (m *RoleRef) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3226,6 +3838,9 @@ func (m *RoleRef) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3240,9 +3855,13 @@ func (m *RoleRef) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3267,7 +3886,7 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3295,7 +3914,7 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Mode |= (RbacConfig_Mode(b) & 0x7F) << shift + m.Mode |= RbacConfig_Mode(b&0x7F) << shift if b < 0x80 { break } @@ -3314,7 +3933,7 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3323,6 +3942,9 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3347,7 +3969,7 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3356,6 +3978,9 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3380,7 +4005,7 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.EnforcementMode |= (EnforcementMode(b) & 0x7F) << shift + m.EnforcementMode |= EnforcementMode(b&0x7F) << shift if b < 0x80 { break } @@ -3394,9 +4019,13 @@ func (m *RbacConfig) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3421,7 +4050,7 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3449,7 +4078,7 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3459,6 +4088,9 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3478,7 +4110,7 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3488,6 +4120,9 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3507,7 +4142,7 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -3516,6 +4151,9 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { return ErrInvalidLengthRbac } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRbac + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -3533,9 +4171,13 @@ func (m *RbacConfig_Target) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthRbac } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthRbac + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -3599,10 +4241,13 @@ func skipRbac(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthRbac } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthRbac + } return iNdEx, nil case 3: for { @@ -3631,6 +4276,9 @@ func skipRbac(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthRbac + } } return iNdEx, nil case 4: @@ -3649,66 +4297,3 @@ var ( ErrInvalidLengthRbac = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowRbac = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("rbac/v1alpha1/rbac.proto", fileDescriptorRbac) } - -var fileDescriptorRbac = []byte{ - // 902 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0x23, 0x35, - 0x14, 0xdf, 0xc9, 0xe4, 0x4f, 0xe7, 0x05, 0xda, 0xa9, 0x17, 0x96, 0x51, 0x80, 0x6e, 0x15, 0xb1, - 0x10, 0xad, 0x50, 0xa2, 0x16, 0xb1, 0x2a, 0x48, 0x7b, 0xd8, 0xb6, 0x29, 0x1b, 0xa9, 0x4d, 0x2a, - 0xa7, 0xb0, 0x88, 0x4b, 0x34, 0x99, 0xb8, 0x8d, 0xe9, 0xc4, 0x1e, 0xd9, 0x4e, 0x4b, 0x39, 0x72, - 0xe1, 0x2b, 0x20, 0x4e, 0x1c, 0xf9, 0x18, 0x1c, 0x39, 0xf2, 0x11, 0x50, 0x3f, 0x09, 0xb2, 0x3d, - 0x33, 0x49, 0xd3, 0xd0, 0x6d, 0x6f, 0x7e, 0x7f, 0x7e, 0xef, 0xfd, 0x9e, 0xdf, 0xcf, 0x99, 0x40, - 0x20, 0x86, 0x61, 0xd4, 0xba, 0xd8, 0x0a, 0xe3, 0x64, 0x1c, 0x6e, 0xb5, 0xb4, 0xd5, 0x4c, 0x04, - 0x57, 0x1c, 0x3d, 0xa6, 0x52, 0x51, 0xde, 0x34, 0x9e, 0x2c, 0x5e, 0xff, 0xcd, 0x01, 0xff, 0x0d, - 0x17, 0xe7, 0x31, 0x0f, 0x47, 0x7d, 0x12, 0x93, 0x48, 0x71, 0x81, 0x3a, 0x50, 0x8e, 0xc3, 0x21, - 0x89, 0x65, 0xe0, 0x6c, 0xba, 0x8d, 0xea, 0xf6, 0x56, 0x73, 0x09, 0xb4, 0xb9, 0x08, 0x6b, 0x1e, - 0x1a, 0x4c, 0x9b, 0x29, 0x71, 0x85, 0xd3, 0x02, 0xb5, 0xaf, 0xa0, 0x3a, 0xe7, 0x46, 0x3e, 0xb8, - 0xe7, 0xe4, 0x2a, 0x70, 0x36, 0x9d, 0x86, 0x87, 0xf5, 0x11, 0xbd, 0x07, 0xa5, 0x8b, 0x30, 0x9e, - 0x92, 0xa0, 0x60, 0x7c, 0xd6, 0xf8, 0xba, 0xb0, 0xe3, 0xd4, 0xff, 0x74, 0xe0, 0xf1, 0xab, 0xa9, - 0x1a, 0x73, 0x41, 0x7f, 0x0e, 0x15, 0xe5, 0xec, 0x98, 0xc7, 0x34, 0xba, 0x42, 0x18, 0xd6, 0x2f, - 0xd3, 0xd6, 0x03, 0x99, 0xf6, 0x36, 0x15, 0xab, 0xdb, 0xcf, 0xee, 0x45, 0x14, 0xfb, 0x97, 0x8b, - 0x13, 0xbf, 0x84, 0x52, 0x18, 0xc7, 0xfc, 0x32, 0x28, 0x98, 0x81, 0x3f, 0x5b, 0x5a, 0xa7, 0x4f, - 0xc4, 0x05, 0x8d, 0x08, 0xe6, 0x31, 0xd9, 0xa5, 0x6c, 0x44, 0xd9, 0x19, 0xb6, 0xa8, 0xfa, 0x3e, - 0x54, 0xe7, 0x82, 0xe8, 0x4b, 0x28, 0x89, 0x69, 0x4c, 0xb2, 0xeb, 0x7b, 0xba, 0xb4, 0xda, 0xab, - 0x28, 0x22, 0x52, 0xe2, 0x69, 0x4c, 0xb0, 0xcd, 0xae, 0xff, 0xe2, 0x02, 0xcc, 0xbc, 0xa8, 0x06, - 0x2b, 0xd2, 0x16, 0xb5, 0x85, 0x3c, 0x9c, 0xdb, 0xfa, 0xd6, 0x92, 0x50, 0x8d, 0xa5, 0xe1, 0xeb, - 0x61, 0x6b, 0xa0, 0x00, 0x2a, 0x13, 0xa2, 0xc6, 0x7c, 0x24, 0x03, 0xd7, 0xf8, 0x33, 0x13, 0x1d, - 0x42, 0x35, 0xe2, 0x4c, 0x2a, 0x11, 0x52, 0xa6, 0x64, 0x50, 0x34, 0xbc, 0x9e, 0xbf, 0x85, 0x57, - 0x73, 0x2f, 0x87, 0xe0, 0x79, 0xb8, 0xee, 0x3e, 0xe6, 0x52, 0xc9, 0xa0, 0x64, 0xbb, 0x1b, 0x03, - 0x7d, 0x08, 0x1e, 0xe3, 0x6a, 0x60, 0x23, 0x65, 0x4b, 0x98, 0x71, 0xf5, 0x7a, 0x3e, 0x68, 0x49, - 0x57, 0xf2, 0xe0, 0xb1, 0xe1, 0xfd, 0x14, 0xaa, 0x3a, 0x98, 0x71, 0x5f, 0x31, 0x61, 0x60, 0x5c, - 0x1d, 0xa5, 0xf4, 0xf5, 0xb8, 0x5c, 0x28, 0x19, 0x78, 0x9b, 0x6e, 0xa3, 0x84, 0xad, 0x91, 0xd7, - 0x34, 0x11, 0x30, 0x11, 0x53, 0x53, 0xdb, 0xb5, 0x17, 0x00, 0x33, 0xfa, 0x4b, 0x74, 0xf7, 0x04, - 0xca, 0x46, 0x6a, 0xd9, 0x15, 0xa6, 0x56, 0xfd, 0x2f, 0x07, 0xd0, 0xed, 0x45, 0xa3, 0x1d, 0x58, - 0x91, 0xd3, 0xe1, 0x8f, 0x24, 0x52, 0xd9, 0x56, 0x3f, 0x5a, 0xae, 0x11, 0x9b, 0x84, 0xf3, 0x6c, - 0xf4, 0x02, 0x2a, 0x82, 0xc7, 0x04, 0x93, 0x53, 0x23, 0xf1, 0xff, 0x03, 0x62, 0x9b, 0x83, 0xb3, - 0x64, 0xb4, 0x03, 0xc5, 0x09, 0x1f, 0x91, 0xc0, 0xdd, 0x74, 0x1a, 0xab, 0xdb, 0x9f, 0x2c, 0x05, - 0xb5, 0xd9, 0x29, 0x17, 0x11, 0x99, 0x10, 0xa6, 0x8e, 0xf8, 0x88, 0x60, 0x83, 0xa8, 0xff, 0xe1, - 0x42, 0x25, 0xe5, 0x81, 0x10, 0x14, 0xa7, 0x92, 0x88, 0x74, 0x72, 0x73, 0x46, 0x01, 0x94, 0xce, - 0x04, 0x9f, 0x26, 0xf6, 0xc9, 0xed, 0x16, 0x02, 0x07, 0x5b, 0x07, 0x3a, 0x04, 0x48, 0x04, 0x4f, - 0x88, 0x50, 0x94, 0x58, 0x0d, 0x55, 0xb7, 0x3f, 0xbf, 0x6b, 0xce, 0xe6, 0x71, 0x9e, 0x6e, 0xdf, - 0xfd, 0x1c, 0x5e, 0x6f, 0x8d, 0x85, 0x13, 0x62, 0xe5, 0xe6, 0x61, 0x6b, 0x64, 0x5b, 0xb3, 0x91, - 0x52, 0xae, 0x84, 0xae, 0x09, 0x3e, 0x81, 0xb2, 0x61, 0x92, 0x09, 0x28, 0xb5, 0xd0, 0xc7, 0xa0, - 0xe5, 0x30, 0x48, 0x63, 0x56, 0x3f, 0xba, 0xcc, 0x37, 0x36, 0xbc, 0x01, 0x60, 0xea, 0x25, 0xa1, - 0x7e, 0x2c, 0x99, 0x7e, 0x72, 0x0f, 0x7a, 0x06, 0xab, 0x79, 0x4f, 0x9b, 0xe3, 0x99, 0x9c, 0x77, - 0xb3, 0xc6, 0x36, 0xcd, 0x07, 0x97, 0x26, 0x56, 0x4a, 0x1e, 0xd6, 0x47, 0xf4, 0x01, 0x54, 0x34, - 0x50, 0x7b, 0xab, 0x96, 0x10, 0xe3, 0xaa, 0x93, 0xc8, 0xda, 0x4b, 0x58, 0x5b, 0x18, 0xfd, 0x41, - 0xbf, 0x6d, 0x5b, 0x50, 0x49, 0x17, 0xae, 0x37, 0x74, 0x4e, 0xd9, 0x28, 0xdb, 0x90, 0x3e, 0x6b, - 0x9f, 0xe6, 0x9a, 0xe2, 0xcc, 0xb9, 0xfe, 0x6b, 0x11, 0x00, 0x0f, 0xc3, 0x68, 0x8f, 0xb3, 0x53, - 0x7a, 0x96, 0xcb, 0xc3, 0xb9, 0x43, 0x1e, 0xb3, 0xf4, 0xe6, 0x4c, 0x1e, 0x68, 0x1f, 0x3c, 0xca, - 0xa2, 0x78, 0x2a, 0x29, 0x67, 0xa9, 0x24, 0x3f, 0x7d, 0x1b, 0xfc, 0x24, 0x14, 0x67, 0x44, 0xe1, - 0x19, 0x50, 0x57, 0x21, 0x3f, 0x65, 0x55, 0xdc, 0x87, 0x55, 0xc9, 0x81, 0xa8, 0x07, 0x3e, 0x99, - 0x69, 0x78, 0x60, 0x26, 0x2a, 0x3e, 0x40, 0xf0, 0x6b, 0xe4, 0xa6, 0xa3, 0xf6, 0xbb, 0x03, 0x65, - 0xdb, 0xe6, 0xce, 0xdf, 0xcf, 0x9b, 0x82, 0x29, 0xdc, 0x12, 0xcc, 0x09, 0xa0, 0x5b, 0xdf, 0x98, - 0xec, 0x41, 0xdc, 0xf3, 0x23, 0xb3, 0xbe, 0xf8, 0x91, 0x91, 0xf5, 0x36, 0x14, 0x35, 0x49, 0x54, - 0x01, 0xb7, 0x77, 0x70, 0xe0, 0x3f, 0x42, 0x65, 0x28, 0xf4, 0xba, 0xbe, 0x83, 0xde, 0x87, 0xf5, - 0x5e, 0x77, 0xf0, 0xa6, 0x73, 0xf2, 0x7a, 0xd0, 0xe9, 0xee, 0x1d, 0x7e, 0xdb, 0xef, 0xf4, 0xba, - 0x7e, 0x61, 0xde, 0xdd, 0xfe, 0x3e, 0x73, 0xbb, 0xcf, 0x5b, 0xb0, 0xb6, 0x70, 0x0f, 0xe8, 0x1d, - 0x58, 0x69, 0x77, 0x0f, 0x7a, 0x78, 0xaf, 0xbd, 0xef, 0x3f, 0x42, 0xab, 0x00, 0xc7, 0x6d, 0x7c, - 0xd4, 0xe9, 0xf7, 0x3b, 0xdf, 0xb5, 0x7d, 0x67, 0xb7, 0xf1, 0xf7, 0xf5, 0x86, 0xf3, 0xcf, 0xf5, - 0x86, 0xf3, 0xef, 0xf5, 0x86, 0xf3, 0x43, 0xcd, 0xd2, 0xa7, 0xbc, 0x15, 0x26, 0xb4, 0x75, 0xe3, - 0xef, 0xc2, 0xb0, 0x6c, 0xfe, 0x2a, 0x7c, 0xf1, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd5, 0x1c, - 0xa3, 0xc1, 0x46, 0x08, 0x00, 0x00, -} From 18f2d9a81aea0f9efbb509cfe865b12b727e82cb Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Mon, 25 Feb 2019 19:47:33 -0500 Subject: [PATCH 12/34] Revert "Revert "Generate separate HTML page per proto under networking (#811)"" (#818) --- Makefile | 11 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 4 +- networking/v1alpha3/destination_rule.pb.go | 145 +- networking/v1alpha3/destination_rule.pb.html | 1021 ++++ networking/v1alpha3/destination_rule.proto | 14 +- networking/v1alpha3/envoy_filter.pb.go | 75 +- networking/v1alpha3/envoy_filter.pb.html | 400 ++ networking/v1alpha3/envoy_filter.proto | 12 +- networking/v1alpha3/gateway.pb.go | 221 +- networking/v1alpha3/gateway.pb.html | 563 ++ networking/v1alpha3/gateway.proto | 14 +- .../istio.networking.v1alpha3.pb.html | 4665 ----------------- networking/v1alpha3/service_entry.pb.go | 221 +- networking/v1alpha3/service_entry.pb.html | 612 +++ networking/v1alpha3/service_entry.proto | 12 +- networking/v1alpha3/sidecar.pb.go | 115 +- networking/v1alpha3/sidecar.pb.html | 348 ++ networking/v1alpha3/sidecar.proto | 10 +- networking/v1alpha3/virtual_service.pb.go | 51 +- networking/v1alpha3/virtual_service.pb.html | 1759 +++++++ networking/v1alpha3/virtual_service.proto | 21 +- 21 files changed, 5179 insertions(+), 5115 deletions(-) create mode 100644 networking/v1alpha3/destination_rule.pb.html create mode 100644 networking/v1alpha3/envoy_filter.pb.html create mode 100644 networking/v1alpha3/gateway.pb.html delete mode 100644 networking/v1alpha3/istio.networking.v1alpha3.pb.html create mode 100644 networking/v1alpha3/service_entry.pb.html create mode 100644 networking/v1alpha3/sidecar.pb.html create mode 100644 networking/v1alpha3/virtual_service.pb.html diff --git a/Makefile b/Makefile index 8066ab8f06d..46ee9261cc3 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,7 @@ gogoslick_plugin := $(gogoslick_plugin_prefix)$(gogo_mapping):$(out_path) ######################## protoc_gen_docs_plugin := --docs_out=warnings=true,mode=html_fragment_with_front_matter:$(repo_dir)/ +protoc_gen_docs_plugin_for_networking := --docs_out=warnings=true,per_file=true,mode=html_fragment_with_front_matter:$(repo_dir)/ ##################### # Generation Rules @@ -239,14 +240,14 @@ routing_v1alpha3_path := networking/v1alpha3 routing_v1alpha3_protos := $(shell find networking/v1alpha3 -type f -name '*.proto' | sort) routing_v1alpha3_pb_gos := $(routing_v1alpha3_protos:.proto=.pb.go) routing_v1alpha3_pb_pythons := $(routing_v1alpha3_protos:.proto=_pb2.py) -routing_v1alpha3_pb_doc := $(routing_v1alpha3_path)/istio.routing.v1alpha3.pb.html +routing_v1alpha3_pb_docs := $(routing_v1alpha3_protos:.proto=.pb.html) -generate-routing-go: $(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc) +generate-routing-go: $(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_docs) -$(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc): $(routing_v1alpha3_protos) +$(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_docs): $(routing_v1alpha3_protos) ## Generate networking/v1alpha3/*.pb.go @$(docker_lock) status - @$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(routing_v1alpha3_path) $^ + @$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin_for_networking)$(routing_v1alpha3_path) $^ generate-routing-python: $(routing_v1alpha3_pb_pythons) @@ -257,7 +258,7 @@ $(routing_v1alpha3_pb_pythons): $(routing_v1alpha3_protos) clean-routing: rm -f $(routing_v1alpha3_pb_gos) - rm -f $(routing_v1alpha3_pb_doc) + rm -f $(routing_v1alpha3_pb_docs) ##################### # rbac/... diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index e4c5546a3fb..9eb2845c92f 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -75,7 +75,7 @@

ConfigSource

tlsSettingsistio.networking.v1alpha3.TLSSettingsistio.networking.v1alpha3.TLSSettings

Use the tlssettings to specify the tls mode to use. If the MCP server uses Istio MTLS and shares the root CA with Pilot, specify the TLS @@ -348,7 +348,7 @@

MeshConfig

tcpKeepaliveistio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepaliveistio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 9a0d61a14ea..b3daf123578 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -1,6 +1,77 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/destination_rule.proto +// `DestinationRule` defines policies that apply to traffic intended for a +// service after routing has occurred. These rules specify configuration +// for load balancing, connection pool size from the sidecar, and outlier +// detection settings to detect and evict unhealthy hosts from the load +// balancing pool. For example, a simple load balancing policy for the +// ratings service would look as follows: +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: +// loadBalancer: +// simple: LEAST_CONN +// ``` +// +// Version specific policies can be specified by defining a named +// `subset` and overriding the settings specified at the service level. The +// following rule uses a round robin load balancing policy for all traffic +// going to a subset named testversion that is composed of endpoints (e.g., +// pods) with labels (version:v3). +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: +// loadBalancer: +// simple: LEAST_CONN +// subsets: +// - name: testversion +// labels: +// version: v3 +// trafficPolicy: +// loadBalancer: +// simple: ROUND_ROBIN +// ``` +// +// **Note:** Policies specified for subsets will not take effect until +// a route rule explicitly sends traffic to this subset. +// +// Traffic policies can be customized to specific ports as well. The +// following rule uses the least connection load balancing policy for all +// traffic to port 80, while uses a round robin load balancing setting for +// traffic to the port 9080. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings-port +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: # Apply to all ports +// portLevelSettings: +// - port: +// number: 80 +// loadBalancer: +// simple: LEAST_CONN +// - port: +// number: 9080 +// loadBalancer: +// simple: ROUND_ROBIN +// ``` + package v1alpha3 import ( @@ -111,81 +182,11 @@ func (TLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) { return fileDescriptor_12899beb695152c8, []int{6, 0} } -// `DestinationRule` defines policies that apply to traffic intended for a -// service after routing has occurred. These rules specify configuration -// for load balancing, connection pool size from the sidecar, and outlier -// detection settings to detect and evict unhealthy hosts from the load -// balancing pool. For example, a simple load balancing policy for the -// ratings service would look as follows: -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: bookinfo-ratings -// spec: -// host: ratings.prod.svc.cluster.local -// trafficPolicy: -// loadBalancer: -// simple: LEAST_CONN -// ``` -// -// Version specific policies can be specified by defining a named -// `subset` and overriding the settings specified at the service level. The -// following rule uses a round robin load balancing policy for all traffic -// going to a subset named testversion that is composed of endpoints (e.g., -// pods) with labels (version:v3). -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: bookinfo-ratings -// spec: -// host: ratings.prod.svc.cluster.local -// trafficPolicy: -// loadBalancer: -// simple: LEAST_CONN -// subsets: -// - name: testversion -// labels: -// version: v3 -// trafficPolicy: -// loadBalancer: -// simple: ROUND_ROBIN -// ``` -// -// **Note:** Policies specified for subsets will not take effect until -// a route rule explicitly sends traffic to this subset. -// -// Traffic policies can be customized to specific ports as well. The -// following rule uses the least connection load balancing policy for all -// traffic to port 80, while uses a round robin load balancing setting for -// traffic to the port 9080. -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: DestinationRule -// metadata: -// name: bookinfo-ratings-port -// spec: -// host: ratings.prod.svc.cluster.local -// trafficPolicy: # Apply to all ports -// portLevelSettings: -// - port: -// number: 80 -// loadBalancer: -// simple: LEAST_CONN -// - port: -// number: 9080 -// loadBalancer: -// simple: ROUND_ROBIN -// ``` type DestinationRule struct { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntries](#ServiceEntry). Rules defined for + // declared by [ServiceEntries](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Rules defined for // services that do not exist in the service registry will be ignored. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" @@ -458,7 +459,7 @@ func (m *TrafficPolicy_PortTrafficPolicy) GetTls() *TLSSettings { // A subset of endpoints of a service. Subsets can be used for scenarios // like A/B testing, or routing to a specific version of a service. Refer -// to [VirtualService](#VirtualService) documentation for examples of using +// to [VirtualService](/docs/reference/config/networking/v1alpha3/virtual-service/#VirtualService) documentation for examples of using // subsets in these scenarios. In addition, traffic policies defined at the // service-level can be overridden at a subset-level. The following rule // uses a round robin load balancing policy for all traffic going to a diff --git a/networking/v1alpha3/destination_rule.pb.html b/networking/v1alpha3/destination_rule.pb.html new file mode 100644 index 00000000000..47bb4d3e92d --- /dev/null +++ b/networking/v1alpha3/destination_rule.pb.html @@ -0,0 +1,1021 @@ +--- +title: Destination Rule +description: Configuration affecting load balancing, outlier detection, etc. +location: https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 15 +--- +

DestinationRule defines policies that apply to traffic intended for a +service after routing has occurred. These rules specify configuration +for load balancing, connection pool size from the sidecar, and outlier +detection settings to detect and evict unhealthy hosts from the load +balancing pool. For example, a simple load balancing policy for the +ratings service would look as follows:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+
+ +

Version specific policies can be specified by defining a named +subset and overriding the settings specified at the service level. The +following rule uses a round robin load balancing policy for all traffic +going to a subset named testversion that is composed of endpoints (e.g., +pods) with labels (version:v3).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+  subsets:
+  - name: testversion
+    labels:
+      version: v3
+    trafficPolicy:
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

Note: Policies specified for subsets will not take effect until +a route rule explicitly sends traffic to this subset.

+ +

Traffic policies can be customized to specific ports as well. The +following rule uses the least connection load balancing policy for all +traffic to port 80, while uses a round robin load balancing setting for +traffic to the port 9080.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings-port
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy: # Apply to all ports
+    portLevelSettings:
+    - port:
+        number: 80
+      loadBalancer:
+        simple: LEAST_CONN
+    - port:
+        number: 9080
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

ConnectionPoolSettings

+
+

Connection pool settings for an upstream host. The settings apply to +each individual host in the upstream service. See Envoy’s circuit +breaker +for more details. Connection pool settings can be applied at the TCP +level as well as at HTTP level.

+ +

For example, the following rule sets a limit of 100 connections to redis +service called myredissrv with a connect timeout of 30ms

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-redis
+spec:
+  host: myredissrv.prod.svc.cluster.local
+  trafficPolicy:
+    connectionPool:
+      tcp:
+        maxConnections: 100
+        connectTimeout: 30ms
+        tcpKeepalive:
+          time: 7200s
+          interval: 75s
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
tcpConnectionPoolSettings.TCPSettings +

Settings common to both HTTP and TCP upstream connections.

+ +
httpConnectionPoolSettings.HTTPSettings +

HTTP connection pool settings.

+ +
+
+

ConnectionPoolSettings.HTTPSettings

+
+

Settings applicable to HTTP1.1/HTTP2/GRPC connections.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
http1MaxPendingRequestsint32 +

Maximum number of pending HTTP requests to a destination. Default 1024.

+ +
http2MaxRequestsint32 +

Maximum number of requests to a backend. Default 1024.

+ +
maxRequestsPerConnectionint32 +

Maximum number of requests per connection to a backend. Setting this +parameter to 1 disables keep alive.

+ +
maxRetriesint32 +

Maximum number of retries that can be outstanding to all hosts in a +cluster at a given time. Defaults to 3.

+ +
+
+

ConnectionPoolSettings.TCPSettings

+
+

Settings common to both HTTP and TCP upstream connections.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
maxConnectionsint32 +

Maximum number of HTTP1 /TCP connections to a destination host.

+ +
connectTimeoutgoogle.protobuf.Duration +

TCP connection timeout.

+ +
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive +

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

+ +
+
+

ConnectionPoolSettings.TCPSettings.TcpKeepalive

+
+

TCP keepalive.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
probesuint32 +

Maximum number of keepalive probes to send without response before +deciding the connection is dead. Default is to use the OS level configuration +(unless overridden, Linux defaults to 9.)

+ +
timegoogle.protobuf.Duration +

The time duration a connection needs to be idle before keep-alive +probes start being sent. Default is to use the OS level configuration +(unless overridden, Linux defaults to 7200s (ie 2 hours.)

+ +
intervalgoogle.protobuf.Duration +

The time duration between keep-alive probes. +Default is to use the OS level configuration +(unless overridden, Linux defaults to 75s.)

+ +
+
+

DestinationRule

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hoststring +

REQUIRED. The name of a service from the service registry. Service +names are looked up from the platform’s service registry (e.g., +Kubernetes services, Consul services, etc.) and from the hosts +declared by ServiceEntries. Rules defined for +services that do not exist in the service registry will be ignored.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +

Note that the host field applies to both HTTP and TCP services.

+ +
trafficPolicyTrafficPolicy +

Traffic policies to apply (load balancing policy, connection pool +sizes, outlier detection).

+ +
subsetsSubset[] +

One or more named sets that represent individual versions of a +service. Traffic policies can be overridden at subset level.

+ +
exportTostring[] +

The resolution of a DestinationRule to apply to a service occurs in the +context of a hierarchy of namespaces. This rule controls whether those +namespaces are allowed to select this rule.

+ +
+
+

LoadBalancerSettings

+
+

Load balancing policies to apply for a specific destination. See Envoy’s +load balancing +documentation +for more details.

+ +

For example, the following rule uses a round robin load balancing policy +for all traffic going to the ratings service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: ROUND_ROBIN
+
+ +

The following example sets up sticky sessions for the ratings service +hashing-based load balancer for the same ratings service using the +the User cookie as the hash key.

+ +
 apiVersion: networking.istio.io/v1alpha3
+ kind: DestinationRule
+ metadata:
+   name: bookinfo-ratings
+ spec:
+   host: ratings.prod.svc.cluster.local
+   trafficPolicy:
+     loadBalancer:
+       consistentHash:
+         httpCookie:
+           name: user
+           ttl: 0s
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
simpleLoadBalancerSettings.SimpleLB (oneof) +
consistentHashLoadBalancerSettings.ConsistentHashLB (oneof) +
+
+

LoadBalancerSettings.ConsistentHashLB

+
+

Consistent Hash-based load balancing can be used to provide soft +session affinity based on HTTP headers, cookies or other +properties. This load balancing policy is applicable only for HTTP +connections. The affinity to a particular destination host will be +lost when one or more hosts are added/removed from the destination +service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
httpHeaderNamestring (oneof) +

Hash based on a specific HTTP header.

+ +
useSourceIpbool (oneof) +

Hash based on the source IP address.

+ +
minimumRingSizeuint64 +

The minimum number of virtual nodes to use for the hash +ring. Defaults to 1024. Larger ring sizes result in more granular +load distributions. If the number of hosts in the load balancing +pool is larger than the ring size, each host will be assigned a +single virtual node.

+ +
+
+

LoadBalancerSettings.ConsistentHashLB.HTTPCookie

+
+

Describes a HTTP cookie that will be used as the hash key for the +Consistent Hash load balancer. If the cookie is not present, it will +be generated.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
namestring +

REQUIRED. Name of the cookie.

+ +
pathstring +

Path to set for the cookie.

+ +
ttlgoogle.protobuf.Duration +

REQUIRED. Lifetime of the cookie.

+ +
+
+

LoadBalancerSettings.SimpleLB

+
+

Standard load balancing algorithms that require no tuning.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
ROUND_ROBIN +

Round Robin policy. Default

+ +
LEAST_CONN +

The least request load balancer uses an O(1) algorithm which selects +two random healthy hosts and picks the host which has fewer active +requests.

+ +
RANDOM +

The random load balancer selects a random healthy host. The random +load balancer generally performs better than round robin if no health +checking policy is configured.

+ +
PASSTHROUGH +

This option will forward the connection to the original IP address +requested by the caller without doing any form of load +balancing. This option must be used with care. It is meant for +advanced use cases. Refer to Original Destination load balancer in +Envoy for further details.

+ +
+
+

OutlierDetection

+
+

A Circuit breaker implementation that tracks the status of each +individual host in the upstream service. Applicable to both HTTP and +TCP services. For HTTP services, hosts that continually return 5xx +errors for API calls are ejected from the pool for a pre-defined period +of time. For TCP services, connection timeouts or connection +failures to a given host counts as an error when measuring the +consecutive errors metric. See Envoy’s outlier +detection +for more details.

+ +

The following rule sets a connection pool size of 100 connections and +1000 concurrent HTTP2 requests, with no more than 10 req/connection to +“reviews” service. In addition, it configures upstream hosts to be +scanned every 5 mins, such that any host that fails 7 consecutive times +with 5XX error code will be ejected for 15 minutes.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-cb-policy
+spec:
+  host: reviews.prod.svc.cluster.local
+  trafficPolicy:
+    connectionPool:
+      tcp:
+        maxConnections: 100
+      http:
+        http2MaxRequests: 1000
+        maxRequestsPerConnection: 10
+    outlierDetection:
+      consecutiveErrors: 7
+      interval: 5m
+      baseEjectionTime: 15m
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
consecutiveErrorsint32 +

Number of errors before a host is ejected from the connection +pool. Defaults to 5. When the upstream host is accessed over HTTP, a +502, 503 or 504 return code qualifies as an error. When the upstream host +is accessed over an opaque TCP connection, connect timeouts and +connection error/failure events qualify as an error.

+ +
intervalgoogle.protobuf.Duration +

Time interval between ejection sweep analysis. format: +1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

+ +
baseEjectionTimegoogle.protobuf.Duration +

Minimum ejection duration. A host will remain ejected for a period +equal to the product of minimum ejection duration and the number of +times the host has been ejected. This technique allows the system to +automatically increase the ejection period for unhealthy upstream +servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

+ +
maxEjectionPercentint32 +

Maximum % of hosts in the load balancing pool for the upstream +service that can be ejected. Defaults to 10%.

+ +
minHealthPercentint32 +

Outlier detection will be enabled as long as the associated load balancing +pool has at least minhealthpercent hosts in healthy mode. When the +percentage of healthy hosts in the load balancing pool drops below this +threshold, outlier detection will be disabled and the proxy will load balance +across all hosts in the pool (healthy and unhealthy). The default is 50%.

+ +
+
+

Subset

+
+

A subset of endpoints of a service. Subsets can be used for scenarios +like A/B testing, or routing to a specific version of a service. Refer +to VirtualService documentation for examples of using +subsets in these scenarios. In addition, traffic policies defined at the +service-level can be overridden at a subset-level. The following rule +uses a round robin load balancing policy for all traffic going to a +subset named testversion that is composed of endpoints (e.g., pods) with +labels (version:v3).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: bookinfo-ratings
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    loadBalancer:
+      simple: LEAST_CONN
+  subsets:
+  - name: testversion
+    labels:
+      version: v3
+    trafficPolicy:
+      loadBalancer:
+        simple: ROUND_ROBIN
+
+ +

Note: Policies specified for subsets will not take effect until +a route rule explicitly sends traffic to this subset.

+ +

One or more labels are typically required to identify the subset destination, +however, when the corresponding DestinationRule represents a host that +supports multiple SNI hosts (e.g., an egress gateway), a subset without labels +may be meaningful. In this case a traffic policy with TLSSettings +can be used to identify a specific SNI host corresponding to the named subset.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
namestring +

REQUIRED. Name of the subset. The service name and the subset name can +be used for traffic splitting in a route rule.

+ +
labelsmap<string, string> +

Labels apply a filter over the endpoints of a service in the +service registry. See route rules for examples of usage.

+ +
trafficPolicyTrafficPolicy +

Traffic policies that apply to this subset. Subsets inherit the +traffic policies specified at the DestinationRule level. Settings +specified at the subset level will override the corresponding settings +specified at the DestinationRule level.

+ +
+
+

TLSSettings

+
+

SSL/TLS related settings for upstream connections. See Envoy’s TLS +context +for more details. These settings are common to both HTTP and TCP upstreams.

+ +

For example, the following rule configures a client to use mutual TLS +for connections to upstream database cluster.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: db-mtls
+spec:
+  host: mydbserver.prod.svc.cluster.local
+  trafficPolicy:
+    tls:
+      mode: MUTUAL
+      clientCertificate: /etc/certs/myclientcert.pem
+      privateKey: /etc/certs/client_private_key.pem
+      caCertificates: /etc/certs/rootcacerts.pem
+
+ +

The following rule configures a client to use TLS when talking to a +foreign service whose domain matches *.foo.com.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: tls-foo
+spec:
+  host: "*.foo.com"
+  trafficPolicy:
+    tls:
+      mode: SIMPLE
+
+ +

The following rule configures a client to use Istio mutual TLS when talking +to rating services.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: ratings-istio-mtls
+spec:
+  host: ratings.prod.svc.cluster.local
+  trafficPolicy:
+    tls:
+      mode: ISTIO_MUTUAL
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
modeTLSSettings.TLSmode +

REQUIRED: Indicates whether connections to this port should be secured +using TLS. The value of this field determines how TLS is enforced.

+ +
clientCertificatestring +

REQUIRED if mode is MUTUAL. The path to the file holding the +client-side TLS certificate to use. +Should be empty if mode is ISTIO_MUTUAL.

+ +
privateKeystring +

REQUIRED if mode is MUTUAL. The path to the file holding the +client’s private key. +Should be empty if mode is ISTIO_MUTUAL.

+ +
caCertificatesstring +

OPTIONAL: The path to the file containing certificate authority +certificates to use in verifying a presented server certificate. If +omitted, the proxy will not verify the server’s certificate. +Should be empty if mode is ISTIO_MUTUAL.

+ +
subjectAltNamesstring[] +

A list of alternate names to verify the subject identity in the +certificate. If specified, the proxy will verify that the server +certificate’s subject alt name matches one of the specified values. +If specified, this list overrides the value of subjectaltnames +from the ServiceEntry.

+ +
snistring +

SNI string to present to the server during TLS handshake.

+ +
+
+

TLSSettings.TLSmode

+
+

TLS connection mode

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
DISABLE +

Do not setup a TLS connection to the upstream endpoint.

+ +
SIMPLE +

Originate a TLS connection to the upstream endpoint.

+ +
MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication.

+ +
ISTIO_MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication. +Compared to Mutual mode, this mode uses certificates generated +automatically by Istio for mTLS authentication. When this mode is +used, all other fields in TLSSettings should be empty.

+ +
+
+

TrafficPolicy

+
+

Traffic policies to apply for a specific destination, across all +destination ports. See DestinationRule for examples.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
loadBalancerLoadBalancerSettings +

Settings controlling the load balancer algorithms.

+ +
connectionPoolConnectionPoolSettings +

Settings controlling the volume of connections to an upstream service

+ +
outlierDetectionOutlierDetection +

Settings controlling eviction of unhealthy hosts from the load balancing pool

+ +
tlsTLSSettings +

TLS related settings for connections to the upstream service.

+ +
portLevelSettingsTrafficPolicy.PortTrafficPolicy[] +

Traffic policies specific to individual ports. Note that port level +settings will override the destination-level settings. Traffic +settings specified at the destination-level will not be inherited when +overridden by port-level settings, i.e. default values will be applied +to fields omitted in port-level traffic policies.

+ +
+
+

TrafficPolicy.PortTrafficPolicy

+
+

Traffic policies that apply to specific ports of the service

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPortSelector +

Specifies the port name or number of a port on the destination service +on which this policy is being applied.

+ +

Names must comply with DNS label syntax (rfc1035) and therefore cannot +collide with numbers. If there are multiple ports on a service with +the same protocol the names should be of the form -.

+ +
loadBalancerLoadBalancerSettings +

Settings controlling the load balancer algorithms.

+ +
connectionPoolConnectionPoolSettings +

Settings controlling the volume of connections to an upstream service

+ +
outlierDetectionOutlierDetection +

Settings controlling eviction of unhealthy hosts from the load balancing pool

+ +
tlsTLSSettings +

TLS related settings for connections to the upstream service.

+ +
+
diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 1c340f8bbf6..5759ff50958 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -17,9 +17,9 @@ import "google/protobuf/duration.proto"; import "networking/v1alpha3/virtual_service.proto"; import "gogoproto/gogo.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Destination Rule +// $description: Configuration affecting load balancing, outlier detection, etc. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule.html // `DestinationRule` defines policies that apply to traffic intended for a // service after routing has occurred. These rules specify configuration @@ -91,11 +91,15 @@ option go_package = "istio.io/api/networking/v1alpha3"; // loadBalancer: // simple: ROUND_ROBIN // ``` +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + message DestinationRule { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntries](#ServiceEntry). Rules defined for + // declared by [ServiceEntries](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Rules defined for // services that do not exist in the service registry will be ignored. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" @@ -173,7 +177,7 @@ message TrafficPolicy { // A subset of endpoints of a service. Subsets can be used for scenarios // like A/B testing, or routing to a specific version of a service. Refer -// to [VirtualService](#VirtualService) documentation for examples of using +// to [VirtualService](/docs/reference/config/networking/v1alpha3/virtual-service/#VirtualService) documentation for examples of using // subsets in these scenarios. In addition, traffic policies defined at the // service-level can be overridden at a subset-level. The following rule // uses a round robin load balancing policy for all traffic going to a diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index 3d3c9450534..bbe92a378f3 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -1,6 +1,44 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/envoy_filter.proto +// `EnvoyFilter` describes Envoy proxy-specific filters that can be used to +// customize the Envoy proxy configuration generated by Istio networking +// subsystem (Pilot). This feature must be used with care, as incorrect +// configurations could potentially destabilize the entire mesh. +// +// NOTE 1: Since this is break glass configuration, there will not be any +// backward compatibility across different Istio releases. In other words, +// this configuration is subject to change based on internal implementation +// of Istio networking subsystem. +// +// NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter +// configurations will be processed sequentially in order of creation time. +// The behavior is undefined if multiple EnvoyFilter configurations conflict +// with each other. +// +// 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 +// labels "app: reviews". +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: EnvoyFilter +// metadata: +// name: reviews-lua +// spec: +// workloadLabels: +// app: reviews +// filters: +// - listenerMatch: +// portNumber: 8080 +// listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080 +// filterName: envoy.lua +// filterType: HTTP +// filterConfig: +// inlineCode: | +// ... lua code ... +// ``` + package v1alpha3 import ( @@ -155,43 +193,6 @@ func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_16d9b2922bd3e4a9, []int{0, 3, 0} } -// `EnvoyFilter` describes Envoy proxy-specific filters that can be used to -// customize the Envoy proxy configuration generated by Istio networking -// subsystem (Pilot). This feature must be used with care, as incorrect -// configurations could potentially destabilize the entire mesh. -// -// NOTE 1: Since this is break glass configuration, there will not be any -// backward compatibility across different Istio releases. In other words, -// this configuration is subject to change based on internal implementation -// of Istio networking subsystem. -// -// NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter -// configurations will be processed sequentially in order of creation time. -// The behavior is undefined if multiple EnvoyFilter configurations conflict -// with each other. -// -// 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 -// labels "app: reviews". -// -// ```yaml -// apiVersion: networking.istio.io/v1alpha3 -// kind: EnvoyFilter -// metadata: -// name: reviews-lua -// spec: -// workloadLabels: -// app: reviews -// filters: -// - listenerMatch: -// portNumber: 8080 -// listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080 -// filterName: envoy.lua -// filterType: HTTP -// filterConfig: -// inlineCode: | -// ... lua code ... -// ``` type EnvoyFilter struct { // One or more labels that indicate a specific set of pods/VMs whose // proxies should be configured to use these additional filters. The diff --git a/networking/v1alpha3/envoy_filter.pb.html b/networking/v1alpha3/envoy_filter.pb.html new file mode 100644 index 00000000000..d9a36cb8523 --- /dev/null +++ b/networking/v1alpha3/envoy_filter.pb.html @@ -0,0 +1,400 @@ +--- +title: Envoy Filter +description: Configuration affecting insertion of custom envoy filters. +location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 8 +--- +

EnvoyFilter describes Envoy proxy-specific filters that can be used to +customize the Envoy proxy configuration generated by Istio networking +subsystem (Pilot). This feature must be used with care, as incorrect +configurations could potentially destabilize the entire mesh.

+ +

NOTE 1: Since this is break glass configuration, there will not be any +backward compatibility across different Istio releases. In other words, +this configuration is subject to change based on internal implementation +of Istio networking subsystem.

+ +

NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter +configurations will be processed sequentially in order of creation time. +The behavior is undefined if multiple EnvoyFilter configurations conflict +with each other.

+ +

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 +labels “app: reviews”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: EnvoyFilter
+metadata:
+  name: reviews-lua
+spec:
+  workloadLabels:
+    app: reviews
+  filters:
+  - listenerMatch:
+      portNumber: 8080
+      listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080
+    filterName: envoy.lua
+    filterType: HTTP
+    filterConfig:
+      inlineCode: |
+        ... lua code ...
+
+ +

EnvoyFilter

+
+ + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
workloadLabelsmap<string, string> +

One 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.

+ +
filtersEnvoyFilter.Filter[] +

REQUIRED: Envoy network filters/http filters to be added to matching +listeners. When adding network filters to http connections, care +should be taken to ensure that the filter is added before +envoy.httpconnectionmanager.

+ +
+
+

EnvoyFilter.Filter

+
+

Envoy filters to be added to a network or http filter chain.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
listenerMatchEnvoyFilter.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.

+ +
insertPositionEnvoyFilter.InsertPosition +

Insert position in the filter chain. Defaults to FIRST

+ +
filterTypeEnvoyFilter.Filter.FilterType +

REQUIRED: The type of filter to instantiate.

+ +
filterNamestring +

REQUIRED: The name of the filter to instantiate. The name must match a supported +filter compiled into Envoy.

+ +
filterConfiggoogle.protobuf.Struct +

REQUIRED: Filter specific configuration which depends on the filter being +instantiated.

+ +
+
+

EnvoyFilter.Filter.FilterType

+
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
INVALID +

placeholder

+ +
HTTP +

Http filter

+ +
NETWORK +

Network filter

+ +
+
+

EnvoyFilter.InsertPosition

+
+

Indicates the relative index in the filter chain where the filter should be inserted.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
indexEnvoyFilter.InsertPosition.Index +

Position of this filter in the filter chain.

+ +
relativeTostring +

If BEFORE or AFTER position is specified, specify the name of the +filter relative to which this filter should be inserted.

+ +
+
+

EnvoyFilter.InsertPosition.Index

+
+

Index/position in the filter chain.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
FIRST +

Insert first

+ +
LAST +

Insert last

+ +
BEFORE +

Insert before the named filter.

+ +
AFTER +

Insert after the named filter.

+ +
+
+

EnvoyFilter.ListenerMatch

+
+

Select a listener to add the filter to based on the match conditions. +All conditions specified in the ListenerMatch must be met for the filter +to be applied to a listener.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portNumberuint32 +

The service port/gateway port to which traffic is being +sent/received. If not specified, matches all listeners. Even though +inbound listeners are generated for the instance/pod ports, only +service ports should be used to match listeners.

+ +
portNamePrefixstring +

Instead of using specific port numbers, a set of ports matching a +given port name prefix can be selected. E.g., “mongo” selects ports +named mongo-port, mongo, mongoDB, MONGO, etc. Matching is case +insensitive.

+ +
listenerTypeEnvoyFilter.ListenerMatch.ListenerType +

Inbound vs outbound sidecar listener or gateway listener. If not specified, +matches all listeners.

+ +
listenerProtocolEnvoyFilter.ListenerMatch.ListenerProtocol +

Selects a class of listeners for the same protocol. If not +specified, applies to listeners on all protocols. 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).

+ +
addressstring[] +

One or more IP addresses to which the listener is bound. If +specified, should match at least one address in the list.

+ +
+
+

EnvoyFilter.ListenerMatch.ListenerProtocol

+
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
ALL +

All protocols

+ +
HTTP +

HTTP or HTTPS (with termination) / HTTP2/gRPC

+ +
TCP +

Any non-HTTP listener

+ +
+
+

EnvoyFilter.ListenerMatch.ListenerType

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
ANY +

All listeners

+ +
SIDECAR_INBOUND +

Inbound listener in sidecar

+ +
SIDECAR_OUTBOUND +

Outbound listener in sidecar

+ +
GATEWAY +

Gateway listener

+ +
+
diff --git a/networking/v1alpha3/envoy_filter.proto b/networking/v1alpha3/envoy_filter.proto index c944675e558..4b9d040c11e 100644 --- a/networking/v1alpha3/envoy_filter.proto +++ b/networking/v1alpha3/envoy_filter.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "google/protobuf/struct.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Envoy Filter +// $description: Configuration affecting insertion of custom envoy filters. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html // `EnvoyFilter` describes Envoy proxy-specific filters that can be used to // customize the Envoy proxy configuration generated by Istio networking @@ -50,13 +50,17 @@ option go_package = "istio.io/api/networking/v1alpha3"; // filters: // - listenerMatch: // portNumber: 8080 -// listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080 +// listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080 // filterName: envoy.lua // filterType: HTTP // filterConfig: // inlineCode: | // ... lua code ... // ``` +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 // proxies should be configured to use these additional filters. The diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 62fc8b17826..77785897fac 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -1,114 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/gateway.proto -package v1alpha3 - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - -// TLS modes enforced by the proxy -type Server_TLSOptions_TLSmode int32 - -const ( - // The SNI string presented by the client will be used as the match - // criterion in a VirtualService TLS route to determine the - // destination service from the service registry. - Server_TLSOptions_PASSTHROUGH Server_TLSOptions_TLSmode = 0 - // Secure connections with standard TLS semantics. - Server_TLSOptions_SIMPLE Server_TLSOptions_TLSmode = 1 - // Secure connections to the upstream using mutual TLS by presenting - // client certificates for authentication. - Server_TLSOptions_MUTUAL Server_TLSOptions_TLSmode = 2 - // Similar to the passthrough mode, except servers with this TLS mode - // do not require an associated VirtualService to map from the SNI - // value to service in the registry. The destination details such as - // the service/subset/port are encoded in the SNI value. The proxy - // will forward to the upstream (Envoy) cluster (a group of - // endpoints) specified by the SNI value. This server is typically - // used to provide connectivity between services in disparate L3 - // networks that otherwise do not have direct connectivity between - // their respective endpoints. Use of this mode assumes that both the - // source and the destination are using Istio mTLS to secure traffic. - Server_TLSOptions_AUTO_PASSTHROUGH Server_TLSOptions_TLSmode = 3 -) - -var Server_TLSOptions_TLSmode_name = map[int32]string{ - 0: "PASSTHROUGH", - 1: "SIMPLE", - 2: "MUTUAL", - 3: "AUTO_PASSTHROUGH", -} - -var Server_TLSOptions_TLSmode_value = map[string]int32{ - "PASSTHROUGH": 0, - "SIMPLE": 1, - "MUTUAL": 2, - "AUTO_PASSTHROUGH": 3, -} - -func (x Server_TLSOptions_TLSmode) String() string { - return proto.EnumName(Server_TLSOptions_TLSmode_name, int32(x)) -} - -func (Server_TLSOptions_TLSmode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 0} -} - -// TLS protocol versions. -type Server_TLSOptions_TLSProtocol int32 - -const ( - // Automatically choose the optimal TLS version. - Server_TLSOptions_TLS_AUTO Server_TLSOptions_TLSProtocol = 0 - // TLS version 1.0 - Server_TLSOptions_TLSV1_0 Server_TLSOptions_TLSProtocol = 1 - // TLS version 1.1 - Server_TLSOptions_TLSV1_1 Server_TLSOptions_TLSProtocol = 2 - // TLS version 1.2 - Server_TLSOptions_TLSV1_2 Server_TLSOptions_TLSProtocol = 3 - // TLS version 1.3 - Server_TLSOptions_TLSV1_3 Server_TLSOptions_TLSProtocol = 4 -) - -var Server_TLSOptions_TLSProtocol_name = map[int32]string{ - 0: "TLS_AUTO", - 1: "TLSV1_0", - 2: "TLSV1_1", - 3: "TLSV1_2", - 4: "TLSV1_3", -} - -var Server_TLSOptions_TLSProtocol_value = map[string]int32{ - "TLS_AUTO": 0, - "TLSV1_0": 1, - "TLSV1_1": 2, - "TLSV1_2": 3, - "TLSV1_3": 4, -} - -func (x Server_TLSOptions_TLSProtocol) String() string { - return proto.EnumName(Server_TLSOptions_TLSProtocol_name, int32(x)) -} - -func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 1} -} - // `Gateway` describes a load balancer operating at the edge of the mesh // receiving incoming or outgoing HTTP/TCP connections. The specification // describes a set of ports that should be exposed, the type of protocol to @@ -149,7 +41,7 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // - uk.bookinfo.com // - eu.bookinfo.com // tls: -// mode: SIMPLE #enables HTTPS on this port +// mode: SIMPLE # enables HTTPS on this port // serverCertificate: /etc/certs/servercert.pem // privateKey: /etc/certs/privatekey.pem // - port: @@ -231,7 +123,7 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // namespace: bookinfo-namespace // spec: // hosts: -// - mongosvr.prod.svc.cluster.local #name of internal Mongo service +// - mongosvr.prod.svc.cluster.local # name of internal Mongo service // gateways: // - some-config-namespace/my-gateway # can omit the namespace if gateway is in same // namespace as virtual service. @@ -244,6 +136,115 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // port: // number: 5555 // ``` + +package v1alpha3 + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +// TLS modes enforced by the proxy +type Server_TLSOptions_TLSmode int32 + +const ( + // The SNI string presented by the client will be used as the match + // criterion in a VirtualService TLS route to determine the + // destination service from the service registry. + Server_TLSOptions_PASSTHROUGH Server_TLSOptions_TLSmode = 0 + // Secure connections with standard TLS semantics. + Server_TLSOptions_SIMPLE Server_TLSOptions_TLSmode = 1 + // Secure connections to the upstream using mutual TLS by presenting + // client certificates for authentication. + Server_TLSOptions_MUTUAL Server_TLSOptions_TLSmode = 2 + // Similar to the passthrough mode, except servers with this TLS mode + // do not require an associated VirtualService to map from the SNI + // value to service in the registry. The destination details such as + // the service/subset/port are encoded in the SNI value. The proxy + // will forward to the upstream (Envoy) cluster (a group of + // endpoints) specified by the SNI value. This server is typically + // used to provide connectivity between services in disparate L3 + // networks that otherwise do not have direct connectivity between + // their respective endpoints. Use of this mode assumes that both the + // source and the destination are using Istio mTLS to secure traffic. + Server_TLSOptions_AUTO_PASSTHROUGH Server_TLSOptions_TLSmode = 3 +) + +var Server_TLSOptions_TLSmode_name = map[int32]string{ + 0: "PASSTHROUGH", + 1: "SIMPLE", + 2: "MUTUAL", + 3: "AUTO_PASSTHROUGH", +} + +var Server_TLSOptions_TLSmode_value = map[string]int32{ + "PASSTHROUGH": 0, + "SIMPLE": 1, + "MUTUAL": 2, + "AUTO_PASSTHROUGH": 3, +} + +func (x Server_TLSOptions_TLSmode) String() string { + return proto.EnumName(Server_TLSOptions_TLSmode_name, int32(x)) +} + +func (Server_TLSOptions_TLSmode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 0} +} + +// TLS protocol versions. +type Server_TLSOptions_TLSProtocol int32 + +const ( + // Automatically choose the optimal TLS version. + Server_TLSOptions_TLS_AUTO Server_TLSOptions_TLSProtocol = 0 + // TLS version 1.0 + Server_TLSOptions_TLSV1_0 Server_TLSOptions_TLSProtocol = 1 + // TLS version 1.1 + Server_TLSOptions_TLSV1_1 Server_TLSOptions_TLSProtocol = 2 + // TLS version 1.2 + Server_TLSOptions_TLSV1_2 Server_TLSOptions_TLSProtocol = 3 + // TLS version 1.3 + Server_TLSOptions_TLSV1_3 Server_TLSOptions_TLSProtocol = 4 +) + +var Server_TLSOptions_TLSProtocol_name = map[int32]string{ + 0: "TLS_AUTO", + 1: "TLSV1_0", + 2: "TLSV1_1", + 3: "TLSV1_2", + 4: "TLSV1_3", +} + +var Server_TLSOptions_TLSProtocol_value = map[string]int32{ + "TLS_AUTO": 0, + "TLSV1_0": 1, + "TLSV1_1": 2, + "TLSV1_2": 3, + "TLSV1_3": 4, +} + +func (x Server_TLSOptions_TLSProtocol) String() string { + return proto.EnumName(Server_TLSOptions_TLSProtocol_name, int32(x)) +} + +func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_067d98d02f84cc0b, []int{1, 0, 1} +} + type Gateway struct { // REQUIRED: A list of server specifications. Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html new file mode 100644 index 00000000000..b5cc69a3885 --- /dev/null +++ b/networking/v1alpha3/gateway.pb.html @@ -0,0 +1,563 @@ +--- +title: Gateway +description: Configuration affecting edge load balancer. +location: https://istio.io/docs/reference/config/networking/v1alpha3/gateway.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 6 +--- +

Gateway describes a load balancer operating at the edge of the mesh +receiving incoming or outgoing HTTP/TCP connections. The specification +describes a set of ports that should be exposed, the type of protocol to +use, SNI configuration for the load balancer, etc.

+ +

For example, the following Gateway configuration sets up a proxy to act +as a load balancer exposing port 80 and 9080 (http), 443 (https), and +port 2379 (TCP) for ingress. The gateway will be applied to the proxy +running on a pod with labels app: my-gateway-controller. While Istio +will configure the proxy to listen on these ports, it is the +responsibility of the user to ensure that external traffic to these +ports are allowed into the mesh.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-gateway
+  namespace: some-config-namespace
+spec:
+  selector:
+    app: my-gateway-controller
+  servers:
+  - port:
+      number: 80
+      name: http
+      protocol: HTTP
+    hosts:
+    - uk.bookinfo.com
+    - eu.bookinfo.com
+    tls:
+      httpsRedirect: true # sends 301 redirect for http requests
+  - port:
+      number: 443
+      name: https
+      protocol: HTTPS
+    hosts:
+    - uk.bookinfo.com
+    - eu.bookinfo.com
+    tls:
+      mode: SIMPLE # enables HTTPS on this port
+      serverCertificate: /etc/certs/servercert.pem
+      privateKey: /etc/certs/privatekey.pem
+  - port:
+      number: 9080
+      name: http-wildcard
+      protocol: HTTP
+    hosts:
+    - "*"
+  - port:
+      number: 2379 # to expose internal service via external port 2379
+      name: mongo
+      protocol: MONGO
+    hosts:
+    - "*"
+
+ +

The Gateway specification above describes the L4-L6 properties of a load +balancer. A VirtualService can then be bound to a gateway to control +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 +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).

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-rule
+  namespace: bookinfo-namespace
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  - uk.bookinfo.com
+  - eu.bookinfo.com
+  gateways:
+  - some-config-namespace/my-gateway
+  - mesh # applies to all the sidecars in the mesh
+  http:
+  - match:
+    - headers:
+        cookie:
+          user: dev-123
+    route:
+    - destination:
+        port:
+          number: 7777
+        host: reviews.qa.svc.cluster.local
+  - match:
+      uri:
+        prefix: /reviews/
+    route:
+    - destination:
+        port:
+          number: 9080 # can be omitted if its the only port for reviews
+        host: reviews.prod.svc.cluster.local
+      weight: 80
+    - destination:
+        host: reviews.qa.svc.cluster.local
+      weight: 20
+
+ +

The following VirtualService forwards traffic arriving at (external) +port 27017 to internal Mongo server on port 5555. This rule is not +applicable internally in the mesh as the gateway list omits the +reserved name mesh.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-Mongo
+  namespace: bookinfo-namespace
+spec:
+  hosts:
+  - mongosvr.prod.svc.cluster.local # name of internal Mongo service
+  gateways:
+  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
+                                       namespace as virtual service.
+  tcp:
+  - match:
+    - port: 27017
+    route:
+    - destination:
+        host: mongo.prod.svc.cluster.local
+        port:
+          number: 5555
+
+ +

Gateway

+
+ + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
serversServer[] +

REQUIRED: A list of server specifications.

+ +
selectormap<string, string> +

REQUIRED: One or more labels that indicate a specific set of pods/VMs +on which this gateway configuration should be applied. The scope of +label search is restricted to the configuration namespace in which the +the resource is present. In other words, the Gateway resource must +reside in the same namespace as the gateway workload.

+ +
+
+

Port

+
+

Port describes the properties of a specific port of a service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
numberuint32 +

REQUIRED: A valid non-negative integer port number.

+ +
protocolstring +

REQUIRED: The protocol exposed on the port. +MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. +TLS implies the connection will be routed based on the SNI header to +the destination without terminating the TLS connection.

+ +
namestring +

Label assigned to the port.

+ +
+
+

Server

+
+

Server describes the properties of the proxy on a given load balancer +port. For example,

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-ingress
+spec:
+  selector:
+    app: my-ingress-gateway
+  servers:
+  - port:
+      number: 80
+      name: http2
+      protocol: HTTP2
+    hosts:
+    - "*"
+
+ +

Another example

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-tcp-ingress
+spec:
+  selector:
+    app: my-tcp-ingress-gateway
+  servers:
+  - port:
+      number: 27018
+      name: mongo
+      protocol: MONGO
+    hosts:
+    - "*"
+
+ +

The following is an example of TLS configuration for port 443

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-tls-ingress
+spec:
+  selector:
+    app: my-tls-ingress-gateway
+  servers:
+  - port:
+      number: 443
+      name: https
+      protocol: HTTPS
+    hosts:
+    - "*"
+    tls:
+      mode: SIMPLE
+      serverCertificate: /etc/certs/server.pem
+      privateKey: /etc/certs/privatekey.pem
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

REQUIRED: The Port on which the proxy should listen for incoming +connections. If using unix domain socket, use 0 as the port number, +with a valid protocol and port name, along with the bind parameter.

+ +
hostsstring[] +

REQUIRED. A list of hosts exposed by this gateway. At least one +host is required. While typically applicable to +HTTP services, it can also be used for TCP services using TLS with +SNI. May contain a wildcard prefix for the bottom-level component of +a domain name. For example *.foo.com matches bar.foo.com +and *.com matches bar.foo.com, example.com, and so on.

+ +

Note: A VirtualService that is bound to a gateway must have one +or more hosts that match the hosts specified in a server. The match +could be an exact match or a suffix match with the server’s hosts. For +example, if the server’s hosts specifies “*.example.com”, +VirtualServices with hosts dev.example.com, prod.example.com will +match. However, VirtualServices with hosts example.com or +newexample.com will not match.

+ +
tlsServer.TLSOptions +

Set of TLS related options that govern the server’s behavior. Use +these options to control if all http requests should be redirected to +https, and the TLS modes to use.

+ +
defaultEndpointstring +

The loopback IP endpoint or unix domain socket to which traffic should +be forwarded to by default. Format should be 127.0.0.1:PORT or +unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

+ +
+
+

Server.TLSOptions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
httpsRedirectbool +

If set to true, the load balancer will send a 301 redirect for all +http connections, asking the clients to use HTTPS.

+ +
modeServer.TLSOptions.TLSmode +

Optional: Indicates whether connections to this port should be +secured using TLS. The value of this field determines how TLS is +enforced.

+ +
serverCertificatestring +

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file +holding the server-side TLS certificate to use.

+ +
privateKeystring +

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file +holding the server’s private key.

+ +
caCertificatesstring +

REQUIRED if mode is MUTUAL. The path to a file containing +certificate authority certificates to use in verifying a presented +client side certificate.

+ +
credentialNamestring +

The credentialName stands for a unique identifier that can be used +to identify the serverCertificate and the privateKey. The 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 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 +credentialName-cacert. The semantics of the name are platform dependent. +In Kubernetes, the default Istio supplied credential server expects the +credentialName to match the name of the Kubernetes secret that holds the +server certificate, the private key, and the CA certificate +(if using mutual TLS).

+ +
subjectAltNamesstring[] +

A list of alternate names to verify the subject identity in the +certificate presented by the client.

+ +
minProtocolVersionServer.TLSOptions.TLSProtocol +

Optional: Minimum TLS protocol version.

+ +
maxProtocolVersionServer.TLSOptions.TLSProtocol +

Optional: Maximum TLS protocol version.

+ +
cipherSuitesstring[] +

Optional: If specified, only support the specified cipher list. +Otherwise default to the default cipher list supported by Envoy.

+ +
+
+

Server.TLSOptions.TLSProtocol

+
+

TLS protocol versions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
TLS_AUTO +

Automatically choose the optimal TLS version.

+ +
TLSV1_0 +

TLS version 1.0

+ +
TLSV1_1 +

TLS version 1.1

+ +
TLSV1_2 +

TLS version 1.2

+ +
TLSV1_3 +

TLS version 1.3

+ +
+
+

Server.TLSOptions.TLSmode

+
+

TLS modes enforced by the proxy

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
PASSTHROUGH +

The SNI string presented by the client will be used as the match +criterion in a VirtualService TLS route to determine the +destination service from the service registry.

+ +
SIMPLE +

Secure connections with standard TLS semantics.

+ +
MUTUAL +

Secure connections to the upstream using mutual TLS by presenting +client certificates for authentication.

+ +
AUTO_PASSTHROUGH +

Similar to the passthrough mode, except servers with this TLS mode +do not require an associated VirtualService to map from the SNI +value to service in the registry. The destination details such as +the service/subset/port are encoded in the SNI value. The proxy +will forward to the upstream (Envoy) cluster (a group of +endpoints) specified by the SNI value. This server is typically +used to provide connectivity between services in disparate L3 +networks that otherwise do not have direct connectivity between +their respective endpoints. Use of this mode assumes that both the +source and the destination are using Istio mTLS to secure traffic.

+ +
+
diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index bc567376bdf..4a5877cb952 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -14,9 +14,9 @@ syntax = "proto3"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Gateway +// $description: Configuration affecting edge load balancer. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/gateway.html // `Gateway` describes a load balancer operating at the edge of the mesh // receiving incoming or outgoing HTTP/TCP connections. The specification @@ -58,7 +58,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // - uk.bookinfo.com // - eu.bookinfo.com // tls: -// mode: SIMPLE #enables HTTPS on this port +// mode: SIMPLE # enables HTTPS on this port // serverCertificate: /etc/certs/servercert.pem // privateKey: /etc/certs/privatekey.pem // - port: @@ -140,7 +140,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // namespace: bookinfo-namespace // spec: // hosts: -// - mongosvr.prod.svc.cluster.local #name of internal Mongo service +// - mongosvr.prod.svc.cluster.local # name of internal Mongo service // gateways: // - some-config-namespace/my-gateway # can omit the namespace if gateway is in same // namespace as virtual service. @@ -153,6 +153,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // port: // number: 5555 // ``` +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + message Gateway { // REQUIRED: A list of server specifications. repeated Server servers = 1; diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html deleted file mode 100644 index 665bf24c100..00000000000 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ /dev/null @@ -1,4665 +0,0 @@ ---- -title: Traffic Routing -description: Configuration affecting traffic routing. -location: https://istio.io/docs/reference/config/istio.networking.v1alpha3.html -layout: protoc-gen-docs -generator: protoc-gen-docs -aliases: - - /docs/reference/config/istio.routing.v1alpha1/ -number_of_entries: 60 ---- -

Configuration affecting traffic routing. Here are a few terms useful to define -in the context of traffic routing.

- -

Service a unit of application behavior bound to a unique name in a -service registry. Services consist of multiple network endpoints -implemented by workload instances running on pods, containers, VMs etc.

- -

Service versions (a.k.a. subsets) - In a continuous deployment -scenario, for a given service, there can be distinct subsets of -instances running different variants of the application binary. These -variants are not necessarily different API versions. They could be -iterative changes to the same service, deployed in different -environments (prod, staging, dev, etc.). Common scenarios where this -occurs include A/B testing, canary rollouts, etc. The choice of a -particular version can be decided based on various criterion (headers, -url, etc.) and/or by weights assigned to each version. Each service has -a default version consisting of all its instances.

- -

Source - A downstream client calling a service.

- -

Host - The address used by a client when attempting to connect to a -service.

- -

Access model - Applications address only the destination service -(Host) without knowledge of individual service versions (subsets). The -actual choice of the version is determined by the proxy/sidecar, enabling the -application code to decouple itself from the evolution of dependent -services.

- -

CaptureMode

-
-

CaptureMode describes how traffic to a listener is expected to be -captured. Applicable only when the listener is bound to an IP.

- - - - - - - - - - - - - - - - - - - - - - -
NameDescription
DEFAULT -

The default capture mode defined by the environment

- -
IPTABLES -

Capture traffic using IPtables redirection

- -
NONE -

No traffic capture. When used in egress listener, the application is -expected to explicitly communicate with the listener port/unix -domain socket. When used in ingress listener, care needs to be taken -to ensure that the listener port is not in use by other processes on -the host.

- -
-
-

ConnectionPoolSettings

-
-

Connection pool settings for an upstream host. The settings apply to -each individual host in the upstream service. See Envoy’s circuit -breaker -for more details. Connection pool settings can be applied at the TCP -level as well as at HTTP level.

- -

For example, the following rule sets a limit of 100 connections to redis -service called myredissrv with a connect timeout of 30ms

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-redis
-spec:
-  host: myredissrv.prod.svc.cluster.local
-  trafficPolicy:
-    connectionPool:
-      tcp:
-        maxConnections: 100
-        connectTimeout: 30ms
-        tcpKeepalive:
-          time: 7200s
-          interval: 75s
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
tcpConnectionPoolSettings.TCPSettings -

Settings common to both HTTP and TCP upstream connections.

- -
httpConnectionPoolSettings.HTTPSettings -

HTTP connection pool settings.

- -
-
-

ConnectionPoolSettings.HTTPSettings

-
-

Settings applicable to HTTP1.1/HTTP2/GRPC connections.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
http1MaxPendingRequestsint32 -

Maximum number of pending HTTP requests to a destination. Default 1024.

- -
http2MaxRequestsint32 -

Maximum number of requests to a backend. Default 1024.

- -
maxRequestsPerConnectionint32 -

Maximum number of requests per connection to a backend. Setting this -parameter to 1 disables keep alive.

- -
maxRetriesint32 -

Maximum number of retries that can be outstanding to all hosts in a -cluster at a given time. Defaults to 3.

- -
-
-

ConnectionPoolSettings.TCPSettings

-
-

Settings common to both HTTP and TCP upstream connections.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
maxConnectionsint32 -

Maximum number of HTTP1 /TCP connections to a destination host.

- -
connectTimeoutgoogle.protobuf.Duration -

TCP connection timeout.

- -
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive -

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

- -
-
-

ConnectionPoolSettings.TCPSettings.TcpKeepalive

-
-

TCP keepalive.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
probesuint32 -

Maximum number of keepalive probes to send without response before -deciding the connection is dead. Default is to use the OS level configuration -(unless overridden, Linux defaults to 9.)

- -
timegoogle.protobuf.Duration -

The time duration a connection needs to be idle before keep-alive -probes start being sent. Default is to use the OS level configuration -(unless overridden, Linux defaults to 7200s (ie 2 hours.)

- -
intervalgoogle.protobuf.Duration -

The time duration between keep-alive probes. -Default is to use the OS level configuration -(unless overridden, Linux defaults to 75s.)

- -
-
-

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 -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 -Access-Control-Allow-Credentials header to false. In addition, it only -exposes X-Foo-bar header and sets an expiry period of 1 day.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    corsPolicy:
-      allowOrigin:
-      - example.com
-      allowMethods:
-      - POST
-      - GET
-      allowCredentials: false
-      allowHeaders:
-      - X-Foo-Bar
-      maxAge: "1d"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
allowOriginstring[] -

The list of origins that are allowed to perform CORS requests. The -content will be serialized into the Access-Control-Allow-Origin -header. Wildcard * will allow all origins.

- -
allowMethodsstring[] -

List of HTTP methods allowed to access the resource. The content will -be serialized into the Access-Control-Allow-Methods header.

- -
allowHeadersstring[] -

List of HTTP headers that can be used when requesting the -resource. Serialized to Access-Control-Allow-Headers header.

- -
exposeHeadersstring[] -

A white list of HTTP headers that the browsers are allowed to -access. Serialized into Access-Control-Expose-Headers header.

- -
maxAgegoogle.protobuf.Duration -

Specifies how long the results of a preflight request can be -cached. Translates to the Access-Control-Max-Age header.

- -
allowCredentialsgoogle.protobuf.BoolValue -

Indicates whether the caller is allowed to send the actual request -(not the preflight) using credentials. Translates to -Access-Control-Allow-Credentials header.

- -
-
-

Destination

-
-

Destination indicates the network addressable service to which the -request/connection will be sent after processing a routing rule. The -destination.host should unambiguously refer to a service in the service -registry. Istio’s service registry is composed of all the services found -in the platform’s service registry (e.g., Kubernetes services, Consul -services), as well as services declared through the -ServiceEntry resource.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of the -actual namespace associated with the reviews service. To avoid potential -misconfigurations, it is recommended to always use fully qualified -domain names over short names.

- -

The following Kubernetes example routes all traffic by default to pods -of the reviews service with label “version: v1” (i.e., subset v1), and -some to subset v2, in a kubernetes environment.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-  namespace: foo
-spec:
-  hosts:
-  - reviews # interpreted as reviews.foo.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: "/wpcatalog"
-    - uri:
-        prefix: "/consumercatalog"
-    rewrite:
-      uri: "/newcatalog"
-    route:
-    - destination:
-        host: reviews # interpreted as reviews.foo.svc.cluster.local
-        subset: v2
-  - route:
-    - destination:
-        host: reviews # interpreted as reviews.foo.svc.cluster.local
-        subset: v1
-
- -

And the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-  namespace: foo
-spec:
-  host: reviews # interpreted as reviews.foo.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- -

The following VirtualService sets a timeout of 5s for all calls to -productpage.prod.svc.cluster.local service in Kubernetes. Notice that -there are no subsets defined in this rule. Istio will fetch all -instances of productpage.prod.svc.cluster.local service from the service -registry and populate the sidecar’s load balancing pool. Also, notice -that this rule is set in the istio-system namespace but uses the fully -qualified domain name of the productpage service, -productpage.prod.svc.cluster.local. Therefore the rule’s namespace does -not have an impact in resolving the name of the productpage service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: my-productpage-rule
-  namespace: istio-system
-spec:
-  hosts:
-  - productpage.prod.svc.cluster.local # ignores rule namespace
-  http:
-  - timeout: 5s
-    route:
-    - destination:
-        host: productpage.prod.svc.cluster.local
-
- -

To control routing for traffic bound to services outside the mesh, external -services must first be added to Istio’s internal service registry using the -ServiceEntry resource. VirtualServices can then be defined to control traffic -bound to these external services. For example, the following rules define a -Service for wikipedia.org and set a timeout of 5s for http requests.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-wikipedia
-spec:
-  hosts:
-  - wikipedia.org
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: example-http
-    protocol: HTTP
-  resolution: DNS
-
-apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: my-wiki-rule
-spec:
-  hosts:
-  - wikipedia.org
-  http:
-  - timeout: 5s
-    route:
-    - destination:
-        host: wikipedia.org
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hoststring -

REQUIRED. The name of a service from the service registry. Service -names are looked up from the platform’s service registry (e.g., -Kubernetes services, Consul services, etc.) and from the hosts -declared by ServiceEntry. Traffic forwarded to -destinations that are not found in either of the two, will be dropped.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -
subsetstring -

The name of a subset within the service. Applicable only to services -within the mesh. The subset must be defined in a corresponding -DestinationRule.

- -
portPortSelector -

Specifies the port on the host that is being addressed. If a service -exposes only a single port it is not required to explicitly select the -port.

- -
-
-

DestinationRule

-
-

DestinationRule defines policies that apply to traffic intended for a -service after routing has occurred. These rules specify configuration -for load balancing, connection pool size from the sidecar, and outlier -detection settings to detect and evict unhealthy hosts from the load -balancing pool. For example, a simple load balancing policy for the -ratings service would look as follows:

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-
- -

Version specific policies can be specified by defining a named -subset and overriding the settings specified at the service level. The -following rule uses a round robin load balancing policy for all traffic -going to a subset named testversion that is composed of endpoints (e.g., -pods) with labels (version:v3).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-  subsets:
-  - name: testversion
-    labels:
-      version: v3
-    trafficPolicy:
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- -

Note: Policies specified for subsets will not take effect until -a route rule explicitly sends traffic to this subset.

- -

Traffic policies can be customized to specific ports as well. The -following rule uses the least connection load balancing policy for all -traffic to port 80, while uses a round robin load balancing setting for -traffic to the port 9080.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings-port
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy: # Apply to all ports
-    portLevelSettings:
-    - port:
-        number: 80
-      loadBalancer:
-        simple: LEAST_CONN
-    - port:
-        number: 9080
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hoststring -

REQUIRED. The name of a service from the service registry. Service -names are looked up from the platform’s service registry (e.g., -Kubernetes services, Consul services, etc.) and from the hosts -declared by ServiceEntries. Rules defined for -services that do not exist in the service registry will be ignored.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -

Note that the host field applies to both HTTP and TCP services.

- -
trafficPolicyTrafficPolicy -

Traffic policies to apply (load balancing policy, connection pool -sizes, outlier detection).

- -
subsetsSubset[] -

One or more named sets that represent individual versions of a -service. Traffic policies can be overridden at subset level.

- -
exportTostring[] -

The resolution of a DestinationRule to apply to a service occurs in the -context of a hierarchy of namespaces. This rule controls whether those -namespaces are allowed to select this rule.

- -
-
-

EnvoyFilter

-
-

EnvoyFilter describes Envoy proxy-specific filters that can be used to -customize the Envoy proxy configuration generated by Istio networking -subsystem (Pilot). This feature must be used with care, as incorrect -configurations could potentially destabilize the entire mesh.

- -

NOTE 1: Since this is break glass configuration, there will not be any -backward compatibility across different Istio releases. In other words, -this configuration is subject to change based on internal implementation -of Istio networking subsystem.

- -

NOTE 2: When multiple EnvoyFilters are bound to the same workload, all filter -configurations will be processed sequentially in order of creation time. -The behavior is undefined if multiple EnvoyFilter configurations conflict -with each other.

- -

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 -labels “app: reviews”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: EnvoyFilter
-metadata:
-  name: reviews-lua
-spec:
-  workloadLabels:
-    app: reviews
-  filters:
-  - listenerMatch:
-      portNumber: 8080
-      listenerType: SIDECAR_INBOUND #will match with the inbound listener for reviews:8080
-    filterName: envoy.lua
-    filterType: HTTP
-    filterConfig:
-      inlineCode: |
-        ... lua code ...
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
workloadLabelsmap<string, string> -

One 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.

- -
filtersEnvoyFilter.Filter[] -

REQUIRED: Envoy network filters/http filters to be added to matching -listeners. When adding network filters to http connections, care -should be taken to ensure that the filter is added before -envoy.httpconnectionmanager.

- -
-
-

EnvoyFilter.Filter

-
-

Envoy filters to be added to a network or http filter chain.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
listenerMatchEnvoyFilter.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.

- -
insertPositionEnvoyFilter.InsertPosition -

Insert position in the filter chain. Defaults to FIRST

- -
filterTypeEnvoyFilter.Filter.FilterType -

REQUIRED: The type of filter to instantiate.

- -
filterNamestring -

REQUIRED: The name of the filter to instantiate. The name must match a supported -filter compiled into Envoy.

- -
filterConfiggoogle.protobuf.Struct -

REQUIRED: Filter specific configuration which depends on the filter being -instantiated.

- -
-
-

EnvoyFilter.Filter.FilterType

-
- - - - - - - - - - - - - - - - - - - - - -
NameDescription
INVALID -

placeholder

- -
HTTP -

Http filter

- -
NETWORK -

Network filter

- -
-
-

EnvoyFilter.InsertPosition

-
-

Indicates the relative index in the filter chain where the filter should be inserted.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
indexEnvoyFilter.InsertPosition.Index -

Position of this filter in the filter chain.

- -
relativeTostring -

If BEFORE or AFTER position is specified, specify the name of the -filter relative to which this filter should be inserted.

- -
-
-

EnvoyFilter.InsertPosition.Index

-
-

Index/position in the filter chain.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
FIRST -

Insert first

- -
LAST -

Insert last

- -
BEFORE -

Insert before the named filter.

- -
AFTER -

Insert after the named filter.

- -
-
-

EnvoyFilter.ListenerMatch

-
-

Select a listener to add the filter to based on the match conditions. -All conditions specified in the ListenerMatch must be met for the filter -to be applied to a listener.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portNumberuint32 -

The service port/gateway port to which traffic is being -sent/received. If not specified, matches all listeners. Even though -inbound listeners are generated for the instance/pod ports, only -service ports should be used to match listeners.

- -
portNamePrefixstring -

Instead of using specific port numbers, a set of ports matching a -given port name prefix can be selected. E.g., “mongo” selects ports -named mongo-port, mongo, mongoDB, MONGO, etc. Matching is case -insensitive.

- -
listenerTypeEnvoyFilter.ListenerMatch.ListenerType -

Inbound vs outbound sidecar listener or gateway listener. If not specified, -matches all listeners.

- -
listenerProtocolEnvoyFilter.ListenerMatch.ListenerProtocol -

Selects a class of listeners for the same protocol. If not -specified, applies to listeners on all protocols. 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).

- -
addressstring[] -

One or more IP addresses to which the listener is bound. If -specified, should match at least one address in the list.

- -
-
-

EnvoyFilter.ListenerMatch.ListenerProtocol

-
- - - - - - - - - - - - - - - - - - - - - -
NameDescription
ALL -

All protocols

- -
HTTP -

HTTP or HTTPS (with termination) / HTTP2/gRPC

- -
TCP -

Any non-HTTP listener

- -
-
-

EnvoyFilter.ListenerMatch.ListenerType

-
- - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
ANY -

All listeners

- -
SIDECAR_INBOUND -

Inbound listener in sidecar

- -
SIDECAR_OUTBOUND -

Outbound listener in sidecar

- -
GATEWAY -

Gateway listener

- -
-
-

Gateway

-
-

Gateway describes a load balancer operating at the edge of the mesh -receiving incoming or outgoing HTTP/TCP connections. The specification -describes a set of ports that should be exposed, the type of protocol to -use, SNI configuration for the load balancer, etc.

- -

For example, the following Gateway configuration sets up a proxy to act -as a load balancer exposing port 80 and 9080 (http), 443 (https), and -port 2379 (TCP) for ingress. The gateway will be applied to the proxy -running on a pod with labels app: my-gateway-controller. While Istio -will configure the proxy to listen on these ports, it is the -responsibility of the user to ensure that external traffic to these -ports are allowed into the mesh.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-gateway
-  namespace: some-config-namespace
-spec:
-  selector:
-    app: my-gateway-controller
-  servers:
-  - port:
-      number: 80
-      name: http
-      protocol: HTTP
-    hosts:
-    - uk.bookinfo.com
-    - eu.bookinfo.com
-    tls:
-      httpsRedirect: true # sends 301 redirect for http requests
-  - port:
-      number: 443
-      name: https
-      protocol: HTTPS
-    hosts:
-    - uk.bookinfo.com
-    - eu.bookinfo.com
-    tls:
-      mode: SIMPLE #enables HTTPS on this port
-      serverCertificate: /etc/certs/servercert.pem
-      privateKey: /etc/certs/privatekey.pem
-  - port:
-      number: 9080
-      name: http-wildcard
-      protocol: HTTP
-    hosts:
-    - "*"
-  - port:
-      number: 2379 # to expose internal service via external port 2379
-      name: mongo
-      protocol: MONGO
-    hosts:
-    - "*"
-
- -

The Gateway specification above describes the L4-L6 properties of a load -balancer. A VirtualService can then be bound to a gateway to control -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 -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).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-rule
-  namespace: bookinfo-namespace
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  - uk.bookinfo.com
-  - eu.bookinfo.com
-  gateways:
-  - some-config-namespace/my-gateway
-  - mesh # applies to all the sidecars in the mesh
-  http:
-  - match:
-    - headers:
-        cookie:
-          user: dev-123
-    route:
-    - destination:
-        port:
-          number: 7777
-        host: reviews.qa.svc.cluster.local
-  - match:
-      uri:
-        prefix: /reviews/
-    route:
-    - destination:
-        port:
-          number: 9080 # can be omitted if its the only port for reviews
-        host: reviews.prod.svc.cluster.local
-      weight: 80
-    - destination:
-        host: reviews.qa.svc.cluster.local
-      weight: 20
-
- -

The following VirtualService forwards traffic arriving at (external) -port 27017 to internal Mongo server on port 5555. This rule is not -applicable internally in the mesh as the gateway list omits the -reserved name mesh.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-Mongo
-  namespace: bookinfo-namespace
-spec:
-  hosts:
-  - mongosvr.prod.svc.cluster.local #name of internal Mongo service
-  gateways:
-  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
-                                       namespace as virtual service.
-  tcp:
-  - match:
-    - port: 27017
-    route:
-    - destination:
-        host: mongo.prod.svc.cluster.local
-        port:
-          number: 5555
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
serversServer[] -

REQUIRED: A list of server specifications.

- -
selectormap<string, string> -

REQUIRED: One or more labels that indicate a specific set of pods/VMs -on which this gateway configuration should be applied. The scope of -label search is restricted to the configuration namespace in which the -the resource is present. In other words, the Gateway resource must -reside in the same namespace as the gateway workload.

- -
-
-

HTTPFaultInjection

-
-

HTTPFaultInjection can be used to specify one or more faults to inject -while forwarding http requests to the destination specified in a route. -Fault specification is part of a VirtualService rule. Faults include -aborting the Http request from downstream service, and/or delaying -proxying of requests. A fault rule MUST HAVE delay or abort or both.

- -

Note: Delay and abort faults are independent of one another, even if -both are specified simultaneously.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
delayHTTPFaultInjection.Delay -

Delay requests before forwarding, emulating various failures such as -network issues, overloaded upstream service, etc.

- -
abortHTTPFaultInjection.Abort -

Abort Http request attempts and return error codes back to downstream -service, giving the impression that the upstream service is faulty.

- -
-
-

HTTPFaultInjection.Abort

-
-

Abort specification is used to prematurely abort a request with a -pre-specified error code. The following example will return an HTTP 400 -error code for 1 out of every 1000 requests to the “ratings” service “v1”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    fault:
-      abort:
-        percentage:
-          value: 0.001
-        httpStatus: 400
-
- -

The httpStatus field is used to indicate the HTTP status code to -return to the caller. The optional percentage field can be used to only -abort a certain percentage of requests. If not specified, all requests are -aborted.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
percentint32 -

Percentage of requests to be aborted with the error code provided (0-100). -Use of integer percent value is deprecated. Use the double percentage -field instead.

- -
httpStatusint32 (oneof) -

REQUIRED. HTTP status code to use to abort the Http request.

- -
percentagePercent -

Percentage of requests to be aborted with the error code provided.

- -
-
-

HTTPFaultInjection.Delay

-
-

Delay specification is used to inject latency into the request -forwarding path. The following example will introduce a 5 second delay -in 1 out of every 1000 requests to the “v1” version of the “reviews” -service from all pods with label env: prod

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - match:
-    - sourceLabels:
-        env: prod
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-    fault:
-      delay:
-        percentage:
-          value: 0.001
-        fixedDelay: 5s
-
- -

The fixedDelay field is used to indicate the amount of delay in seconds. -The optional percentage field can be used to only delay a certain -percentage of requests. If left unspecified, all request will be delayed.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
percentint32 -

Percentage of requests on which the delay will be injected (0-100). -Use of integer percent value is deprecated. Use the double percentage -field instead.

- -
fixedDelaygoogle.protobuf.Duration (oneof) -

REQUIRED. Add a fixed delay before forwarding the request. Format: -1h/1m/1s/1ms. MUST be >=1ms.

- -
percentagePercent -

Percentage of requests on which the delay will be injected.

- -
-
-

HTTPMatchRequest

-
-

HttpMatchRequest specifies a set of criterion to be met in order for the -rule to be applied to the HTTP request. For example, the following -restricts the rule to match only requests where the URL path -starts with /ratings/v2/ and the request contains a custom end-user header -with value jason.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - headers:
-        end-user:
-          exact: jason
-      uri:
-        prefix: "/ratings/v2/"
-    route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-
- -

HTTPMatchRequest CANNOT be empty.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uriStringMatch -

URI to match -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
schemeStringMatch -

URI Scheme -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
methodStringMatch -

HTTP Method -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
authorityStringMatch -

HTTP Authority -values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -
headersmap<string, StringMatch> -

The header keys must be lowercase and use hyphen as the separator, -e.g. x-request-id.

- -

Header values are case-sensitive and formatted as follows:

- -
    -
  • exact: "value" for exact string match

  • - -
  • prefix: "value" for prefix-based match

  • - -
  • regex: "value" for ECMAscript style regex-based match

  • -
- -

Note: The keys uri, scheme, method, and authority will be ignored.

- -
portuint32 -

Specifies the ports on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they support, -in these cases it is not required to explicitly select the port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway match is -independent of sourceLabels.

- -
-
-

HTTPRedirect

-
-

HTTPRedirect can be used to send a 301 redirect response to the caller, -where the Authority/Host and the URI in the response can be swapped with -the specified values. For example, the following rule redirects -requests for /v1/getProductRatings API on the ratings service to -/v1/bookRatings provided by the bookratings service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        exact: /v1/getProductRatings
-  redirect:
-    uri: /v1/bookRatings
-    authority: newratings.default.svc.cluster.local
-  ...
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uristring -

On a redirect, overwrite the Path portion of the URL with this -value. Note that the entire path will be replaced, irrespective of the -request URI being matched as an exact path or prefix.

- -
authoritystring -

On a redirect, overwrite the Authority/Host portion of the URL with -this value.

- -
-
-

HTTPRetry

-
-

Describes the retry policy to use when a HTTP request fails. For -example, the following rule sets the maximum number of retries to 3 when -calling ratings:v1 service, with a 2s timeout per retry attempt.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-    retries:
-      attempts: 3
-      perTryTimeout: 2s
-      retryOn: gateway-error,connect-failure,refused-stream
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
attemptsint32 -

REQUIRED. Number of retries for a given request. The interval -between retries will be determined automatically (25ms+). Actual -number of retries attempted depends on the httpReqTimeout.

- -
perTryTimeoutgoogle.protobuf.Duration -

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

- -
retryOnstring -

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 -https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on -and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

- -
-
-

HTTPRewrite

-
-

HTTPRewrite can be used to rewrite specific parts of a HTTP request -before forwarding the request to the destination. Rewrite primitive can -be used only with HTTPRouteDestination. The following example -demonstrates how to rewrite the URL prefix for api call (/ratings) to -ratings service before making the actual API call.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: ratings-route
-spec:
-  hosts:
-  - ratings.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: /ratings
-    rewrite:
-      uri: /v1/bookRatings
-    route:
-    - destination:
-        host: ratings.prod.svc.cluster.local
-        subset: v1
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
uristring -

rewrite the path (or the prefix) portion of the URI with this -value. If the original URI was matched based on prefix, the value -provided in this field will replace the corresponding matched prefix.

- -
authoritystring -

rewrite the Authority/Host header with this value.

- -
-
-

HTTPRoute

-
-

Describes match conditions and actions for routing HTTP/1.1, HTTP2, and -gRPC traffic. See VirtualService for usage examples.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchHTTPMatchRequest[] -

Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeHTTPRouteDestination[] -

A http rule can either redirect or forward (default) traffic. The -forwarding target can be one of several versions of a service (see -glossary in beginning of document). Weights associated with the -service version determine the proportion of traffic it receives.

- -
redirectHTTPRedirect -

A http rule can either redirect or forward (default) traffic. If -traffic passthrough option is specified in the rule, -route/redirect will be ignored. The redirect primitive can be used to -send a HTTP 301 redirect to a different URI or Authority.

- -
rewriteHTTPRewrite -

Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with -Redirect primitive. Rewrite will be performed before forwarding.

- -
timeoutgoogle.protobuf.Duration -

Timeout for HTTP requests.

- -
retriesHTTPRetry -

Retry policy for HTTP requests.

- -
faultHTTPFaultInjection -

Fault injection policy to apply on HTTP traffic at the client side. -Note that timeouts or retries will not be enabled when faults are -enabled on the client side.

- -
mirrorDestination -

Mirror HTTP traffic to a another destination in addition to forwarding -the requests to the intended destination. Mirrored traffic is on a -best effort basis where the sidecar/gateway will not wait for the -mirrored cluster to respond before returning the response from the -original destination. Statistics will be generated for the mirrored -destination.

- -
corsPolicyCorsPolicy -

Cross-Origin Resource Sharing policy (CORS). Refer to -CORS -for further details about cross origin resource sharing.

- -
appendHeadersmap<string, string> -

Use of append_headers is deprecated. Use the headers -field instead.

- -
removeResponseHeadersstring[] -

Use of remove_response_header is deprecated. Use the headers -field instead.

- -
appendResponseHeadersmap<string, string> -

Use of append_response_headers is deprecated. Use the headers -field instead.

- -
removeRequestHeadersstring[] -

Use of remove_request_headers is deprecated. Use the headers -field instead.

- -
appendRequestHeadersmap<string, string> -

Use of append_request_headers is deprecated. Use the headers -field instead.

- -
headersHeaders -

Header manipulation rules

- -
-
-

HTTPRouteDestination

-
-

Each routing rule is associated with one or more service versions (see -glossary in beginning of document). Weights associated with the version -determine the proportion of traffic it receives. For example, the -following rule will route 25% of traffic for the “reviews” service to -instances with the “v2” tag and the remaining traffic (i.e., 75%) to -“v1”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v2
-      weight: 25
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-      weight: 75
-
- -

And the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-spec:
-  host: reviews.prod.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- -

Traffic can also be split across two entirely different services without -having to define new subsets. For example, the following rule forwards 25% of -traffic to reviews.com to dev.reviews.com

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route-two-domains
-spec:
-  hosts:
-  - reviews.com
-  http:
-  - route:
-    - destination:
-        host: dev.reviews.com
-      weight: 25
-    - destination:
-        host: reviews.com
-      weight: 75
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationDestination -

REQUIRED. Destination uniquely identifies the instances of a service -to which the request/connection should be forwarded to.

- -
weightint32 -

REQUIRED. The proportion of traffic to be forwarded to the service -version. (0-100). Sum of weights across destinations SHOULD BE == 100. -If there is only one destination in a rule, the weight value is assumed to -be 100.

- -
removeResponseHeadersstring[] -

Use of remove_response_header is deprecated. Use the headers -field instead.

- -
appendResponseHeadersmap<string, string> -

Use of append_response_headers is deprecated. Use the headers -field instead.

- -
removeRequestHeadersstring[] -

Use of remove_request_headers is deprecated. Use the headers -field instead.

- -
appendRequestHeadersmap<string, string> -

Use of append_request_headers is deprecated. Use the headers -field instead.

- -
headersHeaders -

Header manipulation rules

- -
-
-

Headers

-
-

Header manipulation rules

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
requestHeaders.HeaderOperations -

Header manipulation rules to apply before forwarding a request -to the destination service

- -
responseHeaders.HeaderOperations -

Header manipulation rules to apply before returning a response -to the caller

- -
-
-

Headers.HeaderOperations

-
-

HeaderOperations Describes the header manipulations to apply

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
setmap<string, string> -

Overwrite the headers specified by key with the given values

- -
addmap<string, string> -

Append the given values to the headers specified by keys -(will create a comma-separated list of values)

- -
removestring[] -

Remove a the specified headers

- -
-
-

IstioEgressListener

-
-

IstioEgressListener specifies the properties of an outbound traffic -listener on the sidecar proxy attached to a workload.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

The port associated with the listener. If using unix domain socket, -use 0 as the port number, with a valid protocol. The port if -specified, will be used as the default destination port associated -with the imported hosts. If the port is omitted, Istio will infer the -listener ports based on the imported hosts. Note that when multiple -egress listeners are specified, where one or more listeners have -specific ports while others have no port, the hosts exposed on a -listener port will be based on the listener with the most specific -port.

- -
bindstring -

The ip or the unix domain socket to which the listener should be bound -to. Port MUST be specified if bind is not empty. Format: x.x.x.x or -unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If -omitted, Istio will autoconfigure the defaults based on imported -services, the workload to which this configuration is applied to and -the captureMode. If captureMode is NONE, bind will default to -127.0.0.1.

- -
captureModeCaptureMode -

When the bind address is an IP, the captureMode option dictates -how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

- -
hostsstring[] -

REQUIRED: One or more services/virtualServices exposed by the listener -in namespace/dnsName format. Publicly scoped services and -VirtualServices from remote namespaces corresponding to the specified -hosts will be imported. The service in a namespace can be a service in -the service registry (e.g., a kubernetes or cloud foundry service) or -a service specified via ServiceEntry configuration. In addition, any -publicly scoped DestinationRule associated with the imported services -will also be imported.

- -

Set the namespace to * to import a particular service from any -available namespace (e.g., “*/foo.example.com”). Set the dnsName field -to * to import all services from the specified namespace (e.g., -“prod/*”). The services should be specified using FQDN format.

- -

NOTE: Only exported services and configuration artifacts from a -namespace can be imported. Private services/configuration will not be -imported. Refer to the scope setting associated with VirtualService, -DestinationRule, ServiceEntry, etc. for details.

- -
-
-

IstioIngressListener

-
-

IstioIngressListener specifies the properties of an inbound -traffic listener on the sidecar proxy attached to a workload.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

REQUIRED. The port associated with the listener. If using -unix domain socket, use 0 as the port number, with a valid -protocol.

- -
bindstring -

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). If omitted, Istio will autoconfigure the defaults -based on imported services and the workload to which this -configuration is applied to.

- -
captureModeCaptureMode -

When the bind address is an IP, the captureMode option dictates -how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

- -
defaultEndpointstring -

REQUIRED: The loopback IP endpoint or unix domain socket to which -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

- -
-
-

L4MatchAttributes

-
-

L4 connection match attributes. Note that L4 connection matching support -is incomplete.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationSubnetsstring[] -

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., -a.b.c.d/xx form or just a.b.c.d.

- -
portuint32 -

Specifies the port on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they support, -in these cases it is not required to explicitly select the port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway -match is independent of sourceLabels.

- -
-
-

LoadBalancerSettings

-
-

Load balancing policies to apply for a specific destination. See Envoy’s -load balancing -documentation -for more details.

- -

For example, the following rule uses a round robin load balancing policy -for all traffic going to the ratings service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: ROUND_ROBIN
-
- -

The following example sets up sticky sessions for the ratings service -hashing-based load balancer for the same ratings service using the -the User cookie as the hash key.

- -
 apiVersion: networking.istio.io/v1alpha3
- kind: DestinationRule
- metadata:
-   name: bookinfo-ratings
- spec:
-   host: ratings.prod.svc.cluster.local
-   trafficPolicy:
-     loadBalancer:
-       consistentHash:
-         httpCookie:
-           name: user
-           ttl: 0s
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
simpleLoadBalancerSettings.SimpleLB (oneof) -
consistentHashLoadBalancerSettings.ConsistentHashLB (oneof) -
-
-

LoadBalancerSettings.ConsistentHashLB

-
-

Consistent Hash-based load balancing can be used to provide soft -session affinity based on HTTP headers, cookies or other -properties. This load balancing policy is applicable only for HTTP -connections. The affinity to a particular destination host will be -lost when one or more hosts are added/removed from the destination -service.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
httpHeaderNamestring (oneof) -

Hash based on a specific HTTP header.

- -
useSourceIpbool (oneof) -

Hash based on the source IP address.

- -
minimumRingSizeuint64 -

The minimum number of virtual nodes to use for the hash -ring. Defaults to 1024. Larger ring sizes result in more granular -load distributions. If the number of hosts in the load balancing -pool is larger than the ring size, each host will be assigned a -single virtual node.

- -
-
-

LoadBalancerSettings.ConsistentHashLB.HTTPCookie

-
-

Describes a HTTP cookie that will be used as the hash key for the -Consistent Hash load balancer. If the cookie is not present, it will -be generated.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
namestring -

REQUIRED. Name of the cookie.

- -
pathstring -

Path to set for the cookie.

- -
ttlgoogle.protobuf.Duration -

REQUIRED. Lifetime of the cookie.

- -
-
-

LoadBalancerSettings.SimpleLB

-
-

Standard load balancing algorithms that require no tuning.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
ROUND_ROBIN -

Round Robin policy. Default

- -
LEAST_CONN -

The least request load balancer uses an O(1) algorithm which selects -two random healthy hosts and picks the host which has fewer active -requests.

- -
RANDOM -

The random load balancer selects a random healthy host. The random -load balancer generally performs better than round robin if no health -checking policy is configured.

- -
PASSTHROUGH -

This option will forward the connection to the original IP address -requested by the caller without doing any form of load -balancing. This option must be used with care. It is meant for -advanced use cases. Refer to Original Destination load balancer in -Envoy for further details.

- -
-
-

OutlierDetection

-
-

A Circuit breaker implementation that tracks the status of each -individual host in the upstream service. Applicable to both HTTP and -TCP services. For HTTP services, hosts that continually return 5xx -errors for API calls are ejected from the pool for a pre-defined period -of time. For TCP services, connection timeouts or connection -failures to a given host counts as an error when measuring the -consecutive errors metric. See Envoy’s outlier -detection -for more details.

- -

The following rule sets a connection pool size of 100 connections and -1000 concurrent HTTP2 requests, with no more than 10 req/connection to -“reviews” service. In addition, it configures upstream hosts to be -scanned every 5 mins, such that any host that fails 7 consecutive times -with 5XX error code will be ejected for 15 minutes.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-cb-policy
-spec:
-  host: reviews.prod.svc.cluster.local
-  trafficPolicy:
-    connectionPool:
-      tcp:
-        maxConnections: 100
-      http:
-        http2MaxRequests: 1000
-        maxRequestsPerConnection: 10
-    outlierDetection:
-      consecutiveErrors: 7
-      interval: 5m
-      baseEjectionTime: 15m
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
consecutiveErrorsint32 -

Number of errors before a host is ejected from the connection -pool. Defaults to 5. When the upstream host is accessed over HTTP, a -502, 503 or 504 return code qualifies as an error. When the upstream host -is accessed over an opaque TCP connection, connect timeouts and -connection error/failure events qualify as an error.

- -
intervalgoogle.protobuf.Duration -

Time interval between ejection sweep analysis. format: -1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

- -
baseEjectionTimegoogle.protobuf.Duration -

Minimum ejection duration. A host will remain ejected for a period -equal to the product of minimum ejection duration and the number of -times the host has been ejected. This technique allows the system to -automatically increase the ejection period for unhealthy upstream -servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

- -
maxEjectionPercentint32 -

Maximum % of hosts in the load balancing pool for the upstream -service that can be ejected. Defaults to 10%.

- -
minHealthPercentint32 -

Outlier detection will be enabled as long as the associated load balancing -pool has at least minhealthpercent hosts in healthy mode. When the -percentage of healthy hosts in the load balancing pool drops below this -threshold, outlier detection will be disabled and the proxy will load balance -across all hosts in the pool (healthy and unhealthy). The default is 50%.

- -
-
-

Percent

-
-

Percent specifies a percentage in the range of [0.0, 100.0].

- - - - - - - - - - - - - - - - -
FieldTypeDescription
valuedouble -
-
-

Port

-
-

Port describes the properties of a specific port of a service.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
numberuint32 -

REQUIRED: A valid non-negative integer port number.

- -
protocolstring -

REQUIRED: The protocol exposed on the port. -MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. -TLS implies the connection will be routed based on the SNI header to -the destination without terminating the TLS connection.

- -
namestring -

Label assigned to the port.

- -
-
-

PortSelector

-
-

PortSelector specifies the number of a port to be used for -matching or selection for final routing.

- - - - - - - - - - - - - - - - -
FieldTypeDescription
numberuint32 (oneof) -

Valid port number

- -
-
-

RouteDestination

-
-

L4 routing rule weighted destination.

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
destinationDestination -

REQUIRED. Destination uniquely identifies the instances of a service -to which the request/connection should be forwarded to.

- -
weightint32 -

REQUIRED. The proportion of traffic to be forwarded to the service -version. If there is only one destination in a rule, all traffic will be -routed to it irrespective of the weight.

- -
-
-

Server

-
-

Server describes the properties of the proxy on a given load balancer -port. For example,

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-ingress
-spec:
-  selector:
-    app: my-ingress-gateway
-  servers:
-  - port:
-      number: 80
-      name: http2
-      protocol: HTTP2
-    hosts:
-    - "*"
-
- -

Another example

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-tcp-ingress
-spec:
-  selector:
-    app: my-tcp-ingress-gateway
-  servers:
-  - port:
-      number: 27018
-      name: mongo
-      protocol: MONGO
-    hosts:
-    - "*"
-
- -

The following is an example of TLS configuration for port 443

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
-  name: my-tls-ingress
-spec:
-  selector:
-    app: my-tls-ingress-gateway
-  servers:
-  - port:
-      number: 443
-      name: https
-      protocol: HTTPS
-    hosts:
-    - "*"
-    tls:
-      mode: SIMPLE
-      serverCertificate: /etc/certs/server.pem
-      privateKey: /etc/certs/privatekey.pem
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPort -

REQUIRED: The Port on which the proxy should listen for incoming -connections. If using unix domain socket, use 0 as the port number, -with a valid protocol and port name, along with the bind parameter.

- -
hostsstring[] -

REQUIRED. A list of hosts exposed by this gateway. At least one -host is required. While typically applicable to -HTTP services, it can also be used for TCP services using TLS with -SNI. May contain a wildcard prefix for the bottom-level component of -a domain name. For example *.foo.com matches bar.foo.com -and *.com matches bar.foo.com, example.com, and so on.

- -

Note: A VirtualService that is bound to a gateway must have one -or more hosts that match the hosts specified in a server. The match -could be an exact match or a suffix match with the server’s hosts. For -example, if the server’s hosts specifies “*.example.com”, -VirtualServices with hosts dev.example.com, prod.example.com will -match. However, VirtualServices with hosts example.com or -newexample.com will not match.

- -
tlsServer.TLSOptions -

Set of TLS related options that govern the server’s behavior. Use -these options to control if all http requests should be redirected to -https, and the TLS modes to use.

- -
defaultEndpointstring -

The loopback IP endpoint or unix domain socket to which traffic should -be forwarded to by default. Format should be 127.0.0.1:PORT or -unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

- -
-
-

Server.TLSOptions

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
httpsRedirectbool -

If set to true, the load balancer will send a 301 redirect for all -http connections, asking the clients to use HTTPS.

- -
modeServer.TLSOptions.TLSmode -

Optional: Indicates whether connections to this port should be -secured using TLS. The value of this field determines how TLS is -enforced.

- -
serverCertificatestring -

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file -holding the server-side TLS certificate to use.

- -
privateKeystring -

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file -holding the server’s private key.

- -
caCertificatesstring -

REQUIRED if mode is MUTUAL. The path to a file containing -certificate authority certificates to use in verifying a presented -client side certificate.

- -
credentialNamestring -

The credentialName stands for a unique identifier that can be used -to identify the serverCertificate and the privateKey. The 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 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 -credentialName-cacert. The semantics of the name are platform dependent. -In Kubernetes, the default Istio supplied credential server expects the -credentialName to match the name of the Kubernetes secret that holds the -server certificate, the private key, and the CA certificate -(if using mutual TLS).

- -
subjectAltNamesstring[] -

A list of alternate names to verify the subject identity in the -certificate presented by the client.

- -
minProtocolVersionServer.TLSOptions.TLSProtocol -

Optional: Minimum TLS protocol version.

- -
maxProtocolVersionServer.TLSOptions.TLSProtocol -

Optional: Maximum TLS protocol version.

- -
cipherSuitesstring[] -

Optional: If specified, only support the specified cipher list. -Otherwise default to the default cipher list supported by Envoy.

- -
-
-

Server.TLSOptions.TLSProtocol

-
-

TLS protocol versions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
TLS_AUTO -

Automatically choose the optimal TLS version.

- -
TLSV1_0 -

TLS version 1.0

- -
TLSV1_1 -

TLS version 1.1

- -
TLSV1_2 -

TLS version 1.2

- -
TLSV1_3 -

TLS version 1.3

- -
-
-

Server.TLSOptions.TLSmode

-
-

TLS modes enforced by the proxy

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
PASSTHROUGH -

The SNI string presented by the client will be used as the match -criterion in a VirtualService TLS route to determine the -destination service from the service registry.

- -
SIMPLE -

Secure connections with standard TLS semantics.

- -
MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication.

- -
AUTO_PASSTHROUGH -

Similar to the passthrough mode, except servers with this TLS mode -do not require an associated VirtualService to map from the SNI -value to service in the registry. The destination details such as -the service/subset/port are encoded in the SNI value. The proxy -will forward to the upstream (Envoy) cluster (a group of -endpoints) specified by the SNI value. This server is typically -used to provide connectivity between services in disparate L3 -networks that otherwise do not have direct connectivity between -their respective endpoints. Use of this mode assumes that both the -source and the destination are using Istio mTLS to secure traffic.

- -
-
-

ServiceEntry

-
-

ServiceEntry enables adding additional entries into Istio’s internal -service registry, so that auto-discovered services in the mesh can -access/route to these manually specified services. A service entry -describes the properties of a service (DNS name, VIPs, ports, protocols, -endpoints). These services could be external to the mesh (e.g., web -APIs) or mesh-internal services that are not part of the platform’s -service registry (e.g., a set of VMs talking to services in Kubernetes).

- -

The following configuration adds a set of MongoDB instances running on -unmanaged VMs to Istio’s registry, so that these services can be treated -as any other service in the mesh. The associated DestinationRule is used -to initiate mTLS connections to the database instances.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-mongocluster
-spec:
-  hosts:
-  - mymongodb.somedomain # not used
-  addresses:
-  - 192.192.192.192/24 # VIPs
-  ports:
-  - number: 27018
-    name: mongodb
-    protocol: MONGO
-  location: MESH_INTERNAL
-  resolution: STATIC
-  endpoints:
-  - address: 2.2.2.2
-  - address: 3.3.3.3
-
- -

and the associated DestinationRule

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: mtls-mongocluster
-spec:
-  host: mymongodb.somedomain
-  trafficPolicy:
-    tls:
-      mode: MUTUAL
-      clientCertificate: /etc/certs/myclientcert.pem
-      privateKey: /etc/certs/client_private_key.pem
-      caCertificates: /etc/certs/rootcacerts.pem
-
- -

The following example uses a combination of service entry and TLS -routing in virtual service to demonstrate the use of SNI routing to -forward unterminated TLS traffic from the application to external -services via the sidecar. The sidecar inspects the SNI value in the -ClientHello message to route to the appropriate external service.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-https
-spec:
-  hosts:
-  - api.dropboxapi.com
-  - www.googleapis.com
-  - api.facebook.com
-  location: MESH_EXTERNAL
-  ports:
-  - number: 443
-    name: https
-    protocol: TLS
-  resolution: DNS
-
- -

And the associated VirtualService to route based on the SNI value.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: tls-routing
-spec:
-  hosts:
-  - api.dropboxapi.com
-  - www.googleapis.com
-  - api.facebook.com
-  tls:
-  - match:
-    - port: 443
-      sniHosts:
-      - api.dropboxapi.com
-    route:
-    - destination:
-        host: api.dropboxapi.com
-  - match:
-    - port: 443
-      sniHosts:
-      - www.googleapis.com
-    route:
-    - destination:
-        host: www.googleapis.com
-  - match:
-    - port: 443
-      sniHosts:
-      - api.facebook.com
-    route:
-    - destination:
-        host: api.facebook.com
-
-
- -

The following example demonstrates the use of a dedicated egress gateway -through which all external service traffic is forwarded. -The ‘exportTo’ field allows for control over the visibility of a service -declaration to other namespaces in the mesh. By default a service is exported -to all namespaces. The following example restricts the visibility to the -current namespace, represented by “.”, so that it cannot be used by other -namespaces.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-httpbin
-  namespace : egress
-spec:
-  hosts:
-  - httpbin.com
-  exportTo:
-  - "."
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: DNS
-
- -

Define a gateway to handle all egress traffic.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Gateway
-metadata:
- name: istio-egressgateway
- namespace: egress
-spec:
- selector:
-   istio: egressgateway
- servers:
- - port:
-     number: 80
-     name: http
-     protocol: HTTP
-   hosts:
-   - "*"
-
- -

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 -a managed middle proxy like this is a common practice.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: gateway-routing
-  namespace: egress
-spec:
-  hosts:
-  - httpbin.com
-  exportTo:
-  - *
-  gateways:
-  - mesh
-  - istio-egressgateway
-  http:
-  - match:
-    - port: 80
-      gateways:
-      - mesh
-    route:
-    - destination:
-        host: istio-egressgateway.istio-system.svc.cluster.local
-  - match:
-    - port: 80
-      gateway:
-      - istio-egressgateway
-    route:
-    - destination:
-        host: httpbin.com
-
- -

The following example demonstrates the use of wildcards in the hosts for -external services. If the connection has to be routed to the IP address -requested by the application (i.e. application resolves DNS and attempts -to connect to a specific IP), the discovery mode must be set to NONE.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-wildcard-example
-spec:
-  hosts:
-  - "*.bar.com"
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: NONE
-
- -

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.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: unix-domain-socket-example
-spec:
-  hosts:
-  - "example.unix.local"
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: STATIC
-  endpoints:
-  - address: unix:///var/run/example/socket
-
- -

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 -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

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: external-svc-dns
-spec:
-  hosts:
-  - foo.bar.com
-  location: MESH_EXTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: DNS
-  endpoints:
-  - address: us.foo.bar.com
-    ports:
-      https: 8080
-  - address: uk.foo.bar.com
-    ports:
-      https: 9080
-  - address: in.foo.bar.com
-    ports:
-      https: 7080
-
- -

With HTTP_PROXY=http://localhost/, calls from the application to -http://foo.bar.com will be load balanced across the three domains -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 -containing a subject alternate name -whose format conforms to the SPIFEE standard -https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md:

- -
apiVersion: networking.istio.io/v1alpha3
-kind: ServiceEntry
-metadata:
-  name: httpbin
-  namespace : httpbin-ns
-spec:
-  hosts:
-  - httpbin.com
-  location: MESH_INTERNAL
-  ports:
-  - number: 80
-    name: http
-    protocol: HTTP
-  resolution: STATIC
-  endpoints:
-  - address: 2.2.2.2
-  - address: 3.3.3.3
-  subjectAltNames:
-  - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hostsstring[] -

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.

- -
addressesstring[] -

The virtual IP addresses associated with the service. Could be CIDR -prefix. For HTTP services, 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, -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 -solely based on the destination port. In such scenarios, the port on -which the service is being accessed must not be shared by any other -service in the mesh. In other words, the sidecar will behave as a -simple TCP proxy, forwarding incoming traffic on a specified port to -the specified destination endpoint IP/host. Unix domain socket -addresses are not supported in this field.

- -
portsPort[] -

REQUIRED. The ports associated with the external service. If the -Endpoints are unix domain socket addresses, there must be exactly one -port.

- -
locationServiceEntry.Location -

Specify whether the service should be considered external to the mesh -or part of the mesh.

- -
resolutionServiceEntry.Resolution -

REQUIRED: Service discovery mode for the hosts. Care must be taken -when setting the resolution mode to NONE for a TCP port without -accompanying IP addresses. In such cases, traffic to any IP on -said port will be allowed (i.e. 0.0.0.0:).

- -
endpointsServiceEntry.Endpoint[] -

One or more endpoints associated with the service.

- -
exportTostring[] -

A list of namespaces to which this service is exported. Exporting a service -allows it to used by sidecars, gateways and virtual services defined in -other namespaces. This feature provides a mechanism for service owners -and mesh administrators to control the visibility of services across -namespace boundaries.

- -

If no namespaces are specified then the service is exported to all -namespaces by default.

- -

The value “.” is reserved and defines an export to the same namespace that -the service is declared in, similarly the value “*” is reserved and -defines an export to all namespaces.

- -

For a Kubernetes Service the equivalent effect can be achieved by setting -the annotation “networking.istio.io/exportTo” to a comma-separated list -of namespace names.

- -
subjectAltNamesstring[] -

The list of subject alternate names allowed for workloads that -implement this service. This information is used to enforce -secure-naming https://istio.io/docs/concepts/security/#secure-naming. -If specified, the proxy will verify that the server -certificate’s subject alternate name matches one of the specified values.

- -
-
-

ServiceEntry.Endpoint

-
-

Endpoint defines a network address (IP or hostname) associated with -the mesh service.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
addressstring -

REQUIRED: Address associated with the network endpoint without the -port. Domain names can be used if and only if the resolution is set -to DNS, and must be fully-qualified without wildcards. Use the form -unix:///absolute/path/to/socket for unix domain socket endpoints.

- -
portsmap<string, uint32> -

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.

- -
labelsmap<string, string> -

One or more labels associated with the endpoint.

- -
networkstring -

Network enables Istio to group endpoints resident in the same L3 -domain/network. All endpoints in the same network are assumed to be -directly reachable from one another. When endpoints in different -networks cannot reach each other directly, an Istio Gateway can be -used to establish connectivity (usually using the -AUTO_PASSTHROUGH mode in a Gateway Server). This is -an advanced configuration used typically for spanning an Istio mesh -over multiple clusters.

- -
localitystring -

The locality associated with the endpoint. A locality corresponds -to a failure domain (e.g., country/region/zone). Arbitrary failure -domain hierarchies can be represented by separating each -encapsulating failure domain by /. For example, the locality of an -an endpoint in US, in US-East-1 region, within availability zone -az-1, in data center rack r11 can be represented as -us/us-east-1/az-1/r11. Istio will configure the sidecar to route to -endpoints within the same locality as the sidecar. If none of the -endpoints in the locality are available, endpoints parent locality -(but within the same network ID) will be chosen. For example, if -there are two endpoints in same network (networkID “n1”), say e1 -with locality us/us-east-1/az-1/r11 and e2 with locality -us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality -will prefer e1 from the same locality over e2 from a different -locality. Endpoint e2 could be the IP associated with a gateway -(that bridges networks n1 and n2), or the IP associated with a -standard service endpoint.

- -
weightuint32 -

The load balancing weight associated with the endpoint. Endpoints -with higher weights will receive proportionally higher traffic.

- -
-
-

ServiceEntry.Location

-
-

Location specifies whether the service is part of Istio mesh or -outside the mesh. Location determines the behavior of several -features, such as service-to-service mTLS authentication, policy -enforcement, etc. When communicating with services outside the mesh, -Istio’s mTLS authentication is disabled, and policy enforcement is -performed on the client-side as opposed to server-side.

- - - - - - - - - - - - - - - - - - -
NameDescription
MESH_EXTERNAL -

Signifies that the service is external to the mesh. Typically used -to indicate external services consumed through APIs.

- -
MESH_INTERNAL -

Signifies that the service is part of the mesh. Typically used to -indicate services added explicitly as part of expanding the service -mesh to include unmanaged infrastructure (e.g., VMs added to a -Kubernetes based service mesh).

- -
-
-

ServiceEntry.Resolution

-
-

Resolution determines how the proxy will resolve the IP addresses of -the network endpoints associated with the service, so that it can -route to one of them. The resolution mode specified here has no impact -on how the application resolves the IP address associated with the -service. The application may still have to use DNS to resolve the -service to an IP so that the outbound traffic can be captured by the -Proxy. Alternatively, for HTTP services, the application could -directly communicate with the proxy (e.g., by setting HTTP_PROXY) to -talk to these services.

- - - - - - - - - - - - - - - - - - - - - - -
NameDescription
NONE -

Assume that incoming connections have already been resolved (to a -specific destination IP address). Such connections are typically -routed via the proxy using mechanisms such as IP table REDIRECT/ -eBPF. After performing any routing related transformations, the -proxy will forward the connection to the IP address to which the -connection was bound.

- -
STATIC -

Use the static IP addresses specified in endpoints (see below) as the -backing instances associated with the service.

- -
DNS -

Attempt to resolve the IP address by querying the ambient DNS, -during request processing. If no endpoints are specified, the proxy -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 -domain socket endpoints.

- -
-
-

Sidecar

-
-

Sidecar describes the configuration of the sidecar proxy that mediates -inbound and outbound communication to the workload it is attached to. By -default, Istio will program all sidecar proxies in the mesh with the -necessary configuration required to reach every workload in the mesh, as -well as accept traffic on all the ports associated with the -workload. The Sidecar resource provides a way to fine tune the set of -ports, protocols that the proxy will accept when forwarding traffic to -and from the workload. In addition, it is possible to restrict the set -of services that the proxy can reach when forwarding outbound traffic -from the workload.

- -

Services and configuration in a mesh are organized into one or more -namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar -resource in a namespace will apply to one or more workloads in the same -namespace, selected using the workloadSelector. In the absence of a -workloadSelector, it will apply to all workloads in the same -namespace. When determining the Sidecar resource to be applied to a -workload, preference will be given to the resource with a -workloadSelector that selects this workload, over a Sidecar resource -without any workloadSelector.

- -

NOTE: Each namespace can have only one Sidecar resource without any -workload selector. The behavior of the system is undefined if more -than one selector-less Sidecar resources exist in a given namespace. The -behavior of the system is undefined if two or more Sidecar resources -with a workload selector select the same workload.

- -

The example below declares a Sidecar resource in the prod-us1 namespace -that configures the sidecars in the namespace to allow egress traffic to -public services in the prod-us1, prod-apis, and the istio-system -namespaces.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Sidecar
-metadata:
-  name: default
-  namespace: prod-us1
-spec:
-  egress:
-  - hosts:
-    - "prod-us1/*"
-    - "prod-apis/*"
-    - "istio-system/*"
-
- -

The example below declares a Sidecar resource in the prod-us1 namespace -that accepts inbound HTTP traffic on port 9080 and forwards -it to the attached workload listening on a unix domain socket. In the -egress direction, in addition to the istio-system namespace, the sidecar -proxies only HTTP traffic bound for port 9080 for services in the -prod-us1 namespace.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: Sidecar
-metadata:
-  name: default
-  namespace: prod-us1
-spec:
-  ingress:
-  - port:
-      number: 9080
-      protocol: HTTP
-      name: somename
-    defaultEndpoint: unix:///var/run/someuds.sock
-  egress:
-  - hosts:
-    - "istio-system/*"
-  - port:
-      number: 9080
-      protocol: HTTP
-      name: egresshttp
-    hosts:
-    - "prod-us1/*"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
workloadSelectorWorkloadSelector -

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.

- -
ingressIstioIngressListener[] -

Ingress specifies the configuration of the sidecar for processing -inbound traffic to the attached workload. If omitted, Istio will -autoconfigure the sidecar based on the information about the workload -obtained from the orchestration platform (e.g., exposed ports, services, -etc.).

- -
egressIstioEgressListener[] -

Egress specifies the configuration of the sidecar for processing -outbound traffic from the attached workload to other services in the -mesh. If omitted, Istio will autoconfigure the sidecar to be able to -reach every service in the mesh that is visible to this namespace.

- -
-
-

StringMatch

-
-

Describes how to match a given string in HTTP headers. Match is -case-sensitive.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
exactstring (oneof) -

exact string match

- -
prefixstring (oneof) -

prefix-based match

- -
regexstring (oneof) -

ECMAscript style regex-based match

- -
-
-

Subset

-
-

A subset of endpoints of a service. Subsets can be used for scenarios -like A/B testing, or routing to a specific version of a service. Refer -to VirtualService documentation for examples of using -subsets in these scenarios. In addition, traffic policies defined at the -service-level can be overridden at a subset-level. The following rule -uses a round robin load balancing policy for all traffic going to a -subset named testversion that is composed of endpoints (e.g., pods) with -labels (version:v3).

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: bookinfo-ratings
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    loadBalancer:
-      simple: LEAST_CONN
-  subsets:
-  - name: testversion
-    labels:
-      version: v3
-    trafficPolicy:
-      loadBalancer:
-        simple: ROUND_ROBIN
-
- -

Note: Policies specified for subsets will not take effect until -a route rule explicitly sends traffic to this subset.

- -

One or more labels are typically required to identify the subset destination, -however, when the corresponding DestinationRule represents a host that -supports multiple SNI hosts (e.g., an egress gateway), a subset without labels -may be meaningful. In this case a traffic policy with TLSSettings -can be used to identify a specific SNI host corresponding to the named subset.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
namestring -

REQUIRED. Name of the subset. The service name and the subset name can -be used for traffic splitting in a route rule.

- -
labelsmap<string, string> -

Labels apply a filter over the endpoints of a service in the -service registry. See route rules for examples of usage.

- -
trafficPolicyTrafficPolicy -

Traffic policies that apply to this subset. Subsets inherit the -traffic policies specified at the DestinationRule level. Settings -specified at the subset level will override the corresponding settings -specified at the DestinationRule level.

- -
-
-

TCPRoute

-
-

Describes match conditions and actions for routing TCP traffic. The -following routing rule forwards traffic arriving at port 27017 for -mongo.prod.svc.cluster.local to another Mongo server on port 5555.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-Mongo
-spec:
-  hosts:
-  - mongo.prod.svc.cluster.local
-  tcp:
-  - match:
-    - port: 27017
-    route:
-    - destination:
-        host: mongo.backup.svc.cluster.local
-        port:
-          number: 5555
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchL4MatchAttributes[] -

Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeRouteDestination[] -

The destination to which the connection should be forwarded to.

- -
-
-

TLSMatchAttributes

-
-

TLS connection match attributes.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
sniHostsstring[] -

REQUIRED. SNI (server name indicator) to match on. Wildcard prefixes -can be used in the SNI value, e.g., *.com will match foo.example.com -as well as example.com. An SNI value must be a subset (i.e., fall -within the domain) of the corresponding virtual serivce’s hosts.

- -
destinationSubnetsstring[] -

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., -a.b.c.d/xx form or just a.b.c.d.

- -
portuint32 -

Specifies the port on the host that is being addressed. Many services -only expose a single port or label ports with the protocols they -support, in these cases it is not required to explicitly select the -port.

- -
sourceLabelsmap<string, string> -

One or more labels that constrain the applicability of a rule to -workloads with the given labels. If the VirtualService has a list of -gateways specified at the top, it should include the reserved gateway -mesh in order for this field to be applicable.

- -
gatewaysstring[] -

Names of gateways where the rule should be applied to. Gateway names -at the top of the VirtualService (if any) are overridden. The gateway -match is independent of sourceLabels.

- -
-
-

TLSRoute

-
-

Describes match conditions and actions for routing unterminated TLS -traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS -traffic arriving at port 443 of gateway called “mygateway” to internal -services in the mesh based on the SNI value.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: bookinfo-sni
-spec:
-  hosts:
-  - "*.bookinfo.com"
-  gateways:
-  - mygateway
-  tls:
-  - match:
-    - port: 443
-      sniHosts:
-      - login.bookinfo.com
-    route:
-    - destination:
-        host: login.prod.svc.cluster.local
-  - match:
-    - port: 443
-      sniHosts:
-      - reviews.bookinfo.com
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-
- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
matchTLSMatchAttributes[] -

REQUIRED. Match conditions to be satisfied for the rule to be -activated. All conditions inside a single match block have AND -semantics, while the list of match blocks have OR semantics. The rule -is matched if any one of the match blocks succeed.

- -
routeRouteDestination[] -

The destination to which the connection should be forwarded to.

- -
-
-

TLSSettings

-
-

SSL/TLS related settings for upstream connections. See Envoy’s TLS -context -for more details. These settings are common to both HTTP and TCP upstreams.

- -

For example, the following rule configures a client to use mutual TLS -for connections to upstream database cluster.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: db-mtls
-spec:
-  host: mydbserver.prod.svc.cluster.local
-  trafficPolicy:
-    tls:
-      mode: MUTUAL
-      clientCertificate: /etc/certs/myclientcert.pem
-      privateKey: /etc/certs/client_private_key.pem
-      caCertificates: /etc/certs/rootcacerts.pem
-
- -

The following rule configures a client to use TLS when talking to a -foreign service whose domain matches *.foo.com.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: tls-foo
-spec:
-  host: "*.foo.com"
-  trafficPolicy:
-    tls:
-      mode: SIMPLE
-
- -

The following rule configures a client to use Istio mutual TLS when talking -to rating services.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: ratings-istio-mtls
-spec:
-  host: ratings.prod.svc.cluster.local
-  trafficPolicy:
-    tls:
-      mode: ISTIO_MUTUAL
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
modeTLSSettings.TLSmode -

REQUIRED: Indicates whether connections to this port should be secured -using TLS. The value of this field determines how TLS is enforced.

- -
clientCertificatestring -

REQUIRED if mode is MUTUAL. The path to the file holding the -client-side TLS certificate to use. -Should be empty if mode is ISTIO_MUTUAL.

- -
privateKeystring -

REQUIRED if mode is MUTUAL. The path to the file holding the -client’s private key. -Should be empty if mode is ISTIO_MUTUAL.

- -
caCertificatesstring -

OPTIONAL: The path to the file containing certificate authority -certificates to use in verifying a presented server certificate. If -omitted, the proxy will not verify the server’s certificate. -Should be empty if mode is ISTIO_MUTUAL.

- -
subjectAltNamesstring[] -

A list of alternate names to verify the subject identity in the -certificate. If specified, the proxy will verify that the server -certificate’s subject alt name matches one of the specified values. -If specified, this list overrides the value of subjectaltnames -from the ServiceEntry.

- -
snistring -

SNI string to present to the server during TLS handshake.

- -
-
-

TLSSettings.TLSmode

-
-

TLS connection mode

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
DISABLE -

Do not setup a TLS connection to the upstream endpoint.

- -
SIMPLE -

Originate a TLS connection to the upstream endpoint.

- -
MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication.

- -
ISTIO_MUTUAL -

Secure connections to the upstream using mutual TLS by presenting -client certificates for authentication. -Compared to Mutual mode, this mode uses certificates generated -automatically by Istio for mTLS authentication. When this mode is -used, all other fields in TLSSettings should be empty.

- -
-
-

TrafficPolicy

-
-

Traffic policies to apply for a specific destination, across all -destination ports. See DestinationRule for examples.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
loadBalancerLoadBalancerSettings -

Settings controlling the load balancer algorithms.

- -
connectionPoolConnectionPoolSettings -

Settings controlling the volume of connections to an upstream service

- -
outlierDetectionOutlierDetection -

Settings controlling eviction of unhealthy hosts from the load balancing pool

- -
tlsTLSSettings -

TLS related settings for connections to the upstream service.

- -
portLevelSettingsTrafficPolicy.PortTrafficPolicy[] -

Traffic policies specific to individual ports. Note that port level -settings will override the destination-level settings. Traffic -settings specified at the destination-level will not be inherited when -overridden by port-level settings, i.e. default values will be applied -to fields omitted in port-level traffic policies.

- -
-
-

TrafficPolicy.PortTrafficPolicy

-
-

Traffic policies that apply to specific ports of the service

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
portPortSelector -

Specifies the port name or number of a port on the destination service -on which this policy is being applied.

- -

Names must comply with DNS label syntax (rfc1035) and therefore cannot -collide with numbers. If there are multiple ports on a service with -the same protocol the names should be of the form -.

- -
loadBalancerLoadBalancerSettings -

Settings controlling the load balancer algorithms.

- -
connectionPoolConnectionPoolSettings -

Settings controlling the volume of connections to an upstream service

- -
outlierDetectionOutlierDetection -

Settings controlling eviction of unhealthy hosts from the load balancing pool

- -
tlsTLSSettings -

TLS related settings for connections to the upstream service.

- -
-
-

VirtualService

-
-

A VirtualService defines a set of traffic routing rules to apply when a host is -addressed. Each routing rule defines matching criteria for traffic of a specific -protocol. If the traffic is matched, then it is sent to a named destination service -(or subset/version of it) defined in the registry.

- -

The source of traffic can also be matched in a routing rule. This allows routing -to be customized for specific client contexts.

- -

The following example on Kubernetes, routes all HTTP traffic by default to -pods of the reviews service with label “version: v1”. In addition, -HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will -be rewritten to /newcatalog and sent to pods with label “version: v2”.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: VirtualService
-metadata:
-  name: reviews-route
-spec:
-  hosts:
-  - reviews.prod.svc.cluster.local
-  http:
-  - match:
-    - uri:
-        prefix: "/wpcatalog"
-    - uri:
-        prefix: "/consumercatalog"
-    rewrite:
-      uri: "/newcatalog"
-    route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v2
-  - route:
-    - destination:
-        host: reviews.prod.svc.cluster.local
-        subset: v1
-
- -

A subset/version of a route destination is identified with a reference -to a named service subset which must be declared in a corresponding -DestinationRule.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: DestinationRule
-metadata:
-  name: reviews-destination
-spec:
-  host: reviews.prod.svc.cluster.local
-  subsets:
-  - name: v1
-    labels:
-      version: v1
-  - name: v2
-    labels:
-      version: v2
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
hostsstring[] -

REQUIRED. The destination hosts to which traffic is being sent. Could -be a DNS name with wildcard prefix or an IP address. Depending on the -platform, short-names can also be used instead of a FQDN (i.e. has no -dots in the name). In such a scenario, the FQDN of the host would be -derived based on the underlying platform.

- -

A host name can be defined by only one VirtualService. A single -VirtualService can be used to describe traffic properties for multiple -HTTP and TCP ports.

- -

Note for Kubernetes users: When short names are used (e.g. “reviews” -instead of “reviews.default.svc.cluster.local”), Istio will interpret -the short name based on the namespace of the rule, not the service. A -rule in the “default” namespace containing a host “reviews will be -interpreted as “reviews.default.svc.cluster.local”, irrespective of -the actual namespace associated with the reviews service. To avoid -potential misconfigurations, it is recommended to always use fully -qualified domain names over short names.

- -

The hosts field applies to both HTTP and TCP services. Service inside -the mesh, i.e., those found in the service registry, must always be -referred to using their alphanumeric names. IP addresses are allowed -only for services defined via the Gateway.

- -
gatewaysstring[] -

The names of gateways and sidecars that should apply these routes. A -single VirtualService is used for sidecars inside the mesh as well as -for one or more gateways. The selection condition imposed by this -field can be overridden using the source field in the match conditions -of protocol-specific routes. The reserved word mesh is used to imply -all the sidecars in the mesh. When this field is omitted, the default -gateway (mesh) will be used, which would apply the rule to all -sidecars in the mesh. If a list of gateway names is provided, the -rules will apply only to the gateways. To apply the rules to both -gateways and sidecars, specify mesh as one of the gateway names.

- -
httpHTTPRoute[] -

An ordered list of route rules for HTTP traffic. HTTP routes will be -applied to platform service ports named ‘http-’/‘http2-’/‘grpc-*’, gateway -ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service -entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching -an incoming request is used.

- -
tlsTLSRoute[] -

An ordered list of route rule for non-terminated TLS & HTTPS -traffic. Routing is typically performed using the SNI value presented -by the ClientHello message. TLS routes will be applied to platform -service ports named ‘https-’, ‘tls-’, unterminated gateway ports using -HTTPS/TLS protocols (i.e. with “passthrough” TLS mode) and service -entry ports using HTTPS/TLS protocols. The first rule matching an -incoming request is used. NOTE: Traffic ‘https-’ or ‘tls-’ ports -without associated virtual service will be treated as opaque TCP -traffic.

- -
tcpTCPRoute[] -

An ordered list of route rules for opaque TCP traffic. TCP routes will -be applied to any port that is not a HTTP or TLS port. The first rule -matching an incoming request is used.

- -
exportTostring[] -

A list of namespaces to which this virtual service is exported. Exporting a -virtual service allows it to used by sidecars and gateways defined in -other namespaces. This feature provides a mechanism for service owners -and mesh administrators to control the visibility of virtual services -across namespace boundaries.

- -

If no namespaces are specified then the virtual service is exported to all -namespaces by default.

- -

The value “.” is reserved and defines an export to the same namespace that -the virtual service is declared in, similarly the value “*” is reserved and -defines an export to all namespaces.

- -
-
-

WorkloadSelector

-
-

WorkloadSelector specifies the criteria used to determine if the Gateway -or Sidecar resource can be applied to a proxy. The matching criteria -includes the metadata associated with a proxy, workload info such as -labels attached to the pod/VM, or any other info that the proxy provides -to Istio during the initial handshake. If multiple conditions are -specified, all conditions need to match in order for the workload to be -selected. Currently, only label based selection mechanism is supported.

- - - - - - - - - - - - - - - - -
FieldTypeDescription
labelsmap<string, string> -

REQUIRED: One or more labels that indicate a specific set of pods/VMs -on which this sidecar configuration should be applied. The scope of -label search is restricted to the configuration namespace in which the -the resource is present.

- -
-
diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index d34c55bc909..b6923884133 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -1,115 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/service_entry.proto -package v1alpha3 - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - -// Location specifies whether the service is part of Istio mesh or -// outside the mesh. Location determines the behavior of several -// features, such as service-to-service mTLS authentication, policy -// enforcement, etc. When communicating with services outside the mesh, -// Istio's mTLS authentication is disabled, and policy enforcement is -// performed on the client-side as opposed to server-side. -type ServiceEntry_Location int32 - -const ( - // Signifies that the service is external to the mesh. Typically used - // to indicate external services consumed through APIs. - ServiceEntry_MESH_EXTERNAL ServiceEntry_Location = 0 - // Signifies that the service is part of the mesh. Typically used to - // indicate services added explicitly as part of expanding the service - // mesh to include unmanaged infrastructure (e.g., VMs added to a - // Kubernetes based service mesh). - ServiceEntry_MESH_INTERNAL ServiceEntry_Location = 1 -) - -var ServiceEntry_Location_name = map[int32]string{ - 0: "MESH_EXTERNAL", - 1: "MESH_INTERNAL", -} - -var ServiceEntry_Location_value = map[string]int32{ - "MESH_EXTERNAL": 0, - "MESH_INTERNAL": 1, -} - -func (x ServiceEntry_Location) String() string { - return proto.EnumName(ServiceEntry_Location_name, int32(x)) -} - -func (ServiceEntry_Location) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} -} - -// Resolution determines how the proxy will resolve the IP addresses of -// the network endpoints associated with the service, so that it can -// route to one of them. The resolution mode specified here has no impact -// on how the application resolves the IP address associated with the -// service. The application may still have to use DNS to resolve the -// service to an IP so that the outbound traffic can be captured by the -// Proxy. Alternatively, for HTTP services, the application could -// directly communicate with the proxy (e.g., by setting HTTP_PROXY) to -// talk to these services. -type ServiceEntry_Resolution int32 - -const ( - // Assume that incoming connections have already been resolved (to a - // specific destination IP address). Such connections are typically - // routed via the proxy using mechanisms such as IP table REDIRECT/ - // eBPF. After performing any routing related transformations, the - // proxy will forward the connection to the IP address to which the - // connection was bound. - ServiceEntry_NONE ServiceEntry_Resolution = 0 - // Use the static IP addresses specified in endpoints (see below) as the - // backing instances associated with the service. - ServiceEntry_STATIC ServiceEntry_Resolution = 1 - // Attempt to resolve the IP address by querying the ambient DNS, - // during request processing. If no endpoints are specified, the proxy - // 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 - // domain socket endpoints. - ServiceEntry_DNS ServiceEntry_Resolution = 2 -) - -var ServiceEntry_Resolution_name = map[int32]string{ - 0: "NONE", - 1: "STATIC", - 2: "DNS", -} - -var ServiceEntry_Resolution_value = map[string]int32{ - "NONE": 0, - "STATIC": 1, - "DNS": 2, -} - -func (x ServiceEntry_Resolution) String() string { - return proto.EnumName(ServiceEntry_Resolution_name, int32(x)) -} - -func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9220e0fa673c4bf8, []int{0, 1} -} - // `ServiceEntry` enables adding additional entries into Istio's internal // service registry, so that auto-discovered services in the mesh can // access/route to these manually specified services. A service entry @@ -416,6 +307,116 @@ func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { // - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account" // ``` // + +package v1alpha3 + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +// Location specifies whether the service is part of Istio mesh or +// outside the mesh. Location determines the behavior of several +// features, such as service-to-service mTLS authentication, policy +// enforcement, etc. When communicating with services outside the mesh, +// Istio's mTLS authentication is disabled, and policy enforcement is +// performed on the client-side as opposed to server-side. +type ServiceEntry_Location int32 + +const ( + // Signifies that the service is external to the mesh. Typically used + // to indicate external services consumed through APIs. + ServiceEntry_MESH_EXTERNAL ServiceEntry_Location = 0 + // Signifies that the service is part of the mesh. Typically used to + // indicate services added explicitly as part of expanding the service + // mesh to include unmanaged infrastructure (e.g., VMs added to a + // Kubernetes based service mesh). + ServiceEntry_MESH_INTERNAL ServiceEntry_Location = 1 +) + +var ServiceEntry_Location_name = map[int32]string{ + 0: "MESH_EXTERNAL", + 1: "MESH_INTERNAL", +} + +var ServiceEntry_Location_value = map[string]int32{ + "MESH_EXTERNAL": 0, + "MESH_INTERNAL": 1, +} + +func (x ServiceEntry_Location) String() string { + return proto.EnumName(ServiceEntry_Location_name, int32(x)) +} + +func (ServiceEntry_Location) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_9220e0fa673c4bf8, []int{0, 0} +} + +// Resolution determines how the proxy will resolve the IP addresses of +// the network endpoints associated with the service, so that it can +// route to one of them. The resolution mode specified here has no impact +// on how the application resolves the IP address associated with the +// service. The application may still have to use DNS to resolve the +// service to an IP so that the outbound traffic can be captured by the +// Proxy. Alternatively, for HTTP services, the application could +// directly communicate with the proxy (e.g., by setting HTTP_PROXY) to +// talk to these services. +type ServiceEntry_Resolution int32 + +const ( + // Assume that incoming connections have already been resolved (to a + // specific destination IP address). Such connections are typically + // routed via the proxy using mechanisms such as IP table REDIRECT/ + // eBPF. After performing any routing related transformations, the + // proxy will forward the connection to the IP address to which the + // connection was bound. + ServiceEntry_NONE ServiceEntry_Resolution = 0 + // Use the static IP addresses specified in endpoints (see below) as the + // backing instances associated with the service. + ServiceEntry_STATIC ServiceEntry_Resolution = 1 + // Attempt to resolve the IP address by querying the ambient DNS, + // during request processing. If no endpoints are specified, the proxy + // 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 + // domain socket endpoints. + ServiceEntry_DNS ServiceEntry_Resolution = 2 +) + +var ServiceEntry_Resolution_name = map[int32]string{ + 0: "NONE", + 1: "STATIC", + 2: "DNS", +} + +var ServiceEntry_Resolution_value = map[string]int32{ + "NONE": 0, + "STATIC": 1, + "DNS": 2, +} + +func (x ServiceEntry_Resolution) String() string { + return proto.EnumName(ServiceEntry_Resolution_name, int32(x)) +} + +func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_9220e0fa673c4bf8, []int{0, 1} +} + 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 @@ -472,7 +473,7 @@ type ServiceEntry struct { ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce - // secure-naming . + // [secure-naming](/docs/concepts/security/#secure-naming). // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. SubjectAltNames []string `protobuf:"bytes,8,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html new file mode 100644 index 00000000000..a53b377df89 --- /dev/null +++ b/networking/v1alpha3/service_entry.pb.html @@ -0,0 +1,612 @@ +--- +title: Service Entry +description: Configuration affecting service registry. +location: https://istio.io/docs/reference/config/networking/v1alpha3/service-entry.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 4 +--- +

ServiceEntry enables adding additional entries into Istio’s internal +service registry, so that auto-discovered services in the mesh can +access/route to these manually specified services. A service entry +describes the properties of a service (DNS name, VIPs, ports, protocols, +endpoints). These services could be external to the mesh (e.g., web +APIs) or mesh-internal services that are not part of the platform’s +service registry (e.g., a set of VMs talking to services in Kubernetes).

+ +

The following configuration adds a set of MongoDB instances running on +unmanaged VMs to Istio’s registry, so that these services can be treated +as any other service in the mesh. The associated DestinationRule is used +to initiate mTLS connections to the database instances.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-mongocluster
+spec:
+  hosts:
+  - mymongodb.somedomain # not used
+  addresses:
+  - 192.192.192.192/24 # VIPs
+  ports:
+  - number: 27018
+    name: mongodb
+    protocol: MONGO
+  location: MESH_INTERNAL
+  resolution: STATIC
+  endpoints:
+  - address: 2.2.2.2
+  - address: 3.3.3.3
+
+ +

and the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: mtls-mongocluster
+spec:
+  host: mymongodb.somedomain
+  trafficPolicy:
+    tls:
+      mode: MUTUAL
+      clientCertificate: /etc/certs/myclientcert.pem
+      privateKey: /etc/certs/client_private_key.pem
+      caCertificates: /etc/certs/rootcacerts.pem
+
+ +

The following example uses a combination of service entry and TLS +routing in virtual service to demonstrate the use of SNI routing to +forward unterminated TLS traffic from the application to external +services via the sidecar. The sidecar inspects the SNI value in the +ClientHello message to route to the appropriate external service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-https
+spec:
+  hosts:
+  - api.dropboxapi.com
+  - www.googleapis.com
+  - api.facebook.com
+  location: MESH_EXTERNAL
+  ports:
+  - number: 443
+    name: https
+    protocol: TLS
+  resolution: DNS
+
+ +

And the associated VirtualService to route based on the SNI value.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: tls-routing
+spec:
+  hosts:
+  - api.dropboxapi.com
+  - www.googleapis.com
+  - api.facebook.com
+  tls:
+  - match:
+    - port: 443
+      sniHosts:
+      - api.dropboxapi.com
+    route:
+    - destination:
+        host: api.dropboxapi.com
+  - match:
+    - port: 443
+      sniHosts:
+      - www.googleapis.com
+    route:
+    - destination:
+        host: www.googleapis.com
+  - match:
+    - port: 443
+      sniHosts:
+      - api.facebook.com
+    route:
+    - destination:
+        host: api.facebook.com
+
+
+ +

The following example demonstrates the use of a dedicated egress gateway +through which all external service traffic is forwarded. +The ‘exportTo’ field allows for control over the visibility of a service +declaration to other namespaces in the mesh. By default a service is exported +to all namespaces. The following example restricts the visibility to the +current namespace, represented by “.”, so that it cannot be used by other +namespaces.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-httpbin
+  namespace : egress
+spec:
+  hosts:
+  - httpbin.com
+  exportTo:
+  - "."
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: DNS
+
+ +

Define a gateway to handle all egress traffic.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+ name: istio-egressgateway
+ namespace: egress
+spec:
+ selector:
+   istio: egressgateway
+ servers:
+ - port:
+     number: 80
+     name: http
+     protocol: HTTP
+   hosts:
+   - "*"
+
+ +

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 +a managed middle proxy like this is a common practice.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: gateway-routing
+  namespace: egress
+spec:
+  hosts:
+  - httpbin.com
+  exportTo:
+  - *
+  gateways:
+  - mesh
+  - istio-egressgateway
+  http:
+  - match:
+    - port: 80
+      gateways:
+      - mesh
+    route:
+    - destination:
+        host: istio-egressgateway.istio-system.svc.cluster.local
+  - match:
+    - port: 80
+      gateway:
+      - istio-egressgateway
+    route:
+    - destination:
+        host: httpbin.com
+
+ +

The following example demonstrates the use of wildcards in the hosts for +external services. If the connection has to be routed to the IP address +requested by the application (i.e. application resolves DNS and attempts +to connect to a specific IP), the discovery mode must be set to NONE.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-wildcard-example
+spec:
+  hosts:
+  - "*.bar.com"
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: NONE
+
+ +

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.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: unix-domain-socket-example
+spec:
+  hosts:
+  - "example.unix.local"
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: STATIC
+  endpoints:
+  - address: unix:///var/run/example/socket
+
+ +

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 +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

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-dns
+spec:
+  hosts:
+  - foo.bar.com
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: DNS
+  endpoints:
+  - address: us.foo.bar.com
+    ports:
+      https: 8080
+  - address: uk.foo.bar.com
+    ports:
+      https: 9080
+  - address: in.foo.bar.com
+    ports:
+      https: 7080
+
+ +

With HTTP_PROXY=http://localhost/, calls from the application to +http://foo.bar.com will be load balanced across the three domains +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 +containing a subject alternate name +whose format conforms to the SPIFEE standard +https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: httpbin
+  namespace : httpbin-ns
+spec:
+  hosts:
+  - httpbin.com
+  location: MESH_INTERNAL
+  ports:
+  - number: 80
+    name: http
+    protocol: HTTP
+  resolution: STATIC
+  endpoints:
+  - address: 2.2.2.2
+  - address: 3.3.3.3
+  subjectAltNames:
+  - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account"
+
+ +

ServiceEntry

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hostsstring[] +

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.

+ +
addressesstring[] +

The virtual IP addresses associated with the service. Could be CIDR +prefix. For HTTP services, 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, +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 +solely based on the destination port. In such scenarios, the port on +which the service is being accessed must not be shared by any other +service in the mesh. In other words, the sidecar will behave as a +simple TCP proxy, forwarding incoming traffic on a specified port to +the specified destination endpoint IP/host. Unix domain socket +addresses are not supported in this field.

+ +
portsPort[] +

REQUIRED. The ports associated with the external service. If the +Endpoints are unix domain socket addresses, there must be exactly one +port.

+ +
locationServiceEntry.Location +

Specify whether the service should be considered external to the mesh +or part of the mesh.

+ +
resolutionServiceEntry.Resolution +

REQUIRED: Service discovery mode for the hosts. Care must be taken +when setting the resolution mode to NONE for a TCP port without +accompanying IP addresses. In such cases, traffic to any IP on +said port will be allowed (i.e. 0.0.0.0:).

+ +
endpointsServiceEntry.Endpoint[] +

One or more endpoints associated with the service.

+ +
exportTostring[] +

A list of namespaces to which this service is exported. Exporting a service +allows it to used by sidecars, gateways and virtual services defined in +other namespaces. This feature provides a mechanism for service owners +and mesh administrators to control the visibility of services across +namespace boundaries.

+ +

If no namespaces are specified then the service is exported to all +namespaces by default.

+ +

The value “.” is reserved and defines an export to the same namespace that +the service is declared in, similarly the value “*” is reserved and +defines an export to all namespaces.

+ +

For a Kubernetes Service the equivalent effect can be achieved by setting +the annotation “networking.istio.io/exportTo” to a comma-separated list +of namespace names.

+ +
subjectAltNamesstring[] +

The list of subject alternate names allowed for workloads that +implement this service. This information is used to enforce +secure-naming. +If specified, the proxy will verify that the server +certificate’s subject alternate name matches one of the specified values.

+ +
+
+

ServiceEntry.Endpoint

+
+

Endpoint defines a network address (IP or hostname) associated with +the mesh service.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
addressstring +

REQUIRED: Address associated with the network endpoint without the +port. Domain names can be used if and only if the resolution is set +to DNS, and must be fully-qualified without wildcards. Use the form +unix:///absolute/path/to/socket for unix domain socket endpoints.

+ +
portsmap<string, uint32> +

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.

+ +
labelsmap<string, string> +

One or more labels associated with the endpoint.

+ +
networkstring +

Network enables Istio to group endpoints resident in the same L3 +domain/network. All endpoints in the same network are assumed to be +directly reachable from one another. When endpoints in different +networks cannot reach each other directly, an Istio Gateway can be +used to establish connectivity (usually using the +AUTO_PASSTHROUGH mode in a Gateway Server). This is +an advanced configuration used typically for spanning an Istio mesh +over multiple clusters.

+ +
localitystring +

The locality associated with the endpoint. A locality corresponds +to a failure domain (e.g., country/region/zone). Arbitrary failure +domain hierarchies can be represented by separating each +encapsulating failure domain by /. For example, the locality of an +an endpoint in US, in US-East-1 region, within availability zone +az-1, in data center rack r11 can be represented as +us/us-east-1/az-1/r11. Istio will configure the sidecar to route to +endpoints within the same locality as the sidecar. If none of the +endpoints in the locality are available, endpoints parent locality +(but within the same network ID) will be chosen. For example, if +there are two endpoints in same network (networkID “n1”), say e1 +with locality us/us-east-1/az-1/r11 and e2 with locality +us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality +will prefer e1 from the same locality over e2 from a different +locality. Endpoint e2 could be the IP associated with a gateway +(that bridges networks n1 and n2), or the IP associated with a +standard service endpoint.

+ +
weightuint32 +

The load balancing weight associated with the endpoint. Endpoints +with higher weights will receive proportionally higher traffic.

+ +
+
+

ServiceEntry.Location

+
+

Location specifies whether the service is part of Istio mesh or +outside the mesh. Location determines the behavior of several +features, such as service-to-service mTLS authentication, policy +enforcement, etc. When communicating with services outside the mesh, +Istio’s mTLS authentication is disabled, and policy enforcement is +performed on the client-side as opposed to server-side.

+ + + + + + + + + + + + + + + + + + +
NameDescription
MESH_EXTERNAL +

Signifies that the service is external to the mesh. Typically used +to indicate external services consumed through APIs.

+ +
MESH_INTERNAL +

Signifies that the service is part of the mesh. Typically used to +indicate services added explicitly as part of expanding the service +mesh to include unmanaged infrastructure (e.g., VMs added to a +Kubernetes based service mesh).

+ +
+
+

ServiceEntry.Resolution

+
+

Resolution determines how the proxy will resolve the IP addresses of +the network endpoints associated with the service, so that it can +route to one of them. The resolution mode specified here has no impact +on how the application resolves the IP address associated with the +service. The application may still have to use DNS to resolve the +service to an IP so that the outbound traffic can be captured by the +Proxy. Alternatively, for HTTP services, the application could +directly communicate with the proxy (e.g., by setting HTTP_PROXY) to +talk to these services.

+ + + + + + + + + + + + + + + + + + + + + + +
NameDescription
NONE +

Assume that incoming connections have already been resolved (to a +specific destination IP address). Such connections are typically +routed via the proxy using mechanisms such as IP table REDIRECT/ +eBPF. After performing any routing related transformations, the +proxy will forward the connection to the IP address to which the +connection was bound.

+ +
STATIC +

Use the static IP addresses specified in endpoints (see below) as the +backing instances associated with the service.

+ +
DNS +

Attempt to resolve the IP address by querying the ambient DNS, +during request processing. If no endpoints are specified, the proxy +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 +domain socket endpoints.

+ +
+
diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 1527586f479..0964ead5073 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Service Entry +// $description: Configuration affecting service registry. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/service-entry.html // `ServiceEntry` enables adding additional entries into Istio's internal // service registry, so that auto-discovered services in the mesh can @@ -326,6 +326,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // - "spiffe://cluster.local/ns/httpbin-ns/sa/httpbin-service-account" // ``` // +package istio.networking.v1alpha3; + +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 @@ -490,7 +494,7 @@ message ServiceEntry { // The list of subject alternate names allowed for workloads that // implement this service. This information is used to enforce - // secure-naming . + // [secure-naming](/docs/concepts/security/#secure-naming). // If specified, the proxy will verify that the server // certificate's subject alternate name matches one of the specified values. repeated string subject_alt_names = 8; diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index 70b52cdf959..e520774c021 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -1,63 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: networking/v1alpha3/sidecar.proto -package v1alpha3 - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - -// CaptureMode describes how traffic to a listener is expected to be -// captured. Applicable only when the listener is bound to an IP. -type CaptureMode int32 - -const ( - // The default capture mode defined by the environment - CaptureMode_DEFAULT CaptureMode = 0 - // Capture traffic using IPtables redirection - CaptureMode_IPTABLES CaptureMode = 1 - // No traffic capture. When used in egress listener, the application is - // expected to explicitly communicate with the listener port/unix - // domain socket. When used in ingress listener, care needs to be taken - // to ensure that the listener port is not in use by other processes on - // the host. - CaptureMode_NONE CaptureMode = 2 -) - -var CaptureMode_name = map[int32]string{ - 0: "DEFAULT", - 1: "IPTABLES", - 2: "NONE", -} - -var CaptureMode_value = map[string]int32{ - "DEFAULT": 0, - "IPTABLES": 1, - "NONE": 2, -} - -func (x CaptureMode) String() string { - return proto.EnumName(CaptureMode_name, int32(x)) -} - -func (CaptureMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b5c11342f04ad3d1, []int{0} -} - // `Sidecar` describes the configuration of the sidecar proxy that mediates // inbound and outbound communication to the workload it is attached to. By // default, Istio will program all sidecar proxies in the mesh with the @@ -135,6 +78,64 @@ func (CaptureMode) EnumDescriptor() ([]byte, []int) { // - "prod-us1/*" // ``` // + +package v1alpha3 + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +// CaptureMode describes how traffic to a listener is expected to be +// captured. Applicable only when the listener is bound to an IP. +type CaptureMode int32 + +const ( + // The default capture mode defined by the environment + CaptureMode_DEFAULT CaptureMode = 0 + // Capture traffic using IPtables redirection + CaptureMode_IPTABLES CaptureMode = 1 + // No traffic capture. When used in egress listener, the application is + // expected to explicitly communicate with the listener port/unix + // domain socket. When used in ingress listener, care needs to be taken + // to ensure that the listener port is not in use by other processes on + // the host. + CaptureMode_NONE CaptureMode = 2 +) + +var CaptureMode_name = map[int32]string{ + 0: "DEFAULT", + 1: "IPTABLES", + 2: "NONE", +} + +var CaptureMode_value = map[string]int32{ + "DEFAULT": 0, + "IPTABLES": 1, + "NONE": 2, +} + +func (x CaptureMode) String() string { + return proto.EnumName(CaptureMode_name, int32(x)) +} + +func (CaptureMode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_b5c11342f04ad3d1, []int{0} +} + 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 diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html new file mode 100644 index 00000000000..172162066fd --- /dev/null +++ b/networking/v1alpha3/sidecar.pb.html @@ -0,0 +1,348 @@ +--- +title: Sidecar +description: Configuration affecting network reachability of a sidecar. +location: https://istio.io/docs/reference/config/networking/v1alpha3/sidecar.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 5 +--- +

Sidecar describes the configuration of the sidecar proxy that mediates +inbound and outbound communication to the workload it is attached to. By +default, Istio will program all sidecar proxies in the mesh with the +necessary configuration required to reach every workload in the mesh, as +well as accept traffic on all the ports associated with the +workload. The Sidecar resource provides a way to fine tune the set of +ports, protocols that the proxy will accept when forwarding traffic to +and from the workload. In addition, it is possible to restrict the set +of services that the proxy can reach when forwarding outbound traffic +from the workload.

+ +

Services and configuration in a mesh are organized into one or more +namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar +resource in a namespace will apply to one or more workloads in the same +namespace, selected using the workloadSelector. In the absence of a +workloadSelector, it will apply to all workloads in the same +namespace. When determining the Sidecar resource to be applied to a +workload, preference will be given to the resource with a +workloadSelector that selects this workload, over a Sidecar resource +without any workloadSelector.

+ +

NOTE: Each namespace can have only one Sidecar resource without any +workload selector. The behavior of the system is undefined if more +than one selector-less Sidecar resources exist in a given namespace. The +behavior of the system is undefined if two or more Sidecar resources +with a workload selector select the same workload.

+ +

The example below declares a Sidecar resource in the prod-us1 namespace +that configures the sidecars in the namespace to allow egress traffic to +public services in the prod-us1, prod-apis, and the istio-system +namespaces.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  egress:
+  - hosts:
+    - "prod-us1/*"
+    - "prod-apis/*"
+    - "istio-system/*"
+
+ +

The example below declares a Sidecar resource in the prod-us1 namespace +that accepts inbound HTTP traffic on port 9080 and forwards +it to the attached workload listening on a unix domain socket. In the +egress direction, in addition to the istio-system namespace, the sidecar +proxies only HTTP traffic bound for port 9080 for services in the +prod-us1 namespace.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  ingress:
+  - port:
+      number: 9080
+      protocol: HTTP
+      name: somename
+    defaultEndpoint: unix:///var/run/someuds.sock
+  egress:
+  - hosts:
+    - "istio-system/*"
+  - port:
+      number: 9080
+      protocol: HTTP
+      name: egresshttp
+    hosts:
+    - "prod-us1/*"
+
+ +

CaptureMode

+
+

CaptureMode describes how traffic to a listener is expected to be +captured. Applicable only when the listener is bound to an IP.

+ + + + + + + + + + + + + + + + + + + + + + +
NameDescription
DEFAULT +

The default capture mode defined by the environment

+ +
IPTABLES +

Capture traffic using IPtables redirection

+ +
NONE +

No traffic capture. When used in egress listener, the application is +expected to explicitly communicate with the listener port/unix +domain socket. When used in ingress listener, care needs to be taken +to ensure that the listener port is not in use by other processes on +the host.

+ +
+
+

IstioEgressListener

+
+

IstioEgressListener specifies the properties of an outbound traffic +listener on the sidecar proxy attached to a workload.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

The port associated with the listener. If using unix domain socket, +use 0 as the port number, with a valid protocol. The port if +specified, will be used as the default destination port associated +with the imported hosts. If the port is omitted, Istio will infer the +listener ports based on the imported hosts. Note that when multiple +egress listeners are specified, where one or more listeners have +specific ports while others have no port, the hosts exposed on a +listener port will be based on the listener with the most specific +port.

+ +
bindstring +

The ip or the unix domain socket to which the listener should be bound +to. Port MUST be specified if bind is not empty. Format: x.x.x.x or +unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If +omitted, Istio will autoconfigure the defaults based on imported +services, the workload to which this configuration is applied to and +the captureMode. If captureMode is NONE, bind will default to +127.0.0.1.

+ +
captureModeCaptureMode +

When the bind address is an IP, the captureMode option dictates +how traffic to the listener is expected to be captured (or not). +captureMode must be DEFAULT or NONE for unix domain socket binds.

+ +
hostsstring[] +

REQUIRED: One or more services/virtualServices exposed by the listener +in namespace/dnsName format. Publicly scoped services and +VirtualServices from remote namespaces corresponding to the specified +hosts will be imported. The service in a namespace can be a service in +the service registry (e.g., a kubernetes or cloud foundry service) or +a service specified via ServiceEntry configuration. In addition, any +publicly scoped DestinationRule associated with the imported services +will also be imported.

+ +

Set the namespace to * to import a particular service from any +available namespace (e.g., “*/foo.example.com”). Set the dnsName field +to * to import all services from the specified namespace (e.g., +“prod/*”). The services should be specified using FQDN format.

+ +

NOTE: Only exported services and configuration artifacts from a +namespace can be imported. Private services/configuration will not be +imported. Refer to the scope setting associated with VirtualService, +DestinationRule, ServiceEntry, etc. for details.

+ +
+
+

IstioIngressListener

+
+

IstioIngressListener specifies the properties of an inbound +traffic listener on the sidecar proxy attached to a workload.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
portPort +

REQUIRED. The port associated with the listener. If using +unix domain socket, use 0 as the port number, with a valid +protocol.

+ +
bindstring +

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). If omitted, Istio will autoconfigure the defaults +based on imported services and the workload to which this +configuration is applied to.

+ +
captureModeCaptureMode +

When the bind address is an IP, the captureMode option dictates +how traffic to the listener is expected to be captured (or not). +captureMode must be DEFAULT or NONE for unix domain socket binds.

+ +
defaultEndpointstring +

REQUIRED: The loopback IP endpoint or unix domain socket to which +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

+ +
+
+

Sidecar

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
workloadSelectorWorkloadSelector +

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.

+ +
ingressIstioIngressListener[] +

Ingress specifies the configuration of the sidecar for processing +inbound traffic to the attached workload. If omitted, Istio will +autoconfigure the sidecar based on the information about the workload +obtained from the orchestration platform (e.g., exposed ports, services, +etc.).

+ +
egressIstioEgressListener[] +

Egress specifies the configuration of the sidecar for processing +outbound traffic from the attached workload to other services in the +mesh. If omitted, Istio will autoconfigure the sidecar to be able to +reach every service in the mesh that is visible to this namespace.

+ +
+
+

WorkloadSelector

+
+

WorkloadSelector specifies the criteria used to determine if the Gateway +or Sidecar resource can be applied to a proxy. The matching criteria +includes the metadata associated with a proxy, workload info such as +labels attached to the pod/VM, or any other info that the proxy provides +to Istio during the initial handshake. If multiple conditions are +specified, all conditions need to match in order for the workload to be +selected. Currently, only label based selection mechanism is supported.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
labelsmap<string, string> +

REQUIRED: One or more labels that indicate a specific set of pods/VMs +on which this sidecar configuration should be applied. The scope of +label search is restricted to the configuration namespace in which the +the resource is present.

+ +
+
diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index d2e2776513c..2db96f12a93 100644 --- a/networking/v1alpha3/sidecar.proto +++ b/networking/v1alpha3/sidecar.proto @@ -16,9 +16,9 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; +// $title: Sidecar +// $description: Configuration affecting network reachability of a sidecar. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/sidecar.html // `Sidecar` describes the configuration of the sidecar proxy that mediates // inbound and outbound communication to the workload it is attached to. By @@ -97,6 +97,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // - "prod-us1/*" // ``` // +package istio.networking.v1alpha3; + +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 diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 7ccda22babb..5426007e362 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -29,29 +29,7 @@ // actual choice of the version is determined by the proxy/sidecar, enabling the // application code to decouple itself from the evolution of dependent // services. - -package v1alpha3 - -import ( - encoding_binary "encoding/binary" - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - types "github.com/gogo/protobuf/types" - io "io" - math "math" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package - +// // A `VirtualService` defines a set of traffic routing rules to apply when a host is // addressed. Each routing rule defines matching criteria for traffic of a specific // protocol. If the traffic is matched, then it is sent to a named destination service @@ -112,6 +90,29 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // version: v2 // ``` // + +package v1alpha3 + +import ( + encoding_binary "encoding/binary" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + io "io" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package + type VirtualService struct { // REQUIRED. The destination hosts to which traffic is being sent. Could // be a DNS name with wildcard prefix or an IP address. Depending on the @@ -267,7 +268,7 @@ func (m *VirtualService) GetExportTo() []string { // registry. Istio's service registry is composed of all the services found // in the platform's service registry (e.g., Kubernetes services, Consul // services), as well as services declared through the -// [ServiceEntry](#ServiceEntry) resource. +// [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry) resource. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" // instead of "reviews.default.svc.cluster.local"), Istio will interpret @@ -392,7 +393,7 @@ type Destination struct { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntry](#ServiceEntry). Traffic forwarded to + // declared by [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Traffic forwarded to // destinations that are not found in either of the two, will be dropped. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html new file mode 100644 index 00000000000..c70eea2f091 --- /dev/null +++ b/networking/v1alpha3/virtual_service.pb.html @@ -0,0 +1,1759 @@ +--- +title: Virtual Service +description: Configuration affecting label/content routing, sni routing, etc. +location: https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 22 +--- +

Configuration affecting traffic routing. Here are a few terms useful to define +in the context of traffic routing.

+ +

Service a unit of application behavior bound to a unique name in a +service registry. Services consist of multiple network endpoints +implemented by workload instances running on pods, containers, VMs etc.

+ +

Service versions (a.k.a. subsets) - In a continuous deployment +scenario, for a given service, there can be distinct subsets of +instances running different variants of the application binary. These +variants are not necessarily different API versions. They could be +iterative changes to the same service, deployed in different +environments (prod, staging, dev, etc.). Common scenarios where this +occurs include A/B testing, canary rollouts, etc. The choice of a +particular version can be decided based on various criterion (headers, +url, etc.) and/or by weights assigned to each version. Each service has +a default version consisting of all its instances.

+ +

Source - A downstream client calling a service.

+ +

Host - The address used by a client when attempting to connect to a +service.

+ +

Access model - Applications address only the destination service +(Host) without knowledge of individual service versions (subsets). The +actual choice of the version is determined by the proxy/sidecar, enabling the +application code to decouple itself from the evolution of dependent +services.

+ +

A VirtualService defines a set of traffic routing rules to apply when a host is +addressed. Each routing rule defines matching criteria for traffic of a specific +protocol. If the traffic is matched, then it is sent to a named destination service +(or subset/version of it) defined in the registry.

+ +

The source of traffic can also be matched in a routing rule. This allows routing +to be customized for specific client contexts.

+ +

The following example on Kubernetes, routes all HTTP traffic by default to +pods of the reviews service with label “version: v1”. In addition, +HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will +be rewritten to /newcatalog and sent to pods with label “version: v2”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: "/wpcatalog"
+    - uri:
+        prefix: "/consumercatalog"
+    rewrite:
+      uri: "/newcatalog"
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v2
+  - route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+
+ +

A subset/version of a route destination is identified with a reference +to a named service subset which must be declared in a corresponding +DestinationRule.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+spec:
+  host: reviews.prod.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

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 +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 +Access-Control-Allow-Credentials header to false. In addition, it only +exposes X-Foo-bar header and sets an expiry period of 1 day.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    corsPolicy:
+      allowOrigin:
+      - example.com
+      allowMethods:
+      - POST
+      - GET
+      allowCredentials: false
+      allowHeaders:
+      - X-Foo-Bar
+      maxAge: "1d"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
allowOriginstring[] +

The list of origins that are allowed to perform CORS requests. The +content will be serialized into the Access-Control-Allow-Origin +header. Wildcard * will allow all origins.

+ +
allowMethodsstring[] +

List of HTTP methods allowed to access the resource. The content will +be serialized into the Access-Control-Allow-Methods header.

+ +
allowHeadersstring[] +

List of HTTP headers that can be used when requesting the +resource. Serialized to Access-Control-Allow-Headers header.

+ +
exposeHeadersstring[] +

A white list of HTTP headers that the browsers are allowed to +access. Serialized into Access-Control-Expose-Headers header.

+ +
maxAgegoogle.protobuf.Duration +

Specifies how long the results of a preflight request can be +cached. Translates to the Access-Control-Max-Age header.

+ +
allowCredentialsgoogle.protobuf.BoolValue +

Indicates whether the caller is allowed to send the actual request +(not the preflight) using credentials. Translates to +Access-Control-Allow-Credentials header.

+ +
+
+

Destination

+
+

Destination indicates the network addressable service to which the +request/connection will be sent after processing a routing rule. The +destination.host should unambiguously refer to a service in the service +registry. Istio’s service registry is composed of all the services found +in the platform’s service registry (e.g., Kubernetes services, Consul +services), as well as services declared through the +ServiceEntry resource.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of the +actual namespace associated with the reviews service. To avoid potential +misconfigurations, it is recommended to always use fully qualified +domain names over short names.

+ +

The following Kubernetes example routes all traffic by default to pods +of the reviews service with label “version: v1” (i.e., subset v1), and +some to subset v2, in a kubernetes environment.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+  namespace: foo
+spec:
+  hosts:
+  - reviews # interpreted as reviews.foo.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: "/wpcatalog"
+    - uri:
+        prefix: "/consumercatalog"
+    rewrite:
+      uri: "/newcatalog"
+    route:
+    - destination:
+        host: reviews # interpreted as reviews.foo.svc.cluster.local
+        subset: v2
+  - route:
+    - destination:
+        host: reviews # interpreted as reviews.foo.svc.cluster.local
+        subset: v1
+
+ +

And the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+  namespace: foo
+spec:
+  host: reviews # interpreted as reviews.foo.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

The following VirtualService sets a timeout of 5s for all calls to +productpage.prod.svc.cluster.local service in Kubernetes. Notice that +there are no subsets defined in this rule. Istio will fetch all +instances of productpage.prod.svc.cluster.local service from the service +registry and populate the sidecar’s load balancing pool. Also, notice +that this rule is set in the istio-system namespace but uses the fully +qualified domain name of the productpage service, +productpage.prod.svc.cluster.local. Therefore the rule’s namespace does +not have an impact in resolving the name of the productpage service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: my-productpage-rule
+  namespace: istio-system
+spec:
+  hosts:
+  - productpage.prod.svc.cluster.local # ignores rule namespace
+  http:
+  - timeout: 5s
+    route:
+    - destination:
+        host: productpage.prod.svc.cluster.local
+
+ +

To control routing for traffic bound to services outside the mesh, external +services must first be added to Istio’s internal service registry using the +ServiceEntry resource. VirtualServices can then be defined to control traffic +bound to these external services. For example, the following rules define a +Service for wikipedia.org and set a timeout of 5s for http requests.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-wikipedia
+spec:
+  hosts:
+  - wikipedia.org
+  location: MESH_EXTERNAL
+  ports:
+  - number: 80
+    name: example-http
+    protocol: HTTP
+  resolution: DNS
+
+apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: my-wiki-rule
+spec:
+  hosts:
+  - wikipedia.org
+  http:
+  - timeout: 5s
+    route:
+    - destination:
+        host: wikipedia.org
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hoststring +

REQUIRED. The name of a service from the service registry. Service +names are looked up from the platform’s service registry (e.g., +Kubernetes services, Consul services, etc.) and from the hosts +declared by ServiceEntry. Traffic forwarded to +destinations that are not found in either of the two, will be dropped.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +
subsetstring +

The name of a subset within the service. Applicable only to services +within the mesh. The subset must be defined in a corresponding +DestinationRule.

+ +
portPortSelector +

Specifies the port on the host that is being addressed. If a service +exposes only a single port it is not required to explicitly select the +port.

+ +
+
+

HTTPFaultInjection

+
+

HTTPFaultInjection can be used to specify one or more faults to inject +while forwarding http requests to the destination specified in a route. +Fault specification is part of a VirtualService rule. Faults include +aborting the Http request from downstream service, and/or delaying +proxying of requests. A fault rule MUST HAVE delay or abort or both.

+ +

Note: Delay and abort faults are independent of one another, even if +both are specified simultaneously.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
delayHTTPFaultInjection.Delay +

Delay requests before forwarding, emulating various failures such as +network issues, overloaded upstream service, etc.

+ +
abortHTTPFaultInjection.Abort +

Abort Http request attempts and return error codes back to downstream +service, giving the impression that the upstream service is faulty.

+ +
+
+

HTTPFaultInjection.Abort

+
+

Abort specification is used to prematurely abort a request with a +pre-specified error code. The following example will return an HTTP 400 +error code for 1 out of every 1000 requests to the “ratings” service “v1”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    fault:
+      abort:
+        percentage:
+          value: 0.001
+        httpStatus: 400
+
+ +

The httpStatus field is used to indicate the HTTP status code to +return to the caller. The optional percentage field can be used to only +abort a certain percentage of requests. If not specified, all requests are +aborted.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
percentint32 +

Percentage of requests to be aborted with the error code provided (0-100). +Use of integer percent value is deprecated. Use the double percentage +field instead.

+ +
httpStatusint32 (oneof) +

REQUIRED. HTTP status code to use to abort the Http request.

+ +
percentagePercent +

Percentage of requests to be aborted with the error code provided.

+ +
+
+

HTTPFaultInjection.Delay

+
+

Delay specification is used to inject latency into the request +forwarding path. The following example will introduce a 5 second delay +in 1 out of every 1000 requests to the “v1” version of the “reviews” +service from all pods with label env: prod

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - match:
+    - sourceLabels:
+        env: prod
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+    fault:
+      delay:
+        percentage:
+          value: 0.001
+        fixedDelay: 5s
+
+ +

The fixedDelay field is used to indicate the amount of delay in seconds. +The optional percentage field can be used to only delay a certain +percentage of requests. If left unspecified, all request will be delayed.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
percentint32 +

Percentage of requests on which the delay will be injected (0-100). +Use of integer percent value is deprecated. Use the double percentage +field instead.

+ +
fixedDelaygoogle.protobuf.Duration (oneof) +

REQUIRED. Add a fixed delay before forwarding the request. Format: +1h/1m/1s/1ms. MUST be >=1ms.

+ +
percentagePercent +

Percentage of requests on which the delay will be injected.

+ +
+
+

HTTPMatchRequest

+
+

HttpMatchRequest specifies a set of criterion to be met in order for the +rule to be applied to the HTTP request. For example, the following +restricts the rule to match only requests where the URL path +starts with /ratings/v2/ and the request contains a custom end-user header +with value jason.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - headers:
+        end-user:
+          exact: jason
+      uri:
+        prefix: "/ratings/v2/"
+    route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+
+ +

HTTPMatchRequest CANNOT be empty.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uriStringMatch +

URI to match +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
schemeStringMatch +

URI Scheme +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
methodStringMatch +

HTTP Method +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
authorityStringMatch +

HTTP Authority +values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +
headersmap<string, StringMatch> +

The header keys must be lowercase and use hyphen as the separator, +e.g. x-request-id.

+ +

Header values are case-sensitive and formatted as follows:

+ +
    +
  • exact: "value" for exact string match

  • + +
  • prefix: "value" for prefix-based match

  • + +
  • regex: "value" for ECMAscript style regex-based match

  • +
+ +

Note: The keys uri, scheme, method, and authority will be ignored.

+ +
portuint32 +

Specifies the ports on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they support, +in these cases it is not required to explicitly select the port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway match is +independent of sourceLabels.

+ +
+
+

HTTPRedirect

+
+

HTTPRedirect can be used to send a 301 redirect response to the caller, +where the Authority/Host and the URI in the response can be swapped with +the specified values. For example, the following rule redirects +requests for /v1/getProductRatings API on the ratings service to +/v1/bookRatings provided by the bookratings service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        exact: /v1/getProductRatings
+  redirect:
+    uri: /v1/bookRatings
+    authority: newratings.default.svc.cluster.local
+  ...
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uristring +

On a redirect, overwrite the Path portion of the URL with this +value. Note that the entire path will be replaced, irrespective of the +request URI being matched as an exact path or prefix.

+ +
authoritystring +

On a redirect, overwrite the Authority/Host portion of the URL with +this value.

+ +
+
+

HTTPRetry

+
+

Describes the retry policy to use when a HTTP request fails. For +example, the following rule sets the maximum number of retries to 3 when +calling ratings:v1 service, with a 2s timeout per retry attempt.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+    retries:
+      attempts: 3
+      perTryTimeout: 2s
+      retryOn: gateway-error,connect-failure,refused-stream
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
attemptsint32 +

REQUIRED. Number of retries for a given request. The interval +between retries will be determined automatically (25ms+). Actual +number of retries attempted depends on the httpReqTimeout.

+ +
perTryTimeoutgoogle.protobuf.Duration +

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

+ +
retryOnstring +

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 +https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on +and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

+ +
+
+

HTTPRewrite

+
+

HTTPRewrite can be used to rewrite specific parts of a HTTP request +before forwarding the request to the destination. Rewrite primitive can +be used only with HTTPRouteDestination. The following example +demonstrates how to rewrite the URL prefix for api call (/ratings) to +ratings service before making the actual API call.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: ratings-route
+spec:
+  hosts:
+  - ratings.prod.svc.cluster.local
+  http:
+  - match:
+    - uri:
+        prefix: /ratings
+    rewrite:
+      uri: /v1/bookRatings
+    route:
+    - destination:
+        host: ratings.prod.svc.cluster.local
+        subset: v1
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
uristring +

rewrite the path (or the prefix) portion of the URI with this +value. If the original URI was matched based on prefix, the value +provided in this field will replace the corresponding matched prefix.

+ +
authoritystring +

rewrite the Authority/Host header with this value.

+ +
+
+

HTTPRoute

+
+

Describes match conditions and actions for routing HTTP/1.1, HTTP2, and +gRPC traffic. See VirtualService for usage examples.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchHTTPMatchRequest[] +

Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeHTTPRouteDestination[] +

A http rule can either redirect or forward (default) traffic. The +forwarding target can be one of several versions of a service (see +glossary in beginning of document). Weights associated with the +service version determine the proportion of traffic it receives.

+ +
redirectHTTPRedirect +

A http rule can either redirect or forward (default) traffic. If +traffic passthrough option is specified in the rule, +route/redirect will be ignored. The redirect primitive can be used to +send a HTTP 301 redirect to a different URI or Authority.

+ +
rewriteHTTPRewrite +

Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with +Redirect primitive. Rewrite will be performed before forwarding.

+ +
timeoutgoogle.protobuf.Duration +

Timeout for HTTP requests.

+ +
retriesHTTPRetry +

Retry policy for HTTP requests.

+ +
faultHTTPFaultInjection +

Fault injection policy to apply on HTTP traffic at the client side. +Note that timeouts or retries will not be enabled when faults are +enabled on the client side.

+ +
mirrorDestination +

Mirror HTTP traffic to a another destination in addition to forwarding +the requests to the intended destination. Mirrored traffic is on a +best effort basis where the sidecar/gateway will not wait for the +mirrored cluster to respond before returning the response from the +original destination. Statistics will be generated for the mirrored +destination.

+ +
corsPolicyCorsPolicy +

Cross-Origin Resource Sharing policy (CORS). Refer to +CORS +for further details about cross origin resource sharing.

+ +
appendHeadersmap<string, string> +

Use of append_headers is deprecated. Use the headers +field instead.

+ +
removeResponseHeadersstring[] +

Use of remove_response_header is deprecated. Use the headers +field instead.

+ +
appendResponseHeadersmap<string, string> +

Use of append_response_headers is deprecated. Use the headers +field instead.

+ +
removeRequestHeadersstring[] +

Use of remove_request_headers is deprecated. Use the headers +field instead.

+ +
appendRequestHeadersmap<string, string> +

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

+ +
+
+

HTTPRouteDestination

+
+

Each routing rule is associated with one or more service versions (see +glossary in beginning of document). Weights associated with the version +determine the proportion of traffic it receives. For example, the +following rule will route 25% of traffic for the “reviews” service to +instances with the “v2” tag and the remaining traffic (i.e., 75%) to +“v1”.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route
+spec:
+  hosts:
+  - reviews.prod.svc.cluster.local
+  http:
+  - route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v2
+      weight: 25
+    - destination:
+        host: reviews.prod.svc.cluster.local
+        subset: v1
+      weight: 75
+
+ +

And the associated DestinationRule

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: reviews-destination
+spec:
+  host: reviews.prod.svc.cluster.local
+  subsets:
+  - name: v1
+    labels:
+      version: v1
+  - name: v2
+    labels:
+      version: v2
+
+ +

Traffic can also be split across two entirely different services without +having to define new subsets. For example, the following rule forwards 25% of +traffic to reviews.com to dev.reviews.com

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: reviews-route-two-domains
+spec:
+  hosts:
+  - reviews.com
+  http:
+  - route:
+    - destination:
+        host: dev.reviews.com
+      weight: 25
+    - destination:
+        host: reviews.com
+      weight: 75
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationDestination +

REQUIRED. Destination uniquely identifies the instances of a service +to which the request/connection should be forwarded to.

+ +
weightint32 +

REQUIRED. The proportion of traffic to be forwarded to the service +version. (0-100). Sum of weights across destinations SHOULD BE == 100. +If there is only one destination in a rule, the weight value is assumed to +be 100.

+ +
removeResponseHeadersstring[] +

Use of remove_response_header is deprecated. Use the headers +field instead.

+ +
appendResponseHeadersmap<string, string> +

Use of append_response_headers is deprecated. Use the headers +field instead.

+ +
removeRequestHeadersstring[] +

Use of remove_request_headers is deprecated. Use the headers +field instead.

+ +
appendRequestHeadersmap<string, string> +

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

+ +
+
+

Headers

+
+

Header manipulation rules

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
requestHeaders.HeaderOperations +

Header manipulation rules to apply before forwarding a request +to the destination service

+ +
responseHeaders.HeaderOperations +

Header manipulation rules to apply before returning a response +to the caller

+ +
+
+

Headers.HeaderOperations

+
+

HeaderOperations Describes the header manipulations to apply

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
setmap<string, string> +

Overwrite the headers specified by key with the given values

+ +
addmap<string, string> +

Append the given values to the headers specified by keys +(will create a comma-separated list of values)

+ +
removestring[] +

Remove a the specified headers

+ +
+
+

L4MatchAttributes

+
+

L4 connection match attributes. Note that L4 connection matching support +is incomplete.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationSubnetsstring[] +

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., +a.b.c.d/xx form or just a.b.c.d.

+ +
portuint32 +

Specifies the port on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they support, +in these cases it is not required to explicitly select the port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway +match is independent of sourceLabels.

+ +
+
+

Percent

+
+

Percent specifies a percentage in the range of [0.0, 100.0].

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
valuedouble +
+
+

PortSelector

+
+

PortSelector specifies the number of a port to be used for +matching or selection for final routing.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
numberuint32 (oneof) +

Valid port number

+ +
+
+

RouteDestination

+
+

L4 routing rule weighted destination.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
destinationDestination +

REQUIRED. Destination uniquely identifies the instances of a service +to which the request/connection should be forwarded to.

+ +
weightint32 +

REQUIRED. The proportion of traffic to be forwarded to the service +version. If there is only one destination in a rule, all traffic will be +routed to it irrespective of the weight.

+ +
+
+

StringMatch

+
+

Describes how to match a given string in HTTP headers. Match is +case-sensitive.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
exactstring (oneof) +

exact string match

+ +
prefixstring (oneof) +

prefix-based match

+ +
regexstring (oneof) +

ECMAscript style regex-based match

+ +
+
+

TCPRoute

+
+

Describes match conditions and actions for routing TCP traffic. The +following routing rule forwards traffic arriving at port 27017 for +mongo.prod.svc.cluster.local to another Mongo server on port 5555.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-Mongo
+spec:
+  hosts:
+  - mongo.prod.svc.cluster.local
+  tcp:
+  - match:
+    - port: 27017
+    route:
+    - destination:
+        host: mongo.backup.svc.cluster.local
+        port:
+          number: 5555
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchL4MatchAttributes[] +

Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeRouteDestination[] +

The destination to which the connection should be forwarded to.

+ +
+
+

TLSMatchAttributes

+
+

TLS connection match attributes.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
sniHostsstring[] +

REQUIRED. SNI (server name indicator) to match on. Wildcard prefixes +can be used in the SNI value, e.g., *.com will match foo.example.com +as well as example.com. An SNI value must be a subset (i.e., fall +within the domain) of the corresponding virtual serivce’s hosts.

+ +
destinationSubnetsstring[] +

IPv4 or IPv6 ip addresses of destination with optional subnet. E.g., +a.b.c.d/xx form or just a.b.c.d.

+ +
portuint32 +

Specifies the port on the host that is being addressed. Many services +only expose a single port or label ports with the protocols they +support, in these cases it is not required to explicitly select the +port.

+ +
sourceLabelsmap<string, string> +

One or more labels that constrain the applicability of a rule to +workloads with the given labels. If the VirtualService has a list of +gateways specified at the top, it should include the reserved gateway +mesh in order for this field to be applicable.

+ +
gatewaysstring[] +

Names of gateways where the rule should be applied to. Gateway names +at the top of the VirtualService (if any) are overridden. The gateway +match is independent of sourceLabels.

+ +
+
+

TLSRoute

+
+

Describes match conditions and actions for routing unterminated TLS +traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS +traffic arriving at port 443 of gateway called “mygateway” to internal +services in the mesh based on the SNI value.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: bookinfo-sni
+spec:
+  hosts:
+  - "*.bookinfo.com"
+  gateways:
+  - mygateway
+  tls:
+  - match:
+    - port: 443
+      sniHosts:
+      - login.bookinfo.com
+    route:
+    - destination:
+        host: login.prod.svc.cluster.local
+  - match:
+    - port: 443
+      sniHosts:
+      - reviews.bookinfo.com
+    route:
+    - destination:
+        host: reviews.prod.svc.cluster.local
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
matchTLSMatchAttributes[] +

REQUIRED. Match conditions to be satisfied for the rule to be +activated. All conditions inside a single match block have AND +semantics, while the list of match blocks have OR semantics. The rule +is matched if any one of the match blocks succeed.

+ +
routeRouteDestination[] +

The destination to which the connection should be forwarded to.

+ +
+
+

VirtualService

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
hostsstring[] +

REQUIRED. The destination hosts to which traffic is being sent. Could +be a DNS name with wildcard prefix or an IP address. Depending on the +platform, short-names can also be used instead of a FQDN (i.e. has no +dots in the name). In such a scenario, the FQDN of the host would be +derived based on the underlying platform.

+ +

A host name can be defined by only one VirtualService. A single +VirtualService can be used to describe traffic properties for multiple +HTTP and TCP ports.

+ +

Note for Kubernetes users: When short names are used (e.g. “reviews” +instead of “reviews.default.svc.cluster.local”), Istio will interpret +the short name based on the namespace of the rule, not the service. A +rule in the “default” namespace containing a host “reviews will be +interpreted as “reviews.default.svc.cluster.local”, irrespective of +the actual namespace associated with the reviews service. To avoid +potential misconfigurations, it is recommended to always use fully +qualified domain names over short names.

+ +

The hosts field applies to both HTTP and TCP services. Service inside +the mesh, i.e., those found in the service registry, must always be +referred to using their alphanumeric names. IP addresses are allowed +only for services defined via the Gateway.

+ +
gatewaysstring[] +

The names of gateways and sidecars that should apply these routes. A +single VirtualService is used for sidecars inside the mesh as well as +for one or more gateways. The selection condition imposed by this +field can be overridden using the source field in the match conditions +of protocol-specific routes. The reserved word mesh is used to imply +all the sidecars in the mesh. When this field is omitted, the default +gateway (mesh) will be used, which would apply the rule to all +sidecars in the mesh. If a list of gateway names is provided, the +rules will apply only to the gateways. To apply the rules to both +gateways and sidecars, specify mesh as one of the gateway names.

+ +
httpHTTPRoute[] +

An ordered list of route rules for HTTP traffic. HTTP routes will be +applied to platform service ports named ‘http-’/‘http2-’/‘grpc-*’, gateway +ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service +entry ports using HTTP/HTTP2/GRPC protocols. The first rule matching +an incoming request is used.

+ +
tlsTLSRoute[] +

An ordered list of route rule for non-terminated TLS & HTTPS +traffic. Routing is typically performed using the SNI value presented +by the ClientHello message. TLS routes will be applied to platform +service ports named ‘https-’, ‘tls-’, unterminated gateway ports using +HTTPS/TLS protocols (i.e. with “passthrough” TLS mode) and service +entry ports using HTTPS/TLS protocols. The first rule matching an +incoming request is used. NOTE: Traffic ‘https-’ or ‘tls-’ ports +without associated virtual service will be treated as opaque TCP +traffic.

+ +
tcpTCPRoute[] +

An ordered list of route rules for opaque TCP traffic. TCP routes will +be applied to any port that is not a HTTP or TLS port. The first rule +matching an incoming request is used.

+ +
exportTostring[] +

A list of namespaces to which this virtual service is exported. Exporting a +virtual service allows it to used by sidecars and gateways defined in +other namespaces. This feature provides a mechanism for service owners +and mesh administrators to control the visibility of virtual services +across namespace boundaries.

+ +

If no namespaces are specified then the virtual service is exported to all +namespaces by default.

+ +

The value “.” is reserved and defines an export to the same namespace that +the virtual service is declared in, similarly the value “*” is reserved and +defines an export to all namespaces.

+ +
+
diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index f9465aeaaa6..823adc02bac 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -17,11 +17,9 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; -// $title: Traffic Routing -// $description: Configuration affecting traffic routing. -// $location: https://istio.io/docs/reference/config/istio.networking.v1alpha3.html -// $aliases: -// $ - /docs/reference/config/istio.routing.v1alpha1/ +// $title: Virtual Service +// $description: Configuration affecting label/content routing, sni routing, etc. +// $location: https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service.html // Configuration affecting traffic routing. Here are a few terms useful to define // in the context of traffic routing. @@ -51,10 +49,7 @@ import "google/protobuf/wrappers.proto"; // actual choice of the version is determined by the proxy/sidecar, enabling the // application code to decouple itself from the evolution of dependent // services. -package istio.networking.v1alpha3; - -option go_package = "istio.io/api/networking/v1alpha3"; - +// // A `VirtualService` defines a set of traffic routing rules to apply when a host is // addressed. Each routing rule defines matching criteria for traffic of a specific // protocol. If the traffic is matched, then it is sent to a named destination service @@ -115,6 +110,10 @@ option go_package = "istio.io/api/networking/v1alpha3"; // version: v2 // ``` // +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + message VirtualService { // REQUIRED. The destination hosts to which traffic is being sent. Could // be a DNS name with wildcard prefix or an IP address. Depending on the @@ -197,7 +196,7 @@ message VirtualService { // registry. Istio's service registry is composed of all the services found // in the platform's service registry (e.g., Kubernetes services, Consul // services), as well as services declared through the -// [ServiceEntry](#ServiceEntry) resource. +// [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry) resource. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" // instead of "reviews.default.svc.cluster.local"), Istio will interpret @@ -322,7 +321,7 @@ message Destination { // REQUIRED. The name of a service from the service registry. Service // names are looked up from the platform's service registry (e.g., // Kubernetes services, Consul services, etc.) and from the hosts - // declared by [ServiceEntry](#ServiceEntry). Traffic forwarded to + // declared by [ServiceEntry](/docs/reference/config/networking/v1alpha3/service-entry/#ServiceEntry). Traffic forwarded to // destinations that are not found in either of the two, will be dropped. // // *Note for Kubernetes users*: When short names are used (e.g. "reviews" From d0dc02a0ad70ffe1dc4b764bfd68c786c8c50a70 Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Mon, 25 Feb 2019 16:50:23 -0800 Subject: [PATCH 13/34] Minor updates for building docker images. (#817) --- tools/all/Dockerfile | 2 +- tools/all/build-and-push.sh | 3 +-- tools/protoc/build-and-push.sh | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/all/Dockerfile b/tools/all/Dockerfile index 0c8c47956e2..98bab42f2af 100644 --- a/tools/all/Dockerfile +++ b/tools/all/Dockerfile @@ -8,7 +8,7 @@ RUN apk update && \ FROM gcr.io/istio-testing/protolock:2018-10-23 as protolock -FROM gcr.io/istio-testing/protoc:2018-06-12 +FROM gcr.io/istio-testing/protoc:2019-02-25 COPY --from=protolock \ /usr/bin/protolock \ diff --git a/tools/all/build-and-push.sh b/tools/all/build-and-push.sh index 4f4a2d5eb35..0f7e06308ee 100755 --- a/tools/all/build-and-push.sh +++ b/tools/all/build-and-push.sh @@ -8,5 +8,4 @@ HUB=gcr.io/istio-testing VERSION=$(date +%Y-%m-%d) docker build --no-cache -t $HUB/api-build-tools:$VERSION . - -gcloud docker -- push $HUB/api-build-tools:$VERSION +docker push $HUB/api-build-tools:$VERSION diff --git a/tools/protoc/build-and-push.sh b/tools/protoc/build-and-push.sh index ab6ad5fbce2..deac746d9ce 100755 --- a/tools/protoc/build-and-push.sh +++ b/tools/protoc/build-and-push.sh @@ -8,5 +8,4 @@ HUB=gcr.io/istio-testing VERSION=$(date +%Y-%m-%d) docker build --no-cache -t $HUB/protoc:$VERSION . - -gcloud docker -- push $HUB/protoc:$VERSION +docker push $HUB/protoc:$VERSION From 26f958d82372432ca9ab20e0df3254eec1bf51d5 Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Mon, 25 Feb 2019 21:15:01 -0800 Subject: [PATCH 14/34] Add spell checking for docs. (#819) --- Makefile | 4 +- dictionaries/custom.txt | 11 + dictionaries/en-US.aff | 205 + dictionaries/en-US.dic | 48978 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 49196 insertions(+), 2 deletions(-) create mode 100644 dictionaries/custom.txt create mode 100644 dictionaries/en-US.aff create mode 100644 dictionaries/en-US.dic diff --git a/Makefile b/Makefile index 46ee9261cc3..e89a03a214b 100644 --- a/Makefile +++ b/Makefile @@ -69,8 +69,8 @@ gogoslick_plugin := $(gogoslick_plugin_prefix)$(gogo_mapping):$(out_path) # protoc_gen_docs ######################## -protoc_gen_docs_plugin := --docs_out=warnings=true,mode=html_fragment_with_front_matter:$(repo_dir)/ -protoc_gen_docs_plugin_for_networking := --docs_out=warnings=true,per_file=true,mode=html_fragment_with_front_matter:$(repo_dir)/ +protoc_gen_docs_plugin := --docs_out=warnings=true,dictionary=$(repo_dir)/dictionaries/en-US,custom_word_list=$(repo_dir)/dictionaries/custom.txt,mode=html_fragment_with_front_matter:$(repo_dir)/ +protoc_gen_docs_plugin_for_networking := --docs_out=warnings=true,dictionary=$(repo_dir)/dictionaries/en-US,custom_word_list=$(repo_dir)/dictionaries/custom.txt,per_file=true,mode=html_fragment_with_front_matter:$(repo_dir)/ ##################### # Generation Rules diff --git a/dictionaries/custom.txt b/dictionaries/custom.txt new file mode 100644 index 00000000000..d8f0b3d0694 --- /dev/null +++ b/dictionaries/custom.txt @@ -0,0 +1,11 @@ +DNS +Istio +Kubernetes +MCP +namespace +RPC +SNI +TCP +TLS +unterminated +URL diff --git a/dictionaries/en-US.aff b/dictionaries/en-US.aff new file mode 100644 index 00000000000..9e7cb1e2f1c --- /dev/null +++ b/dictionaries/en-US.aff @@ -0,0 +1,205 @@ +SET UTF-8 +TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ' +ICONV 1 +ICONV ’ ' +NOSUGGEST ! + +# ordinal numbers +COMPOUNDMIN 1 +# only in compounds: 1th, 2th, 3th +ONLYINCOMPOUND c +# compound rules: +# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.) +# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.) +COMPOUNDRULE 2 +COMPOUNDRULE n*1t +COMPOUNDRULE n*mp +WORDCHARS 0123456789 + +PFX A Y 1 +PFX A 0 re . + +PFX I Y 1 +PFX I 0 in . + +PFX U Y 1 +PFX U 0 un . + +PFX C Y 1 +PFX C 0 de . + +PFX E Y 1 +PFX E 0 dis . + +PFX F Y 1 +PFX F 0 con . + +PFX K Y 1 +PFX K 0 pro . + +SFX V N 2 +SFX V e ive e +SFX V 0 ive [^e] + +SFX N Y 3 +SFX N e ion e +SFX N y ication y +SFX N 0 en [^ey] + +SFX X Y 3 +SFX X e ions e +SFX X y ications y +SFX X 0 ens [^ey] + +SFX H N 2 +SFX H y ieth y +SFX H 0 th [^y] + +SFX Y Y 1 +SFX Y 0 ly . + +SFX G Y 2 +SFX G e ing e +SFX G 0 ing [^e] + +SFX J Y 2 +SFX J e ings e +SFX J 0 ings [^e] + +SFX D Y 4 +SFX D 0 d e +SFX D y ied [^aeiou]y +SFX D 0 ed [^ey] +SFX D 0 ed [aeiou]y + +SFX T N 4 +SFX T 0 st e +SFX T y iest [^aeiou]y +SFX T 0 est [aeiou]y +SFX T 0 est [^ey] + +SFX R Y 4 +SFX R 0 r e +SFX R y ier [^aeiou]y +SFX R 0 er [aeiou]y +SFX R 0 er [^ey] + +SFX Z Y 4 +SFX Z 0 rs e +SFX Z y iers [^aeiou]y +SFX Z 0 ers [aeiou]y +SFX Z 0 ers [^ey] + +SFX S Y 4 +SFX S y ies [^aeiou]y +SFX S 0 s [aeiou]y +SFX S 0 es [sxzh] +SFX S 0 s [^sxzhy] + +SFX P Y 3 +SFX P y iness [^aeiou]y +SFX P 0 ness [aeiou]y +SFX P 0 ness [^y] + +SFX M Y 1 +SFX M 0 's . + +SFX B Y 3 +SFX B 0 able [^aeiou] +SFX B 0 able ee +SFX B e able [^aeiou]e + +SFX L Y 1 +SFX L 0 ment . + +REP 90 +REP a ei +REP ei a +REP a ey +REP ey a +REP ai ie +REP ie ai +REP alot a_lot +REP are air +REP are ear +REP are eir +REP air are +REP air ere +REP ere air +REP ere ear +REP ere eir +REP ear are +REP ear air +REP ear ere +REP eir are +REP eir ere +REP ch te +REP te ch +REP ch ti +REP ti ch +REP ch tu +REP tu ch +REP ch s +REP s ch +REP ch k +REP k ch +REP f ph +REP ph f +REP gh f +REP f gh +REP i igh +REP igh i +REP i uy +REP uy i +REP i ee +REP ee i +REP j di +REP di j +REP j gg +REP gg j +REP j ge +REP ge j +REP s ti +REP ti s +REP s ci +REP ci s +REP k cc +REP cc k +REP k qu +REP qu k +REP kw qu +REP o eau +REP eau o +REP o ew +REP ew o +REP oo ew +REP ew oo +REP ew ui +REP ui ew +REP oo ui +REP ui oo +REP ew u +REP u ew +REP oo u +REP u oo +REP u oe +REP oe u +REP u ieu +REP ieu u +REP ue ew +REP ew ue +REP uff ough +REP oo ieu +REP ieu oo +REP ier ear +REP ear ier +REP ear air +REP air ear +REP w qu +REP qu w +REP z ss +REP ss z +REP shun tion +REP shun sion +REP shun cion +REP size cise diff --git a/dictionaries/en-US.dic b/dictionaries/en-US.dic new file mode 100644 index 00000000000..8a84a15521c --- /dev/null +++ b/dictionaries/en-US.dic @@ -0,0 +1,48978 @@ +48977 +0/nm +0th/pt +1/n1 +1st/p +1th/tc +2/nm +2nd/p +2th/tc +3/nm +3rd/p +3th/tc +4/nm +4th/pt +5/nm +5th/pt +6/nm +6th/pt +7/nm +7th/pt +8/nm +8th/pt +9/nm +9th/pt +A/SM +AA/M +AAA +AB/M +ABA +ABC/SM +ABM/SM +ABS +AC/M +ACLU/M +ACT +ACTH/M +AD/M +ADC +ADD +ADM +ADP/M +AF +AFAIK +AFB +AFC/M +AFDC +AFN +AFT +AI/SM +AIDS/M +AK +AL +AM/M +AMA +AMD/M +ANSI/S +ANZUS/M +AOL/M +AP/M +APB +APC +API +APO +APR +AR +ARC +ASAP +ASCII/SM +ASL/M +ASPCA +ATM/M +ATP/M +ATV +AV +AVI +AWACS/M +AWOL/M +AZ/M +AZT/M +Aachen/M +Aaliyah/M +Aaron/M +Abbas/M +Abbasid/M +Abbott/M +Abby/M +Abdul/M +Abe/M +Abel/M +Abelard/M +Abelson/M +Aberdeen/M +Abernathy/M +Abidjan/M +Abigail/M +Abilene/M +Abner/M +Aborigine/MS +Abraham/M +Abram/MS +Abrams/M +Absalom/M +Abuja/M +Abyssinia/M +Abyssinian/M +Ac/M +Acadia/M +Acapulco/M +Accenture/M +Accra/M +Acevedo/M +Achaean/M +Achebe/M +Achernar/M +Acheson/M +Achilles/M +Aconcagua/M +Acosta/M +Acropolis +Acrux/M +Actaeon/M +Acton/M +Acts/M +Acuff/M +Ada/SM +Adam/SM +Adams/M +Adan/M +Adana/M +Adar/M +Addams/M +Adderley/M +Addie/M +Addison/M +Adela/M +Adelaide/M +Adele/M +Adeline/M +Aden/M +Adenauer/M +Adhara/M +Adidas/M +Adirondack/SM +Adirondacks/M +Adkins/M +Adler/M +Adm +Admiralty +Adolf/M +Adolfo/M +Adolph/M +Adonis/MS +Adrenalin/MS +Adrian/M +Adriana/M +Adriatic/M +Adrienne/M +Advent/MS +Adventist/MS +Advil/M +Aegean/M +Aelfric/M +Aeneas/M +Aeneid/M +Aeolus/M +Aeroflot/M +Aeschylus/M +Aesculapius/M +Aesop/M +Afghan/SM +Afghani/M +Afghanistan/M +Afr +Africa/M +African/SM +Afrikaans/M +Afrikaner/SM +Afro/SM +Afrocentric +Afrocentrism/M +Ag/M +Agamemnon/M +Agana +Agassi/M +Agassiz/M +Agatha/M +Aggie/M +Aglaia/M +Agnes/M +Agnew/M +Agni/M +Agra/M +Agricola/M +Agrippa/M +Agrippina/M +Aguascalientes +Aguilar/M +Aguinaldo/M +Aguirre/M +Agustin/M +Ahab/M +Ahmad/M +Ahmadabad/M +Ahmadinejad/M +Ahmed/M +Ahriman/M +Aida/M +Aiken/M +Aileen/M +Aimee/M +Ainu/M +Airedale/MS +Aires/M +Aisha/M +Ajax/M +Akbar/M +Akhmatova/M +Akihito/M +Akita/M +Akiva/M +Akkad/M +Akron/M +Al/M +Ala/S +Alabama/M +Alabaman/MS +Alabamian/SM +Aladdin/M +Alamo/M +Alamogordo/M +Alan/M +Alana/M +Alar/M +Alaric/M +Alaska/M +Alaskan/MS +Alba/M +Albania/M +Albanian/MS +Albany/M +Albee/M +Alberio/M +Albert/M +Alberta/M +Albertan +Alberto/M +Albigensian/M +Albion/M +Albireo/M +Albuquerque/M +Alcatraz/M +Alcestis/M +Alcibiades/M +Alcindor/M +Alcmena/M +Alcoa/M +Alcott/M +Alcuin/M +Alcyone/M +Aldan/M +Aldebaran/M +Alden/M +Alderamin/M +Aldo/M +Aldrin/M +Alec/M +Aleichem/M +Alejandra/M +Alejandro/M +Alembert/M +Aleppo/M +Aleut/MS +Aleutian/SM +Alex/M +Alexander/MS +Alexandra/M +Alexandria/M +Alexandrian +Alexei/M +Alexis/M +Alfonso/M +Alfonzo/M +Alford/M +Alfred/M +Alfreda/M +Alfredo/M +Algenib/M +Alger/M +Algeria/M +Algerian/SM +Algieba/M +Algiers/M +Algol/M +Algonquian/SM +Algonquin/MS +Alhambra/M +Alhena/M +Ali/M +Alice/M +Alicia/M +Alighieri/M +Aline/M +Alioth/M +Alisa/M +Alisha/M +Alison/M +Alissa/M +Alistair/M +Alkaid/M +Allah/M +Allahabad/M +Allan/M +Alleghenies/M +Allegheny/SM +Allegra/M +Allen/M +Allende/M +Allentown/M +Allhallows/M +Allie/MS +Allison/M +Allstate/M +Allyson/M +Alma/M +Almach/M +Almaty/M +Almighty/M +Almohad/M +Almoravid/M +Alnilam/M +Alnitak/M +Alonzo/M +Alpert/M +Alphard/M +Alphecca/M +Alpheratz/M +Alphonse/M +Alphonso/M +Alpine/M +Alpo/M +Alps/M +Alsace/M +Alsatian/SM +Alsop/M +Alston/M +Alta/M +Altai/M +Altaic/M +Altair/M +Altamira/M +Althea/M +Altiplano/M +Altman/M +Altoids/M +Alton/M +Aludra/M +Alva/M +Alvarado/M +Alvarez/M +Alvaro/M +Alvin/M +Alyce/M +Alyson/M +Alyssa/M +Alzheimer/M +Am/MNR +Amadeus/M +Amado/M +Amalia/M +Amanda/M +Amarillo/M +Amaru/M +Amaterasu/M +Amati/M +Amazon/SM +Amazonian +Amber/M +Amelia/M +Amen/M +Amenhotep/M +Amerasian/M +America/SM +American/MS +Americana/M +Americanism/MS +Americanization/MS +Americanize/GDS +Amerind/SM +Amerindian/MS +Ameslan/M +Amharic/M +Amherst/M +Amie/M +Amiga/M +Amish/M +Amman/M +Amoco/M +Amos/M +Amparo/M +Ampere/M +Amritsar/M +Amsterdam/M +Amtrak/M +Amundsen/M +Amur/M +Amway/M +Amy/M +Ana/M +Anabaptist/M +Anabel/M +Anacin/M +Anacreon/M +Anaheim/M +Analects/M +Ananias/M +Anasazi/M +Anastasia/M +Anatole/M +Anatolia/M +Anatolian/M +Anaxagoras/M +Anchorage/M +Andalusia/M +Andalusian/M +Andaman/M +Andean/M +Andersen/M +Anderson/M +Andes/M +Andorra/M +Andorran/SM +Andre/MS +Andrea/M +Andrei/M +Andres/M +Andretti/M +Andrew/SM +Andrews/M +Andrianampoinimerina/M +Android/M +Andromache/M +Andromeda/M +Andropov/M +Andy/M +Angara/M +Angel/M +Angela/M +Angeles/M +Angelia/M +Angelica/M +Angelico/M +Angelina/M +Angeline/M +Angelique/M +Angelita/M +Angelo/M +Angelou/M +Angevin/M +Angie/M +Angkor/M +Angle/MS +Anglia/M +Anglican/SM +Anglicanism/MS +Anglicism/MS +Anglicization +Anglicize +Anglo/M +Anglophile/M +Anglophobe +Angola/M +Angolan/MS +Angora/SM +Angstrom/M +Anguilla/M +Angus/M +Aniakchak/M +Anibal/M +Anita/M +Ankara/M +Ann/M +Anna/M +Annabel/M +Annabelle/M +Annam/M +Annapolis/M +Annapurna/M +Anne/M +Annette/M +Annie/M +Annmarie/M +Annunciation/SM +Anouilh/M +Anselm/M +Anselmo/M +Anshan/M +Antaeus/M +Antananarivo/M +Antarctic/M +Antarctica/M +Antares/M +Anthony/M +Anthropocene +Antichrist/SM +Antietam/M +Antigone/M +Antigua/M +Antillean +Antilles/M +Antioch/M +Antipas/M +Antipodes +Antofagasta/M +Antoine/M +Antoinette/M +Anton/M +Antone/M +Antonia/M +Antoninus/M +Antonio/M +Antonius/M +Antony/M +Antwan/M +Antwerp/M +Anubis/M +Anzac/M +Apache/SM +Apalachicola/M +Apatosaurus +Apennines/M +Aphrodite/M +Apia/M +Apocalypse/M +Apocrypha/M +Apollinaire/M +Apollo/SM +Apollonian/M +Apostle/M +Appalachia/M +Appalachian/SM +Appalachians/M +Appaloosa/SM +Apple/M +Appleseed/M +Appleton/M +Appomattox/M +Apr/M +April/MS +Apuleius/M +Aquafresh/M +Aquarian +Aquarius/MS +Aquila/M +Aquinas/M +Aquino/M +Aquitaine/M +Ar/M +Ara/M +Arab/SM +Arabia/M +Arabian/MS +Arabic/M +Arabist/MS +Araby/M +Araceli/M +Arafat/M +Aragon +Araguaya/M +Aral/M +Aramaic/M +Aramco/M +Arapaho/MS +Arapahoes +Ararat/M +Araucanian/M +Arawak/M +Arawakan/M +Arbitron/M +Arcadia/M +Arcadian/M +Archean/M +Archibald/M +Archie/M +Archimedes/M +Arctic/M +Arcturus/M +Ardabil +Arden/M +Arequipa/M +Ares/M +Argentina/M +Argentine/M +Argentinean +Argentinian/MS +Argo/SM +Argonaut/MS +Argonne/M +Argos/M +Argus/M +Ariadne/M +Arianism/M +Ariel/M +Aries/MS +Ariosto/M +Aristarchus/M +Aristides/M +Aristophanes/M +Aristotelian/M +Aristotle/M +Arius/M +Ariz +Arizona/M +Arizonan/SM +Arizonian/MS +Arjuna/M +Ark/M +Arkansan/MS +Arkansas/M +Arkhangelsk/M +Arkwright/M +Arlene/M +Arline/M +Arlington/M +Armageddon/SM +Armagnac/M +Armand/M +Armando/M +Armani/M +Armenia/M +Armenian/SM +Arminius/M +Armonk/M +Armour/M +Armstrong/M +Arneb/M +Arnhem/M +Arno/M +Arnold/M +Arnulfo/M +Aron/M +Arrhenius/M +Arron/M +Art/M +Artaxerxes/M +Artemis/M +Arthur/M +Arthurian/M +Artie/M +Arturo/M +Aruba/M +Aryan/MS +As/M +Asama/M +Ascella/M +Ascension/M +Asgard/M +Ashanti/M +Ashcroft/M +Ashe/M +Ashgabat +Ashikaga/M +Ashkenazim/M +Ashkhabad/M +Ashlee/M +Ashley/M +Ashmolean/M +Ashurbanipal/M +Asia/M +Asiago +Asian/MS +Asiatic/SM +Asimov/M +Asmara/M +Asoka/M +Aspell/M +Aspen/M +Asperger/M +Aspidiske/M +Asquith/M +Assad/M +Assam/M +Assamese/M +Assembly +Assisi/M +Assyria/M +Assyrian/SM +Astaire/M +Astana/M +Astarte/M +Aston/M +Astor/M +Astoria/M +Astrakhan/M +AstroTurf/M +Asturias/M +Asuncion/M +Aswan/M +At/SM +Atacama/M +Atahualpa/M +Atalanta/M +Atari/M +Ataturk/M +Athabasca/M +Athabaskan/SM +Athanasius +Athena/M +Athene/M +Athenian/SM +Athens/M +Atkins/M +Atkinson/M +Atlanta/M +Atlantes +Atlantic/M +Atlantis/M +Atlas/MS +Atman/M +Atonement +Atreus/M +Atria/M +Atropos/M +Attic/M +Attica/M +Attila/M +Attlee/M +Attn +Attucks/M +Atwood/M +Au/M +Aubrey/M +Auckland/M +Auden/M +Audi/M +Audion/M +Audra/M +Audrey/M +Audubon/M +Aug/M +Augean/M +Augsburg/M +August/MS +Augusta/M +Augustan/M +Augustine/M +Augustinian/MS +Augustus/M +Aurangzeb/M +Aurelia/M +Aurelio/M +Aurelius/M +Aureomycin/M +Auriga/M +Aurora/M +Auschwitz/M +Aussie/MS +Austen/M +Austerlitz/M +Austin/MS +Australasia/M +Australasian +Australia/M +Australian/SM +Australoid/M +Australopithecus/M +Austria/M +Austrian/SM +Austronesian/M +Autumn/M +Av/M +Ava/M +Avalon/M +Ave/M +Aventine/M +Avernus/M +Averroes/M +Avery/M +Avesta/M +Avicenna/M +Avignon/M +Avila/M +Avior/M +Avis/M +Avogadro/M +Avon/M +Axis +Axum/M +Ayala/M +Ayers/M +Aymara/M +Ayrshire/M +Ayurveda/M +Ayyubid/M +Azana/M +Azania/M +Azazel/M +Azerbaijan/M +Azerbaijani/MS +Azores/M +Azov/M +Aztec/SM +Aztecan/M +Aztlan/M +B/MNT +BA/M +BASIC/SM +BB/M +BBB/M +BBC/M +BBQ +BBS +BBSes +BC/M +BFF +BIA +BIOS +BITNET +BLT/SM +BM/M +BMW/M +BO +BP/M +BPOE +BR +BS/M +BSA +BSD/SM +BTU +BTW +BYOB +Ba/M +Baal/SM +Baath/M +Baathist/M +Babbage/M +Babbitt/M +Babel/MS +Babylon/MS +Babylonia/M +Babylonian/SM +Bacall/M +Bacardi/M +Bacchanalia/M +Bacchic +Bacchus/M +Bach/M +Backus/M +Bacon/M +Bactria/M +Baden/M +Badlands/M +Baedeker/MS +Baez/M +Baffin/M +Baggies/M +Baghdad/M +Baguio/M +Baha'i/M +Baha'ullah/M +Bahama/SM +Bahamanian +Bahamas/M +Bahamian/MS +Bahia/M +Bahrain/M +Baikal/M +Bailey/M +Baird/M +Bakelite/M +Baker/M +Bakersfield/M +Baku/M +Bakunin/M +Balanchine/M +Balaton/M +Balboa/M +Balder/M +Baldwin/SM +Balearic/M +Balfour/M +Bali/M +Balinese/M +Balkan/MS +Balkans/M +Balkhash/M +Ball/M +Ballard/M +Balthazar/M +Baltic/M +Baltimore/M +Baluchistan/M +Balzac/M +Bamako/M +Bambi/M +Banach/M +Bancroft/M +Bandung/M +Bangalore/M +Bangkok/M +Bangladesh/M +Bangladeshi/SM +Bangor/M +Bangui/M +Banjarmasin/M +Banjul/M +Banks/M +Banneker/M +Bannister/M +Banting/M +Bantu/MS +Baotou/M +Baptist/SM +Baptiste/M +Barabbas/M +Barack/M +Barbadian/SM +Barbados/M +Barbara/M +Barbarella/M +Barbarossa/M +Barbary/M +Barber/M +Barbie/M +Barbour/M +Barbra/M +Barbuda/M +Barcelona/M +Barclay/SM +Barclays/M +Bardeen/M +Barents/M +Barker/M +Barkley/M +Barlow/M +Barnabas/M +Barnaby/M +Barnard/M +Barnaul/M +Barnes/M +Barnett/M +Barney/M +Barnum/M +Baroda/M +Barquisimeto/M +Barr/M +Barranquilla/M +Barrera/M +Barrett/M +Barrie/M +Barron/M +Barry/M +Barrymore/M +Bart/M +Barth/MS +Bartholdi/M +Bartholomew/M +Bartlett/M +Bartok/M +Barton/M +Baruch/M +Baryshnikov/M +Basel/M +Basho/M +Basie/M +Basil/M +Basque/MS +Basra/M +Bass/M +Basseterre/M +Bastille/M +Basutoland/M +Bataan/M +Bates/M +Bathsheba/M +Batista/M +Batman/M +Battle/M +Batu/M +Baudelaire/M +Baudouin/M +Baudrillard/M +Bauer/M +Bauhaus/M +Baum/M +Bavaria/M +Bavarian/M +Baxter/M +Bayamon +Bayer/M +Bayes/M +Bayesian/M +Bayeux/M +Baylor/M +Bayonne/M +Bayreuth/M +Baywatch/M +Be/MH +Beach/M +Beadle/M +Bean/M +Beard/M +Beardmore/M +Beardsley/M +Bearnaise/M +Beasley/M +Beatlemania/M +Beatles/M +Beatrice/M +Beatrix/M +Beatriz/M +Beatty/M +Beau/M +Beaufort/M +Beaujolais/M +Beaumarchais/M +Beaumont/M +Beauregard/M +Beauvoir/M +Bechtel/M +Beck/MR +Becker/M +Becket/M +Beckett/M +Becky/M +Becquerel/M +Bede/M +Bedouin/SM +Beebe/M +Beecher/M +Beefaroni/M +Beelzebub/M +Beerbohm/M +Beethoven/M +Beeton/M +Begin/M +Behan/M +Behring/M +Beiderbecke/M +Beijing/M +Beirut/M +Bekesy/M +Bela/M +Belarus/M +Belau/M +Belem/M +Belfast/M +Belg +Belgian/SM +Belgium/M +Belgrade/M +Belinda/M +Belize/M +Bell/M +Bella/M +Bellamy/M +Bellatrix/M +Belleek/M +Bellini/M +Bellow/M +Belmont/M +Belmopan/M +Belorussian/MS +Belshazzar/M +Beltane/M +Belushi/M +Ben/M +Benacerraf/M +Benchley/M +Bender/M +Bendix/M +Benedict/M +Benedictine/MS +Benelux/M +Benet/M +Benetton/M +Bengal/SM +Bengali/M +Benghazi/M +Benin/M +Beninese/M +Benita/M +Benito/M +Benjamin/M +Bennett/M +Bennie/M +Benny/M +Benson/M +Bentham/M +Bentley/M +Benton/M +Benz/M +Benzedrine/M +Beowulf/M +Berber/SM +Berenice/M +Beretta/M +Berg/MNR +Bergen/M +Berger/M +Bergerac/M +Bergman/M +Bergson/M +Beria/M +Bering/M +Berkeley/M +Berkshire/SM +Berkshires/M +Berle/M +Berlin/SZMR +Berliner/M +Berlioz/M +Berlitz/M +Bermuda/SM +Bermudan/SM +Bermudian/SM +Bern/M +Bernadette/M +Bernadine/M +Bernanke/M +Bernard/M +Bernardo/M +Bernays/M +Bernbach/M +Bernese +Bernhardt/M +Bernice/M +Bernie/M +Bernini/M +Bernoulli/M +Bernstein/M +Berra/M +Berry/M +Bert/M +Berta/M +Bertelsmann/M +Bertha/M +Bertie/M +Bertillon/M +Bertram/M +Bertrand/M +Beryl/M +Berzelius/M +Bess/M +Bessel/M +Bessemer/M +Bessie/M +Best/M +Betelgeuse/M +Beth/M +Bethany/M +Bethe/M +Bethesda/M +Bethlehem/M +Bethune/M +Betsy/M +Bette/M +Bettie/M +Betty/M +Bettye/M +Beulah/M +Beveridge +Beverley/M +Beverly/M +Beyer/M +Bharat/M +Bhopal/M +Bhutan/M +Bhutanese/M +Bhutto/M +Bi/M +Bialystok/M +Bianca/M +Bib +Bible/MS +Bic/M +Biddle/M +Biden/M +Bierce/M +Bigfoot/M +Biggles/M +Biko/M +Bilbao/M +Bilbo/M +Bill/MJ +Billie/M +Billings/M +Billy/M +Bimini/M +Bioko/M +Bird/M +Birdseye/M +Birkenstock/M +Birmingham/M +Biro/M +Biscay/M +Biscayne/M +Bishkek/M +Bishop/M +Bismarck/M +Bismark/M +Bisquick/M +Bissau/M +BitTorrent/M +Bizet/M +Bjerknes/M +Bjork/M +Bk/M +BlackBerry/M +Blackbeard/M +Blackburn/M +Blackfeet/M +Blackfoot/M +Blackpool/M +Blackshirt/M +Blackstone/M +Blackwell/M +Blaine/M +Blair/M +Blake/M +Blanca/M +Blanchard/M +Blanche/M +Blankenship/M +Blantyre/M +Blatz/M +Blavatsky/M +Blenheim/M +Blevins/M +Bligh/M +Bloch/M +Blockbuster/M +Bloemfontein/M +Blondel/M +Blondie/M +Bloom/MR +Bloomer/M +Bloomfield/M +Bloomingdale/M +Bloomsbury/M +Blu +Blucher/M +Bluebeard/M +Bluetooth/M +Blvd +Blythe/M +Boadicea +Boas/M +Bob/M +Bobbi/M +Bobbie/M +Bobbitt/M +Bobby/M +Boccaccio/M +Bodhidharma/M +Bodhisattva/M +Bodleian +Boeing/M +Boeotia/M +Boeotian/M +Boer/SM +Boethius/M +Bogart/M +Bogota/M +Bohemia/M +Bohemian/SM +Bohr/M +Boise/M +Bojangles/M +Boleyn/M +Bolivar/M +Bolivia/M +Bolivian/MS +Bollywood/M +Bologna/M +Bolshevik/SM +Bolsheviki +Bolshevism/M +Bolshevist/M +Bolshoi/M +Bolton/M +Boltzmann/M +Bombay/M +Bonaparte/M +Bonaventure/M +Bond/M +Bonhoeffer/M +Boniface/M +Bonita/M +Bonn/MR +Bonner/M +Bonneville/M +Bonnie/M +Bono/M +Booker/M +Boole/M +Boolean/M +Boone/M +Bootes/M +Booth/M +Bordeaux/M +Borden/M +Bordon/M +Boreas/M +Borg/SM +Borges/M +Borgia/M +Borglum/M +Boris/M +Bork/M +Borlaug/M +Born/M +Borneo/M +Borobudur/M +Borodin/M +Boru/M +Bosch/M +Bose/M +Bosnia/M +Bosnian +Bosporus/M +Boston/MS +Bostonian/M +Boswell/M +Botox +Botswana/M +Botticelli/M +Boulder/M +Boulez/M +Bourbaki/M +Bourbon/SM +Bournemouth/M +Bovary/M +Bowditch/M +Bowell/M +Bowen/M +Bowers/M +Bowery/M +Bowie/M +Bowman/M +Boyd/M +Boyer/M +Boyle/M +Br/MT +Brad/MY +Bradbury/M +Braddock/M +Bradford/M +Bradley/M +Bradly/M +Bradshaw/M +Bradstreet/M +Brady/M +Bragg/M +Brahe/M +Brahma/MS +Brahmagupta/M +Brahman/MS +Brahmani +Brahmanism/SM +Brahmaputra/M +Brahms/M +Braille/MS +Brain/M +Brampton/M +Bran/M +Branch/M +Brandeis/M +Branden/M +Brandenburg/M +Brandi/M +Brandie/M +Brando/M +Brandon/M +Brandt/M +Brandy/M +Brant/M +Braque/M +Brasilia/M +Bratislava/M +Brattain/M +Bray/M +Brazil/M +Brazilian/MS +Brazos/M +Brazzaville/M +Breakspear/M +Breathalyzer +Brecht/M +Breckenridge/M +Bremen/M +Brenda/M +Brendan/M +Brennan/M +Brenner/M +Brent/M +Brenton/M +Brest/M +Bret/M +Breton/M +Brett/M +Brewer/M +Brewster/M +Brezhnev/M +Brian/M +Briana/M +Brianna/M +Brice/M +Bridalveil/M +Bridgeport/M +Bridger/M +Bridges/M +Bridget/M +Bridgetown/M +Bridgett/M +Bridgette/M +Bridgman/M +Brie/SM +Brigadoon/M +Briggs/M +Brigham/M +Bright/M +Brighton/M +Brigid/M +Brigitte/M +Brillo/M +Brinkley/M +Brisbane/M +Bristol/M +Brit/SM +Britain/M +Britannia/M +Britannic/M +Britannica/M +Briticism/SM +British/MRZ +Britisher/M +Britney/M +Briton/MS +Britt/MN +Brittany/SM +Britten/M +Brittney/M +Brno/M +Broadway/SM +Brobdingnag/M +Brobdingnagian/M +Brock/M +Brokaw/M +Bronson/M +Bronte/M +Brontosaurus +Bronx/M +Brooke/MS +Brooklyn/M +Brooks/M +Bros +Brown/MG +Browne/M +Brownian/M +Brownie/S +Browning/M +Brownshirt/M +Brownsville/M +Brubeck/M +Bruce/M +Bruckner/M +Bruegel +Brummel/M +Brunei/M +Bruneian/MS +Brunelleschi/M +Brunhilde/M +Bruno/M +Brunswick/M +Brussels/M +Brut/M +Brutus/M +Bryan/M +Bryant/M +Bryce/M +Brynner/M +Bryon/M +Brzezinski/M +Btu/M +Buber/M +Buchanan/M +Bucharest/M +Buchenwald/M +Buchwald/M +Buck/M +Buckingham/M +Buckley/M +Buckner/M +Bud/M +Budapest/M +Buddha/SM +Buddhism/SM +Buddhist/SM +Buddy/M +Budweiser/M +Buffalo/M +Buffy/M +Buford/M +Bugatti/M +Bugzilla/M +Buick/M +Bujumbura/M +Bukhara/M +Bukharin/M +Bulawayo/M +Bulfinch/M +Bulganin/M +Bulgar/M +Bulgari/M +Bulgaria/M +Bulgarian/SM +Bullock/M +Bullwinkle/M +Bultmann/M +Bumppo/M +Bunche/M +Bundesbank/M +Bundestag/M +Bunin/M +Bunker/M +Bunsen/M +Bunuel/M +Bunyan/M +Burbank/M +Burberry/M +Burch/M +Burger/M +Burgess/M +Burgoyne/M +Burgundian/M +Burgundy/SM +Burke/M +Burks/M +Burl/M +Burlington/M +Burma/M +Burmese/M +Burnett/M +Burns/M +Burnside/M +Burr/M +Burris/M +Burroughs/M +Bursa/M +Burt/M +Burton/M +Burundi/M +Burundian/MS +Busch/M +Bush/M +Bushido/M +Bushnell/M +Butler/M +Butterfingers/M +Buxtehude/M +Byblos/M +Byers/M +Byrd/M +Byron/M +Byronic/M +Byzantine/MS +Byzantium/M +C/SM +CA +CAD/M +CAI +CAM +CAP +CARE +CATV +CB +CBC/M +CBS/M +CCTV +CCU +CD/M +CDC +CDT +CEO/M +CF +CFC/M +CFO +CGI +CIA/M +CID +CNN/M +CNS/M +CO/M +COBOL/SM +COD +COL +COLA +CPA/M +CPI/M +CPO +CPR/M +CPU/M +CRT/SM +CST/M +CT/M +CV +CVS/M +CZ +Ca/M +Cabernet/M +Cabot/M +Cabral/M +Cabrera/M +Cabrini/M +Cadette +Cadillac/M +Cadiz/M +Caedmon/M +Caerphilly/M +Caesar/SM +Cage/M +Cagney/M +Cahokia/M +Caiaphas/M +Cain/SM +Cairo/M +Caitlin/M +Cajun/MS +Cal/M +Calais/M +Calcutta/M +Calder/M +Calderon/M +Caldwell/M +Caleb/M +Caledonia/M +Calgary/M +Calhoun/M +Cali/M +Caliban/M +Calif +California/M +Californian/SM +Caligula/M +Callaghan/M +Callahan/M +Callao/M +Callas/M +Callie/M +Calliope/M +Callisto/M +Caloocan/M +Calvary/M +Calvert/M +Calvin/M +Calvinism/MS +Calvinist/MS +Calvinistic +Camacho/M +Cambodia/M +Cambodian/SM +Cambrian/SM +Cambridge/M +Camden/M +Camel/M +Camelopardalis/M +Camelot/MS +Camembert/MS +Cameron/M +Cameroon/SM +Cameroonian/MS +Camilla/M +Camille/M +Camoens/M +Campanella/M +Campbell/M +Campinas/M +Campos/M +Camry/M +Camus/M +Can/M +Canaan/M +Canaanite/MS +Canad +Canada/M +Canadian/SM +Canadianism +Canaletto/M +Canaries/M +Canaveral/M +Canberra/M +Cancer/SM +Cancun/M +Candace/M +Candice/M +Candide/M +Candy/M +Cannes/M +Cannon/M +Canon/M +Canopus/M +Cantabrigian/M +Canterbury/M +Canton/M +Cantonese/M +Cantor/M +Cantrell/M +Cantu/M +Canute/M +Capablanca/M +Capek/M +Capella/M +Capet/M +Capetian/M +Capetown/M +Caph/M +Capistrano/M +Capitol/SM +Capitoline/M +Capone/M +Capote/M +Capra/M +Capri/M +Capricorn/MS +Capt +Capuchin/M +Capulet/M +Cara/M +Caracalla/M +Caracas/M +Caravaggio/M +Carboloy/M +Carboniferous/M +Carborundum/M +Cardenas/M +Cardiff/M +Cardin/M +Cardozo/M +Carey/M +Carib/MS +Caribbean/MS +Carina/M +Carissa/M +Carl/M +Carla/M +Carlene/M +Carlin/M +Carlo/MS +Carlos/M +Carlsbad/M +Carlson/M +Carlton/M +Carly/M +Carlyle/M +Carmela/M +Carmella/M +Carmelo/M +Carmen/M +Carmichael/M +Carmine/M +Carnap/M +Carnation/M +Carnegie/M +Carney/M +Carnot/M +Carol/M +Carole/M +Carolina/M +Caroline/M +Carolingian/M +Carolinian/M +Carolyn/M +Carpathian/SM +Carpathians/M +Carpenter/M +Carr/M +Carranza/M +Carrie/RM +Carrier/M +Carrillo/M +Carroll/M +Carson/M +Carter/M +Cartesian/M +Carthage/M +Carthaginian/MS +Cartier/M +Cartwright/M +Caruso/M +Carver/M +Cary/M +Casablanca/M +Casals/M +Casandra/M +Casanova/SM +Cascades/M +Case/M +Casey/M +Cash/M +Casio/M +Caspar/M +Caspian/M +Cassandra/SM +Cassatt/M +Cassidy/M +Cassie/M +Cassiopeia/M +Cassius/M +Castaneda/M +Castilian +Castillo/M +Castlereagh/M +Castor/M +Castries/M +Castro/M +Catalan/SM +Catalina/M +Catalonia/M +Catawba/M +Caterpillar/M +Cathay/M +Cather/M +Catherine/M +Cathleen/M +Catholic/MS +Catholicism/MS +Cathryn/M +Cathy/M +Catiline/M +Cato/M +Catskill/SM +Catskills/M +Catt/M +Catullus/M +Caucasian/MS +Caucasoid +Caucasus/M +Cauchy/M +Cavendish/M +Cavour/M +Caxton/M +Cayenne/M +Cayman/M +Cayuga/SM +Cayuse +Cb +Cd/M +Ce/M +Ceausescu/M +Cebu/M +Cebuano/M +Cecelia/M +Cecil/M +Cecile/M +Cecilia/M +Cecily/M +Cedric/M +Celeste/M +Celia/M +Celina/M +Cellini/M +Celsius/M +Celt/SM +Celtic/SM +Cenozoic/M +Centaurus/M +Centigrade +Central +Cepheid/M +Cepheus/M +Cerberus/M +Cerenkov/M +Ceres/M +Cerf/M +Cervantes/M +Cesar/M +Cesarean/M +Cessna/M +Cetus/M +Ceylon/M +Ceylonese +Cezanne/M +Cf/M +Ch'in/M +Ch/N +Chablis/M +Chad/M +Chadian/MS +Chadwick/M +Chagall/M +Chaitanya/M +Chaitin/M +Chaldea +Chaldean/M +Challenger/M +Chalmers +Chamberlain/M +Chambers/M +Champlain/M +Champollion/M +Chan/M +Chance/M +Chancellorsville/M +Chandigarh/M +Chandler/M +Chandon/M +Chandra/M +Chandragupta/M +Chandrasekhar/M +Chanel/M +Chaney/M +Chang/M +Changchun/M +Changsha/M +Chantilly/M +Chaplin/M +Chaplinesque +Chapman/M +Chappaquiddick/M +Chapultepec/M +Charbray/M +Chardonnay/M +Charity/M +Charlemagne/M +Charlene/M +Charles/M +Charleston/MS +Charley/M +Charlie/M +Charlotte/M +Charlottetown/M +Charmaine/M +Charmin/M +Charolais/M +Charon/M +Chartism/M +Chartres/M +Charybdis/M +Chase/M +Chasity/M +Chateaubriand/M +Chattahoochee/M +Chattanooga/M +Chatterley/M +Chatterton/M +Chaucer/M +Chauncey/M +Chautauqua/M +Chavez/M +Chayefsky/M +Che/M +Chechen/M +Chechnya/M +Cheddar/M +Cheer/M +Cheerios/M +Cheetos/M +Cheever/M +Chekhov/M +Chekhovian +Chelsea/M +Chelyabinsk/M +Chen/M +Cheney/M +Chengdu/M +Chennai/M +Cheops/M +Cheri/M +Cherie/M +Chernenko/M +Chernobyl/M +Chernomyrdin/M +Cherokee/MS +Cherry/M +Cheryl/M +Chesapeake/M +Cheshire/M +Chester/M +Chesterfield/M +Chesterton/M +Chevalier/M +Cheviot/M +Chevrolet/M +Chevron/M +Chevy/M +Cheyenne/SM +Chi/M +Chianti/MS +Chiba/M +Chibcha/M +Chicago/M +Chicagoan/M +Chicana/M +Chicano/M +Chickasaw/MS +Chiclets/M +Chihuahua/MS +Chile/M +Chilean/MS +Chimborazo/M +Chimera/MS +Chimu/M +Chin/M +China/M +Chinatown/M +Chinese/M +Chinook/MS +Chipewyan/M +Chippendale/M +Chippewa/SM +Chiquita/M +Chirico/M +Chisholm/M +Chisinau/M +Chittagong/M +Chivas/M +Chloe/M +Choctaw/SM +Chomsky/M +Chongqing/M +Chopin/M +Chopra/M +Chou/M +Chretien/M +Chris/M +Christ/MS +Christa/M +Christchurch/M +Christendom/MS +Christensen/M +Christi/M +Christian/SM +Christianity/SM +Christianize +Christie/M +Christina/M +Christine/M +Christlike +Christmas/MS +Christmastide/MS +Christmastime/MS +Christoper/M +Christopher/M +Chronicles +Chrysler/M +Chrysostom/M +Chrystal/M +Chuck/M +Chukchi/M +Chumash/M +Chung/M +Church/M +Churchill/M +Churriguera/M +Chuvash/M +Ci/M +Cicero/M +Cid/M +Cimabue/M +Cincinnati/M +Cinderella/MS +Cindy/M +CinemaScope/M +Cinerama/M +Cipro/M +Circe/M +Cisco/M +Citibank/M +Citigroup/M +Citroen/M +Cl/MV +Claiborne/M +Clair/M +Claire/M +Clairol/M +Clancy/M +Clapeyron/M +Clapton/M +Clara/M +Clare/M +Clarence/M +Clarendon/M +Clarice/M +Clarissa/M +Clark/M +Clarke/M +Claude/M +Claudette/M +Claudia/M +Claudine/M +Claudio/M +Claudius/M +Claus/M +Clausewitz/M +Clausius/M +Clay/M +Clayton/M +Clearasil/M +Clem/XM +Clemenceau/M +Clemens/M +Clement/MS +Clementine/M +Clements/M +Clemons/M +Clemson/M +Cleo/M +Cleopatra/M +Cleveland/M +Cliburn/M +Cliff/M +Clifford/M +Clifton/M +Cline/M +Clint/M +Clinton/M +Clio/M +Clive/M +Clorets/M +Clorox/M +Closure/M +Clotho/M +Clouseau/M +Clovis/M +Clyde/M +Clydesdale/M +Clytemnestra/M +Cm/M +Cmdr +Co/M +Cobain/M +Cobb/M +Cochabamba/M +Cochin/M +Cochise/M +Cochran/M +Cockney/M +Cocteau/M +Cod +Cody/M +Coffey/M +Cognac/M +Cohan/M +Cohen/M +Coimbatore/M +Cointreau/M +Coke/SM +Col/M +Colbert/M +Colby/M +Cole/M +Coleen/M +Coleman/M +Coleridge/M +Colette/M +Colfax/M +Colgate/M +Colin/M +Colleen/M +Collier/M +Collin/SM +Collins/M +Colo +Cologne/M +Colombia/M +Colombian/MS +Colombo/M +Colon/M +Coloradan/SM +Colorado/M +Coloradoan +Colosseum/M +Colt/M +Coltrane/M +Columbia/M +Columbine/M +Columbus/M +Com +Comanche/MS +Combs/M +Comdr +Comintern/M +Commandment +Commons/M +Commonwealth +Communion/SM +Communism +Communist/SM +Como/M +Comoran +Comoros/M +Compaq/M +Compton/M +CompuServe/M +Comte/M +Conakry/M +Conan/M +Concepcion/M +Concetta/M +Concord/SM +Concorde/M +Condillac/M +Condorcet/M +Conestoga/M +Confederacy/M +Confederate/MS +Confucian/SM +Confucianism/MS +Confucius/M +Cong/M +Congo/M +Congolese/M +Congregational +Congregationalist/MS +Congress/MS +Congressional +Congreve/M +Conley/M +Conn/MR +Connecticut/M +Connemara/M +Conner/M +Connery/M +Connie/M +Connolly/M +Connors/M +Conrad/M +Conrail/M +Conservative +Constable/M +Constance/M +Constantine/M +Constantinople/M +Constitution +Consuelo/M +Continent/M +Continental/M +Contreras/M +Conway/M +Cook/M +Cooke/M +Cooley/M +Coolidge/M +Cooper/M +Cooperstown/M +Coors/M +Copacabana/M +Copeland/M +Copenhagen/M +Copernican/M +Copernicus/M +Copland/M +Copley/M +Copperfield/M +Coppertone/M +Coppola/M +Coptic/M +Cora/M +Cordelia/M +Cordilleras/M +Cordoba/M +Corey/M +Corfu/M +Corina/M +Corine/M +Corinne/M +Corinth/M +Corinthian/MS +Corinthians/M +Coriolanus/M +Coriolis/M +Cork +Corleone/M +Cormack/M +Corneille/M +Cornelia/M +Cornelius/M +Cornell/M +Corning/M +Cornish/MS +Cornwall/M +Cornwallis/M +Coronado/M +Corot/M +Corp +Correggio/M +Corrine/M +Corsica/M +Corsican/M +Cortes/MS +Cortland/M +Corvallis/M +Corvette/M +Corvus/M +Cory/M +Cosby/M +Cossack/M +Costco/M +Costello/M +Costner/M +Cote/M +Cotonou/M +Cotopaxi/M +Cotswold/M +Cotton/M +Coulomb/M +Coulter/M +Couperin/M +Courbet/M +Courtney/M +Cousteau/M +Coventry/SM +Coward/M +Cowell/M +Cowley/M +Cowper/M +Cox/M +Coy/M +Cozumel/M +Cpl +Cr/MT +Crabbe/M +Craft/M +Craig/M +Cranach/M +Crane/M +Cranmer/M +Crater/M +Crawford/M +Cray/M +Crayola/M +Creation/M +Creator/M +Crecy/M +Cree/DSM +Creek/SM +Creighton/M +Creole/SM +Creon/M +Cressida/M +Crest/M +Cretaceous/M +Cretan/SM +Crete/M +Crichton/M +Crick/M +Crimea/M +Crimean/M +Criollo/M +Crisco/M +Cristina/M +Croat/SM +Croatia/M +Croatian/MS +Croce/M +Crockett/M +Croesus/M +Cromwell/M +Cromwellian/M +Cronin/M +Cronkite/M +Cronus/M +Crookes/M +Crosby/M +Cross/M +Crow/SM +Crowley/M +Crucifixion/MS +Cruikshank/M +Cruise/M +Crusades's +Crusoe/M +Crux/M +Cruz/M +Cryptozoic/M +Crystal/M +Csonka/M +Ct +Ctesiphon/M +Cthulhu/M +Cu/M +Cuba/M +Cuban/SM +Cuchulain/M +Cuisinart/M +Culbertson/M +Cullen/M +Cumberland/M +Cummings/M +Cunard/M +Cunningham/M +Cupid/M +Curacao/M +Curie/M +Curitiba/M +Currier/M +Curry/RM +Curt/M +Curtis/M +Custer/M +Cuvier/M +Cuzco/M +Cybele/M +Cyclades/M +Cyclopes/M +Cyclops/M +Cygnus/M +Cymbeline/M +Cynthia/M +Cyprian/M +Cypriot/MS +Cyprus/M +Cyrano/M +Cyril/M +Cyrillic/M +Cyrus/M +Czech/M +Czechia/M +Czechoslovak +Czechoslovakia/M +Czechoslovakian/SM +Czechs +Czerny/M +D/M +DA/M +DAR +DAT/M +DBMS/M +DC/M +DD/M +DDS/M +DDT/S +DE +DEA +DEC/SD +DH +DHS +DI +DJ +DMCA +DMD/M +DMZ +DNA/M +DOA +DOB +DOD +DOE +DOS/M +DOT +DP/SM +DPT +DST +DTP +DUI +DVD +DVR/SM +DWI +Dachau/M +Dacron/SM +Dada/M +Dadaism/M +Daedalus/M +Daguerre/M +Dagwood/M +Dahomey/M +Daimler/M +Daisy/M +Dakar/M +Dakota/SM +Dakotan/M +Dalai +Dale/M +Daley/M +Dali/M +Dalian/M +Dallas/M +Dalmatia/M +Dalmatian/SM +Dalton/M +Damascus/M +Dame/MN +Damian/M +Damien/M +Damion/M +Damocles/M +Damon/M +Dan/M +Dana/M +Danae/M +Dane/SM +Danelaw/M +Dangerfield/M +Danial/M +Daniel/SM +Danielle/M +Daniels/M +Danish/M +Dannie/M +Danny/M +Danone/M +Dante/M +Danton/M +Danube/M +Danubian/M +Daphne/M +Darby/M +Darcy/M +Dardanelles/M +Dare/M +Daren/M +Darfur/M +Darin/M +Dario/M +Darius/M +Darjeeling/M +Darla/M +Darlene/M +Darling/M +Darnell/M +Darrel/M +Darrell/M +Darren/M +Darrin/M +Darrow/M +Darryl/M +Darth/M +Dartmoor/M +Dartmouth/M +Darvon/M +Darwin/M +Darwinian/M +Darwinism/SM +Darwinist +Daryl/M +Datamation +Daugherty/M +Daumier/M +Davao/M +Dave/M +Davenport/M +David/MS +Davidson/M +Davies/M +Davis/M +Davy/SM +Dawes/M +Dawkins +Dawn/M +Dawson/M +Day/M +Dayan +Dayton/M +DeGeneres/M +Deadhead/M +Dean/M +Deana/M +Deandre/M +Deann/M +Deanna/M +Deanne/M +Death/M +Debbie/M +Debby/M +Debian/M +Debora/M +Deborah/M +Debouillet/M +Debra/M +Debs/M +Debussy/M +Dec/M +Decalogue/M +Decatur/M +Decca/M +Deccan/M +December/SM +Decker/M +Dedekind/M +Dee/M +Deena/M +Deere/M +Defoe/M +Degas/M +Deidre/M +Deimos/M +Deirdre/M +Deity +Dejesus/M +Del/M +Delacroix/M +Delacruz/M +Delaney/M +Delano/M +Delaware/MS +Delawarean/SM +Delbert/M +Deleon/M +Delgado/M +Delhi/M +Delia/M +Delibes/M +Delicious/M +Delilah/M +Delilahs +Delius/M +Dell/M +Della/M +Delmar/M +Delmarva/M +Delmer/M +Delmonico/M +Delores/M +Deloris/M +Delphi/M +Delphic/M +Delphinus/M +Delta/M +Dem/G +Demavend/M +Demerol/M +Demeter/M +Demetrius/M +Deming/M +Democrat/SM +Democratic +Democritus/M +Demosthenes/M +Dempsey/M +Dena/M +Denali +Deneb/M +Denebola/M +Deng/M +Denis/M +Denise/M +Denmark/M +Dennis/M +Denny/M +Denver/M +Deon/M +Depp/M +Derby/M +Derek/M +Derick/M +Dermot/M +Derrick/M +Derrida/M +Descartes/M +Desdemona/M +Desiree/M +Desmond/M +Detroit/M +Deuteronomy/M +Devanagari/M +Devi/M +Devin/M +Devon/M +Devonian/M +Dewar/M +Dewayne/M +Dewey/M +Dewitt/M +Dexedrine/M +Dexter/M +Dhaka/M +Dhaulagiri/M +Di/SM +DiCaprio/M +DiMaggio/M +Diaghilev/M +Dial/M +Diana/M +Diane/M +Diann/M +Dianna/M +Dianne/M +Dias +Diaspora/MS +Dick/XM +Dickens/M +Dickensian +Dickerson/M +Dickinson/M +Dickson/M +Dictaphone/SM +Diderot/M +Dido/M +Didrikson/M +Diefenbaker/M +Diego/M +Diem/M +Dietrich/M +Dijkstra/M +Dijon/M +Dilbert/MS +Dillard/M +Dillinger/M +Dillon/M +Dina/M +Dinah/M +Dino/M +Diocletian/M +Diogenes/M +Dion/M +Dionne/M +Dionysian/M +Dionysus/M +Diophantine/M +Dior/M +Dipper/M +Dir +Dirac/M +Dirichlet/M +Dirk/M +Dis/M +Disney/M +Disneyland/M +Disraeli/M +Divine/M +Diwali/M +Dix/M +Dixie/M +Dixiecrat/M +Dixieland/SM +Dixon/M +Djibouti/M +Dmitri/M +Dnepropetrovsk/M +Dniester/M +Dobbin/M +Doberman/M +Dobro/M +Doctor +Doctorow/M +Dodge/M +Dodgson/M +Dodoma/M +Dodson/M +Doe/M +Doha/M +Dolby/M +Dole/M +Dollie/M +Dolly/M +Dolores/M +Domesday/M +Domingo/M +Dominguez/M +Dominic/M +Dominica/M +Dominican/MS +Dominick/M +Dominion +Dominique/M +Domitian/M +Don/SM +Dona/M +Donahue/M +Donald/M +Donaldson/M +Donatello/M +Donetsk/M +Donizetti/M +Donn/MR +Donna/M +Donne/M +Donnell/M +Donner/M +Donnie/M +Donny/M +Donovan/M +Dooley/M +Doolittle/M +Doonesbury/M +Doppler/M +Dora/M +Dorcas/M +Doreen/M +Dorian/M +Doric/M +Doris/M +Doritos/M +Dorothea/M +Dorothy/M +Dorset/M +Dorsey/M +Dorthy/M +Dortmund/M +Dostoevsky/M +Dot/M +Dotson/M +Douala/M +Douay/M +Doubleday/M +Doug/M +Douglas/M +Douglass/M +Douro/M +Dover/M +Dow/M +Downs/M +Downy/M +Doyle/M +Dr +Draco/M +Draconian/M +Dracula/M +Drake/M +Dramamine/SM +Drambuie/M +Drano/M +Dravidian/M +Dreiser/M +Dresden/M +Drew/M +Dreyfus/M +Dristan/M +Dropbox/M +Drudge/M +Dryden/M +Dschubba/M +Du +DuPont/M +Duane/M +Dubai/M +Dubcek/M +Dubhe/M +Dublin/M +Dubrovnik/M +Duchamp/M +Dudley/M +Duffy/M +Duisburg/M +Duke/M +Dulles/M +Duluth/M +Dumas/M +Dumbledore/M +Dumbo/M +Dumpster/M +Dunant/M +Dunbar/M +Duncan/M +Dundee +Dunedin/M +Dunkirk/M +Dunlap/M +Dunn/M +Dunne/M +Duracell/M +Duran/M +Durant/M +Durante/M +Durban/M +Durer/M +Durex/M +Durham/MS +Durkheim/M +Duroc/M +Durocher/M +Duse/M +Dushanbe/M +Dusseldorf/M +Dustbuster/M +Dustin/M +Dusty/M +Dutch/M +Dutchman/M +Dutchmen/M +Dutchwoman +Duvalier/M +Dvina/M +Dvorak/M +Dwayne/M +Dwight/M +Dy/M +Dyer/M +Dylan/M +Dyson/M +Dzerzhinsky/M +Dzungaria/M +E/SM +EC +ECG/M +ECMAScript/M +EDP/M +EDT +EEC/M +EEG/M +EEO +EEOC +EFL +EFT +EKG/M +ELF/M +EM +EMT +ENE/M +EOE +EPA/M +ER +ERA +ESE/M +ESL +ESP/M +ESPN/M +ESR +EST/M +ET +ETA +ETD +EU +EULA/S +Eakins/M +Earhart/M +Earl/M +Earle/M +Earlene/M +Earline/M +Earnest/M +Earnestine/M +Earnhardt/M +Earp/M +East/SZMR +Easter/M +Eastern/R +Eastman/M +Eastwood/M +Eaton/M +Eben/M +Ebeneezer/M +Ebert/M +Ebola/M +Ebonics/M +Ebony/M +Ebro/M +Ecclesiastes/M +Eco/M +Ecstasy +Ecuador/M +Ecuadoran/SM +Ecuadorean +Ecuadorian/SM +Ed/MNX +Edam/SM +Edda/M +Eddie/M +Eddington/M +Eddy/M +Eden/M +Edgar/M +Edgardo/M +Edinburgh/M +Edison/M +Edith/M +Edmond/M +Edmonton/M +Edmund/M +Edna/M +Edsel/M +Eduardo/M +Edward/SM +Edwardian/M +Edwardo/M +Edwards/M +Edwin/M +Edwina/M +Eeyore/M +Effie/M +Efrain/M +Efren/M +Eggo/M +Egypt/M +Egyptian/MS +Egyptology/M +Ehrenberg/M +Ehrlich/M +Eichmann/M +Eiffel/M +Eileen/M +Einstein/MS +Eire/M +Eisenhower/M +Eisenstein/M +Eisner/M +Elaine/M +Elam/M +Elanor/M +Elastoplast/M +Elba/M +Elbe/M +Elbert/M +Elbrus/M +Eldon/M +Eleanor/M +Eleazar/M +Electra/M +Elena/M +Elgar/M +Eli/M +Elias/M +Elijah/M +Elinor/M +Eliot/M +Elisa/M +Elisabeth/M +Elise/M +Eliseo/M +Elisha/M +Eliza/M +Elizabeth/M +Elizabethan/SM +Ella/M +Ellen/M +Ellesmere/M +Ellie/M +Ellington/M +Elliot/M +Elliott/M +Ellis/M +Ellison/M +Elma/M +Elmer/M +Elmo/M +Elnath/M +Elnora/M +Elohim/M +Eloise/M +Eloy/M +Elroy/M +Elsa/M +Elsie/M +Elsinore/M +Eltanin/M +Elton/M +Elul/M +Elva/M +Elvia/M +Elvin/M +Elvira/M +Elvis/M +Elway/M +Elwood/M +Elysee/M +Elysian/M +Elysium/SM +Emacs/M +Emanuel/M +Emerson/M +Emery/M +Emil/M +Emile/M +Emilia/M +Emilio/M +Emily/M +Eminem/M +Eminence +Emma/M +Emmanuel/M +Emmett/M +Emmy/M +Emory/M +Encarta/M +Endymion/M +Eng/M +Engels/M +England/M +English/MRS +Englishman/M +Englishmen/M +Englishwoman/M +Englishwomen/M +Enid/M +Enif/M +Eniwetok/M +Enkidu/M +Enoch/M +Enos/M +Enrico/M +Enrique/M +Enron/M +Enterprise/M +Eocene/M +Epcot/M +Ephesian/MS +Ephesus/M +Ephraim/M +Epictetus/M +Epicurean/M +Epicurus/M +Epimethius/M +Epiphany/SM +Episcopal +Episcopalian/MS +Epistle +Epsom/M +Epson/M +Epstein/M +Equuleus/M +Er/M +Erasmus/M +Erato/M +Eratosthenes/M +Erebus/M +Erector/M +Erewhon/M +Erhard/M +Eric/M +Erica/M +Erich/M +Erick/M +Ericka/M +Erickson/M +Eridanus/M +Erie/M +Erik/M +Erika/M +Erin/M +Eris/MS +Eritrea/M +Eritrean/SM +Erlenmeyer/M +Erma/M +Erna/M +Ernest/M +Ernestine/M +Ernesto/M +Ernie/M +Ernst/M +Eros/MS +Errol/M +Erse/M +ErvIn/M +Erwin/M +Esau/M +Escher/M +Escherichia/M +Escondido +Eskimo/MS +Esmeralda/M +Esperanto/M +Esperanza/M +Espinoza/M +Esq/M +Esquire/MS +Essen/M +Essene/M +Essequibo/M +Essex/M +Essie/M +Establishment +Esteban/M +Estela/M +Estella/M +Estelle/M +Ester/M +Esterhazy/M +Estes/M +Esther/M +Estonia/M +Estonian/SM +Estrada/M +Ethan/M +Ethel/M +Ethelred/M +Ethernet/M +Ethiopia/M +Ethiopian/SM +Etna/M +Eton/M +Etruria/M +Etruscan/M +Etta/M +Eu/M +Eucharist/MS +Eucharistic +Euclid/M +Eugene/M +Eugenia/M +Eugenie/M +Eugenio/M +Eula/M +Euler/M +Eumenides/M +Eunice/M +Euphrates/M +Eur +Eurasia/M +Eurasian/MS +Euripides/M +Eurodollar/SM +Europa/M +Europe/M +European/MS +Eurydice/M +Eustachian/M +Euterpe/M +Eva/M +Evan/SM +Evangelical +Evangelina/M +Evangeline/M +Evangelist/M +Evans/M +Evansville/M +Eve/M +Evelyn/M +Evenki/M +EverReady/M +Everest/M +Everett/M +Everette/M +Everglades/M +Evert/M +Evian/M +Evita/M +Ewing/M +Excalibur/M +Excedrin/M +Excellency/SM +Exchequer +Exercycle/M +Exocet/M +Exodus/M +Exxon/M +Eyck/M +Eyre/M +Eysenck/M +Ezekiel/M +Ezra/M +F/MD +FAA +FAQ/SM +FBI/M +FCC +FD +FDA +FDIC/M +FDR/M +FHA/M +FICA/M +FIFO +FL +FM/SM +FNMA/M +FOFL +FORTRAN/M +FPO +FSF/M +FSLIC +FTC +FUD/S +FWD +FWIW +FY +FYI +Faberge/M +Fabian/MS +Facebook/M +Faeroe/M +Fafnir/M +Fagin/M +Fahd/M +Fahrenheit/M +Fairbanks/M +Faisal/M +Faisalabad/M +Faith/M +Falasha/M +Falkland/SM +Falklands/M +Fallopian/M +Falstaff/M +Falwell/M +Fannie/M +Fanny/M +Faraday/M +Fargo/M +Farley/M +Farmer/M +Farragut/M +Farrakhan/M +Farrell/M +Farrow/M +Farsi/M +Fassbinder/M +Fatah/M +Fates/M +Father/SM +Fatima/M +Fatimid/M +Faulkner/M +Faulknerian/M +Fauntleroy/M +Faust/M +Faustian/M +Faustino/M +Faustus/M +Fawkes/M +Fay/M +Faye/M +Fe/M +Feb/M +February/SM +Fed/SM +FedEx/M +Federal/MS +Federalist/M +Federico/M +Feds/M +Felecia/M +Felice/M +Felicia/M +Felicity/M +Felipe/M +Felix/M +Fellini/M +Fenian/M +Ferber/M +Ferdinand/M +Fergus/M +Ferguson/M +Ferlinghetti/M +Fermat/M +Fermi/M +Fern/M +Fernandez/M +Fernando/M +Ferrari/M +Ferraro/M +Ferrell/M +Ferris/M +Feynman/M +Fez/M +Fiat/M +Fiberglas/M +Fibonacci/M +Fichte/M +Fidel/M +Fido/M +Fielding/M +Fields/M +Figaro/M +Figueroa/M +Fiji/M +Fijian/MS +Filipino/MS +Fillmore/M +Filofax/M +Finch/M +Finland/M +Finley/M +Finn/SM +Finnbogadottir/M +Finnegan/M +Finnish/M +Fiona/M +Firefox/M +Firestone/M +Fischer/M +Fisher/M +Fisk/M +Fitch/M +Fitzgerald/M +Fitzpatrick/M +Fitzroy/M +Fizeau/M +Fla +Flanagan/M +Flanders/M +Flathead +Flatt/M +Flaubert/M +Fleischer/M +Fleming/M +Flemish/M +Fletcher/M +Flint/M +Flintstones/M +Flo/M +Flora/M +Florence/M +Florentine/M +Flores/M +Florida/M +Floridan/M +Floridian/SM +Florine/M +Florsheim/M +Flory/M +Flossie/M +Flowers/M +Floyd/M +Flynn/M +Fm/M +Foch/M +Fokker/M +Foley/M +Folgers/M +Folsom/M +Fomalhaut/M +Fonda/M +Foosball/M +Forbes/M +Ford/M +Foreman/M +Forest/MR +Forester/M +Formica/MS +Formosa/M +Formosan/M +Forrest/M +Forster/M +Fortaleza/M +Fosse/M +Foster/M +Fotomat/M +Foucault/M +Fourier/M +Fourneyron/M +Fourth +Fowler/M +Fox/MS +Fr/MD +Fragonard/M +Fran/M +France/SM +Frances/M +Francesca/M +Francine/M +Francis/M +Francisca/M +Franciscan/MS +Francisco/M +Franck/M +Franco/M +Francois/M +Francoise/M +Francophile +Franglais/M +Frank/SM +Frankel/M +Frankenstein/M +Frankfort/M +Frankfurt/MR +Frankfurter/M +Frankie/M +Frankish +Franklin/M +Franks/M +Franny/M +Franz/M +Fraser/M +Frau/MN +Fraulein +Frazier/M +Fred/M +Freda/M +Freddie/M +Freddy/M +Frederic/M +Frederick/M +Fredericton/M +Fredric/M +Fredrick/M +Freeman/M +Freemason/SM +Freemasonry/SM +Freetown/M +Freida/M +Fremont/M +French/MS +Frenchman/M +Frenchmen/M +Frenchwoman/M +Frenchwomen/M +Freon/M +Fresnel/M +Fresno/M +Freud/M +Freudian/M +Frey/M +Freya/M +Fri/M +Friday/SM +Frieda/M +Friedan/M +Friedman/M +Friend/SM +Frigga/M +Frigidaire/M +Frisbee/M +Frisco/M +Frisian/MS +Frito/M +Fritz/M +Frobisher/M +Frodo/M +Froissart/M +Fromm/M +Fronde/M +Frontenac/M +Frost/M +Frostbelt/M +Frunze/M +Fry/M +Frye/M +Fuchs/M +Fuentes/M +Fugger/M +Fuji/M +Fujitsu/M +Fujiwara/M +Fujiyama/M +Fukuoka/M +Fukuyama/M +Fulani/M +Fulbright/M +Fuller/M +Fullerton/M +Fulton/M +Funafuti/M +Fundy/M +Furies/M +Furtwangler/M +Fushun/M +Fuzhou/M +Fuzzbuster/M +G/MNRB +GA +GAO +GATT/M +GB/M +GCC/M +GDP/M +GE/M +GED +GHQ/M +GHz +GI +GIF +GIGO +GM/M +GMAT +GMO +GMT/M +GNP/M +GNU/M +GOP/M +GP/M +GPA +GPO +GPS +GPU +GSA +GTE/M +GU +GUI/M +Ga/M +Gable/M +Gabon/M +Gabonese/M +Gaborone/M +Gabriel/M +Gabriela/M +Gabrielle/M +Gacrux/M +Gadsden/M +Gaea/M +Gael/SM +Gaelic/M +Gagarin/M +Gage/M +Gaia/M +Gail/M +Gaiman/M +Gaines/M +Gainsborough/M +Galahad/SM +Galapagos/M +Galatea/M +Galatia/M +Galatians/M +Galaxy +Galbraith/M +Gale/M +Galen/M +Galibi/M +Galilean/SM +Galilee/M +Galileo/M +Gall/M +Gallagher/M +Gallegos/M +Gallic/M +Gallicism/SM +Gallo/M +Galloway/M +Gallup/M +Galois/M +Galsworthy/M +Galvani/M +Galveston/M +Gama +Gamay/M +Gambia/M +Gambian/SM +Gamble/M +Gamow/M +Gandalf/M +Gandhi/M +Gandhian/M +Ganesha/M +Ganges/M +Gangtok/M +Gantry/M +Ganymede/M +Gap/M +Garbo/M +Garcia/M +Gardner/M +Gareth/M +Garfield/M +Garfunkel/M +Gargantua/M +Garibaldi/M +Garland/M +Garner/M +Garrett/M +Garrick/M +Garrison/M +Garry/M +Garth/M +Garvey/M +Gary/M +Garza/M +Gascony/M +Gasser/M +Gastroenterology +Gates/M +Gatling/M +Gatorade/M +Gatsby/M +Gatun/M +Gauguin/M +Gaul/SM +Gaulish +Gauss/M +Gaussian/M +Gautama/M +Gautier/M +Gavin/M +Gawain/M +Gay/M +Gayle/M +Gaza/M +Gaziantep/M +Gd/M +Gdansk/M +Ge/M +Geffen/M +Gehenna/M +Gehrig/M +Geiger/M +Gelbvieh/M +Geller/M +Gemini/MS +Gen/M +Gena/M +Genaro/M +Gene/M +Genesis/M +Genet/M +Geneva/M +Genevieve/M +Genghis/M +Genoa/SM +Gentoo/M +Gentry/M +Geo/M +Geoffrey/M +George/MS +Georgetown/M +Georgette/M +Georgia/M +Georgian/MS +Georgina/M +Ger/M +Gerald/M +Geraldine/M +Gerard/M +Gerardo/M +Gerber/M +Gere/M +Geritol/M +German/MS +Germanic/M +Germany/M +Geronimo/M +Gerry/M +Gershwin/M +Gertrude/M +Gestapo/SM +Gethsemane/M +Getty/M +Gettysburg/M +Gewurztraminer/M +Ghana/M +Ghanaian +Ghats/M +Ghazvanid/M +Ghent/M +Ghibelline/M +Giacometti/M +Giannini/M +Giauque/M +Gibbon/M +Gibbs/M +Gibraltar/MS +Gibson/M +Gide/M +Gideon/M +Gielgud/M +Gienah/M +Gil/M +Gila/M +Gilbert/M +Gilberto/M +Gilchrist/M +Gilda/M +Gilead/M +Giles/M +Gilgamesh/M +Gill/M +Gillespie/M +Gillette/M +Gilliam/M +Gillian/M +Gilligan/M +Gilman +Gilmore/M +Gina/M +Ginger/M +Gingrich/M +Ginny/M +Gino/M +Ginsberg/M +Ginsburg/M +Ginsu/M +Giorgione/M +Giotto/M +Giovanni/M +Giraudoux/M +Giselle/M +Gish/M +GitHub/M +Giuliani/M +Giuseppe/M +Giza/M +Gk +Gladstone/MS +Gladys/M +Glaser/M +Glasgow/M +Glass/M +Glastonbury/M +Glaswegian/SM +Glaxo/M +Gleason/M +Glen/M +Glenda/M +Glendale +Glenlivet/M +Glenn/M +Glenna/M +Gloria/M +Gloucester/M +Glover/M +Gnostic/M +Gnosticism/M +GnuPG +Goa/M +Gobi/M +God/M +Godard/M +Goddard/M +Godel/M +Godhead/M +Godiva/M +Godot/M +Godspeed/SM +Godthaab/M +Godunov/M +Godzilla/M +Goebbels/M +Goering/M +Goethals/M +Goethe/M +Goff/M +Gog/M +Gogol/M +Goiania/M +Golan/M +Golconda/M +Golda/M +Goldberg/M +Golden/M +Goldie/M +Goldilocks/M +Golding/M +Goldman/M +Goldsmith/M +Goldwater/M +Goldwyn/M +Golgi/M +Golgotha/M +Goliath/M +Gomez/M +Gomorrah/M +Gompers/M +Gomulka/M +Gondwanaland/M +Gonzales/M +Gonzalez/M +Gonzalo/M +Good/M +Goodall/M +Goodman/M +Goodrich/M +Goodwill/M +Goodwin/M +Goodyear/M +Google/M +Goolagong/M +Gopher +Gorbachev/M +Gordian/M +Gordimer/M +Gordon/M +Gore/M +Goren/M +Gorey/M +Gorgas/M +Gorgon/M +Gorgonzola/M +Gorky/M +Gospel/MS +Goteborg/M +Goth/M +Gotham/M +Gothic/MS +Goths +Gouda/SM +Gould/M +Gounod/M +Governor +Goya/M +Gr/B +Grable/M +Gracchus/M +Grace/M +Graceland/M +Gracie/M +Graciela/M +Grady/M +Graffias/M +Grafton/M +Graham/M +Grahame/M +Grail/M +Grammy/M +Grampians/M +Granada/M +Grant/M +Grass/M +Graves/M +Gray/M +Grecian/M +Greece/M +Greek/SM +Greeley/M +Green/SM +Greene/M +Greenland/M +Greenlandic +Greenpeace/M +Greensboro/M +Greensleeves/M +Greenspan/M +Greenwich/M +Greer/M +Greg/M +Gregg/M +Gregorian/M +Gregorio/M +Gregory/M +Grenada/M +Grenadian/MS +Grenadines/M +Grendel/M +Grenoble/M +Gresham/M +Greta/M +Gretchen/M +Gretel/M +Gretzky/M +Grey/M +Grieg/M +Griffin/M +Griffith/M +Grimes/M +Grimm/M +Grinch/M +Gris/M +Gromyko/M +Gropius/M +Gross/M +Grosz/M +Grotius/M +Grover/M +Grozny +Grumman/M +Grundy/M +Grunewald/M +Grus/M +Gruyere/SM +Guadalajara/M +Guadalcanal/M +Guadalquivir/M +Guadalupe/M +Guadeloupe/M +Guallatiri/M +Guam/M +Guamanian +Guangzhou/M +Guantanamo/M +Guarani/M +Guarnieri/M +Guatemala/M +Guatemalan/MS +Guayaquil/M +Gucci/M +Guelph/M +Guernsey/MS +Guerra/M +Guerrero/M +Guevara/M +Guggenheim/M +Guiana/M +Guido +Guillermo/M +Guinea/M +Guinean/MS +Guinevere/M +Guinness/M +Guiyang/M +Guizot/M +Gujarat/M +Gujarati/M +Gujranwala/M +Gullah/M +Gulliver/M +Gumbel/M +Gunther/M +Guofeng/M +Gupta/M +Gurkha/M +Gus/M +Gustav/M +Gustavo/M +Gustavus/M +Gutenberg/M +Guthrie/M +Gutierrez/M +Guy/M +Guyana/M +Guyanese/M +Guzman/M +Gwalior/M +Gwen/M +Gwendoline/M +Gwendolyn/M +Gwyn/M +Gypsy/SM +H/M +HBO/M +HDD +HDMI +HDTV +HF/M +HHS +HI +HIV/M +HM +HMO/M +HMS +HOV +HP/M +HPV +HQ/M +HR +HRH +HS +HSBC/M +HST +HT +HTML/M +HTTP +HUD/M +Ha/M +Haas/M +Habakkuk/M +Haber/M +Hadar/M +Hades/M +Hadrian/M +Hafiz/M +Hagar/M +Haggai/M +Hagiographa/M +Hague/M +Hahn/M +Haida/SM +Haifa/M +Haiphong/M +Haiti/M +Haitian/MS +Hakka/M +Hakluyt/M +Hal/SM +Haldane/M +Hale/M +Haleakala/M +Haley/M +Halifax/M +Hall/M +Halley/M +Halliburton/M +Hallie/M +Hallmark/M +Halloween/MS +Hallstatt/M +Halon/M +Hals/M +Halsey/M +Ham/M +Haman/M +Hamburg/MS +Hamhung/M +Hamilcar/M +Hamill/M +Hamilton/M +Hamiltonian/M +Hamitic/M +Hamlet/M +Hamlin/M +Hammarskjold/M +Hammerstein/M +Hammett/M +Hammond/M +Hammurabi/M +Hampshire/M +Hampton/M +Hamsun/M +Han/SM +Hancock/M +Handel/M +Handy/M +Haney/M +Hangul/M +Hangzhou/M +Hank/M +Hanna/M +Hannah/M +Hannibal/M +Hanoi/M +Hanover/M +Hanoverian/M +Hans/MN +Hansel/M +Hansen/M +Hanson/M +Hanuka +Hanukkah/M +Hanukkahs +Hapsburg/M +Harare/M +Harbin/M +Hardin/M +Harding/M +Hardy/M +Hargreaves/M +Harlan/M +Harlem/M +Harlequin/M +Harley/M +Harlow/M +Harmon/M +Harold/M +Harper/M +Harpy/SM +Harrell/M +Harriet/M +Harriett/M +Harrington/M +Harris/M +Harrisburg/M +Harrison/M +Harrods/M +Harry/M +Hart/M +Harte/M +Hartford/M +Hartline/M +Hartman/M +Harvard/M +Harvey/M +Hasbro/M +Hasidim/M +Haskell/M +Hastings/M +Hatfield/M +Hathaway/M +Hatsheput/M +Hatteras/M +Hattie/M +Hauptmann/M +Hausa/M +Hausdorff/M +Havana/MS +Havarti/M +Havel/M +Havoline/M +Haw +Hawaii/M +Hawaiian/SM +Hawking/M +Hawkins/M +Hawks +Hawthorne/M +Hay/SM +Hayden/M +Haydn/M +Hayek/M +Hayes/M +Haynes/M +Hays/M +Hayward/M +Haywood/M +Hayworth/M +Hazel/M +Hazlitt/M +He/M +Head/M +Hearst/M +Heath/MR +Heather/M +Heaviside/M +Heb +Hebe/M +Hebert/M +Hebraic/M +Hebraism/SM +Hebrew/MS +Hebrews/M +Hebrides/M +Hecate/M +Hector/M +Hecuba/M +Heep/M +Hefner/M +Hegel/M +Hegelian/M +Hegira/M +Heidegger/M +Heidelberg/M +Heidi/M +Heifetz/M +Heimlich/M +Heine/M +Heineken/M +Heinlein/M +Heinrich/M +Heinz/M +Heisenberg/M +Heisman/M +Helen/M +Helena/M +Helene/M +Helga/M +Helicon/M +Heliopolis/M +Helios/M +Hellene/SM +Hellenic/M +Hellenism/MS +Hellenist +Hellenistic/M +Hellenization/M +Hellenize/M +Heller/M +Hellespont/M +Hellman/M +Helmholtz/M +Heloise/M +Helsinki/M +Helvetian +Helvetius/M +Hemingway/M +Hench/M +Henderson/M +Hendrick/MS +Hendricks/M +Hendrix/M +Henley/M +Hennessy/M +Henri/M +Henrietta/M +Henrik/M +Henry/M +Hensley/M +Henson/M +Hepburn/M +Hephaestus/M +Hepplewhite/M +Hera/M +Heracles/M +Heraclitus/M +Herakles/M +Herbart/M +Herbert/M +Herculaneum/M +Herculean +Hercules/M +Herder/M +Hereford/SM +Herero/M +Heriberto/M +Herman/M +Hermaphroditus/M +Hermes/M +Herminia/M +Hermitage/M +Hermite/M +Hermosillo/M +Hernandez/M +Herod/M +Herodotus/M +Herr/MG +Herrera/M +Herrick/M +Herring/M +Herschel/M +Hersey/M +Hershel/M +Hershey/M +Hertz/M +Hertzsprung/M +Herzegovina/M +Herzl/M +Heshvan/M +Hesiod/M +Hesperus/M +Hess/M +Hesse/M +Hessian/M +Hester/M +Heston/M +Hettie/M +Hewitt/M +Hewlett/M +Heyerdahl/M +Heywood/M +Hezbollah/M +Hezekiah/M +Hf/M +Hg/M +Hialeah/M +Hiawatha/M +Hibernia/M +Hibernian +Hickman/M +Hickok/M +Hicks/M +Hieronymus/M +Higashiosaka +Higgins/M +Highlander/SM +Highlands +Highness/M +Hilario/M +Hilary/M +Hilbert/M +Hilda/M +Hildebrand/M +Hilfiger/M +Hill/M +Hillary/M +Hillel/M +Hilton/M +Himalaya/SM +Himalayan +Himalayas/M +Himmler/M +Hinayana/M +Hindemith/M +Hindenburg/M +Hindi/M +Hindu/SM +Hinduism/SM +Hindustan/M +Hindustani/SM +Hines/M +Hinton/M +Hipparchus/M +Hippocrates/M +Hippocratic/M +Hiram/M +Hirobumi/M +Hirohito/M +Hiroshima/M +Hispanic/SM +Hispaniola/M +Hiss/M +Hitachi/M +Hitchcock/M +Hitler/MS +Hittite/SM +Hmong/M +Ho/M +Hobart/M +Hobbes/M +Hobbs/M +Hockney/M +Hodge/SM +Hodges/M +Hodgkin/M +Hoff/M +Hoffa/M +Hoffman/M +Hofstadter/M +Hogan/M +Hogarth/M +Hogwarts/M +Hohenlohe/M +Hohenstaufen/M +Hohenzollern/M +Hohhot/M +Hohokam/M +Hokkaido/M +Hokusai/M +Holbein/M +Holcomb/M +Holden/M +Holder/M +Holiday/M +Holiness +Holland/ZSMR +Hollander/M +Hollerith/M +Holley/M +Hollie/M +Hollis/M +Holloway/M +Holly/M +Hollywood/M +Holman/M +Holmes/M +Holocaust/M +Holocene/M +Holst/M +Holstein/SM +Holt/M +Homer/M +Homeric/M +Hon +Honda/M +Honduran/MS +Honduras/M +Honecker/M +Honeywell/M +Hong +Honiara/M +Honolulu/M +Honorable +Honshu/M +Hood/M +Hooke/RM +Hooker/M +Hooper/M +Hoosier/MS +Hooters/M +Hoover/MS +Hope/M +Hopewell/M +Hopi/SM +Hopkins/M +Hopper/M +Horace/M +Horacio/M +Horatio/M +Hormel/M +Hormuz/M +Horn/M +Hornblower/M +Horne/M +Horowitz/M +Horthy/M +Horton/M +Horus/M +Hosea/M +Host/SM +Hotpoint/M +Hottentot/SM +Houdini/M +House/M +Housman/M +Houston/M +Houyhnhnm/M +Hovhaness/M +Howard/M +Howe/M +Howell/MS +Howells/M +Howrah +Hoyle/M +Hrothgar/M +Hts +Huang/M +Hubbard/M +Hubble/M +Huber/M +Hubert/M +Huck/M +Huddersfield +Hudson/M +Huerta/M +Huey/M +Huff/M +Huffman/M +Huggins/M +Hugh/MS +Hughes/M +Hugo/M +Huguenot/MS +Hui/M +Huitzilopotchli/M +Hull/M +Humberto/M +Humboldt/M +Hume/M +Hummer/M +Humphrey/SM +Humvee/M +Hun/SM +Hung/M +Hungarian/SM +Hungary/M +Hunspell/M +Hunt/MR +Hunter/M +Huntington/M +Huntley/M +Huntsville/M +Hurley/M +Huron/M +Hurst/M +Hus/M +Hussein/M +Husserl/M +Hussite/M +Huston/M +Hutchinson/M +Hutton/M +Hutu/M +Huxley/M +Huygens/M +Hyades/M +Hyde/M +Hyderabad/M +Hydra/M +Hymen/M +Hyperion/M +Hyundai/M +Hz/M +I'd +I'll +I'm +I've +I/M +IA +IBM/M +ICBM/SM +ICC +ICU +ID/SM +IDE +IE +IED +IEEE +IKEA/M +IL +IMF/M +IMHO +IMNSHO +IMO +IN +ING/M +INRI +INS +IOU/M +IP +IPA +IPO +IQ/M +IRA/SM +IRC +IRS/M +ISBN +ISIS +ISO/M +ISP +ISS +IT +IUD +IV/SM +IVF +Ia +Iaccoca/M +Iago/M +Ian/M +Iapetus/M +Ibadan/M +Iberia/M +Iberian/M +Ibiza/M +Iblis/M +Ibo/M +Ibsen/M +Icahn/M +Icarus/M +Ice +Iceland/MRZ +Icelander/M +Icelandic/M +Ida/M +Idaho/SM +Idahoan/MS +Idahoes +Ieyasu/M +Ignacio/M +Ignatius/M +Igor/M +Iguassu/M +Ijsselmeer/M +Ike/M +Ikhnaton/M +Ila/M +Ilene/M +Iliad/SM +Ill +Illinois/M +Illinoisan/MS +Illuminati/M +Ilyushin/M +Imelda/M +Imhotep/M +Imodium/M +Imogene/M +Imus/M +In/M +Ina/M +Inc +Inca/SM +Inchon/M +Incorporated +Ind +Independence/M +India/M +Indian/MS +Indiana/M +Indianan/SM +Indianapolis/M +Indianian +Indies/M +Indira/M +Indochina/M +Indochinese/M +Indonesia/M +Indonesian/SM +Indore/M +Indra/M +Indus/M +Indy/SM +Ines/M +Inez/M +Inge/M +Inglewood +Ingram/M +Ingres/M +Ingrid/M +Innocent/M +Innsbruck +Inonu/M +Inquisition/M +Inst +Instagram/M +Instamatic/M +Intel/M +Intelsat/M +Internationale/M +Internet/SM +Interpol/M +Inuit/MS +Inuktitut/M +Invar/M +Io/M +Ionesco/M +Ionian/MS +Ionic/SM +Iowa/SM +Iowan/MS +Iphigenia/M +Ipswich +Iqaluit/M +Iqbal/M +Iquitos/M +Ir/M +Ira/M +Iran/M +Iranian/SM +Iraq/M +Iraqi/MS +Ireland/M +Irene/M +Iris/M +Irish/MR +Irishman/M +Irishmen/M +Irishwoman/M +Irishwomen/M +Irkutsk/M +Irma/M +Iroquoian/SM +Iroquois/M +Irrawaddy/M +Irtish/M +Irvin/M +Irvine/M +Irving/M +Irwin/M +Isaac/M +Isabel/M +Isabella/M +Isabelle/M +Isaiah/M +Iscariot/M +Isfahan/M +Isherwood/M +Ishim/M +Ishmael/M +Ishtar/M +Isiah/M +Isidro/M +Isis/M +Islam/MS +Islamabad/M +Islamic/M +Islamism/M +Islamist/M +Islamophobia +Islamophobic +Ismael/M +Ismail/M +Isolde/M +Ispell/M +Israel/SM +Israeli/SM +Israelite/M +Issac/M +Issachar/M +Istanbul/M +Isuzu/M +It +Itaipu/M +Ital +Italian/SM +Italianate +Italy/M +Itasca/M +Ithaca/M +Ithacan/M +Ito/M +Iva/M +Ivan/M +Ivanhoe/M +Ives/M +Ivorian +Ivory/M +Ivy/M +Iyar/M +Izaak/M +Izanagi/M +Izanami/M +Izhevsk/M +Izmir/M +Izod/M +Izvestia/M +J/MD +JCS +JD +JFK/M +JP +JPEG +JV +Jack/M +Jackie/M +Jacklyn/M +Jackson/M +Jacksonian/M +Jacksonville/M +Jacky/M +Jaclyn/M +Jacob/SM +Jacobean/M +Jacobi/M +Jacobin/M +Jacobite/M +Jacobs/M +Jacobson/M +Jacquard/M +Jacqueline/M +Jacquelyn/M +Jacques/M +Jacuzzi/M +Jagger/M +Jagiellon/M +Jaguar/M +Jahangir/M +Jaime/M +Jain/M +Jainism/M +Jaipur/M +Jakarta/M +Jake/M +Jamaal/M +Jamaica/M +Jamaican/SM +Jamal/M +Jamar/M +Jame/SM +Jamel/M +James/M +Jamestown/M +Jami/M +Jamie/M +Jan/M +Jana/M +Janacek/M +Jane/M +Janell/M +Janelle/M +Janet/M +Janette/M +Janice/M +Janie/M +Janine/M +Janis/M +Janissary/M +Janjaweed/M +Janna/M +Jannie/M +Jansen/M +Jansenist/M +January/SM +Janus/M +Jap/SM +Japan/M +Japanese/MS +Japura/M +Jared/M +Jarlsberg/M +Jarred/M +Jarrett/M +Jarrod/M +Jarvis/M +Jasmine/M +Jason/M +Jasper/M +Jataka/M +Java/SM +JavaScript/M +Javanese/M +Javier/M +Jaxartes/M +Jay/M +Jayapura/M +Jayawardene/M +Jaycee/MS +Jaycees/M +Jayne/M +Jayson/M +Jean/M +Jeanette/M +Jeanie/M +Jeanine/M +Jeanne/M +Jeannette/M +Jeannie/M +Jeannine/M +Jed/M +Jedi/M +Jeep/M +Jeeves/M +Jeff/M +Jefferey/M +Jefferson/M +Jeffersonian/M +Jeffery/M +Jeffrey/M +Jeffry/M +Jehoshaphat/M +Jehovah/M +Jekyll/M +Jenifer/M +Jenkins/M +Jenna/M +Jenner/M +Jennie/M +Jennifer/M +Jennings/M +Jenny/M +Jensen/M +Jephthah/M +Jerald/M +Jeremiah/M +Jeremiahs +Jeremy/M +Jeri/M +Jericho/M +Jermaine/M +Jeroboam/M +Jerold/M +Jerome/M +Jerri/M +Jerrod/M +Jerrold/M +Jerry/M +Jersey/MS +Jerusalem/M +Jess/M +Jesse/M +Jessica/M +Jessie/M +Jesuit/MS +Jesus/M +Jetway/M +Jew/SM +Jewel/M +Jewell/M +Jewess/MS +Jewish/PM +Jewry/M +Jezebel/SM +Jidda/M +Jilin/M +Jill/M +Jillian/M +Jim/M +Jimenez/M +Jimmie/M +Jimmy/M +Jinan/M +Jinnah/M +Jinny/M +Jivaro/M +Jo/M +Joan/M +Joann/M +Joanna/M +Joanne/M +Joaquin/M +Job/SM +Jobs/M +Jocasta/M +Jocelyn/M +Jock/M +Jockey/M +Jodi/M +Jodie/M +Jody/M +Joe/M +Joel/M +Joey/M +Jogjakarta/M +Johann/M +Johanna/M +Johannes/M +Johannesburg/M +John/SM +Johnathan/M +Johnathon/M +Johnie/M +Johnnie/M +Johnny/M +Johns/M +Johnson/M +Johnston/M +Jolene/M +Jolson/M +Jon/M +Jonah/M +Jonahs +Jonas/M +Jonathan/M +Jonathon/M +Jones/M +Joni/M +Jonson/M +Joplin/M +Jordan/M +Jordanian/MS +Jorge/M +Jose/M +Josef/M +Josefa/M +Josefina/M +Joseph/M +Josephine/M +Josephs +Josephson/M +Josephus/M +Josh/M +Joshua/M +Josiah/M +Josie/M +Josue/M +Joule/M +Jove/M +Jovian/M +Joy/M +Joyce/M +Joycean/M +Joyner/M +Jpn +Jr/M +Juan/M +Juana/M +Juanita/M +Juarez/M +Jubal/M +Judaeo +Judah/M +Judaic +Judaical +Judaism/MS +Judas/MS +Judd/M +Jude/M +Judea/M +Judges +Judith/M +Judson/M +Judy/M +Juggernaut/M +Jul +Jules/M +Julia/M +Julian/M +Juliana/M +Julianne/M +Julie/M +Juliet/M +Juliette/M +Julio/M +Julius/M +Julliard/M +July/SM +Jun/M +June/SM +Juneau/M +Jung/M +Jungfrau/M +Jungian/M +Junior/SM +Junker/SM +Juno/M +Jupiter/M +Jurassic/M +Jurua/M +Justice/M +Justin/M +Justine/M +Justinian/M +Jutland/M +Juvenal/M +K/SMNGJ +KB/M +KC +KFC/M +KGB/M +KIA +KKK/M +KO/M +KP +KS +KY +Kaaba/M +Kabul/M +Kafka/M +Kafkaesque/M +Kagoshima/M +Kahlua/M +Kaifeng/M +Kaiser/MS +Kaitlin/M +Kalahari/M +Kalamazoo/M +Kalashnikov/M +Kalb/M +Kalevala/M +Kalgoorlie/M +Kali/M +Kalmyk/M +Kama/M +Kamchatka/M +Kamehameha/M +Kampala/M +Kampuchea/M +Kan/SM +Kanchenjunga/M +Kandahar/M +Kandinsky/M +Kane/M +Kannada/M +Kano/M +Kanpur/M +Kansan/MS +Kansas/M +Kant/M +Kantian/M +Kaohsiung/M +Kaposi/M +Kara/M +Karachi/M +Karaganda/M +Karakorum/M +Karamazov/M +Kareem/M +Karen/M +Karenina/M +Kari/M +Karin/M +Karina/M +Karl/M +Karla/M +Karloff/M +Karo/M +Karol/M +Karroo/M +Karyn/M +Kasai/M +Kasey/M +Kashmir/SM +Kasparov/M +Kate/M +Katelyn/M +Katharine/M +Katherine/M +Katheryn/M +Kathiawar/M +Kathie/M +Kathleen/M +Kathmandu/M +Kathrine/M +Kathryn/M +Kathy/M +Katie/M +Katina/M +Katmai/M +Katowice/M +Katrina/M +Katy/M +Kauai/M +Kaufman/M +Kaunas/M +Kaunda/M +Kawabata/M +Kawasaki/M +Kay/M +Kaye/M +Kayla/M +Kazakh/M +Kazakhs +Kazakhstan/M +Kazan/M +Kazantzakis/M +Kb/M +Keaton/M +Keats/M +Keck/M +Keenan/M +Keewatin/M +Keillor/M +Keisha/M +Keith/M +Keller/M +Kelley/M +Kelli/M +Kellie/M +Kellogg/M +Kelly/M +Kelsey/M +Kelvin/M +Kemerovo/M +Kemp/M +Kempis/M +Ken/M +Kendall/M +Kendra/M +Kendrick/M +Kenmore/M +Kennan/M +Kennedy/M +Kenneth/M +Kennith/M +Kenny/M +Kent/M +Kenton/M +Kentuckian/MS +Kentucky/M +Kenya/M +Kenyan/SM +Kenyatta/M +Kenyon/M +Keogh/M +Keokuk/M +Kepler/M +Kerensky/M +Keri/M +Kermit/M +Kern/M +Kerouac/M +Kerr/M +Kerri/M +Kerry/M +Kettering/M +Keven/M +Kevin/M +Kevlar/M +Kevorkian/M +Kewpie/M +Key/M +Keynes/M +Keynesian/M +Khabarovsk/M +Khachaturian/M +Khalid/M +Khan/M +Kharkov/M +Khartoum/M +Khayyam/M +Khazar/M +Khmer/M +Khoikhoi/M +Khoisan/M +Khomeini/M +Khorana/M +Khrushchev/M +Khufu/M +Khulna/M +Khwarizmi/M +Khyber/M +Kickapoo/M +Kidd/M +Kiel/M +Kierkegaard/M +Kieth/M +Kiev/M +Kigali/M +Kikuyu/M +Kilauea/M +Kilimanjaro/M +Kilroy/M +Kim/M +Kimberley/M +Kimberly/M +King/M +Kingston/M +Kingstown/M +Kinko's +Kinney/M +Kinsey/M +Kinshasa/M +Kiowa/MS +Kip/M +Kipling/M +Kirby/M +Kirchhoff/M +Kirchner/M +Kirghistan/M +Kirghiz/M +Kirghizia/M +Kiribati/M +Kirinyaga/M +Kirk/M +Kirkland/M +Kirkpatrick/M +Kirov/M +Kirsten/M +Kisangani/M +Kishinev/M +Kislev/M +Kissinger/M +Kit/M +Kitakyushu/M +Kitchener/M +Kitty/M +Kiwanis/M +Klan/M +Klansman/M +Klaus/M +Klee/M +Kleenex/MS +Klein/M +Klimt/M +Kline/M +Klingon/M +Klondike/MS +Kmart/M +Knapp/M +Knesset/M +Kngwarreye/M +Knickerbocker/M +Knievel/M +Knight/M +Knopf/M +Knossos/M +Knowles/M +Knox/M +Knoxville/M +Knudsen/M +Knuth/M +Knuths +Kobe/M +Koch/M +Kochab/M +Kodachrome/M +Kodak/M +Kodaly/M +Kodiak/M +Koestler/M +Kohinoor/M +Kohl/M +Koizumi/M +Kojak/M +Kolyma/M +Kommunizma/M +Kong/M +Kongo/M +Konrad/M +Koontz/M +Koppel/M +Koran/MS +Koranic +Korea/M +Korean/SM +Kornberg/M +Kory/M +Korzybski/M +Kosciusko/M +Kossuth/M +Kosygin/M +Koufax/M +Kowloon/M +Kr/M +Kraft/M +Krakatoa/M +Krakow/M +Kramer/M +Krasnodar/M +Krasnoyarsk/M +Krebs/M +Kremlin/M +Kremlinologist +Kremlinology +Kresge/M +Kringle/M +Kris/M +Krishna/M +Krishnamurti/M +Krista/M +Kristen/M +Kristi/M +Kristie/M +Kristin/M +Kristina/M +Kristine/M +Kristopher/M +Kristy/M +Kroc/M +Kroger/M +Kronecker/M +Kropotkin/M +Kruger/M +Krugerrand/M +Krupp/M +Krystal/M +Kshatriya/M +Kublai/M +Kubrick/M +Kuhn/M +Kuibyshev/M +Kulthumm/M +Kunming/M +Kuomintang/M +Kurd/M +Kurdish/M +Kurdistan/M +Kurosawa/M +Kurt/M +Kurtis/M +Kusch/M +Kutuzov/M +Kuwait/M +Kuwaiti/SM +Kuznets/M +Kuznetsk/M +Kwakiutl/M +Kwan/M +Kwangju/M +Kwanzaa/MS +Ky/MH +Kyle/M +Kyoto/M +Kyrgyzstan/M +Kyushu/M +L'Amour/M +L'Enfant +L'Oreal/M +L'Ouverture/M +L/MN +LA +LAN/M +LBJ/M +LC +LCD/M +LCM +LDC +LED/M +LG/M +LGBT +LIFO +LL +LLB/M +LLD/M +LNG +LOGO +LP/M +LPG +LPN/SM +LSAT +LSD/M +LVN +La/SM +Lab +Laban/M +Labrador/SM +Labradorean +Lacey/M +Lachesis/M +Lacy/M +Ladoga/M +Ladonna/M +Lady/M +Ladyship/MS +Lafayette/M +Lafitte/M +Lagos/M +Lagrange/M +Lagrangian/M +Lahore/M +Laius/M +Lajos/M +Lakeisha/M +Lakewood +Lakisha/M +Lakota/M +Lakshmi/M +Lamaism/SM +Lamar/M +Lamarck/M +Lamaze/M +Lamb/M +Lambert/M +Lamborghini/M +Lambrusco/M +Lamentations +Lamont/M +Lana/M +Lanai/M +Lancashire/M +Lancaster/M +Lance/M +Lancelot/M +Land/M +Landon/M +Landry/M +Landsat/M +Landsteiner/M +Lane/M +Lang/M +Langerhans/M +Langland/M +Langley/M +Langmuir/M +Lanka/M +Lankan/M +Lanny/M +Lansing/M +Lanzhou/M +Lao/SM +Laocoon/M +Laos/M +Laotian/SM +Laplace/M +Lapland/MR +Lapp/SM +Lara/M +Laramie/M +Lardner/M +Laredo/M +Larousse/M +Larry/M +Lars/MN +Larsen/M +Larson/M +Lascaux/M +Lassa/M +Lassen/M +Lassie/M +Lat/M +Latasha/M +Lateran/M +Latham/M +Latin/MRS +Latina +Latino/SM +Latisha/M +Latonya/M +Latoya/M +Latrobe/M +Latvia/M +Latvian/MS +Laud/MR +Lauder/M +Laue/M +Laundromat/M +Laura/M +Laurasia/M +Laurel/M +Lauren/M +Laurence/M +Laurent/M +Lauri/M +Laurie/M +Laval/M +Lavern/M +Laverne/M +Lavoisier/M +Lavonne/M +Lawanda/M +Lawrence/M +Lawson/M +Layamon/M +Layla/M +Lazaro/M +Lazarus/M +Le/SM +Lea/M +Leach/M +Leadbelly/M +Leah/M +Leakey/M +Lean/M +Leander/M +Leann/M +Leanna/M +Leanne/M +Lear/M +Learjet/M +Leary/M +Leavenworth/M +Lebanese/M +Lebanon/M +Lebesgue/M +Leblanc/M +Leda/M +Lederberg/M +Lee/M +Leeds/M +Leeuwenhoek/M +Leeward/M +Left +Legendre/M +Leger/M +Leghorn/M +Lego/M +Legree/M +Lehman/M +Leibniz/M +Leicester/SM +Leiden/M +Leif/M +Leigh/M +Leila/M +Leipzig/M +Lela/M +Leland/M +Lelia/M +Lemaitre/M +Lemuel/M +Lemuria/M +Len/M +Lena/M +Lenard/M +Lenin/M +Leningrad/M +Leninism/M +Leninist/M +Lennon/M +Lenny/M +Leno/M +Lenoir/M +Lenora/M +Lenore/M +Lent/SMN +Lenten/M +Leo/SM +Leola/M +Leon/M +Leona/M +Leonard/M +Leonardo/M +Leoncavallo/M +Leonel/M +Leonid/M +Leonidas/M +Leonor/M +Leopold/M +Leopoldo/M +Lepidus/M +Lepke/M +Lepus/M +Lerner/M +Leroy/M +Les/M +Lesa/M +Lesley/M +Leslie/M +Lesotho/M +Lesseps/M +Lessie/M +Lester/M +Lestrade/M +Leta/M +Letha/M +Lethe/M +Leticia/M +Letitia/M +Letterman/M +Levant/M +Levesque/M +Levi/SM +Leviathan/M +Levine/M +Leviticus/M +Levitt/M +Levy/M +Lew/M +Lewinsky/M +Lewis/M +Lexington/M +Lexus/M +Lhasa/MS +Lhotse/M +Li/MY +Libby/M +Liberace/M +Liberal +Liberia/M +Liberian/SM +Libra/MS +LibreOffice/M +Libreville/M +Librium/M +Libya/M +Libyan/SM +Lichtenstein/M +Lidia/M +Lie/M +Lieberman/M +Liebfraumilch/M +Liechtenstein/ZMR +Liechtensteiner/M +Liege/M +Lieut +Lila/M +Lilia/M +Lilian/M +Liliana/M +Lilith/M +Liliuokalani/M +Lille/M +Lillian/M +Lillie/M +Lilliput/M +Lilliputian/MS +Lilly/M +Lilongwe/M +Lily/M +Lima/M +Limbaugh/M +Limbo +Limburger/M +Limoges/M +Limousin/M +Limpopo/M +Lin/M +Lina/M +Lincoln/MS +Lind/M +Linda/M +Lindbergh/M +Lindsay/M +Lindsey/M +Lindy/M +Linnaeus/M +Linotype/M +Linton/M +Linus/M +Linux/MS +Linwood/M +Lionel/M +Lipizzaner/M +Lippi/M +Lippmann/M +Lipscomb/M +Lipton/M +Lisa/M +Lisbon/M +Lissajous/M +Lister/M +Listerine/M +Liston/M +Liszt/M +Lithuania/M +Lithuanian/MS +Little/M +Litton/M +Liverpool/M +Liverpudlian/SM +Livia/M +Livingston/M +Livingstone/M +Livonia/M +Livy/M +Liz/M +Liza/M +Lizzie/M +Lizzy/M +Ljubljana/M +Llewellyn/M +Lloyd/M +Ln +Loafer/SM +Lobachevsky/M +Lochinvar/M +Locke/M +Lockean/M +Lockheed/M +Lockwood/M +Lodge/M +Lodz/M +Loewe/M +Loewi/M +Loews/M +Logan/M +Lohengrin/M +Loire/M +Lois/M +Loki/M +Lola/M +Lolita/M +Lollard/M +Lollobrigida/M +Lombard/M +Lombardi/M +Lombardy/M +Lome/M +Lon/M +London/MRZ +Londoner/M +Long/M +Longfellow/M +Longstreet/M +Longueuil +Lonnie/M +Lopez/M +Lora/M +Loraine/M +Lord/SM +Lordship/SM +Lorelei/M +Loren/M +Lorena/M +Lorene/M +Lorentz/M +Lorenz/M +Lorenzo/M +Loretta/M +Lori/M +Lorie/M +Lorna/M +Lorraine/M +Lorre/M +Lorrie/M +Los +Lot/M +Lothario/SM +Lott/M +Lottie/M +Lou/M +Louella/M +Louie/M +Louis/M +Louisa/M +Louise/M +Louisiana/M +Louisianan/MS +Louisianian/MS +Louisville/M +Lourdes/M +Louvre/M +Love/M +Lovecraft/M +Lovelace/M +Lowe/M +Lowell/M +Lowenbrau/M +Lowery/M +Lowlands +Loyang/M +Loyd/M +Loyola/M +Lr +Lt +Ltd +Lu/M +Luanda/M +Luann/M +Lubavitcher/M +Lubbock/M +Lubumbashi/M +Lucas/M +Luce/M +Lucia/M +Lucian/M +Luciano/M +Lucien/M +Lucifer/M +Lucile/M +Lucille/M +Lucinda/M +Lucio/M +Lucite/SM +Lucius/M +Lucknow/M +Lucretia/M +Lucretius/M +Lucy/M +Luddite/MS +Ludhiana/M +Ludwig/M +Luella/M +Lufthansa/M +Luftwaffe/M +Luger/M +Lugosi/M +Luigi/M +Luis/M +Luisa/M +Luke/M +Lula/M +Lully/M +Lulu/M +Lumiere/M +Luna/M +Lupe/M +Lupercalia/M +Lupus/M +Luria/M +Lusaka/M +Lusitania/M +Luther/M +Lutheran/SM +Lutheranism/MS +Luvs/M +Luxembourg/ZMR +Luxembourger/M +Luxembourgian +Luz/M +Luzon/M +Lvov/M +LyX/M +Lyallpur +Lycra/M +Lycurgus/M +Lydia/M +Lydian/SM +Lyell/M +Lyle/M +Lyly/M +Lyman/M +Lyme/M +Lynch/M +Lynda/M +Lyndon/M +Lynette/M +Lynn/M +Lynne/M +Lynnette/M +Lyon/SM +Lyons/M +Lyra/M +Lysenko/M +Lysistrata/M +Lysol/M +M/SMGB +MA/M +MASH +MB/M +MBA/M +MC +MCI/M +MD/M +MDT +ME +MEGO/S +MFA/M +MGM/M +MHz +MI/M +MIA +MIDI/M +MIPS +MIRV +MIT/M +MM +MN +MO +MOOC +MP/M +MPEG +MRI/M +MS/M +MSG/M +MST/M +MSW +MT/M +MTV/M +MVP/M +MW +Maalox/M +Mabel/M +Mable/M +Mac/M +MacArthur/M +MacBride/M +MacDonald/M +MacLeish/M +Macao/M +Macaulay/M +Macbeth/M +Maccabees +Maccabeus/M +Mace/M +Macedon/M +Macedonia/M +Macedonian/SM +Mach/M +Machiavelli/M +Machiavellian/M +Macias/M +Macintosh/M +Mack/M +Mackenzie/M +Mackinac/M +Mackinaw/M +Macmillan/M +Macon/M +Macumba/M +Macy/M +Madagascan/SM +Madagascar/M +Madam +Madden/M +Maddox/M +Madeira/SM +Madeleine/M +Madeline/M +Madelyn/M +Madge/M +Madison/M +Madonna/SM +Madras/M +Madrid/M +Madurai/M +Mae/M +Maeterlinck/M +Mafia/MS +Mafioso/M +Magdalena/M +Magdalene/M +Magellan/M +Magellanic/M +Maggie/M +Maghreb/M +Magi +Maginot/M +Magnitogorsk/M +Magog/M +Magoo/M +Magritte/M +Magsaysay/M +Magus +Magyar/SM +Mahabharata/M +Maharashtra/M +Mahavira/M +Mahayana/M +Mahayanist/M +Mahdi/M +Mahfouz/M +Mahican/SM +Mahler/M +Mai/M +Maidenform/M +Maigret/M +Mailer/M +Maillol/M +Maiman/M +Maimonides/M +Maine/MZR +Mainer/M +Maisie/M +Maitreya/M +Maj +Majesty +Major/M +Majorca/M +Majuro/M +Makarios/M +Maker/M +Malabar/M +Malabo/M +Malacca/M +Malachi/M +Malagasy/M +Malamud/M +Malaprop/M +Malawi/M +Malawian/SM +Malay/MS +Malaya/M +Malayalam/M +Malayan/MS +Malaysia/M +Malaysian/MS +Malcolm/M +Maldive/MS +Maldives/M +Maldivian/MS +Maldonado/M +Male/M +Mali/M +Malian/SM +Malibu/M +Malinda/M +Malinowski/M +Mallarme/M +Mallomars/M +Mallory/M +Malone/M +Malory/M +Malplaquet/M +Malraux/M +Malta/M +Maltese/M +Malthus/M +Malthusian/SM +Mameluke/M +Mamet/M +Mamie/M +Mamore/M +Man/M +Managua/M +Manama/M +Manasseh/M +Manchester/M +Manchu/SM +Manchuria/M +Manchurian/M +Mancini/M +Mancunian/MS +Mandalay/M +Mandarin/M +Mandela/M +Mandelbrot/M +Mandingo/M +Mandrell/M +Mandy/M +Manet/M +Manfred/M +Manhattan/SM +Mani/M +Manichean/M +Manila/SM +Manitoba/M +Manitoulin/M +Manley/M +Mann/GM +Mannheim/M +Manning/M +Mansfield/M +Manson/M +Mantegna/M +Mantle/M +Manuel/M +Manuela/M +Manx/M +Mao/M +Maoism/SM +Maoist/SM +Maori/MS +Mapplethorpe/M +Maputo/M +Mar/SM +Mara/M +Maracaibo/M +Marat/M +Maratha/M +Marathi/M +Marathon/M +Marc/M +Marceau/M +Marcel/M +Marcelino/M +Marcella/M +Marcelo/M +March/MS +Marci/M +Marcia/M +Marciano/M +Marcie/M +Marco/MS +Marconi/M +Marcos/M +Marcus/M +Marcuse +Marcy/M +Marduk/M +Margaret/M +Margarita/M +Margarito/M +Marge/M +Margery/M +Margie/M +Margo/M +Margot +Margret/M +Margrethe/M +Marguerite/M +Mari/SM +Maria/M +Marian/M +Mariana/SM +Marianas/M +Marianne/M +Mariano/M +Maribel/M +Maricela/M +Marie/M +Marietta/M +Marilyn/M +Marin/M +Marina/M +Marine/SM +Mario/M +Marion/M +Maris/M +Marisa/M +Marisol/M +Marissa/M +Maritain/M +Maritza/M +Mariupol +Marius/M +Marjorie/M +Marjory/M +Mark/SM +Markab/M +Markham/M +Markov/M +Marks/M +Marla/M +Marlboro/M +Marlborough/M +Marlene/M +Marley/M +Marlin/M +Marlon/M +Marlowe/M +Marmara/M +Marne/M +Maronite/M +Marple/M +Marquesas/M +Marquette/M +Marquez/M +Marquis/M +Marquita/M +Marrakesh/M +Marriott/M +Mars/MS +Marsala/M +Marseillaise/MS +Marseilles/M +Marsh/M +Marsha/M +Marshall/M +Marta/M +Martel/M +Martha/M +Martial/M +Martian/SM +Martin/M +Martina/M +Martinez/M +Martinique/M +Marty/M +Marva/M +Marvell/M +Marvin/M +Marx/M +Marxian +Marxism/SM +Marxist/SM +Mary/M +Maryann/M +Maryanne/M +Maryellen/M +Maryland/MR +Marylander/M +Marylou/M +Masada/M +Masai/M +Masaryk/M +Mascagni/M +Masefield/M +Maserati/M +Maseru/M +Mashhad/M +Mason/MS +Masonic/M +Masonite/M +Mass/MS +Massachusetts/M +Massasoit/M +Massenet/M +Massey/M +Master/S +MasterCard/M +Masters/M +Mather/M +Mathew/SM +Mathews/M +Mathewson/M +Mathias/M +Mathis/M +Matilda/M +Matisse/M +Matt/M +Mattel/M +Matterhorn/M +Matthew/SM +Matthews/M +Matthias/M +Mattie/M +Maud/M +Maude/M +Maugham/M +Maui/M +Maupassant/M +Maura/M +Maureen/M +Mauriac/M +Maurice/M +Mauricio/M +Maurine/M +Mauritania/M +Mauritanian/SM +Mauritian/SM +Mauritius/M +Mauro/M +Maurois/M +Mauryan/M +Mauser/M +Mavis/M +Max/M +Maximilian/M +Maxine/M +Maxwell/M +May/SMR +Maya/SM +Mayan/MS +Mayer/M +Mayfair/M +Mayflower/M +Maynard/M +Mayo/M +Maypole +Mayra/M +Mays/M +Maytag/M +Mazama/M +Mazarin/M +Mazatlan/M +Mazda/M +Mazola/M +Mazzini/M +Mb/M +Mbabane/M +Mbini/M +McAdam/M +McBride/M +McCain/M +McCall/M +McCarthy/M +McCarthyism/M +McCartney/M +McCarty/M +McClain/M +McClellan/M +McClure/M +McConnell/M +McCormick/M +McCoy/M +McCray/M +McCullough/M +McDaniel/M +McDonald/M +McDonnell/M +McDowell/M +McEnroe/M +McFadden/M +McFarland/M +McGee/M +McGovern/M +McGowan/M +McGuffey/M +McGuire/M +McIntosh/M +McIntyre/M +McKay/M +McKee/M +McKenzie/M +McKinley/M +McKinney/M +McKnight/M +McLaughlin/M +McLean/M +McLeod/M +McLuhan/M +McMahon/M +McMillan/M +McNamara/M +McNaughton/M +McNeil/M +McPherson/M +McQueen/M +McVeigh/M +Md/M +Me +Mead/M +Meade/M +Meadows/M +Meagan/M +Meany/M +Mecca/MS +Medan/M +Medea/M +Medellin/M +Media/M +Medicaid/SM +Medicare/SM +Medici/M +Medina/M +Mediterranean/MS +Medusa/M +Meg/M +Megan/M +Meghan/M +Meier/M +Meighen/M +Meiji/M +Meir/M +Mejia/M +Mekong/M +Mel/M +Melanesia/M +Melanesian/M +Melanie/M +Melba/M +Melbourne/M +Melchior/M +Melchizedek/M +Melendez/M +Melinda/M +Melisa/M +Melisande/M +Melissa/M +Mellon/M +Melody/M +Melpomene/M +Melton/M +Melva/M +Melville/M +Melvin/M +Memling/M +Memphis/M +Menander/M +Mencius/M +Mencken/M +Mendel/M +Mendeleev/M +Mendelian/M +Mendelssohn/M +Mendez/M +Mendocino/M +Mendoza/M +Menelaus/M +Menelik/M +Menes/M +Mengzi +Menkalinan/M +Menkar/M +Menkent/M +Mennen/M +Mennonite/MS +Menominee/M +Menotti/M +Mensa/M +Mentholatum/M +Menuhin/M +Menzies/M +Mephisto +Mephistopheles/M +Merak/M +Mercado/M +Mercator/M +Mercedes/M +Mercer/M +Mercia/M +Merck/M +Mercurochrome/M +Mercury/SM +Meredith/M +Merino/M +Merle/M +Merlin/M +Merlot/M +Merovingian/M +Merriam/M +Merrick/M +Merrill/M +Merrimack/M +Merritt/M +Merthiolate/M +Merton/M +Mervin/M +Mesa/M +Mesabi/M +Mesmer/M +Mesolithic/M +Mesopotamia/M +Mesopotamian +Mesozoic/M +Messerschmidt/M +Messiaen/M +Messiah/M +Messiahs +Messianic +Messieurs +Metallica/M +Metamucil/M +Methodism/SM +Methodist/SM +Methuselah/M +Metternich/M +Meuse/M +Mex +Mexicali/M +Mexican/MS +Mexico/M +Meyer/MS +Meyerbeer/M +Meyers/M +Mfume/M +Mg/M +Mgr +MiG/M +Mia/M +Miami/MS +Miaplacidus/M +Micah/M +Micawber/M +Mich/M +Michael/M +Michaelmas/MS +Micheal/M +Michel/M +Michelangelo/M +Michele/M +Michelin/M +Michelle/M +Michelob/M +Michelson/M +Michigan/M +Michigander/MS +Michiganite +Mick/M +Mickey/M +Mickie/M +Micky/M +Micmac/SM +Micronesia/M +Micronesian/M +Microsoft/M +Midas/M +Middleton/M +Mideast +Mideastern +Midland/MS +Midway/M +Midwest/M +Midwestern/MR +Miguel/M +Mike/M +Mikhail/M +Mikoyan/M +Milagros/M +Milan/M +Milanese +Mildred/M +Miles/M +Milford/M +Milken/M +Mill/SMR +Millard/M +Millay/M +Miller/M +Millet/M +Millicent/M +Millie/M +Millikan/M +Mills/M +Milne/M +Milo/M +Milosevic/M +Milquetoast/M +Miltiades/M +Milton/M +Miltonic/M +Miltown/M +Milwaukee/M +Mimi/M +Mimosa/M +Min/M +Minamoto/M +Mindanao/M +Mindoro/M +Mindy/M +Minerva/M +Ming/M +Mingus/M +Minn +Minneapolis/M +Minnelli/M +Minnesota/M +Minnesotan/SM +Minnie/M +Minoan/MS +Minolta/M +Minos/M +Minot/M +Minotaur/M +Minsk/M +Minsky/M +Mintaka/M +Minuit/M +Minuteman/M +Miocene/M +Mir/M +Mira/M +Mirabeau/M +Mirach/M +Miranda/M +Mirfak/M +Miriam/M +Miro/M +Mirzam/M +Miskito/M +Miss +Mississauga/M +Mississippi/M +Mississippian/SM +Missouri/M +Missourian/MS +Missy/M +Mistassini/M +Mister +Mistress +Misty/M +Mitch/M +Mitchel/M +Mitchell/M +Mitford/M +Mithra/M +Mithridates/M +Mitsubishi/M +Mitterrand/M +Mitty/M +Mitzi/M +Mixtec/M +Mizar/M +Mk +Mlle +Mme/S +Mn/M +Mnemosyne/M +Mo/M +Mobil/M +Mobile/M +Mobutu/M +Modesto/M +Modigliani/M +Moe/M +Moet/M +Mogadishu/M +Mogul/MS +Mohacs/M +Mohamed/M +Mohammad/M +Mohammedan/SM +Mohammedanism/SM +Mohave/SM +Mohawk/SM +Mohegan +Moho/M +Mohorovicic/M +Moira/M +Moises/M +Moiseyev/M +Mojave/SM +Moldavia/M +Moldavian +Moldova/M +Moldovan +Moliere/M +Molina/M +Moll/M +Mollie/M +Molly/M +Molnar/M +Moloch/M +Molokai/M +Molotov/M +Moluccas/M +Mombasa/M +Mon/SM +Mona/M +Monacan +Monaco/M +Mondale/M +Monday/SM +Mondrian/M +Monegasque/SM +Monera/M +Monet/M +Mongol/SM +Mongolia/M +Mongolian/SM +Mongolic/M +Mongoloid +Monica/M +Monique/M +Monk/M +Monmouth/M +Monongahela/M +Monroe/M +Monrovia/M +Monsanto/M +Monsieur/M +Monsignor/SM +Mont/M +Montague/M +Montaigne/M +Montana/M +Montanan/SM +Montcalm/M +Monte/M +Montenegrin/M +Montenegro/M +Monterrey/M +Montesquieu/M +Montessori/M +Monteverdi/M +Montevideo/M +Montezuma/M +Montgolfier/M +Montgomery/M +Monticello/M +Montoya/M +Montpelier/M +Montrachet/M +Montreal/M +Montserrat/M +Monty/M +Moody/M +Moog/M +Moon/M +Mooney/M +Moor/SM +Moore/M +Moorish/M +Morales/M +Moran/M +Moravia/M +Moravian/M +Mordred/M +More/M +Moreno/M +Morgan/SM +Moriarty/M +Morin/M +Morison/M +Morita/M +Morley/M +Mormon/SM +Mormonism/SM +Moro/M +Moroccan/SM +Morocco/M +Moroni/M +Morpheus/M +Morphy/M +Morris/M +Morrison/M +Morrow/M +Morse/M +Mort/M +Mortimer/M +Morton/M +Mosaic/M +Moscow/M +Moseley/M +Moselle/M +Moses/M +Mosley/M +Moss/M +Mosul/M +Motorola/M +Motown/M +Motrin/M +Mott/M +Moulton/M +Mount/M +Mountbatten/M +Mountie/MS +Moussorgsky/M +Mouthe/M +Mouton/M +Mowgli/M +Mozambican/SM +Mozambique/M +Mozart/M +Mozilla/M +Mr/SM +Ms/S +Msgr +Mt +Muawiya/M +Mubarak/M +Mueller/M +Muenster/MS +Mugabe/M +Muhammad/M +Muhammadan/MS +Muhammadanism/SM +Muir/M +Mujib/M +Mulder/M +Mullen/M +Muller/M +Mulligan/M +Mullikan/M +Mullins/M +Mulroney/M +Multan/M +Multics +Mumbai/M +Mumford/M +Munch/M +Munchhausen/M +Munich/M +Munoz/M +Munro/M +Munster/M +Muppet/M +Murasaki/M +Murat/M +Murchison/M +Murcia +Murdoch/M +Muriel/M +Murillo/M +Murine/M +Murmansk/M +Murphy/M +Murray/M +Murrow/M +Murrumbidgee/M +Muscat/M +Muscovite/M +Muscovy/M +Muse/M +Musharraf/M +Musial/M +Muskogee/M +Muslim/MS +Mussolini/M +Mussorgsky/M +Mutsuhito/M +Muzak/M +MySpace/M +Myanmar/M +Mycenae/M +Mycenaean/M +Myers/M +Mylar/MS +Myles/M +Myra/M +Myrdal/M +Myrna/M +Myron/M +Myrtle/M +Mysore/M +Myst/M +N'Djamena +N/MD +NAACP/M +NAFTA/M +NASA/M +NASCAR/M +NASDAQ/M +NATO/M +NB +NBA/M +NBC/M +NBS +NC +NCAA/M +NCO +ND +NE/M +NEH +NF +NFC +NFL/M +NH +NHL/M +NIH +NIMBY +NJ +NLRB +NM +NORAD/M +NOW +NP +NPR/M +NR +NRA +NRC +NS +NSA/M +NSC +NSF +NSFW +NT +NV +NW/M +NWT +NY +NYC +NYSE +NZ +Na/M +Nabisco/M +Nabokov/M +Nader/M +Nadia/M +Nadine/M +Nagasaki/M +Nagoya/M +Nagpur/M +Nagy/M +Nahuatl/MS +Nahum/M +Naipaul/M +Nair/M +Nairobi/M +Naismith/M +Nam/M +Namath/M +Namibia/M +Namibian/MS +Nan/M +Nanak/M +Nanchang/M +Nancy/M +Nanette/M +Nanjing/M +Nannie/M +Nanook/M +Nansen/M +Nantes/M +Nantucket/M +Naomi/M +Naphtali/M +Napier/M +Naples/M +Napoleon/MS +Napoleonic/M +Napster/M +Narcissus/M +Narmada/M +Narnia/M +Narraganset +Narragansett/M +Nash/M +Nashua/M +Nashville/M +Nassau/M +Nasser/M +Nat/M +Natalia/M +Natalie/M +Natasha/M +Natchez/M +Nate/MN +Nathan/SM +Nathaniel/M +Nathans/M +Nation/M +Nationwide/M +Nativity/M +Naugahyde/M +Nauru/M +Nautilus/M +Navajo/SM +Navajoes +Navarre/M +Navarro/M +Navratilova/M +Navy +Nazarene/M +Nazareth/M +Nazca/M +Nazi/SM +Nazism/MS +Nb/M +Nd/M +Ndjamena/M +Ne/M +NeWS +NeWSes +Neal/M +Neanderthal/SM +Neapolitan/M +Neb +Nebr +Nebraska/M +Nebraskan/MS +Nebuchadnezzar/M +Ned/M +Nefertiti/M +Negev/M +Negress/MS +Negritude +Negro/MS +Negroes +Negroid/SM +Negros/M +Nehemiah/M +Nehru/M +Neil/M +Nelda/M +Nell/M +Nellie/M +Nelly/M +Nelsen/M +Nelson/M +Nembutal/M +Nemesis/M +Neogene/M +Neolithic +Nepal/M +Nepalese/M +Nepali/MS +Neptune/M +Nereid/M +Nerf/M +Nero/M +Neruda/M +Nescafe/M +Nesselrode/M +Nestle/M +Nestor/M +Nestorius/M +Netflix/M +Netherlander/SM +Netherlands/M +Netscape/M +Nettie/M +Netzahualcoyotl/M +Nev/M +Neva/M +Nevada/M +Nevadan/SM +Nevadian +Nevis/M +Nevsky/M +Newark/M +Newcastle/M +Newfoundland/MRS +Newman/M +Newport/M +Newsweek/M +Newton/M +Newtonian/M +Nexis/M +Ngaliema/M +Nguyen/M +Ni/M +Niagara/M +Niamey/M +Nibelung/M +Nicaea/M +Nicaragua/M +Nicaraguan/SM +Niccolo/M +Nice/M +Nicene/M +Nichiren/M +Nicholas/M +Nichole/M +Nichols/M +Nicholson/M +Nick/M +Nickelodeon/M +Nicklaus/M +Nickolas/M +Nicobar/M +Nicodemus/M +Nicola/SM +Nicolas/M +Nicole/M +Nicosia/M +Niebuhr/M +Nielsen/M +Nietzsche/M +Nieves/M +Nigel/M +Niger/M +Nigeria/M +Nigerian/MS +Nigerien/M +Nightingale/M +Nijinsky/M +Nike/M +Nikita/M +Nikkei/M +Nikki/M +Nikolai/M +Nikon/M +Nile/M +Nimitz/M +Nimrod/M +Nina/M +Nineveh/M +Nintendo/M +Niobe/M +Nippon/M +Nipponese/M +Nirenberg/M +Nirvana/M +Nisan/M +Nisei/M +Nissan/M +Nita/M +Nivea/M +Nixon/M +Nkrumah/M +No/SM +NoDoz/M +Noah/M +Nobel/M +Nobelist/MS +Noble/M +Noe/M +Noel/SM +Noelle/M +Noemi/M +Nokia/M +Nola/M +Nolan/M +Nome/M +Nona/M +Nootka/M +Nora/M +Norbert/M +Norberto/M +Nordic/MS +Noreen/M +Norfolk/M +Noriega/M +Norma/M +Norman/MS +Normand/M +Normandy/M +Norplant/M +Norris/M +Norse/M +Norseman/M +Norsemen/M +North/M +Northampton/M +Northeast/MS +Northerner/M +Northrop/M +Northrup/M +Norths +Northwest/SM +Norton/M +Norw +Norway/M +Norwegian/SM +Norwich/M +Nosferatu/M +Nostradamus/M +Nottingham/M +Nouakchott/M +Noumea/M +Nov/M +Nova/M +Novartis/M +November/MS +Novgorod/M +Novocain/MS +Novocaine +Novokuznetsk/M +Novosibirsk/M +Noxzema/M +Noyce/M +Noyes/M +Np/M +Nubia/M +Nubian/M +Nukualofa/M +Numbers/M +Nunavut/M +Nunez/M +Nunki/M +Nuremberg/M +Nureyev/M +NutraSweet/M +NyQuil/M +Nyasa/M +Nyerere/M +O'Brien/M +O'Casey/M +O'Connell/M +O'Connor/M +O'Donnell/M +O'Hara/M +O'Higgins/M +O'Keeffe/M +O'Neil/M +O'Neill/M +O'Rourke/M +O'Toole/M +O/SM +OAS/M +OB +OCR +OD/SM +OE +OED +OH +OHSA/M +OJ +OK/SMDG +OMB/M +ON +OPEC/M +OR +OS/M +OSHA/M +OSes +OT +OTB +OTC +OTOH +Oahu/M +Oakland/M +Oakley/M +Oates/M +Oaxaca/M +Ob/M +Obadiah/M +Obama/M +Obamacare +Oberlin/M +Oberon/M +Occam/M +Occident +Occidental/MS +Oceania/M +Oceanside +Oceanus/M +Ochoa/M +Oct/M +Octavia/M +Octavian/M +Octavio/M +October/SM +Odell/M +Oder/M +Odessa/M +Odets/M +Odin/M +Odis/M +Odom/M +Odysseus/M +Odyssey/M +Oedipal/M +Oedipus/M +Oersted/M +Ofelia/M +Offenbach/M +OfficeMax/M +Ogbomosho/M +Ogden/M +Ogilvy/M +Oglethorpe/M +Ohio/M +Ohioan/SM +Oise/M +Ojibwa/SM +Okayama +Okeechobee/M +Okefenokee/M +Okhotsk/M +Okinawa/M +Okinawan +Okla +Oklahoma/M +Oklahoman/M +Oktoberfest/M +Ola/M +Olaf/M +Olajuwon/M +Olav/M +Oldenburg/M +Oldfield/M +Oldsmobile/M +Olduvai/M +Olen/M +Olenek/M +Olga/M +Oligocene/M +Olin/M +Olive/MR +Oliver/M +Olivetti/M +Olivia/M +Olivier/M +Ollie/M +Olmec/M +Olmsted/M +Olsen/M +Olson/M +Olympia/SM +Olympiad/MS +Olympian/MS +Olympic/SM +Olympics/M +Olympus/M +Omaha/MS +Oman/M +Omani/MS +Omar/M +Omayyad/M +Omdurman/M +Omnipotent +Omsk/M +Onassis/M +Oneal/M +Onega/M +Onegin/M +Oneida/MS +Onion/M +Ono/M +Onondaga/MS +Onsager/M +Ont +Ontarian +Ontario/M +Oort/M +Opal/M +Opel/M +OpenOffice/M +Ophelia/M +Ophiuchus/M +Oppenheimer/M +Opposition +Oprah/M +Ora/M +Oracle/M +Oran/M +Orange/M +Oranjestad/M +Orbison/M +Ordovician/M +Ore/N +Oreg +Oregon/M +Oregonian/SM +Oreo/M +Orestes/M +Orient/M +Oriental/MS +Orientalism +Orin/M +Orinoco/M +Orion/M +Oriya/M +Orizaba/M +Orkney/M +Orlando/M +Orleans/M +Orlon/MS +Orly/M +Orpheus/M +Orphic/M +Orr/M +Ortega/M +Orthodox +Ortiz/M +Orval/M +Orville/M +Orwell/M +Orwellian/M +Os/M +Osage/MS +Osaka/M +Osbert/M +Osborn/M +Osborne/M +Oscar/MS +Osceola/M +Osgood/M +Oshawa/M +Oshkosh/M +Osiris/M +Oslo/M +Osman/M +Ostrogoth/M +Ostwald/M +Osvaldo/M +Oswald/M +Othello/M +Otis/M +Ottawa/SM +Otto/M +Ottoman/M +Ouagadougou/M +Ouija/MS +Ovid/M +Owen/SM +Owens/M +Oxford/SM +Oxnard/M +Oxonian/M +Oxus/M +Oxycontin/M +Oz/M +Ozark/MS +Ozarks/M +Ozymandias/M +Ozzie/M +P/MN +PA/M +PAC/M +PARC/S +PASCAL +PBS/M +PBX +PC/SM +PCB +PCMCIA +PCP/M +PD +PDF +PDQ +PDT +PE +PET/M +PFC +PG +PGP +PIN +PJ's +PLO/M +PM/SMDG +PMS/M +PO +POW/M +PP +PPS +PR +PRC/M +PRO +PS/M +PST/M +PT +PTA/M +PTO +PVC/M +PW +PX +Pa/M +Paar/M +Pablo/M +Pablum/M +Pabst/M +Pace/M +Pacheco/M +Pacific/M +Pacino/M +Packard/M +Padang +Paderewski/M +Padilla/M +Paganini/M +Page/M +Paglia/M +Pahlavi/M +Paige/M +Paine/M +Paiute/SM +Pakistan/M +Pakistani/SM +Palembang/M +Paleocene/M +Paleogene/M +Paleolithic/M +Paleozoic/M +Palermo/M +Palestine/M +Palestinian/SM +Palestrina/M +Paley/M +Palikir/M +Palisades/M +Palladio/M +Palmer/M +Palmerston/M +Palmolive/M +Palmyra/M +Palomar/M +Pam/M +Pamela/M +Pamirs/M +Pampers/M +Pan/M +Panama/SM +Panamanian/MS +Panasonic/M +Pandora/M +Pangaea/M +Pankhurst/M +Panmunjom/M +Pansy/M +Pantagruel/M +Pantaloon/M +Pantheon/M +Panza/M +Paracelsus/M +Paraclete/M +Paradise +Paraguay/M +Paraguayan/MS +Paralympic/S +Paramaribo/M +Paramount/M +Parana/M +Parcheesi/M +Pareto/M +Paris/M +Parisian/MS +Park/SMR +Parker/M +Parkinson/M +Parkinsonism +Parkman/M +Parks/M +Parliament/M +Parmenides +Parmesan/MS +Parnassus/MS +Parnell/M +Parr/M +Parrish/M +Parsifal/M +Parsons/M +Parthenon/M +Parthia/M +Pasadena/M +Pascal/SM +Pasquale/M +Passion/SM +Passover/MS +Pasternak/M +Pasteur/M +Pat/M +Patagonia/M +Patagonian/M +Pate/M +Patel/M +Paterson/M +Patna/M +Patrica/M +Patrice/M +Patricia/M +Patrick/M +Patsy/M +Patterson/M +Patti/M +Patton/M +Patty/M +Paul/GM +Paula/M +Paulette/M +Pauli/M +Pauline/M +Pauling/M +Pavarotti/M +Pavlov/M +Pavlova/M +Pavlovian/M +Pawnee/SM +PayPal/M +Payne/M +Pb/M +Pd/M +Peabody/M +Peace/M +Peale/M +Pearl/M +Pearlie/M +Pearson/M +Peary/M +Pechora/M +Peck/M +Peckinpah/M +Pecos/M +Pedro/M +Peel/M +Peg/M +Pegasus/MS +Peggy/M +Pei/M +Peiping/M +Peking/SM +Pekingese/SM +Pele/M +Pelee/M +Peloponnese/M +Pembroke/M +Pen/M +Pena/M +Penderecki/M +Penelope/M +Penn/M +Penna +Penney/M +Pennington/M +Pennsylvania/M +Pennsylvanian/MS +Penny/M +Pennzoil/M +Pensacola/M +Pentagon/M +Pentateuch/M +Pentax/M +Pentecost/SM +Pentecostal/MS +Pentecostalism +Pentium/SM +Peoria/M +Pepin/M +Pepsi/M +Pepys/M +Pequot/M +Percheron/M +Percival/M +Percy/M +Perelman/M +Perez/M +Periclean/M +Pericles/M +Perkins/M +Perl/SM +Perm/M +Permalloy/M +Permian/M +Pernod/M +Peron/M +Perot/M +Perrier/M +Perry/RM +Perseid/M +Persephone/M +Persepolis/M +Perseus/M +Pershing/M +Persia/M +Persian/SM +Perth/M +Peru/M +Peruvian/MS +Peshawar/M +Petain/M +Pete/RMZ +Peter/M +Peters/MN +Petersen/M +Peterson/M +Petra/M +Petrarch/M +Petty/M +Peugeot/M +Pfc +Pfizer/M +PhD/M +Phaedra/M +Phaethon/M +Phanerozoic/M +Pharaoh/M +Pharaohs +Pharisaic +Pharisaical +Pharisee/MS +Phekda/M +Phelps/M +Phidias/M +Phil/MY +Philadelphia/M +Philby/M +Philemon/M +Philip/MS +Philippe/M +Philippians/M +Philippine/SM +Philippines/M +Philips/M +Philistine/M +Phillip/SM +Phillipa/M +Phillips/M +Philly/M +Phipps/M +Phobos/M +Phoebe/M +Phoenicia/M +Phoenician/SM +Phoenix/M +Photostat/MS +Photostatted +Photostatting +Phrygia/M +Phyllis/M +Piaf/M +Piaget/M +Pianola/M +Picasso/M +Piccadilly/M +Pickering/M +Pickett/M +Pickford/M +Pickwick/M +Pict/M +Piedmont/M +Pierce/M +Pierre/M +Pierrot/M +Pike/M +Pilate/MS +Pilates/M +Pilcomayo/M +Pilgrim/SM +Pillsbury/M +Pinatubo/M +Pincus/M +Pindar/M +Pinkerton/M +Pinocchio/M +Pinochet/M +Pinter/M +Pinyin +Pippin/M +Piraeus/M +Pirandello/M +Pisa/M +Pisces/M +Pisistratus/M +Pissaro/M +Pitcairn/M +Pitt/SM +Pittman/M +Pitts/M +Pittsburgh/M +Pius/M +Pizarro/M +Pkwy +Pl +Planck/M +Plano +Plantagenet/M +Plasticine/M +Plataea/M +Plath/M +Plato/M +Platonic +Platonism/M +Platonist/M +Platte/M +Plautus/M +PlayStation/M +Playboy/M +Playtex/M +Pleiades/M +Pleistocene/M +Plexiglas/MS +Pliny/M +Pliocene/SM +Plutarch/M +Pluto/M +Plymouth/M +Pm/M +Po/M +Pocahontas/M +Pocono/SM +Poconos/M +Podgorica/M +Podhoretz/M +Podunk/M +Poe/M +Pogo/M +Poincare/M +Poiret/M +Poirot/M +Poisson/M +Poitier/M +Pokemon/M +Pol/MY +Poland/M +Polanski/M +Polaris/M +Polaroid/MS +Pole/SM +Polish/M +Politburo/M +Polk/M +Pollard/M +Pollock/M +Pollux/M +Polly/M +Pollyanna/M +Polo/M +Poltava/M +Polyhymnia/M +Polynesia/M +Polynesian/MS +Polyphemus/M +Pomerania/M +Pomeranian/M +Pomona/M +Pompadour/M +Pompeian +Pompeii/M +Pompey/M +Ponce/M +Pontchartrain/M +Pontiac/M +Pontianak/M +Pooh/M +Poole/M +Poona/M +Pope/M +Popeye/M +Popocatepetl/M +Popper/M +Poppins/M +Popsicle/M +Porfirio/M +Porrima/M +Porsche/M +Port/MR +Porter/M +Portia/M +Portland/M +Porto/M +Portsmouth/M +Portugal/M +Portuguese/M +Poseidon/M +Post/M +Potemkin/M +Potomac/M +Potsdam/M +Pottawatomie/M +Potter/M +Potts/M +Pound/M +Poussin/M +Powell/M +PowerPC/M +PowerPoint/M +Powers/M +Powhatan/M +Poznan/M +Pr/M +Prada/M +Prado/M +Praetorian/M +Prague/M +Praia/M +Prakrit/M +Pratchett/M +Pratt/M +Pravda/M +Praxiteles/M +Preakness/M +Precambrian/M +Preminger/M +Premyslid/M +Prensa/M +Prentice/M +Pres +Presbyterian/SM +Presbyterianism/MS +Prescott/M +Presley/M +Preston/M +Pretoria/M +Priam/M +Pribilof/M +Price/M +Priestley/M +Prince/M +Princeton/M +Principe/M +Priscilla/M +Prius/M +Private +Procrustean/M +Procrustes/M +Procter/M +Procyon/M +Prof +Prohibition +Prokofiev/M +Promethean/M +Prometheus/M +Prophets +Proserpina/M +Proserpine/M +Protagoras/M +Proterozoic/M +Protestant/MS +Protestantism/SM +Proteus/M +Proudhon/M +Proust/M +Provencal/MS +Provence/M +Proverbs +Providence/SM +Provo/M +Prozac/MS +Prudence/M +Prudential/M +Pruitt/M +Prussia/M +Prussian/MS +Prut/M +Pryor/M +Psalms/M +Psalter/MS +Psyche/M +Pt/M +Ptah/M +Ptolemaic/M +Ptolemy/SM +Pu/M +Puccini/M +Puck/M +Puckett/M +Puebla/M +Pueblo/M +Puerto +Puget/M +Pugh/M +Pulaski/M +Pulitzer/M +Pullman/MS +Punch/M +Punic/M +Punjab/M +Punjabi/M +Purana/M +Purcell/M +Purdue/M +Purim/MS +Purina/M +Puritan/M +Puritanism/MS +Purus/M +Pusan/M +Pusey/M +Pushkin/M +Pushtu/M +Putin/M +Putnam/M +Puzo/M +Pvt +Pygmalion/M +Pygmy/SM +Pyle/M +Pym/M +Pynchon/M +Pyongyang/M +Pyotr/M +Pyrenees/M +Pyrex/MS +Pyrrhic/M +Pythagoras/M +Pythagorean/M +Pythias/M +Python/M +Q +QA +QB +QC +QED +QM +QWERTY +Qaddafi/M +Qantas/M +Qatar/M +Qatari/MS +Qingdao/M +Qiqihar/M +Qom/M +Quaalude/M +Quaker/MS +Quakerism/SM +Quaoar/M +Quasimodo/M +Quaternary/M +Quayle/M +Que +Quebec/M +Quebecois/M +Quechua/M +Queen/MS +Queens/M +Queensland/M +Quentin/M +Quetzalcoatl/M +Quezon/M +Quincy/M +Quinn/M +Quintilian/M +Quinton/M +Quirinal/M +Quisling/M +Quito/M +Quixote/M +Quixotism/M +Qumran/M +Quonset/M +R/M +RAF/M +RAM/SM +RBI +RC +RCA/M +RCMP +RD +RDA +REIT +REM/SM +RF +RFC/S +RFD +RI +RIF +RIP +RISC +RN/M +RNA/M +ROFL +ROM/M +ROTC/M +RP +RR +RSFSR +RSI +RSV +RSVP +RTFM +RV/SM +Ra/M +Rabat/M +Rabelais/M +Rabelaisian/M +Rabin/M +Rachael/M +Rachel/M +Rachelle/M +Rachmaninoff/M +Racine/M +Radcliffe/M +Rae/M +Rafael/M +Raffles/M +Ragnarok/M +Rainier/M +Raleigh/M +Ralph/M +Rama/M +Ramada/M +Ramadan/MS +Ramakrishna/M +Ramanujan/M +Ramayana/M +Rambo/M +Ramirez/M +Ramiro/M +Ramon/M +Ramona/M +Ramos/M +Ramsay/M +Ramses/M +Ramsey/M +Rand/M +Randal/M +Randall/M +Randell/M +Randi/M +Randolph/M +Randy/M +Rangoon/M +Rankin/M +Rankine/M +Raoul/M +Raphael/M +Rappaport/M +Rapunzel/M +Raquel/M +Rasalgethi/M +Rasalhague/M +Rasmussen/M +Rasputin/M +Rasta +Rastaban/M +Rastafarian/MS +Rastafarianism +Rather/M +Ratliff/M +Raul/M +Ravel/M +Rawalpindi/M +Ray/M +RayBan/M +Rayburn/M +Rayleigh/M +Raymond/M +Raymundo/M +Rb/M +Rd +Re/M +Reading/M +Reagan/M +Reaganomics/M +Realtor/M +Reasoner/M +Reba/M +Rebekah/M +Recife/M +Reconstruction/M +Redeemer/M +Redford/M +Redgrave/M +Redmond/M +Reebok/M +Reed/M +Reese/M +Reeves/M +Reformation/MS +Refugio/M +Reggie/M +Regina/M +Reginae/M +Reginald/M +Regor/M +Regulus/M +Rehnquist/M +Reich/M +Reichstag's +Reid/M +Reilly/M +Reinaldo/M +Reinhardt/M +Reinhold/M +Remarque/M +Rembrandt/M +Remington/M +Remus/M +Rena/M +Renaissance/SM +Renascence +Renault/M +Rene/M +Renee/M +Reno/M +Renoir/M +Rep +Representative +Republican/SM +Republicanism +Requiem/MS +Resistance +Restoration/M +Resurrection +Reuben/M +Reunion/M +Reuters/M +Reuther/M +Rev +Reva/M +Revelation/SM +Revelations/M +Revere/M +Reverend/M +Revlon/M +Rex/M +Reyes/M +Reykjavik/M +Reyna/M +Reynaldo/M +Reynolds/M +Rf/M +Rh/M +Rhea/M +Rhee/M +Rheingau/M +Rhenish/M +Rhiannon/M +Rhine/M +Rhineland/M +Rhoda/M +Rhode/S +Rhodes/M +Rhodesia/M +Rhodesian +Rhonda/M +Rhone/M +Ribbentrop/M +Ricardo/M +Rice/M +Rich/M +Richard/MS +Richards/M +Richardson/M +Richelieu/M +Richie/M +Richmond/M +Richter/M +Richthofen/M +Rick/M +Rickenbacker/M +Rickey/M +Rickie/M +Rickover/M +Ricky/M +Rico/M +Riddle/M +Ride/M +Riefenstahl/M +Riel/M +Riemann/M +Riesling/MS +Riga/M +Rigel/M +Riggs/M +Right +Rigoberto/M +Rigoletto/M +Riley/M +Rilke/M +Rimbaud/M +Ringling/M +Ringo/M +Rio/SM +Rios/M +Ripley/M +Risorgimento/M +Rita/M +Ritalin/M +Ritz/M +Rivas/M +Rivera/M +Rivers/M +Riverside +Riviera/MS +Riyadh/M +Rizal/M +Rn/M +Roach/M +Roanoke/M +Rob/M +Robbie/M +Robbin/MS +Robbins/M +Robby/M +Roberson/M +Robert/MS +Roberta/M +Roberto/M +Roberts/M +Robertson/M +Robeson/M +Robespierre/M +Robin/M +Robinson/M +Robitussin/M +Robles/M +Robson/M +Robt/M +Robyn/M +Rocco/M +Rocha/M +Rochambeau/M +Roche/M +Rochelle/M +Rochester/M +Rock/M +Rockefeller/M +Rockford/M +Rockies/M +Rockne/M +Rockwell/M +Rocky/SM +Rod/M +Roddenberry/M +Roderick/M +Rodger/MS +Rodgers/M +Rodin/M +Rodney/M +Rodolfo/M +Rodrick/M +Rodrigo/M +Rodriguez/M +Rodriquez/M +Roeg/M +Roentgen +Rogelio/M +Roger/MS +Rogers/M +Roget/M +Rojas/M +Roku/M +Rolaids/M +Roland/M +Rolando/M +Rolex/M +Rolland/M +Rollerblade/M +Rollins/M +Rolodex/M +Rolvaag/M +Rom +Roman/MS +Romanesque/MS +Romania/M +Romanian/MS +Romano/M +Romanov/M +Romans/M +Romansh/M +Romanticism +Romany/SM +Rome/SM +Romeo/M +Romero/M +Rommel/M +Romney/M +Romulus/M +Ron/M +Ronald/M +Ronda/M +Ronnie/M +Ronny/M +Ronstadt/M +Rontgen +Rooney/M +Roosevelt/M +Root/M +Roquefort/SM +Rorschach/M +Rory/M +Rosa/M +Rosales/M +Rosalie/M +Rosalind/M +Rosalinda/M +Rosalyn/M +Rosanna/M +Rosanne/M +Rosario/M +Roscoe/M +Rose/M +Roseann/M +Roseau/M +Rosecrans/M +Rosella/M +Rosemarie/M +Rosemary/M +Rosenberg/M +Rosendo/M +Rosenzweig/M +Rosetta/M +Rosicrucian/M +Rosie/M +Roslyn/M +Ross/M +Rossetti/M +Rossini/M +Rostand/M +Rostov/M +Rostropovich/M +Roswell/M +Rotarian/M +Roth/M +Rothko/M +Rothschild/M +Rotterdam/M +Rottweiler/M +Rouault/M +Rourke/M +Rousseau/M +Rove/RM +Rover/M +Rowe/M +Rowena/M +Rowland/M +Rowling/M +Roxanne/M +Roxie/M +Roxy/M +Roy/M +Royal/M +Royce/M +Rozelle/M +Rte +Ru/MH +Rubaiyat/M +Rubbermaid/M +Ruben/SM +Rubens/M +Rubicon/MS +Rubik/M +Rubin/M +Rubinstein/M +Ruby/M +Ruchbah/M +Rudolf/M +Rudolph/M +Rudy/M +Rudyard/M +Rufus/M +Ruhr/M +Ruiz/M +Rukeyser/M +Rumpelstiltskin/M +Rumsfeld/M +Runnymede/M +Runyon/M +Rupert/M +Rush/M +Rushdie/M +Rushmore/M +Ruskin/M +Russ/M +Russel/M +Russell/M +Russia/M +Russian/SM +Russo/M +Rustbelt/M +Rusty/M +Rutan/M +Rutgers/M +Ruth/M +Rutherford/M +Ruthie/M +Rutledge/M +Rwanda/MS +Rwandan/SM +Rwy +Rx +Ry +Ryan/M +Rydberg/M +Ryder/M +Ryukyu/M +S/MN +SA +SAC +SALT/M +SAM/M +SAP/M +SARS/M +SASE +SAT +SBA +SC/M +SCSI/M +SD +SDI +SE/M +SEATO +SEC/M +SF +SGML/M +SIDS/M +SJ +SJW +SK +SLR +SO/S +SOB/M +SOP/M +SOS/M +SOSes +SPCA +SPF +SQL +SRO +SS +SSA +SSE/M +SSS +SST +SSW/M +ST +STD +STOL +SUSE/M +SUV +SVN/M +SW/M +SWAK +SWAT +Saab/M +Saar/M +Saarinen/M +Saatchi/M +Sabbath/M +Sabbaths +Sabik/M +Sabin/M +Sabina/M +Sabine/M +Sabre/M +Sabrina/M +Sacajawea/M +Sacco/M +Sachs/M +Sacramento/M +Sadat/M +Saddam/M +Sadducee/M +Sade/M +Sadie/M +Sadr/M +Safavid/M +Safeway/M +Sagan/M +Saginaw/M +Sagittarius/MS +Sahara/M +Saharan/M +Sahel/M +Saigon/M +Saiph/M +Sakai/M +Sakha/M +Sakhalin/M +Sakharov/M +Saki/M +Saks/M +Sal/MY +Saladin/M +Salado/M +Salamis/M +Salas/M +Salazar/M +Salem/M +Salerno/M +Salinas/M +Salinger/M +Salisbury/M +Salish/M +Salk/M +Sallie/M +Sallust/M +Sally/M +Salome/M +Salonika/M +Salton/M +Salvador/M +Salvadoran/SM +Salvadorean/MS +Salvadorian/MS +Salvatore/M +Salween/M +Salyut/M +Sam/M +Samantha/M +Samar/M +Samara/M +Samaritan/MS +Samarkand/M +Sammie/M +Sammy/M +Samoa/M +Samoan/SM +Samoset/M +Samoyed/M +Sampson/M +Samson/M +Samsonite/M +Samsung/M +Samuel/M +Samuelson/M +San'a +San/M +Sana/M +Sanchez/M +Sancho/M +Sand/ZM +Sandburg/M +Sanders/M +Sandinista/M +Sandoval/M +Sandra/M +Sandy/M +Sanford/M +Sanforized/M +Sang/MR +Sanger/M +Sanhedrin/M +Sanka/M +Sankara/M +Sanskrit/M +Santa/M +Santana/M +Santayana/M +Santeria/M +Santiago/M +Santos/M +Sappho/M +Sapporo/M +Sara/M +Saracen/MS +Saragossa/M +Sarah/M +Sarajevo/M +Saran/M +Sarasota/M +Saratov/M +Sarawak/M +Sardinia/M +Sargasso/M +Sargent/M +Sargon/M +Sarnoff/M +Saroyan/M +Sarto/M +Sartre/M +Sasha/M +Sask +Saskatchewan/M +Saskatoon/M +Sasquatch/MS +Sassanian/M +Sassoon/M +Sat/M +Satan/M +Satanism/M +Satanist/M +Saturday/MS +Saturn/M +Saturnalia/M +Saudi/MS +Saul/M +Saunders/M +Saundra/M +Saussure/M +Sauternes +Savage/M +Savannah/M +Savior/M +Savonarola/M +Savoy/M +Savoyard/M +Sawyer/M +Saxon/MS +Saxony/M +Sayers/M +Sb/M +Sc/M +Scala/M +Scan +Scandinavia/M +Scandinavian/MS +Scaramouch/M +Scarborough/M +Scarlatti/M +Scheat/M +Schedar/M +Scheherazade/M +Schelling/M +Schenectady/M +Schiaparelli/M +Schick/M +Schiller/M +Schindler/M +Schlesinger/M +Schliemann/M +Schlitz/M +Schmidt/M +Schnabel/M +Schnauzer/M +Schneider/M +Schoenberg/M +Schopenhauer/M +Schrieffer/M +Schrodinger/M +Schroeder/M +Schubert/M +Schultz/M +Schulz/M +Schumann/M +Schumpeter/M +Schuyler/M +Schuylkill/M +Schwartz/M +Schwarzenegger/M +Schwarzkopf/M +Schweitzer/M +Schweppes/M +Schwinger/M +Schwinn/M +Scientologist/SM +Scientology/M +Scipio/M +Scopes/M +Scorpio/SM +Scorpius/M +Scorsese/M +Scot/SM +Scotch/MS +Scotchman/M +Scotchmen/M +Scotchwoman/M +Scotchwomen/M +Scotia/M +Scotland/M +Scotsman/M +Scotsmen/M +Scotswoman/M +Scotswomen/M +Scott/M +Scottie/SM +Scottish/M +Scottsdale/M +Scrabble/MS +Scranton/M +Scriabin/M +Scribner/M +Scripture/SM +Scrooge/M +Scruggs/M +Scud/M +Sculley/M +Scylla/M +Scythia/M +Scythian/M +Se/MH +Seaborg/M +Seagram/M +Sean/M +Sears/M +Seattle/M +Sebastian/M +Sec +Seconal/M +Secretariat/M +Secretary +Seder/MS +Sedna/M +Seebeck/M +Seeger/M +Sega/M +Segovia/M +Segre/M +Segundo/M +Seiko/M +Seine/M +Seinfeld/M +Sejong/M +Selassie/M +Selectric/M +Selena/M +Seleucid/M +Seleucus/M +Selim/M +Seljuk/M +Selkirk/M +Sellers/M +Selma/M +Selznick/M +Semarang/M +Seminole/MS +Semiramis/M +Semite/MS +Semitic/SM +Semtex/M +Senate/MS +Sendai/M +Seneca/MS +Senegal/M +Senegalese/M +Senghor/M +Senior/M +Sennacherib/M +Sennett/M +Sensurround/M +Seoul/M +Sep +Sephardi/M +Sepoy/M +Sept/M +September/MS +Septuagint/MS +Sequoya/M +Serb/SM +Serbia/M +Serbian/MS +Serena/M +Serengeti/M +Sergei/M +Sergio/M +Serpens/M +Serra/M +Serrano/M +Set/M +Seth/M +Seton/M +Seurat/M +Seuss/M +Sevastopol/M +Severn/M +Severus/M +Seville/M +Sevres/M +Seward/M +Sextans/M +Sexton/M +Seychelles/M +Seyfert/M +Seymour/M +Sgt +Shackleton/M +Shaffer/M +Shah/M +Shaka/M +Shaker +Shakespeare/M +Shakespearean/M +Shana/M +Shane/M +Shanghai/M +Shankara/M +Shanna/M +Shannon/M +Shantung/M +Shapiro/M +Shari'a/M +Shari/M +Sharif/M +Sharlene/M +Sharon/M +Sharp/M +Sharpe/M +Sharron/M +Shasta/M +Shaula/M +Shaun/M +Shauna/M +Shavian/M +Shavuot/M +Shaw/M +Shawn/M +Shawna/M +Shawnee/SM +Shcharansky/M +Shea/M +Sheba/M +Shebeli/M +Sheena/M +Sheetrock/M +Sheffield/M +Sheila/M +Shelby/M +Sheldon/M +Shelia/M +Shell/M +Shelley/M +Shelly/M +Shelton/M +Shenandoah/M +Shenyang/M +Sheol/M +Shepard/M +Shepherd/M +Sheppard/M +Sheratan/M +Sheraton/M +Sheree/M +Sheri/M +Sheridan/M +Sherlock/M +Sherman/M +Sherpa/M +Sherri/M +Sherrie/M +Sherry/M +Sherwood/M +Sheryl/M +Shetland/SM +Shetlands/M +Shevardnadze/M +Shevat/M +Shi'ite/M +Shields/M +Shiite/MS +Shijiazhuang/M +Shikoku/M +Shillong/M +Shiloh/M +Shinto/MS +Shintoism/MS +Shintoist/MS +Shiraz/M +Shirley/M +Shiva/M +Shockley/M +Short/M +Shorthorn/M +Shoshone/SM +Shostakovitch/M +Shrek/M +Shreveport/M +Shriner/M +Shropshire/M +Shula/M +Shylock/M +Shylockian/M +Si/M +Siam/M +Siamese/M +Sibelius/M +Siberia/M +Siberian/MS +Sibyl/M +Sicilian/SM +Sicily/M +Sid/M +Siddhartha/M +Sidney/M +Siegfried/M +Siemens/M +Sierpinski/M +Sierras +Sigismund/M +Sigmund/M +Sigurd/M +Sihanouk/M +Sikh/M +Sikhism +Sikhs +Sikkim/M +Sikkimese/M +Sikorsky/M +Silas/M +Silesia/M +Silurian/SM +Silva/M +Silvia/M +Simenon/M +Simmental/M +Simmons/M +Simon/M +Simone/M +Simpson/SM +Simpsons/M +Sims/M +Sinai/M +Sinatra/M +Sinbad/M +Sinclair/M +Sindbad/M +Sindhi/M +Singapore/M +Singaporean/SM +Singer/M +Singh/M +Singleton/M +Sinhalese/M +Sinkiang/M +Sioux/M +Sir/SM +Sirius/M +Sistine/M +Sisyphean/M +Sisyphus/M +Siva/M +Sivan/M +Sjaelland/M +Skinner/M +Skippy/M +Skopje/M +Skye/M +Skylab/M +Skype/M +Slackware/M +Slashdot/M +Slater/M +Slav/SM +Slavic/M +Slavonic/M +Slinky/M +Sloan/M +Sloane/M +Slocum/M +Slovak/SM +Slovakia/M +Slovakian +Slovene/SM +Slovenia/M +Slovenian/MS +Slurpee/M +Sm/M +Small/M +Smetana/M +Smirnoff/M +Smith/M +Smithson/M +Smithsonian/M +Smokey/M +Smolensk/M +Smollett/M +Smuts/M +Smyrna +Sn/M +Snake/M +Snapple/M +Snead/M +Snell/M +Snickers/M +Snider/M +Snoopy/M +Snow/M +Snowbelt/M +Snyder/M +Soave/M +Soc +Socorro/M +Socrates/M +Socratic/M +Soddy/M +Sodom/M +Sofia/M +Soho/M +Sol/M +Solis/M +Solomon/M +Solon/M +Solzhenitsyn/M +Somali/SM +Somalia/M +Somalian/MS +Somme/M +Somoza/M +Son/M +Sondheim/M +Sondra/M +Songhai/M +Songhua/M +Sonia/M +Sonja/M +Sonny/M +Sonora/M +Sontag/M +Sony/M +Sonya/M +Sophia/M +Sophie/M +Sophoclean/M +Sophocles/M +Sopwith/M +Sorbonne/M +Sosa/M +Soto/M +Souphanouvong/M +Sourceforge/M +Sousa/M +South/M +Southampton/M +Southeast/MS +Southerner/SM +Southey/M +Souths +Southwest/MS +Soviet/M +Soweto/M +Soyinka/M +Soyuz/M +Sp +Spaatz/M +Spackle/M +Spahn/M +Spain/M +Spam/M +Span +Spanglish +Spaniard/SM +Spanish/M +Sparks/M +Sparta/M +Spartacus/M +Spartan/MS +Spears/M +Speer/M +Spence/RM +Spencer/M +Spencerian/M +Spengler/M +Spenglerian/M +Spenser/M +Spenserian/M +Sperry/M +Sphinx/M +Spica/M +Spielberg/M +Spillane/M +Spinoza/M +Spinx/M +Spiro/M +Spirograph/M +Spitsbergen/M +Spitz/M +Spock/M +Spokane/M +Springfield/M +Springsteen/M +Sprint/M +Sprite/M +Sputnik/M +Sq +Squanto/M +Squibb/M +Sr/M +Srinagar/M +Srivijaya/M +St +Sta +Stacey/M +Staci/M +Stacie/M +Stacy/M +Stael/M +Stafford/M +StairMaster/M +Stalin/M +Stalingrad/M +Stalinist/M +Stallone/M +Stamford/M +Stan/M +Standish/M +Stanford/M +Stanislavsky/M +Stanley/M +Stanton/M +Staples/M +Starbucks/M +Stark/M +Starkey/M +Starr/M +Staten/M +States +Staubach/M +Ste +Steadicam/M +Steele/M +Stefan/M +Stefanie/M +Stein/MR +Steinbeck/M +Steinem/M +Steiner/M +Steinmetz/M +Steinway/M +Stella/M +Stendhal/M +Stengel/M +Stephan/M +Stephanie/M +Stephen/MS +Stephens/M +Stephenson/M +Sterling/M +Stern/M +Sterne/M +Sterno/M +Stetson/M +Steuben/M +Steve/M +Steven/MS +Stevens/M +Stevenson/M +Stevie/M +Stewart/M +Stieglitz/M +Stilton/SM +Stimson/M +Stine/M +Stirling/M +Stockhausen/M +Stockholm/M +Stockton/M +Stoic/SM +Stoicism/MS +Stokes/M +Stolichnaya/M +Stolypin/M +Stone/M +Stonehenge/M +Stoppard/M +Stout/M +Stowe/M +Strabo/M +Stradivari +Stradivarius/M +Strasbourg/M +Strauss/M +Stravinsky/M +Streisand/M +Strickland/M +Strindberg/M +Stromboli/M +Strong/M +Stu/M +Stuart/MS +Studebaker/M +Stuttgart/M +Stuyvesant/M +Stygian/M +Styrofoam/SM +Styron/M +Styx/M +Suarez/M +Subaru/M +Sucre/M +Sucrets/M +Sudan/M +Sudanese/M +Sudetenland/M +Sudoku/M +Sudra/M +Sue/M +Suetonius/M +Suez/M +Suffolk/M +Sufi/M +Sufism/M +Suharto/M +Sui/M +Sukarno/M +Sukkot +Sulawesi/M +Suleiman/M +Sulla/M +Sullivan/M +Sumatra/M +Sumatran/SM +Sumeria/M +Sumerian/SM +Summer/MS +Summers/M +Sumner/M +Sumter/M +Sun/SM +Sunbeam/M +Sunbelt/M +Sundanese/M +Sundas/M +Sunday/MS +Sung/M +Sunkist/M +Sunni/SM +Sunnite/MS +Sunnyvale/M +Superbowl/M +Superfund/M +Superglue/M +Superior/M +Superman/M +Supt +Surabaya/M +Surat/M +Suriname/M +Surinamese +Surya/M +Susan/M +Susana/M +Susanna/M +Susanne/M +Susie/M +Susquehanna/M +Sussex/M +Sutherland/M +Sutton/M +Suva/M +Suwanee/M +Suzanne/M +Suzette/M +Suzhou/M +Suzuki/M +Suzy/M +Svalbard/M +Sven/M +Svengali/M +Sverdlovsk +Swahili/SM +Swammerdam/M +Swanee/M +Swansea/M +Swanson/M +Swazi/SM +Swaziland/M +Swed/N +Swede/SM +Sweden/M +Swedenborg/M +Swedish/M +Sweeney/M +Sweet/M +Swift/M +Swinburne/M +Swiss/MS +Swissair/M +Switz +Switzerland/M +Sybil/M +Sydney/M +Sykes/M +Sylvester/M +Sylvia/M +Sylvie/M +Synge/M +Syracuse/M +Syria/M +Syriac/M +Syrian/MS +Szilard/M +Szymborska/M +T'ang/M +T/MDG +TA +TARP +TB/M +TBA +TD +TDD +TEFL +TELNET/S +TELNETTed +TELNETTing +TESL +TESOL +TGIF +THC +TKO/M +TLC/M +TM +TN +TNT/M +TOEFL +TQM +TV/SM +TVA +TWA/M +TWX +TX +Ta/M +Tabasco/SM +Tabatha/M +Tabernacle/MS +Tabitha/M +Tabriz/MS +Tacitus/M +Tacoma/M +Tad/M +Tadzhik/M +Taegu/M +Taejon/M +Taft/M +Tagalog/SM +Tagore/M +Tagus/M +Tahiti/M +Tahitian/MS +Tahoe/M +Taichung/M +Tainan +Taine/M +Taipei/M +Taiping/M +Taiwan/M +Taiwanese/M +Taiyuan/M +Tajikistan/M +Taklamakan/M +Talbot/M +Taliban/M +Taliesin/M +Tallahassee/M +Tallchief/M +Talley/M +Talleyrand/M +Tallinn/M +Talmud/MS +Talmudic +Talmudist +Tamara/M +Tameka/M +Tamera/M +Tamerlane/M +Tami/M +Tamika/M +Tamil/MS +Tammany/M +Tammi/M +Tammie/M +Tammuz/M +Tammy/M +Tampa/M +Tampax/M +Tamra/M +Tamworth/M +Tancred/M +Taney/M +Tanganyika/M +Tangier/MS +Tangshan/M +Tania/M +Tanisha/M +Tanner/M +Tannhauser/M +Tantalus/M +Tanya/M +Tanzania/M +Tanzanian/SM +Tao/M +Taoism/MS +Taoist/MS +Tara/M +Tarantino/M +Tarawa/M +Tarazed/M +Tarbell/M +Target/M +Tarim/M +Tarkenton/M +Tarkington/M +Tartary/M +Tartuffe/M +Tarzan/M +Tasha/M +Tashkent/M +Tasman/M +Tasmania/M +Tasmanian/M +Tass/M +Tatar/MS +Tate/M +Tatum/M +Taurus/MS +Tawney/M +Taylor/M +Tb/M +Tbilisi/M +Tc/M +Tchaikovsky/M +Te/M +TeX +TeXes +Teasdale/M +Technicolor/M +Tecumseh/M +Ted/M +Teddy/M +Teflon/MS +Tegucigalpa/M +Tehran +TelePrompTer +TelePrompter/M +Telemachus/M +Telemann/M +Teletype +Tell/MR +Teller/M +Telugu/M +Tempe +Templar/M +Tenn/M +Tennessean/SM +Tennessee/M +Tennyson/M +Tenochtitlan/M +Teotihuacan/M +Terence/M +Teresa/M +Tereshkova/M +Teri/M +Terkel/M +Terpsichore/M +Terr/M +Terra/M +Terran/M +Terrance/M +Terrell/M +Terrence/M +Terri/M +Terrie/M +Terry/M +Tertiary/M +Tesla/M +Tess/M +Tessa/M +Tessie/M +Tet/M +Tethys/M +Tetons/M +Teuton/MS +Teutonic/M +Tevet/M +Tex/M +Texaco/M +Texan/MS +Texas/M +Th/M +Thackeray/M +Thad/M +Thaddeus/M +Thai/SM +Thailand/M +Thales/M +Thalia/M +Thames/M +Thanh/M +Thanksgiving/MS +Thant/M +Thar/M +Tharp/M +Thatcher/M +Thea/M +Thebes/M +Theiler/M +Thelma/M +Themistocles/M +Theocritus/M +Theodora/M +Theodore/M +Theodoric/M +Theodosius/M +Theosophy/M +Theravada/M +Theresa/M +Therese/M +Thermopylae/M +Thermos +Theron/M +Theseus/M +Thespian/M +Thespis/M +Thessalonian/SM +Thessaloniki/M +Thessaly/M +Thieu/M +Thimbu/M +Thimphu +Thomas/M +Thomism/M +Thomistic/M +Thompson/M +Thomson/M +Thor/M +Thorazine/M +Thoreau/M +Thornton/M +Thoroughbred/M +Thorpe/M +Thoth/M +Thrace/M +Thracian/M +Thu +Thucydides/M +Thule/M +Thunderbird/M +Thur/S +Thurber/M +Thurman/M +Thurmond/M +Thursday/SM +Thutmose/M +Ti/M +Tia/M +Tianjin/M +Tiber/M +Tiberius/M +Tibet/M +Tibetan/MS +Ticketmaster/M +Ticonderoga/M +Tide/M +Tienanmen/M +Tiffany/M +Tigris/M +Tijuana/M +Tillich/M +Tillman/M +Tilsit/M +Tim/M +Timbuktu/M +Timex/M +Timmy/M +Timon/M +Timor/M +Timothy/M +Timur/M +Timurid/M +Tina/M +Ting/M +Tinkerbell/M +Tinkertoy/M +Tinseltown/M +Tintoretto/M +Tippecanoe/M +Tipperary/M +Tirane +Tiresias/M +Tirol/M +Tirolean +Tisha/M +Tishri/M +Titan/SM +Titania/M +Titanic/M +Titian/M +Titicaca/M +Tito/M +Titus/M +Tl/M +Tlaloc/M +Tlingit/M +Tm/M +Tobago/M +Tobit/M +Toby/M +Tocantins/M +Tocqueville/M +Tod/M +Todd/M +Togo/M +Togolese/M +Tojo/M +Tokay/M +Tokugawa/M +Tokyo/M +Tokyoite +Toledo/MS +Tolkien/M +Tolstoy/M +Toltec/M +Tolyatti/M +Tom/M +Tomas/M +Tombaugh/M +Tomlin/M +Tommie/M +Tommy/M +Tompkins/M +Tomsk/M +Tonga/M +Tongan/MS +Toni/M +Tonia/M +Tonto/M +Tony/M +Tonya/M +Topeka/M +Topsy/M +Torah/M +Torahs +Toronto/M +Torquemada/M +Torrance/M +Torrens/M +Torres/M +Torricelli/M +Tortola/M +Tortuga/M +Torvalds/M +Tory/SM +Tosca/M +Toscanini/M +Toshiba/M +Toto/M +Toulouse/M +Townes/M +Townsend/M +Toynbee/M +Toyoda/M +Toyota/M +Tracey/M +Traci/M +Tracie/M +Tracy/M +Trafalgar/M +Trailways/M +Trajan/M +Tran/M +Transcaucasia/M +Transvaal/M +Transylvania/M +Transylvanian/M +Trappist/SM +Travis/M +Travolta/M +Treasury/SM +Treblinka/M +Trekkie/M +Trent/M +Trenton/M +Trevelyan/M +Trevino/M +Trevor/M +Trey/M +Triangulum/M +Triassic/M +Tricia/M +Trident/M +Trieste/M +Trimurti/M +Trina/M +Trinidad/M +Trinidadian/MS +Trinity/SM +Tripitaka/M +Tripoli/M +Trippe/M +Trisha/M +Tristan/M +Triton/M +Trobriand/M +Troilus/M +Trojan/MS +Trollope/M +Trondheim/M +Tropicana/M +Trotsky/M +Troy/M +Troyes +Truckee/M +Trudeau/M +Trudy/M +Truffaut/M +Trujillo/M +Truman/M +Trumbull/M +Trump/M +Truth/M +Tsimshian/M +Tsiolkovsky/M +Tsitsihar/M +Tsongkhapa/M +Tswana/M +Tu/M +Tuamotu/M +Tuareg/M +Tubman/M +Tucker/M +Tucson/M +Tucuman/M +Tudor/SM +Tue/S +Tues/M +Tuesday/MS +Tulane/M +Tull/M +Tulsa/M +Tulsidas/M +Tums/M +Tungus/M +Tunguska/M +Tunis/M +Tunisia/M +Tunisian/MS +Tunney/M +Tupi/M +Tupperware/M +Tupungato/M +Turgenev/M +Turin/M +Turing/M +Turk/SM +Turkestan/M +Turkey/M +Turkic/MS +Turkish/M +Turkmenistan/M +Turner/M +Turpin/M +Tuscaloosa/M +Tuscan/M +Tuscany/M +Tuscarora/MS +Tuscon/M +Tuskegee/M +Tussaud/M +Tut/M +Tutankhamen/M +Tutsi/M +Tutu/M +Tuvalu/M +Tuvaluan +Twain/M +Tweed/M +Tweedledee/M +Tweedledum/M +Twila/M +Twinkies/M +Twitter/M +Twizzlers/M +Twp +Ty/M +Tycho/M +Tylenol/M +Tyler/M +Tyndale/M +Tyndall/M +Tyre/M +Tyree/M +Tyrolean +Tyrone/M +Tyson/M +U/M +UAR +UAW +UBS/M +UCLA/M +UFO/SM +UHF/M +UK/M +UL +UN/M +UNESCO/M +UNICEF/M +UNIX/M +UPC +UPI/M +UPS/M +URL/S +US/M +USA/M +USAF +USB +USCG +USDA/M +USIA +USMC +USN +USO +USP +USPS +USS +USSR/M +UT/M +UTC +UV/M +Ubangi/M +Ubuntu/M +Ucayali/M +Uccello/M +Udall/M +Ufa/M +Uganda/M +Ugandan/MS +Uighur/M +Ujungpandang/M +Ukraine/M +Ukrainian/SM +Ulster/M +Ultrasuede/M +Ulyanovsk/M +Ulysses/M +Umbriel/M +Underwood/M +Ungava/M +Unicode/M +Unilever/M +Union/SM +Unionist +Uniroyal/M +Unitarian/MS +Unitarianism/MS +Unitas/M +Unix/S +Unukalhai/M +Upanishads/M +Updike/M +Upjohn/M +Upton/M +Ur/M +Ural/SM +Urals/M +Urania/M +Uranus/M +Urban/M +Urdu/M +Urey/M +Uriah/M +Uriel/M +Uris/M +Urquhart/M +Ursa/M +Ursula/M +Ursuline/M +Uruguay/M +Uruguayan/MS +Urumqi/M +Usenet/MS +Ustinov/M +Ut +Utah/M +Utahan/MS +Ute/SM +Utopia/SM +Utopian/SM +Utrecht/M +Utrillo/M +Uzbek/M +Uzbekistan/M +Uzi/SM +V/M +VA +VAT/M +VAX +VAXes +VCR/M +VD/M +VDT +VDU +VF +VFW/M +VG +VGA +VHF/M +VHS +VI/M +VIP/SM +VISTA +VJ +VLF/M +VOA +VP +VT +VTOL +Va/M +Vader/M +Vaduz/M +Val/M +Valarie/M +Valdez/M +Valencia/SM +Valenti/M +Valentin/M +Valentine/M +Valentino/M +Valenzuela/M +Valeria/M +Valerian/M +Valerie/M +Valery/M +Valhalla/M +Valium/MS +Valkyrie/SM +Vallejo +Valletta/M +Valois/M +Valparaiso/M +Valvoline/M +Van/M +Vance/M +Vancouver/M +Vandal/MS +Vanderbilt/M +Vandyke/M +Vanessa/M +Vang/M +Vanuatu/M +Vanzetti/M +Varanasi/M +Varese/M +Vargas/M +Vaseline/SM +Vasquez/M +Vassar/M +Vatican/M +Vauban/M +Vaughan/M +Vaughn/M +Vazquez/M +Veblen/M +Veda/SM +Vedanta/M +Vega/SM +Vegas/M +Vegemite/M +Vela/M +Velasquez/M +Velazquez/M +Velcro/MS +Velez/M +Velma/M +Velveeta/M +Venetian/SM +Venezuela/M +Venezuelan/SM +Venice/M +Venn/M +Ventolin/M +Venus/MS +Venusian/M +Vera/M +Veracruz/M +Verde/M +Verdi/M +Verdun/M +Verizon/M +Verlaine/M +Vermeer/M +Vermont/ZMR +Vermonter/M +Vern/M +Verna/M +Verne/M +Vernon/M +Verona/M +Veronese/M +Veronica/M +Versailles/M +Vesalius/M +Vespasian/M +Vespucci/M +Vesta/M +Vesuvius/M +Viacom/M +Viagra/M +Vic/M +Vicente/M +Vichy/M +Vicki/M +Vickie/M +Vicksburg/M +Vicky/M +Victor/M +Victoria/M +Victorian/MS +Victorianism +Victrola/M +Vidal/M +Vienna/M +Viennese/M +Vientiane/M +Vietcong/M +Vietminh/M +Vietnam/M +Vietnamese/M +Vijayanagar/M +Vijayawada/M +Viking/MS +Vila/M +Villa/M +Villarreal/M +Villon/M +Vilma/M +Vilnius/M +Vilyui/M +Vince/M +Vincent/M +Vindemiatrix/M +Vinson/M +Viola/M +Violet/M +Virgie/M +Virgil/M +Virginia/M +Virginian/SM +Virgo/SM +Visa/M +Visayans/M +Vishnu/M +Visigoth/M +Visigoths +Vistula/M +Vitim/M +Vito/M +Vitus/M +Vivaldi/M +Vivekananda/M +Vivian/M +Vivienne/M +Vlad/M +Vladimir/M +Vladivostok/M +Vlaminck/M +Vlasic/M +VoIP +Vogue/M +Volcker/M +Voldemort/M +Volga/M +Volgograd/M +Volkswagen/M +Volstead/M +Volta/M +Voltaire/M +Volvo/M +Vonda/M +Vonnegut/M +Voronezh/M +Vorster/M +Voyager/M +Vt +Vuitton/M +Vulcan/M +Vulg +Vulgate/SM +W/MDT +WA +WAC +WASP/M +WATS/M +WC +WHO/M +WI +WMD +WNW/M +WP +WSW/M +WTO +WV +WW +WWI +WWII +WWW/M +WY +WYSIWYG +Wabash/M +Wac +Waco/M +Wade/M +Wagner/M +Wagnerian/M +Wahhabi/M +Waikiki/M +Waite/M +Wake/M +Waksman/M +Wald/MN +Waldemar/M +Walden/M +Waldensian/M +Waldheim/M +Waldo/M +Waldorf/M +Wales/M +Walesa/M +Walgreen/M +Walker/M +Walkman/M +Wall/SMR +Wallace/M +Wallenstein/M +Waller/M +Wallis/M +Walloon/M +Walls/M +Walmart/M +Walpole/M +Walpurgisnacht/M +Walsh/M +Walt/MRZ +Walter/M +Walters/M +Walton/M +Wanamaker/M +Wanda/M +Wang/M +Wankel/M +Ward/M +Ware/MG +Warhol/M +Waring/M +Warner/M +Warren/M +Warsaw/M +Warwick/M +Wasatch/M +Wash/M +Washington/M +Washingtonian/MS +Wassermann/M +Waterbury/M +Waterford/M +Watergate/M +Waterloo/MS +Waters/M +Watkins/M +Watson/M +Watt/SM +Watteau/M +Watts/M +Watusi/M +Waugh/M +Wave +Wayne/M +Weaver/M +Web/MR +Webb/M +Weber/M +Webern/M +Webster/MS +Wed/M +Weddell/M +Wedgwood/M +Wednesday/MS +Weeks/M +Wehrmacht/M +Wei/M +Weierstrass/M +Weill/M +Weinberg/M +Weiss/M +Weissmuller/M +Weizmann/M +Weldon/M +Welland/M +Weller/M +Welles/M +Wellington/SM +Wells/M +Welsh/M +Welshman/M +Welshmen/M +Welshwoman +Wendell/M +Wendi/M +Wendy/M +Wesak/M +Wesley/M +Wesleyan/M +Wessex/M +Wesson/M +West/SM +Western/MRS +Westinghouse/M +Westminster/M +Weston/M +Westphalia/M +Weyden/M +Wezen/M +Wharton/M +Wheaties/M +Wheatstone/M +Wheeler/M +Wheeling/M +Whig/SM +Whipple/M +Whirlpool/M +Whistler/M +Whitaker/M +White/SM +Whitefield/M +Whitehall/M +Whitehead/M +Whitehorse/M +Whiteley/M +Whitfield/M +Whitley/M +Whitman/M +Whitney/M +Whitsunday/MS +Whittier/M +WiFi +Wicca/M +Wichita/M +Wiemar/M +Wiesel/M +Wiesenthal/M +Wiggins/M +Wigner/M +Wii/M +Wikileaks +Wikipedia/M +Wilberforce/M +Wilbert/M +Wilbur/M +Wilburn/M +Wilcox/M +Wilda/M +Wilde/MR +Wilder/M +Wiles/M +Wiley/M +Wilford/M +Wilfred/M +Wilfredo/M +Wilhelm/M +Wilhelmina/M +Wilkerson/M +Wilkes/M +Wilkins/M +Wilkinson/M +Will/M +Willa/M +Willamette/M +Willard/M +Willemstad/M +William/SM +Williams/M +Williamson/M +Willie/M +Willis/M +Willy/M +Wilma/M +Wilmer/M +Wilmington/M +Wilson/M +Wilsonian/M +Wilton/M +Wimbledon/M +Wimsey/M +Winchell/M +Winchester/MS +Windbreaker/M +Windex/M +Windhoek/M +Windows/M +Windsor/SM +Windward/M +Winesap/M +Winfred/M +Winfrey/M +Winifred/M +Winkle/M +Winnebago/M +Winnie/M +Winnipeg/M +Winston/M +Winters/M +Winthrop/M +Wis +Wisc +Wisconsin/M +Wisconsinite/MS +Wise/M +Witt/M +Wittgenstein/M +Witwatersrand/M +Wm/M +Wobegon/M +Wodehouse/M +Wolf/M +Wolfe/M +Wolff/M +Wolfgang/M +Wollongong/M +Wollstonecraft/M +Wolsey/M +Wolverhampton +Wonder/M +Wonderbra/M +Wong/M +Wood/SM +Woodard/M +Woodhull/M +Woodrow/M +Woods/M +Woodstock/M +Woodward/M +Woolf/M +Woolite/M +Woolongong/M +Woolworth/M +Wooster/M +Wooten/M +Worcester/SM +Worcestershire/M +Wordsworth/M +Workman/M +Worms/M +Wotan/M +Wovoka/M +Wozniak/M +Wozzeck/M +Wrangell/M +Wren/M +Wright/M +Wrigley/M +Wroclaw/M +Wu/M +Wuhan/M +Wurlitzer/M +Wyatt/M +Wycherley/M +Wycliffe/M +Wyeth/M +Wylie/M +Wynn/M +Wyo +Wyoming/M +Wyomingite/SM +X/M +XEmacs/M +XL/M +XML +XS +XXL +Xanadu/M +Xanthippe/M +Xavier/M +Xe/SM +Xenakis/M +Xenia/M +Xenophon/M +Xerox/MS +Xerxes/M +Xhosa/M +Xi'an/M +Xian/SM +Xiaoping/M +Ximenes/M +Xingu/M +Xiongnu/M +Xmas/MS +Xochipilli/M +Xuzhou/M +Y/M +YMCA/M +YMHA +YMMV +YT +YWCA/M +YWHA +Yacc/M +Yahoo/M +Yahtzee/M +Yahweh/M +Yakima/M +Yakut/M +Yakutsk/M +Yale/M +Yalow/M +Yalta/M +Yalu/M +Yamagata/M +Yamaha/M +Yamoussoukro/M +Yang/M +Yangon/M +Yangtze/M +Yank/SM +Yankee/SM +Yaobang/M +Yaounde/M +Yaqui/M +Yaren +Yaroslavl/M +Yataro/M +Yates/M +Yb/M +Yeager/M +Yeats/M +Yekaterinburg/M +Yellowknife/M +Yellowstone/M +Yeltsin/M +Yemen/M +Yemeni/SM +Yemenite +Yenisei/M +Yerevan/M +Yerkes/M +Yesenia/M +Yevtushenko/M +Yggdrasil/M +Yiddish/M +Ymir/M +Yoda/M +Yoknapatawpha/M +Yoko/M +Yokohama/M +Yolanda/M +Yong/M +Yonkers/M +York/M +Yorkie/M +Yorkshire/MS +Yorktown/M +Yoruba/M +Yosemite/M +Yossarian/M +YouTube/M +Young/M +Youngstown/M +Ypres/M +Ypsilanti/M +Yuan/M +Yucatan/M +Yugo/M +Yugoslav/MS +Yugoslavia/M +Yugoslavian/SM +Yukon/M +Yule/SM +Yuletide/MS +Yuma/SM +Yunnan/M +Yuri/M +Yves/M +Yvette/M +Yvonne/M +Z/SMNXT +Zachariah/M +Zachary/M +Zachery/M +Zagreb/M +Zaire/M +Zairian +Zambezi/M +Zambia/M +Zambian/SM +Zamboni/M +Zamenhof/M +Zamora/M +Zane/M +Zanuck/M +Zanzibar/M +Zapata/M +Zaporozhye/M +Zapotec/M +Zappa/M +Zara/M +Zarathustra/M +Zealand/M +Zebedee/M +Zechariah/M +Zedekiah/M +Zedong/M +Zeffirelli/M +Zeke/M +Zelig/M +Zelma/M +Zen/M +Zenger/M +Zeno/M +Zephaniah/M +Zephyrus/M +Zest/M +Zeus/M +Zhdanov +Zhengzhou/M +Zhivago/M +Zhukov/M +Zibo/M +Ziegfeld/M +Ziegler/M +Ziggy/M +Zika +Zimbabwe/M +Zimbabwean/SM +Zimmerman/M +Zinfandel/M +Zion/SM +Zionism/SM +Zionist/SM +Ziploc/M +Zn/M +Zoe/M +Zola/M +Zollverein/M +Zoloft/M +Zomba/M +Zorn/M +Zoroaster/M +Zoroastrian/MS +Zoroastrianism/SM +Zorro/M +Zosma/M +Zr/M +Zsigmondy/M +Zubenelgenubi/M +Zubeneschamali/M +Zukor/M +Zulu/SM +Zululand +Zuni/M +Zurich/M +Zwingli/M +Zworykin/M +Zyrtec/M +Zyuganov/M +Zzz +a/S +aah +aardvark/SM +ab/SDY +aback +abacus/MS +abaft +abalone/SM +abandon/LSDG +abandonment/M +abase/LGDS +abasement/M +abash/GLDS +abashed/UY +abashment/M +abate/LGDS +abated/U +abatement/M +abattoir/MS +abbe/SM +abbess/MS +abbey/MS +abbot/MS +abbr +abbrev/S +abbreviate/DSGNX +abbreviation/M +abdicate/GNDSX +abdication/M +abdomen/SM +abdominal +abduct/DSG +abductee/MS +abduction/SM +abductor/MS +abeam +aberrant +aberration/MS +aberrational +abet/S +abetted +abetting +abettor/SM +abeyance/M +abhor/S +abhorred +abhorrence/M +abhorrent/Y +abhorring +abidance/M +abide/GS +abiding/Y +ability/IEMS +abject/YP +abjection/M +abjectness/M +abjuration/SM +abjuratory +abjure/ZGDRS +abjurer/M +ablate/XGNVDS +ablation/M +ablative/MS +ablaze +able/UT +abler +abloom +ablution/SM +abnegate/GNDS +abnegation/M +abnormal/Y +abnormality/SM +aboard +abode/MS +abolish/GDS +abolition/M +abolitionism/M +abolitionist/SM +abominable +abominably +abominate/DSGNX +abomination/M +aboriginal/MS +aborigine/SM +aborning +abort/GVDS +abortion/MS +abortionist/MS +abortive/Y +abound/DSG +about +above/M +aboveboard +abracadabra/M +abrade/GDS +abrasion/MS +abrasive/MYPS +abrasiveness/M +abreast +abridge/DSG +abridgment/MS +abroad +abrogate/XGNDS +abrogation/M +abrogator/MS +abrupt/TPRY +abruptness/M +abs/M +abscess/MDSG +abscissa/SM +abscission/M +abscond/ZGSDR +absconder/M +abseil/MDSG +absence/SM +absent/DYSG +absentee/MS +absenteeism/M +absentminded/YP +absentmindedness/M +absinthe/M +absolute/PMYTNS +absoluteness/M +absolution/M +absolutism/M +absolutist/MS +absolve/DSG +absorb/AGDS +absorbance +absorbency/M +absorbent/SM +absorbing/Y +absorption/M +absorptive +abstain/DRZGS +abstainer/M +abstemious/PY +abstemiousness/M +abstention/MS +abstinence/M +abstinent +abstract/GSPMDY +abstracted/YP +abstractedness/M +abstraction/SM +abstractness/MS +abstruse/YP +abstruseness/M +absurd/TPRY +absurdist/MS +absurdity/SM +absurdness/M +abundance/SM +abundant/Y +abuse's +abuse/EGVDS +abuser/MS +abusive/YP +abusiveness/M +abut/SL +abutment/MS +abutted +abutting +abuzz +abysmal/Y +abyss/MS +abyssal +ac +acacia/MS +academe/M +academia/M +academic/SM +academical/Y +academician/MS +academy/SM +acanthus/MS +accede/GDS +accelerate/GNXDS +acceleration/M +accelerator/SM +accent/MDSG +accented/U +accentual +accentuate/GNDS +accentuation/M +accept/DSBG +acceptability/M +acceptableness/M +acceptably/U +acceptance/SM +acceptation/MS +accepted/U +access/MDSG +accessibility/IM +accessible/I +accessibly/I +accession/MDGS +accessorize/DSG +accessory/SM +accident/MS +accidental/SMY +acclaim/MDGS +acclamation/M +acclimate/DSGN +acclimation/M +acclimatization/M +acclimatize/DSG +acclivity/SM +accolade/SM +accommodate/XGNDS +accommodating/Y +accommodation/M +accompanied/U +accompaniment/MS +accompanist/SM +accompany/DSG +accomplice/SM +accomplish/DSLG +accomplished/U +accomplishment/MS +accord/GMDS +accordance/M +accordant +according/Y +accordion/MS +accordionist/MS +accost/GMDS +account/MDSBG +accountability/M +accountable/U +accountancy/M +accountant/MS +accounted/U +accounting/M +accouter/SGD +accouterments/M +accredit/SGD +accreditation/M +accredited/U +accretion/MS +accrual/MS +accrue/GDS +acct +acculturate/DSGN +acculturation/M +accumulate/XGNVDS +accumulation/M +accumulator/MS +accuracy/IM +accurate/IY +accurateness/M +accursed/P +accursedness/M +accusation/MS +accusative/MS +accusatory +accuse/ZGDRS +accuser/M +accusing/Y +accustom/DSG +accustomed/U +ace/DSMG +acerbate/DSG +acerbic +acerbically +acerbity/M +acetaminophen/M +acetate/MS +acetic +acetone/M +acetonic +acetyl +acetylene/M +ache/DSMG +achene/MS +achieve/BLZGDRS +achievement/SM +achiever/M +aching/Y +achoo/M +achromatic +achy/TR +acid/SMY +acidic +acidify/GDS +acidity/M +acidosis/M +acidulous +acknowledge/DSG +acknowledged/U +acknowledgment/SM +acme/SM +acne/M +acolyte/MS +aconite/MS +acorn/MS +acoustic/S +acoustical/Y +acoustics/M +acquaint/AGSD +acquaintance/SM +acquaintanceship/M +acquainted/U +acquiesce/DSG +acquiescence/M +acquiescent/Y +acquire/ZGBDRSL +acquirement/M +acquisition/MS +acquisitive/YP +acquisitiveness/M +acquit/S +acquittal/MS +acquitted +acquitting +acre/SM +acreage/MS +acrid/PTRY +acridity/M +acridness/M +acrimonious/YP +acrimoniousness/M +acrimony/M +acrobat/MS +acrobatic/S +acrobatically +acrobatics/M +acronym/MS +acrophobia/M +acropolis/MS +across +acrostic/SM +acrylamide +acrylic/MS +act's +act/ASDGV +acting/M +actinium/M +action/ASM +actionable +activate/ICANGSD +activation/ICAM +activator/MS +active's +active/IKY +activeness/M +actives +activism/M +activist/MS +activities +activity/IM +actor/AMS +actress/MS +actual/Y +actuality/SM +actualization/M +actualize/GDS +actuarial +actuary/SM +actuate/GNDS +actuation/M +actuator/SM +acuity/M +acumen/M +acupressure/M +acupuncture/M +acupuncturist/SM +acute/PMYTRS +acuteness/M +acyclovir/M +acyl +ad/SM +adage/MS +adagio/MS +adamant/MY +adapt/BZGVDRS +adaptability/M +adaptation/MS +adapter/M +adaption/S +add/SDRBZG +addend/MS +addenda +addendum/M +adder/M +addict/GVMDS +addiction/SM +addition/SM +additional/Y +additive/SM +addle/GDS +address's +address/AGDS +addressable +addressed/U +addressee/SM +adduce/GDS +adenine/M +adenocarcinoma +adenoid/SM +adenoidal +adept/MYPS +adeptness/M +adequacy/IM +adequate/IY +adequateness/M +adhere/GDS +adherence/M +adherent/SM +adhesion/M +adhesive/PSM +adhesiveness/M +adiabatic +adieu/MS +adios +adipose +adj +adjacency/M +adjacent/Y +adjectival/Y +adjective/MS +adjoin/GDS +adjourn/DGLS +adjournment/SM +adjudge/GDS +adjudicate/GNVXDS +adjudication/M +adjudicator/SM +adjudicatory +adjunct/MS +adjuration/MS +adjure/GDS +adjust/AGDSL +adjustable +adjuster/SM +adjustment/AMS +adjutant/SM +adman/M +admen +admin/S +administer/DGS +administrate/XDSGNV +administration/M +administrative/Y +administrator/MS +admirably +admiral/MS +admiralty/M +admiration/M +admire/BZGDRS +admirer/M +admiring/Y +admissibility/IM +admissible/I +admissibly +admission/AM +admissions +admit/AS +admittance/M +admitted/Y +admitting/A +admix/GDS +admixture/SM +admonish/LDSG +admonishment/MS +admonition/MS +admonitory +ado/M +adobe/MS +adolescence/SM +adolescent/SM +adopt/AGVDS +adoptable +adopter/MS +adoption/SM +adorableness/M +adorably +adoration/M +adore/BZGDRS +adorer/M +adoring/Y +adorn/LGDS +adorned/U +adornment/MS +adrenal/MS +adrenalin's +adrenaline/M +adrenergic +adrift +adroit/PY +adroitness/M +adsorb/SDG +adsorbent/MS +adsorption/SM +adulate/DSGN +adulation/M +adulator/MS +adulatory +adult/MS +adulterant/MS +adulterate/GNDS +adulterated/U +adulteration/M +adulterer/SM +adulteress/MS +adulterous +adultery/SM +adulthood/M +adumbrate/GNDS +adumbration/M +adv +advance/LDSMG +advancement/SM +advantage/EDSMG +advantageous/EY +advent/SM +adventitious/Y +adventure/DRSMZG +adventurer/M +adventuresome +adventuress/MS +adventurism +adventurist/S +adventurous/YP +adventurousness/M +adverb/SM +adverbial/SMY +adversarial +adversary/SM +adverse/PRYT +adverseness/M +adversity/SM +advert/SMDG +advertise/LZGDRS +advertised/U +advertisement/MS +advertiser/M +advertising/M +advertorial/SM +advice/M +advisability/IM +advisable/I +advisably +advise/LDRSZGB +advised/UY +advisement/M +adviser/M +advisory/SM +advocacy/M +advocate/MGDS +advt +adware +adze/SM +aegis/M +aerate/DSGN +aeration/M +aerator/SM +aerial/SMY +aerialist/MS +aerie/MS +aerobatic/S +aerobatics/M +aerobic/S +aerobically +aerobics/M +aerodrome/MS +aerodynamic/S +aerodynamically +aerodynamics/M +aerogram/S +aeronautic/S +aeronautical +aeronautics/M +aerosol/MS +aerospace/M +aesthete/MS +aesthetic/S +aesthetically +aestheticism/M +aesthetics/M +afar +affability/M +affable +affably +affair/MS +affect's +affect/EGDS +affectation/SM +affected/UY +affecting/Y +affection/EM +affectionate/Y +affections +afferent +affiance/GDS +affidavit/SM +affiliate's +affiliate/EGNDS +affiliated/U +affiliation/EM +affiliations +affinity/SM +affirm/AGDS +affirmation/AMS +affirmative/MYS +affix/GMDS +afflatus/M +afflict/GDS +affliction/SM +affluence/M +affluent/Y +afford/GDSB +affordability +affordably +afforest/EGSD +afforestation/M +affray/MS +affront/GMDS +afghan/MS +aficionado/MS +afield +afire +aflame +afloat +aflutter +afoot +aforementioned +aforesaid +aforethought +afoul +afraid/U +afresh +aft/RZ +afterbirth/M +afterbirths +afterburner/MS +aftercare/M +aftereffect/MS +afterglow/SM +afterimage/MS +afterlife/M +afterlives +aftermarket/MS +aftermath/M +aftermaths +afternoon/MS +aftershave/SM +aftershock/SM +aftertaste/SM +afterthought/SM +afterward/S +afterword/MS +again +against +agape/M +agar/M +agate/MS +agave/M +age/DSMGJ +ageism/M +ageist/SM +ageless/YP +agelessness/M +agency/SM +agenda/SM +agent/AMS +ageratum/M +agglomerate/DSMGNX +agglomeration/M +agglutinate/DSXGN +agglutination/M +aggrandize/GLDS +aggrandizement/M +aggravate/GNXDS +aggravating/Y +aggravation/M +aggregate/MGNDSX +aggregation/M +aggression/M +aggressive/PY +aggressiveness/M +aggressor/SM +aggrieve/DSG +aggro +aghast +agile/Y +agility/M +aging/M +agitate/XGNDS +agitation/M +agitator/MS +agitprop/M +agleam +aglitter +aglow +agnostic/MS +agnosticism/M +ago +agog +agonist/S +agonize/GDS +agonizing/Y +agony/SM +agoraphobia/M +agoraphobic/MS +agrarian/MS +agrarianism/M +agree/EBLDS +agreeableness/EM +agreeably/E +agreeing/E +agreement/ESM +agribusiness/MS +agricultural/Y +agriculturalist/MS +agriculture/M +agriculturist/MS +agronomic +agronomist/MS +agronomy/M +aground +ague/M +ah +aha +ahchoo +ahead +ahem +ahoy +aid/SMDG +aide/SM +aided/U +aigrette/MS +ail/SDLG +aileron/SM +ailment/SM +aim/SMDG +aimless/YP +aimlessness/M +ain't +air/SMDJG +airbag/MS +airbase/SM +airbed/S +airborne +airbrush/MDSG +airbus/MS +aircraft/M +aircraftman +aircraftmen +aircrew/S +airdrome/S +airdrop/SM +airdropped +airdropping +airfare/SM +airfield/SM +airflow/M +airfoil/SM +airfreight/M +airguns +airhead/SM +airily +airiness/M +airing/M +airless/P +airlessness/M +airletters +airlift/SGMD +airline/RSMZ +airliner/M +airlock/SM +airmail/GSMD +airman/M +airmen +airplane/MS +airplay/M +airport/SM +airship/SM +airshow/S +airsick/P +airsickness/M +airspace/M +airspeed +airstrike/MS +airstrip/SM +airtight +airtime/M +airwaves/M +airway/MS +airwoman +airwomen +airworthiness/M +airworthy/P +airy/PTR +aisle/MS +aitch/MS +ajar +aka +akimbo +akin +alabaster/M +alack +alacrity/M +alarm/GMDS +alarming/Y +alarmist/SM +alas +alb/SM +albacore/SM +albatross/MS +albeit +albinism/M +albino/MS +album/MNS +albumen/M +albumin/M +albuminous +alchemist/SM +alchemy/M +alcohol/SM +alcoholic/MS +alcoholically +alcoholism/M +alcove/MS +alder/MS +alderman/M +aldermen +alderwoman/M +alderwomen +ale/SMV +aleatory +alehouse/SM +alembic/SM +alert/GMDYPS +alertness/M +alewife/M +alewives +alfalfa/M +alfresco +alga/M +algae +algal +algebra/SM +algebraic +algebraically +algorithm/SM +algorithmic +alias/GMDS +alibi/GMDS +alien/BGMDS +alienable/IU +alienate/DSGN +alienation/M +alienist/SM +alight/GDS +align/ALGDS +aligned/U +aligner/MS +alignment/AMS +alike/U +aliment/MDSG +alimentary +alimony/M +aliveness/M +aliyah/M +aliyahs +alkali/M +alkalies +alkaline +alkalinity/M +alkalize/DSG +alkaloid/SM +alkyd/MS +all/M +allay/GDS +allegation/MS +allege/GDS +alleged/Y +allegiance/MS +allegoric +allegorical/Y +allegorist/MS +allegory/SM +allegretto/MS +allegro/MS +allele/MS +alleluia/SM +allergen/SM +allergenic +allergic +allergically +allergist/SM +allergy/SM +alleviate/DSGN +alleviation/M +alley/MS +alleyway/SM +alliance/SM +alligator/MS +alliterate/DSXGNV +alliteration/M +alliterative/Y +allocate/ADSGN +allocation/AM +allocations +allot/LS +allotment/SM +allotted +allotting +allover +allow/EGDS +allowable/U +allowably +allowance/SM +alloy/GMDS +alloyed/U +allspice/M +allude/GDS +allure/MGLDS +allurement/MS +alluring/Y +allusion/SM +allusive/PY +allusiveness/M +alluvial/M +alluvium/SM +ally/GDSM +almanac/SM +almighty +almond/MS +almoner/SM +almost +alms/M +almshouse/MS +aloe/SM +aloft +aloha/MS +alone +along +alongshore +alongside +aloof/PY +aloofness/M +aloud +alp/SM +alpaca/MS +alpha/MS +alphabet/SM +alphabetic +alphabetical/Y +alphabetization/SM +alphabetize/ZGDRS +alphabetizer/M +alphanumeric +alphanumerical/Y +alpine/S +already +alright +also +alt/S +altar/MS +altarpiece/SM +alter/GDBS +alterable/U +alteration/MS +altercation/SM +altered/U +alternate/DSMYGNVX +alternation/M +alternative/MYS +alternator/SM +although +altimeter/MS +altitude/MS +alto/SM +altogether +altruism/M +altruist/SM +altruistic +altruistically +alum/SM +alumina/M +aluminum/M +alumna/M +alumnae +alumni +alumnus/M +alveolar/S +always +am/N +amalgam/SM +amalgamate/XGNDS +amalgamation/M +amanuenses +amanuensis/M +amaranth/M +amaranths +amaretto/M +amaryllis/MS +amass/GDS +amateur/SM +amateurish/YP +amateurishness/M +amateurism/M +amatory +amaze/LMGDS +amazement/M +amazing/Y +amazon/MS +amazonian +ambassador/SM +ambassadorial +ambassadorship/MS +ambassadress/MS +amber/M +ambergris/M +ambiance/MS +ambidexterity/M +ambidextrous/Y +ambient +ambiguity/SM +ambiguous/UY +ambit +ambition/MS +ambitious/YP +ambitiousness/M +ambivalence/M +ambivalent/Y +amble/MZGDRS +ambler/M +ambrosia/M +ambrosial +ambulance/MS +ambulanceman +ambulancemen +ambulancewoman +ambulancewomen +ambulant +ambulate/DSXGN +ambulation/M +ambulatory/SM +ambuscade/MGDS +ambush/GMDS +ameliorate/GNVDS +amelioration/M +amen/B +amenability/M +amenably +amend/BLGDS +amendment/SM +amenity/SM +amerce/GLDS +amercement/SM +americium/M +amethyst/SM +amiability/M +amiable +amiably +amicability/M +amicable +amicably +amid +amide/MS +amidship/S +amigo/MS +amino +amiss +amity/M +ammeter/SM +ammo/M +ammonia/M +ammonium +ammunition/M +amnesia/M +amnesiac/MS +amnesic/SM +amnesty/GDSM +amniocenteses +amniocentesis/M +amnion/MS +amniotic +amoeba/MS +amoebae +amoebic +amok +among +amontillado/SM +amoral/Y +amorality/M +amorous/YP +amorousness/M +amorphous/PY +amorphousness/M +amortization/SM +amortize/DSGB +amount/GMDS +amour/MS +amoxicillin +amp/SMY +amperage/M +ampere/MS +ampersand/MS +amphetamine/SM +amphibian/MS +amphibious/Y +amphitheater/SM +amphora/M +amphorae +ampicillin +ample/TR +amplification/M +amplifier/M +amplify/NDRSXZG +amplitude/SM +ampule/MS +amputate/GNDSX +amputation/M +amputee/MS +amt +amulet/MS +amuse/LGDS +amusement/MS +amusing/Y +amylase/M +an/CS +anabolism/M +anachronism/SM +anachronistic +anachronistically +anaconda/SM +anaerobe/SM +anaerobic +anaerobically +anagram/MS +anal/Y +analgesia/M +analgesic/SM +analog/MS +analogical/Y +analogize/GDS +analogous/YP +analogousness/M +analogue/SM +analogy/SM +analysand/MS +analyses/A +analysis/AM +analyst/SM +analytic +analytical/Y +analyzable +analyze/ADSG +analyzer/SM +anapest/SM +anapestic/MS +anarchic +anarchically +anarchism/M +anarchist/MS +anarchistic +anarchy/M +anathema/SM +anathematize/DSG +anatomic +anatomical/Y +anatomist/SM +anatomize/DSG +anatomy/SM +ancestor/SM +ancestral/Y +ancestress/MS +ancestry/SM +anchor/MDGS +anchorage/MS +anchorite/MS +anchorman/M +anchormen +anchorpeople +anchorperson/SM +anchorwoman/M +anchorwomen +anchovy/SM +ancient/SPMRYT +ancientness/M +ancillary/SM +and +andante/SM +andiron/SM +androgen/M +androgenic +androgynous +androgyny/M +android/SM +anecdotal/Y +anecdote/MS +anemia/M +anemic +anemically +anemometer/SM +anemone/SM +anent +anesthesia/M +anesthesiologist/SM +anesthesiology/M +anesthetic/SM +anesthetist/MS +anesthetization/SM +anesthetize/GDS +aneurysm/SM +anew +angel/MS +angelfish/MS +angelic +angelica/M +angelical/Y +anger/GMDS +angina/M +angioplasty/SM +angiosperm/SM +angle/MZGDRS +angler/M +angleworm/MS +anglicism/S +anglicize/GDS +angling/M +anglophile/S +anglophone/S +angora/MS +angostura +angrily +angry/TR +angst/M +angstrom/MS +anguish/GMDS +angular +angularity/SM +angulation +anhydrous +aniline/M +animadversion/MS +animadvert/GSD +animal/MS +animalcule/SM +animate/ADSGN +animated/Y +animation/AM +animations +animator/MS +anime/M +animism/M +animist/SM +animistic +animosity/SM +animus/M +anion/MS +anionic +anise/M +aniseed/M +anisette/M +ankh/M +ankhs +ankle/MS +anklebone/MS +anklet/MS +annalist/SM +annals/M +anneal/GDS +annelid/MS +annex/GMDS +annexation/MS +annihilate/DSGN +annihilation/M +annihilator/SM +anniversary/SM +annotate/DSXGNV +annotation/M +annotator/MS +announce/DRSLZG +announced/U +announcement/MS +announcer/M +annoy/GDS +annoyance/MS +annoying/Y +annual/MYS +annualized +annuitant/SM +annuity/SM +annul/LS +annular +annulled +annulling +annulment/SM +annunciation/SM +anode/MS +anodize/GDS +anodyne/MS +anoint/GDLS +anointment/M +anomalous/Y +anomaly/SM +anon/S +anonymity/M +anonymous/Y +anopheles/M +anorak/MS +anorectic/SM +anorexia/M +anorexic/MS +another +answer/BMDGS +answerable/U +answered/U +answerphone/S +ant/SMD +antacid/SM +antagonism/SM +antagonist/SM +antagonistic +antagonistically +antagonize/DSG +antarctic +ante/SM +anteater/MS +antebellum +antecedence/M +antecedent/SM +antechamber/SM +antedate/GDS +antediluvian +anteing +antelope/MS +antenatal +antenna/SM +antennae +anterior +anteroom/MS +anthem/MS +anther/MS +anthill/SM +anthologist/SM +anthologize/DSG +anthology/SM +anthracite/M +anthrax/M +anthropocentric +anthropoid/MS +anthropological/Y +anthropologist/SM +anthropology/M +anthropomorphic +anthropomorphically +anthropomorphism/M +anthropomorphize +anthropomorphous +anti/SM +antiabortion +antiabortionist/MS +antiaircraft +antibacterial/MS +antibiotic/MS +antibody/SM +antic/MS +anticancer +anticipate/GNXDS +anticipated/U +anticipation/M +anticipatory +anticked +anticking +anticlerical +anticlimactic +anticlimactically +anticlimax/MS +anticline/SM +anticlockwise +anticoagulant/MS +anticommunism/M +anticommunist/SM +anticyclone/SM +anticyclonic +antidemocratic +antidepressant/MS +antidote/MS +antifascist/MS +antifreeze/M +antigen/SM +antigenic +antigenicity/M +antihero/M +antiheroes +antihistamine/SM +antiknock/M +antilabor +antilogarithm/SM +antimacassar/MS +antimalarial +antimatter/M +antimicrobial +antimissile +antimony/M +antinuclear +antioxidant/MS +antiparticle/SM +antipasti +antipasto/MS +antipathetic +antipathy/SM +antipersonnel +antiperspirant/SM +antiphon/SM +antiphonal/MYS +antipodal/S +antipodean/MS +antipodes/M +antipollution +antipoverty +antiquarian/SM +antiquarianism/M +antiquary/SM +antiquate/GDS +antique/DSMG +antiquity/SM +antirrhinum/S +antiscience +antisemitic +antisemitism/M +antisepsis/M +antiseptic/SM +antiseptically +antiserum/MS +antislavery +antisocial/Y +antispasmodic/MS +antisubmarine +antitank +antitheses +antithesis/M +antithetic +antithetical/Y +antitoxin/MS +antitrust +antivenin/MS +antivenom +antiviral/MS +antivirus +antivivisectionist/MS +antiwar +antler/MDS +antonym/SM +antonymous +antrum +antsy/TR +anus/MS +anvil/MS +anxiety/SM +anxious/YP +anxiousness/M +any +anybody/SM +anyhow +anymore +anyone/M +anyplace +anything/SM +anytime +anyway/S +anywhere +anywise +aorta/MS +aortic +apace +apart +apartheid/M +apartment/MS +apathetic +apathetically +apathy/M +apatite/M +ape/DSMG +apelike +aperitif/MS +aperture/SM +apex/MS +aphasia/M +aphasic/MS +aphelia +aphelion/SM +aphid/MS +aphorism/MS +aphoristic +aphoristically +aphrodisiac/SM +apiarist/SM +apiary/SM +apical/Y +apiece +apish/Y +aplenty +aplomb/M +apocalypse/SM +apocalyptic +apocrypha/M +apocryphal/Y +apogee/MS +apolitical/Y +apologetic/U +apologetically +apologia/SM +apologist/MS +apologize/GDS +apology/SM +apoplectic +apoplexy/SM +apoptosis +apoptotic +apostasy/SM +apostate/SM +apostatize/GDS +apostle/MS +apostleship/M +apostolic +apostrophe/MS +apothecary/SM +apothegm/SM +apotheoses +apotheosis/M +app/SM +appall/GDS +appalling/Y +appaloosa/MS +apparatchik/S +apparatus/MS +apparel/MDGS +apparent/Y +apparition/SM +appeal/GMDS +appealing/UY +appear/AESDG +appearance/EAMS +appease/LZGDRS +appeasement/SM +appeaser/M +appellant/SM +appellate/XN +appellation/M +append/GDS +appendage/SM +appendectomy/SM +appendices +appendicitis/M +appendix/MS +appertain/GDS +appetite/SM +appetizer/MS +appetizing/Y +applaud/ZGDRS +applauder/M +applause/M +apple/MS +applejack/M +applesauce/M +applet/MS +appliance/SM +applicability/M +applicable/I +applicably +applicant/SM +application/AM +applicator/SM +applier/MS +applique/DSM +appliqueing +apply/ANXGDS +appoint/AELSVGD +appointee/SM +appointment's/A +appointment/ESM +apportion/AGDLS +apportionment/AM +appose/GDS +apposite/YNVP +appositeness/M +apposition/M +appositive/SM +appraisal/AMS +appraise/ADSG +appraiser/MS +appreciable/I +appreciably/I +appreciate/DSXGNV +appreciated/U +appreciation/M +appreciative/Y +appreciator/MS +appreciatory +apprehend/GDS +apprehension/MS +apprehensive/YP +apprehensiveness/M +apprentice/DSMG +apprenticeship/MS +apprise/GDS +approach/GBMDS +approachable/UI +approbation/EM +approbations +appropriate/PYGNXDS +appropriated/U +appropriateness/IM +appropriation/M +appropriator/SM +approval/EM +approvals +approve/EGDS +approved/U +approving/EY +approx +approximate/DSXYGN +approximation/M +appurtenance/SM +appurtenant +apricot/MS +apron/MS +apropos +apse/SM +apt/IYPT +apter +aptitude/SM +aptness/IM +aqua/SM +aquaculture/M +aqualung/MS +aquamarine/SM +aquanaut/MS +aquaplane/MGDS +aquarium/MS +aquatic/SM +aquatically +aquatics/M +aquatint/S +aquavit/M +aqueduct/MS +aqueous +aquifer/SM +aquiline +arabesque/MS +arability/M +arachnid/MS +arachnophobia +arbiter/SM +arbitrage/MZGDRS +arbitrager/M +arbitrageur/SM +arbitrament/SM +arbitrarily +arbitrariness/M +arbitrary/P +arbitrate/GNDS +arbitration/M +arbitrator/MS +arbor/MS +arboreal +arboretum/SM +arborvitae/SM +arbutus/MS +arc/SMDG +arcade/MS +arcane +arch/PZTGVMDRSY +archaeological/Y +archaeologist/SM +archaeology/M +archaic +archaically +archaism/MS +archaist/MS +archangel/MS +archbishop/SM +archbishopric/SM +archdeacon/SM +archdiocesan +archdiocese/MS +archduchess/MS +archduke/MS +archenemy/SM +archer/M +archery/M +archetypal +archetype/MS +archfiend/MS +archiepiscopal +archipelago/MS +architect/SM +architectonic/S +architectonics/M +architectural/Y +architecture/MS +architrave/SM +archival +archive/DSMG +archivist/MS +archness/M +archway/SM +arctic/MS +ardent/Y +ardor/MS +arduous/YP +arduousness/M +are/SMB +area/SM +areal +aren't +arena/MS +argent/M +arginine +argon/M +argosy/SM +argot/MS +arguable/IU +arguably/U +argue/ZGDRS +arguer/M +argument/MS +argumentation/M +argumentative/PY +argumentativeness/M +argyle/MS +aria/SM +arid/Y +aridity/M +aright +arise/GS +arisen +aristocracy/SM +aristocrat/SM +aristocratic +aristocratically +arithmetic/M +arithmetical/Y +arithmetician/MS +ark/SM +arm's +arm/EAGDS +armada/MS +armadillo/SM +armament/AEM +armaments +armature/MS +armband/MS +armchair/MS +armed/U +armful/MS +armhole/SM +armistice/SM +armlet/MS +armload/S +armor/ZGMDRS +armored/U +armorer/M +armorial +armory/SM +armpit/MS +armrest/SM +army/SM +aroma/MS +aromatherapist/MS +aromatherapy/M +aromatic/MS +aromatically +arose +around +arousal/M +arouse/GDS +arpeggio/MS +arr +arraign/DGSL +arraignment/SM +arrange/AESDLG +arrangement's/E +arrangement/ASM +arranger/SM +arrant +arras/MS +array/EGMDS +arrears/M +arrest/AGMDS +arrhythmia/M +arrhythmic +arrhythmical +arrival/MS +arrive/GDS +arrogance/M +arrogant/Y +arrogate/GNDS +arrogation/M +arrow/MS +arrowhead/MS +arrowroot/M +arroyo/MS +arsed +arsenal/MS +arsenic/M +arsing +arson/M +arsonist/SM +art/SM +arterial +arteriole/MS +arteriosclerosis/M +artery/SM +artful/PY +artfulness/M +arthritic/MS +arthritis/M +arthropod/MS +arthroscope/SM +arthroscopic +arthroscopy +artichoke/SM +article/MDS +articulacy/I +articular +articulate/YGNPDSX +articulateness/IM +articulation/M +artifact/SM +artifice/RSMZ +artificer/M +artificial/Y +artificiality/M +artillery/M +artilleryman/M +artillerymen +artiness/M +artisan/MS +artist/MS +artiste/MS +artistic/I +artistically +artistry/M +artless/PY +artlessness/M +artsy/TR +artwork/MS +arty/PTR +arugula +arum/SM +asap +asbestos/M +ascend/AGDS +ascendance/M +ascendancy/M +ascendant/SM +ascension/MS +ascent/MS +ascertain/GDSBL +ascertainment/M +ascetic/MS +ascetically +asceticism/M +ascot/MS +ascribe/GBDS +ascription/M +aseptic +aseptically +asexual/Y +asexuality/M +ash/MDNSG +ashamed/UY +ashcan/MS +ashlar/MS +ashore +ashram/MS +ashtray/SM +ashy/TR +aside/MS +asinine/Y +asininity/SM +ask/SDG +askance +asked/U +askew +aslant +asleep +asocial +asp/SMNX +asparagus/M +aspartame/M +aspect/MS +aspen/M +asperity/SM +aspersion/MS +asphalt/MDGS +asphodel/SM +asphyxia/M +asphyxiate/DSXGN +asphyxiation/M +aspic/MS +aspidistra/MS +aspirant/MS +aspirate/MGNDSX +aspiration/M +aspirator/SM +aspire/GDS +aspirin/MS +ass/MS +assail/GBDS +assailable/U +assailant/SM +assassin/SM +assassinate/GNXDS +assassination/M +assault/MDRGS +assay/ZGMDRS +assayer/M +assemblage/SM +assemble/AEGSD +assembler/MS +assemblies +assembly/AM +assemblyman/M +assemblymen +assemblywoman/M +assemblywomen +assent/GMDS +assert/AGVDS +assertion/AM +assertions +assertive/YP +assertiveness/M +assess/ALGDS +assessment/ASM +assessor/MS +asset/MS +asseverate/DSGN +asseveration/M +asshole/MS! +assiduity/M +assiduous/PY +assiduousness/M +assign's +assign/ALGDS +assignable +assignation/MS +assigned/U +assignee/M +assigner/MS +assignment/AMS +assignor/MS +assimilate/DSGN +assimilation/M +assist/GMDS +assistance/M +assistant/SM +assisted/U +assize/MS +assn +assoc +associate's +associate/EDSGNV +association/EM +associations +assonance/M +assonant/MS +assort/GLDS +assortment/MS +asst +assuage/GDS +assume/BGDS +assumption/SM +assumptive +assurance/ASM +assure/AGDS +assured/MYS +astatine/M +aster/EMS +asterisk/GMDS +astern +asteroid/MS +asthma/M +asthmatic/SM +asthmatically +astigmatic +astigmatism/SM +astir +astonish/DSLG +astonishing/Y +astonishment/M +astound/GDS +astounding/Y +astraddle +astrakhan/M +astral +astray +astride +astringency/M +astringent/SMY +astrolabe/SM +astrologer/SM +astrological/Y +astrologist/MS +astrology/M +astronaut/MS +astronautic/S +astronautical +astronautics/M +astronomer/SM +astronomic +astronomical/Y +astronomy/M +astrophysical +astrophysicist/MS +astrophysics/M +astute/PYTR +astuteness/M +asunder +asylum/SM +asymmetric +asymmetrical/Y +asymmetry/SM +asymptomatic +asymptotic +asymptotically +asynchronous/Y +at +atavism/M +atavist/SM +atavistic +ataxia/M +ataxic/MS +ate +atelier/SM +atheism/M +atheist/MS +atheistic +atherosclerosis/M +atherosclerotic +athirst +athlete/MS +athletic/S +athletically +athleticism +athletics/M +athwart +atilt +atishoo +atlas/MS +atmosphere/MS +atmospheric/S +atmospherically +atmospherics/M +atoll/MS +atom/SM +atomic +atomically +atomize/ZGDRS +atomizer/M +atonal/Y +atonality/M +atone/LGDS +atonement/M +atop +atria +atrial +atrioventricular +atrium/M +atrocious/PY +atrociousness/M +atrocity/SM +atrophy/DSMG +atropine/M +attach/ALGDS +attache/BM +attached/U +attachment/AM +attachments +attack/ZGMDRS +attacker/M +attain/AGDS +attainability/M +attainable/U +attainder/M +attainment/SM +attar/M +attempt's +attempt/ASDG +attend/SDRZG +attendance/SM +attendant/SM +attended/U +attendee/SM +attention/IM +attentions +attentive/IPY +attentiveness/IM +attenuate/DSGN +attenuation/M +attest/SDG +attestation/SM +attested/U +attic/SM +attire/DSMG +attitude/SM +attitudinal +attitudinize/GDS +attn +attorney/MS +attract/SGVDB +attractant/MS +attraction/MS +attractive/UY +attractiveness/M +attribute/DSMGNVBX +attributed/U +attribution/M +attributive/MYS +attrition/M +attune/DSG +atty +atwitter +atypical/Y +aubergine/S +auburn/M +auction/MDGS +auctioneer/SM +audacious/YP +audaciousness/M +audacity/M +audibility/IM +audible/MS +audibly/I +audience/MS +audio/MS +audiological +audiologist/SM +audiology/M +audiometer/SM +audiophile/SM +audiotape/SM +audiovisual/S +audiovisuals/M +audit/GMDS +audition/SMDG +auditor/MS +auditorium/SM +auditory +auger/MS +aught/MS +augment/DRZGS +augmentation/MS +augmentative +augmenter/M +augur/GMDS +augury/SM +august/PTRY +augustness/M +auk/SM +aunt/SM +auntie/SM +aura/MS +aural/Y +aureole/SM +aureus +auricle/SM +auricular +aurora/SM +auscultate/GNDSX +auscultation/M +auspice/SM +auspicious/IY +auspiciousness/M +austere/RYT +austerity/SM +austral +authentic/IU +authentically +authenticate/XGNDS +authenticated/U +authentication/M +authenticity/M +author/SMDG +authoress/MS +authorial +authoritarian/MS +authoritarianism/M +authoritative/YP +authoritativeness/M +authority/SM +authorization/MS +authorize/AGDS +authorized/U +authorship/M +autism/M +autistic +auto/MS +autobahn/SM +autobiographer/SM +autobiographic +autobiographical/Y +autobiography/SM +autoclave/MS +autocracy/SM +autocrat/SM +autocratic +autocratically +autocross +autodidact/SM +autograph/MDG +autographs +autoimmune +autoimmunity/M +automaker/SM +automate/GNDS +automatic/SM +automatically +automation/M +automatism/M +automatize/GDS +automaton/SM +automobile/DSMG +automotive +autonomic +autonomous/Y +autonomy/M +autopilot/SM +autopsy/GDSM +autosuggestion +autoworker/MS +autumn/SM +autumnal +aux +auxiliary/SM +auxin/M +av/RZ +avail/BGMDS +availability/UM +available/U +avalanche/SM +avarice/M +avaricious/Y +avast +avatar/MS +avaunt +avdp +ave +avenge/ZGDRS +avenger/M +avenue/MS +average/MYGDS +averred +averring +averse/XN +aversion/M +avert/GDS +avg +avian +aviary/SM +aviation/M +aviator/MS +aviatrices +aviatrix/MS +avid/Y +avidity/M +avionic/S +avionics/M +avitaminosis/M +avocado/SM +avocation/MS +avocational +avoid/SDGB +avoidable/U +avoidably/U +avoidance/M +avoirdupois/M +avouch/DSG +avow/EDGS +avowal/ESM +avowed/Y +avuncular/Y +aw +await/GDS +awake/GS +awaken/AGDS +awakening/SM +award/GMDS +awardee/S +aware/UP +awareness/UM +awash +away +awe/DSMG +aweigh +awesome/YP +awesomeness/M +awestruck +awful/YP +awfuller +awfullest +awfulness/M +awhile +awkward/RYPT +awkwardness/M +awl/SM +awn/GJSM +awning/M +awoke +awoken +awry +ax/MDSG +axial/Y +axiom/SM +axiomatic +axiomatically +axis/M +axle/MS +axletree/SM +axolotl/SM +axon/MS +ayah/M +ayahs +ayatollah/M +ayatollahs +aye/SM +azalea/SM +azimuth/M +azimuths +azure/SM +b/KDT +baa/SMDG +babble/MZGDRS +babbler/M +babe/SM +babel/MS +baboon/MS +babushka/SM +baby/TGDRSM +babyhood/M +babyish +babysat +babysit/S +babysitter/MS +babysitting/M +baccalaureate/SM +baccarat/M +bacchanal/MS +bacchanalia/M +bacchanalian/MS +baccy +bachelor/SM +bachelorhood/M +bacillary +bacilli +bacillus/M +back/SJZGMDR +backache/MS +backbench/S +backbit +backbite/ZGRS +backbiter/M +backbitten +backboard/SM +backbone/MS +backbreaking +backchat +backcloth +backcloths +backcomb/DSG +backdate/GDS +backdoor +backdrop/MS +backer/M +backfield/SM +backfire/MGDS +backgammon/M +background/MRZS +backgrounder/M +backhand/MDRSZG +backhanded/Y +backhander/M +backhoe/MS +backing/M +backlash/MS +backless +backlog/MS +backlogged +backlogging +backpack/ZGMDRS +backpacker/M +backpacking/M +backpedal/SDG +backrest/SM +backroom/S +backscratching/M +backseat/SM +backside/SM +backslapper/SM +backslapping/M +backslash/MS +backslid +backslide/RSZG +backslider/M +backspace/DSMG +backspin/M +backstabber/MS +backstabbing +backstage/M +backstair/S +backstop/SM +backstopped +backstopping +backstory/S +backstreet/S +backstretch/MS +backstroke/MGDS +backtalk/M +backtrack/SDG +backup/MS +backward/PSY +backwardness/M +backwash/M +backwater/SM +backwoods/M +backwoodsman/M +backwoodsmen +backyard/SM +bacon/M +bacteria/M +bacterial +bactericidal +bactericide/SM +bacteriologic +bacteriological +bacteriologist/SM +bacteriology/M +bacterium/M +bad/MYP +badder +baddest +baddie/MS +bade +badge/MZRS +badger/GMD +badinage/M +badlands/M +badman/M +badmen +badminton/M +badmouth/GD +badmouths +badness/M +baffle/MZGDRSL +bafflement/M +baffler/M +bag/SM +bagatelle/SM +bagel/MS +bagful/MS +baggage/M +bagged +baggie/M +baggily +bagginess/M +bagging +baggy/PTRS +bagpipe/MZRS +bagpiper/M +baguette/MS +bah +baht/SM +bail/SBGMD +bailey/S +bailiff/S +bailiwick/MS +bailout/SM +bailsman/M +bailsmen +bairn/MS +bait/SGMD +baize/M +bake/DRSMZG +baked/U +baker/M +bakery/SM +bakeshop/MS +baklava/M +baksheesh/M +balaclava/MS +balalaika/MS +balance's +balance/UDSG +balboa/SM +balcony/SM +bald/STGPDRY +balderdash/M +baldfaced +baldness/M +baldric/SM +baldy/S +bale/DRSMZG +baleen/M +baleful/PY +balefulness/M +baler/M +balk/SGMD +balky/RT +ball/SGMD +ballad/SM +balladeer/MS +balladry/M +ballast/GSMD +ballcock/MS +ballerina/SM +ballet/SM +balletic +ballgame/MS +ballgirl/S +ballgown/S +ballistic/S +ballistics/M +balloon/SGMD +balloonist/MS +ballot/SMDG +ballpark/MS +ballplayer/MS +ballpoint/MS +ballroom/MS +balls/DSG +ballsy/RT +bally +ballyhoo/SMDG +balm/SM +balminess/M +balmy/RTP +baloney/M +balsa/MS +balsam/SM +balsamic +baluster/SM +balustrade/MS +bamboo/SM +bamboozle/DSG +ban/SM +banal/Y +banality/SM +banana/SM +band's +band/ESGD +bandage/DSMG +bandanna/MS +bandbox/MS +bandeau/M +bandeaux +bandit/SM +banditry/M +bandleader/S +bandmaster/SM +bandoleer/SM +bandsman/M +bandsmen +bandstand/SM +bandwagon/SM +bandwidth +bandwidths +bandy/DRSTG +bane/SM +baneful +bang/SGMDR +bangle/SM +bani +banish/GLDS +banishment/M +banister/SM +banjo/MS +banjoist/SM +bank/SZGBMDR +bankbook/SM +bankcard/SM +banker/M +banking/M +banknote/SM +bankroll/SGMD +bankrupt/SGMD +bankruptcy/SM +banned +banner/SM +banning +bannock/MS +banns/M +banquet/ZGMDRS +banqueter/M +banquette/SM +banshee/MS +bantam/SM +bantamweight/SM +banter/GSMD +bantering/Y +banyan/SM +banzai/SM +baobab/SM +bap/S +baptism/MS +baptismal +baptist/S +baptistery/SM +baptize/ZGDRS +baptized/U +baptizer/M +bar's +bar/ECUTS +barb/SZGMDR +barbacoa +barbarian/SM +barbarianism/MS +barbaric +barbarically +barbarism/SM +barbarity/SM +barbarize/DSG +barbarous/Y +barbecue/DSMG +barbel/SM +barbell/MS +barber/GMD +barberry/SM +barbershop/MS +barbie/S +barbiturate/SM +barbwire/M +barcarole/SM +bard/SM +bardic +bare/DRSPYG +bareback/D +barefaced/Y +barefoot/D +barehanded +bareheaded +barelegged +bareness/M +barf/SGMDY +barfly/SM +bargain/MDRZGS +bargainer/M +barge/MGDS +bargeman/M +bargemen +barhop/S +barhopped +barhopping +barista/MS +baritone/MS +barium/M +bark's +bark/CSGD +barkeep/ZMRS +barkeeper/M +barker/SM +barley/M +barmaid/MS +barman/M +barmen +barmy/RT +barn/SM +barnacle/MDS +barney/S +barnstorm/SDRZG +barnstormer/M +barnyard/SM +barometer/MS +barometric +barometrically +baron/MS +baronage/MS +baroness/MS +baronet/MS +baronetcy/SM +baronial +barony/SM +baroque/M +barque/SM +barrack/MDGS +barracuda/SM +barrage/MGDS +barre/MGJDS +barred/UEC +barrel/GSMD +barren/TPSMR +barrenness/M +barrette/SM +barricade/MGDS +barrier/MS +barring/ECU +barrio/SM +barrister/MS +barroom/MS +barrow/SM +bartender/SM +barter/ZGSMDR +barterer/M +baryon/SM +basal/Y +basalt/M +basaltic +base's +base/CDSLTG +baseball/SM +baseboard/MS +baseless +baseline/MS +basely +baseman/M +basemen +basement/CMS +baseness/M +baser +bash/GMDS +bashful/PY +bashfulness/M +bashing/M +basic/MS +basically +basil/M +basilica/MS +basilisk/MS +basin/MS +basinful/MS +basis/M +bask/SGD +basket/SM +basketball/MS +basketry/M +basketwork/M +basque/S +bass/MS +basset/SM +bassinet/MS +bassist/MS +basso/MS +bassoon/MS +bassoonist/SM +basswood/MS +bast/M +bastard/MS +bastardization/MS +bastardize/GDS +bastardy/M +baste/ZGNXDRS +baster/M +bastion/M +bat/SM +batch/MDSG +bate/KACGSD +bath/ZGMDRS +bathe/M +bather/M +bathetic +bathhouse/MS +bathing/M +bathmat/MS +bathos/M +bathrobe/SM +bathroom/SM +baths +bathtub/MS +bathwater +bathyscaphe/SM +bathysphere/MS +batik/MS +batiste/M +batman/M +batmen +baton/MS +batsman/M +batsmen +battalion/SM +batted +batten/GSMD +batter/JZGSMDR +batterer/M +battery/SM +batting/M +battle/LDRSMZG +battleaxe/MS +battledore/SM +battledress +battlefield/MS +battlefront/MS +battleground/MS +battlement/SM +battler/M +battleship/SM +batty/RT +bauble/SM +baud/SM +bauxite/M +bawd/SM +bawdily +bawdiness/M +bawdy/PRT +bawl/SGMD +bay/SMDG +bayberry/SM +bayonet/SMDG +bayou/MS +bazaar/SM +bazillion/S +bazooka/SM +bbl +bdrm +be +beach/MDSG +beachcomber/SM +beachfront +beachhead/MS +beachwear/M +beacon/SM +bead/SGMD +beading/M +beadle/SM +beady/RT +beagle/SM +beak/SZMDR +beaker/M +beam/SGMD +bean/SGMD +beanbag/MS +beanfeast/S +beanie/SM +beanpole/MS +beansprout/S +beanstalk/MS +bear/SZGBJMR +bearable/U +bearably/U +beard/MDGS +beardless +bearer/M +bearing/M +bearish/PY +bearishness/M +bearlike +bearskin/MS +beast/MS +beastliness/M +beastly/TPRM +beat/SZGBMNRJ +beatable/U +beaten/U +beater/M +beatific +beatifically +beatification/M +beatify/GXNDS +beating/M +beatitude/SM +beatnik/MS +beau/SM +beaut/MS +beauteous/Y +beautician/SM +beautification/M +beautifier/M +beautiful/Y +beautify/NDRSZG +beauty/SM +beaver/SGMD +bebop/MS +becalm/GSD +became +because +beck/SM +beckon/SGD +becloud/GDS +become/S +becoming/UY +becquerel/S +bed/SM +bedaub/GSD +bedazzle/GDSL +bedazzlement/M +bedbug/SM +bedchamber/S +bedclothes/M +bedded +bedder +bedding/M +bedeck/GSD +bedevil/LGDS +bedevilment/M +bedfellow/SM +bedhead/S +bedim/S +bedimmed +bedimming +bedizen/GDS +bedlam/SM +bedpan/SM +bedpost/SM +bedraggle/GDS +bedridden +bedrock/SM +bedroll/SM +bedroom/SM +bedside/SM +bedsit/S +bedsitter/S +bedsore/SM +bedspread/SM +bedstead/SM +bedtime/SM +bee/RSMZGJ +beebread/M +beech/MS +beechnut/MS +beef/SGMD +beefburger/SM +beefcake/MS +beefiness/M +beefsteak/MS +beefy/RPT +beehive/MS +beekeeper/MS +beekeeping/M +beeline/MS +been +beep/SZGMDR +beeper/M +beer/M +beery/TR +beeswax/M +beet/SM +beetle/MGDS +beetroot/S +beeves +befall/SGN +befell +befit/S +befitted +befitting/Y +befog/S +befogged +befogging +before +beforehand +befoul/DGS +befriend/SGD +befuddle/GLDS +befuddlement/M +beg/S +began +begat +beget/S +begetter/S +begetting +beggar/MDYGS +beggary/M +begged +begging +begin/S +beginner/SM +beginning/MS +begone +begonia/SM +begot +begotten +begrime/DSG +begrudge/DSG +begrudging/Y +beguile/DRSZGL +beguilement/M +beguiler/M +beguiling/Y +beguine/SM +begum/MS +begun +behalf/M +behalves +behave/GDS +behavior/SM +behavioral/Y +behaviorism/M +behaviorist/MS +behead/DGS +beheld +behemoth/M +behemoths +behest/MS +behind/MS +behindhand +behold/NRZGS +beholder/M +behoove/DSG +beige/M +being/M +bejewel/SDG +belabor/SDG +belated/Y +belay/GDS +belch/GMDS +beleaguer/GSD +belfry/SM +belie/DS +belief/EUM +beliefs +believable/U +believably/U +believe/EDRSZG +believer/EUMS +believing/U +belittle/LDSG +belittlement/M +bell/SGMD +belladonna/M +bellboy/SM +belle/MS +belled/A +belletrist/MS +belletristic +bellhop/SM +bellicose +bellicosity/M +belligerence/M +belligerency/M +belligerent/MYS +belling/A +bellman/M +bellmen +bellow/MDGS +bellwether/MS +belly/GDSM +bellyache/MGDS +bellybutton/SM +bellyful/MS +belong/JDGS +belonging/M +beloved/SM +below +belt/SGMD +beltway/SM +beluga/MS +belying +bemire/GDS +bemoan/DGS +bemuse/LGDS +bemused/Y +bemusement/M +bench/GMDS +benchmark/MS +bend/BSZGMR +bender/M +bendy/TR +beneath +benedictine +benediction/SM +benedictory +benefaction/SM +benefactor/MS +benefactress/MS +benefice/SM +beneficence/M +beneficent/Y +beneficial/Y +beneficiary/SM +benefit/SMDG +benevolence/SM +benevolent/Y +benighted/Y +benign/Y +benignant +benignity/M +bent/SM +bentwood/M +benumb/DSG +benzene/M +benzine/M +benzyl +bequeath/DG +bequeaths +bequest/MS +berate/GDS +bereave/DSLG +bereavement/MS +bereft +beret/MS +berg/SM +beriberi/M +berk/S +berkelium/M +berm/SM +berry/GDSM +berrylike +berserk +berth/GMD +berths +beryl/MS +beryllium/M +beseech/ZGRS +beseecher/M +beseeching/Y +beseem/DSG +beset/S +besetting +beside/S +besiege/ZGDRS +besieger/M +besmear/DSG +besmirch/GDS +besom/MS +besot/S +besotted +besotting +besought +bespangle/DSG +bespatter/GSD +bespeak/SG +bespectacled +bespoke +bespoken +best/SGMD +bestial/Y +bestiality/M +bestiary/SM +bestir/S +bestirred +bestirring +bestow/DGS +bestowal/SM +bestrew/SDG +bestrewn +bestridden +bestride/SG +bestrode +bestseller/MS +bestselling +bet/SM +beta/SM +betake/GS +betaken +betcha +betel/M +bethink/SG +bethought +betide/GDS +betimes +betoken/GDS +betook +betray/DRZGS +betrayal/SM +betrayer/M +betroth/DG +betrothal/SM +betrothed/M +betroths +better/MDGLS +betterment/M +betting +bettor/MS +between +betwixt +bevel/GMDS +beverage/SM +bevvy/S +bevy/SM +bewail/DGS +beware/GDS +bewhiskered +bewigged +bewilder/LSGD +bewildering/Y +bewilderment/M +bewitch/GLDS +bewitching/Y +bewitchment/M +bey/SM +beyond +bezel/MS +bf +bhaji +bi/SMRZ +biannual/Y +bias/GMDS +biased/U +biathlon/SM +bib/SM +bible/MS +biblical +bibliographer/MS +bibliographic +bibliographical/Y +bibliography/SM +bibliophile/SM +bibulous +bicameral +bicameralism/M +bicarb/MS +bicarbonate/MS +bicentenary/SM +bicentennial/SM +bicep/MS +biceps/M +bicker/MDRZGS +bickerer/M +biconcave +biconvex +bicuspid/MS +bicycle/DRSMZG +bicycler/M +bicyclist/SM +bid/SMG +biddable +bidden/U +bidder/MS +bidding/M +biddy/SM +bide/S +bidet/MS +bidirectional/Y +biennial/MYS +biennium/MS +bier/M +biff/SGD +bifocal/S +bifocals/M +bifurcate/XDSGN +bifurcation/M +big/P +bigamist/SM +bigamous +bigamy/M +bigger +biggest +biggie/MS +biggish +bighead/SM +bighearted/P +bigheartedness/M +bighorn/SM +bight/MS +bigmouth/M +bigmouths +bigness/M +bigot/MDS +bigotry/SM +bigwig/MS +bijou/M +bijoux +bike/DRSMZG +biker/M +bikini/MS +bilabial/MS +bilateral/Y +bilberry/S +bile/M +bilge/MS +bilingual/SMY +bilingualism/M +bilious/P +biliousness/M +bilirubin +bilk/SZGDR +bilker/M +bill/SBJGMD +billboard/MS +billet/GMDS +billfold/SM +billhook/S +billiard/S +billiards/M +billing/M +billingsgate/M +billion/MHS +billionaire/SM +billionth/M +billionths +billow/GMDS +billowy +billy/SM +billycan/S +bimbo/MS +bimetallic/SM +bimetallism/M +bimonthly/SM +bin/SM +binary/SM +bind's +bind/AUGS +binder/MS +bindery/SM +binding/MS +bindweed/M +binge/MDS +bingo/M +binman +binmen +binnacle/SM +binned +binning +binocular/MS +binomial/SM +bio/SM +biochemical/SMY +biochemist/MS +biochemistry/M +biodegradability/M +biodegrade/DSGB +biodiversity/M +bioethics/M +biofeedback/M +biog +biographer/SM +biographic +biographical/Y +biography/SM +biol +biologic +biological/Y +biologist/MS +biology/M +biomass/M +biomedical +bionic/S +bionically +bionics/M +biophysical +biophysicist/MS +biophysics/M +biopic/MS +biopsy/GDSM +bioreactor/S +biorhythm/MS +biosensor/S +biosphere/SM +biosynthesis +biotech +biotechnological +biotechnology/M +biotin/M +bipartisan +bipartisanship/M +bipartite +biped/MS +bipedal +biplane/MS +bipolar +bipolarity/M +biracial +birch/GMDS +bird/SZGMDR +birdbath/M +birdbaths +birdbrain/SMD +birdcage/S +birder/M +birdhouse/MS +birdie/MDS +birdieing +birdlike +birdlime/M +birdseed/M +birdsong +birdwatcher/SM +birdying +biretta/SM +birth/ZGMDR +birthday/MS +birther/M +birthmark/MS +birthplace/MS +birthrate/MS +birthright/MS +births/A +birthstone/SM +biscuit/SM +bisect/DGS +bisection/MS +bisector/SM +bisexual/MYS +bisexuality/M +bishop/MS +bishopric/SM +bismuth/M +bison/M +bisque/M +bistro/MS +bit/CSMG +bitch/GMDS +bitchily +bitchiness/M +bitchy/PRT +bitcoin/SM +bite/RSMZ +biter/M +biting/Y +bitmap/S +bitten +bitter/PMRYTS +bittern/SM +bitterness/M +bitters/M +bittersweet/MS +bitty/TR +bitumen/M +bituminous +bivalent +bivalve/SM +bivouac/MS +bivouacked +bivouacking +biweekly/SM +biyearly +biz/M +bizarre/Y +bk +bl/DG +blab/SM +blabbed +blabber/DGS +blabbermouth/M +blabbermouths +blabbing +black/PXTGMDNRYS +blackamoor/MS +blackball/SGMD +blackberry/GSM +blackbird/SM +blackboard/MS +blackcurrant/S +blacken/DG +blackface +blackguard/SM +blackhead/MS +blacking/M +blackish +blackjack/MDGS +blackleg/S +blacklist/MDSG +blackmail/MDRSZG +blackmailer/M +blackness/M +blackout/SM +blacksmith/M +blacksmiths +blacksnake/SM +blackthorn/SM +blacktop/SM +blacktopped +blacktopping +bladder/MS +blade/MDS +blag/S +blagged +blagging +blah/M +blahs/M +blame/BMGDRS +blameless/YP +blamelessness/M +blameworthiness/M +blameworthy/P +blammo +blanch/GDS +blancmange/MS +bland/PTRY +blandish/DSLG +blandishment/SM +blandness/M +blank/TGPMDRYS +blanket/GMDS +blankness/M +blare/MGDS +blarney/SMDG +blase +blaspheme/ZGDRS +blasphemer/M +blasphemous/Y +blasphemy/SM +blast/ZGMDRS +blaster/M +blastoff/MS +blat/S +blatancy/SM +blatant/Y +blather/SMDG +blaze/MZGDRS +blazer/M +blazon/MDGS +bldg +bleach/MDRSZG +bleached/U +bleacher/M +bleak/TPRY +bleakness/M +blear +blearily +bleariness/M +bleary/PRT +bleat/GMDS +bleed/ZGRS +bleeder/M +bleeding/M +bleep/ZGMDRS +bleeper/M +blemish/GMDS +blemished/U +blench/DSG +blend/ZGMDRS +blender/M +bless/GDSJ +blessed/YP +blessedness/M +blessing/M +bletch +blew +blight/ZGMDRS +blimey +blimp/MS +blimpish +blind/PZTGMDRYS +blinder/M +blindfold/SMDG +blinding/Y +blindness/M +blindside/DSG +blini/MS +blink/ZGMDRS +blinker/MDG +blintz/MS +blintze/M +blip/SM +bliss/M +blissful/YP +blissfulness/M +blister/GMDS +blistering/Y +blistery +blithe/PYTR +blitheness/M +blither/G +blithesome +blitz/GMDS +blitzkrieg/MS +blivet/S +blizzard/SM +bloat/ZGDRS +bloatware +blob/SM +blobbed +blobbing +bloc/SM +block's +block/UGDS +blockade/MZGDRS +blockader/M +blockage/MS +blockbuster/SM +blockbusting/M +blocker/MS +blockhead/SM +blockhouse/MS +blog/SM +blogged +blogger/MS +blogging +bloke/MS +blokish +blond/PTMRS +blonde/MS +blondish +blondness/M +blood/GMDS +bloodbath/M +bloodbaths +bloodcurdling +bloodhound/SM +bloodily +bloodiness/M +bloodless/YP +bloodlessness/M +bloodletting/M +bloodline/SM +bloodmobile/MS +bloodshed/M +bloodshot +bloodstain/SMD +bloodstock/M +bloodstream/SM +bloodsucker/SM +bloodsucking +bloodthirstily +bloodthirstiness/M +bloodthirsty/RPT +bloody/PTGDRS +bloom/ZGMDRS +bloomer/M +bloop/ZGMDRS +blooper/M +blossom/GMDS +blossomy +blot/SM +blotch/GMDS +blotchy/TR +blotted +blotter/MS +blotting +blotto +blouse/MGDS +blow/SZGMR +blower/M +blowfly/SM +blowgun/MS +blowhard/MS +blowhole/S +blowjob/SM +blowlamp/S +blown +blowout/SM +blowpipe/SM +blowtorch/MS +blowup/MS +blowy/TR +blowzy/RT +blubber/GSMD +blubbery +bludgeon/MDGS +blue/DRSPMTG +bluebell/MS +blueberry/SM +bluebird/MS +bluebonnet/SM +bluebottle/SM +bluefish/MS +bluegill/MS +bluegrass/M +blueish +bluejacket/SM +bluejeans/M +blueness/M +bluenose/MS +bluepoint/MS +blueprint/MDGS +bluestocking/SM +bluesy/RT +bluet/MS +bluff/ZTGPMDRYS +bluffer/M +bluffness/M +bluing/M +bluish +blunder/MDRZGS +blunderbuss/MS +blunderer/M +blunt/PTGDRYS +bluntness/M +blur/SM +blurb/MS +blurred +blurriness/M +blurring +blurry/TRP +blurt/GDS +blush/ZGMDRS +blusher/M +bluster/MDRSZG +blusterer/M +blusterous +blustery +blvd +boa/SM +boar/SM +board/ZGMDRS +boarder/M +boarding/M +boardinghouse/MS +boardroom/MS +boardwalk/MS +boast/ZGMDRS +boaster/M +boastful/PY +boastfulness/M +boat/SZGMDR +boater/M +boathouse/MS +boating/M +boatload/S +boatman/M +boatmen +boatswain/SM +boatyard/S +bob/SM +bobbed +bobbin/MS +bobbing +bobble/MGDS +bobby/SM +bobbysoxer/SM +bobcat/MS +bobolink/SM +bobsled/SM +bobsledded +bobsledder/MS +bobsledding +bobsleigh/M +bobsleighs +bobtail/SM +bobwhite/MS +boccie/M +bock/M +bod/SMDG +bodacious +bode/S +bodega/MS +bodge/GDS +bodice/MS +bodily +bodkin/MS +body/DSM +bodybuilder/SM +bodybuilding/M +bodyguard/MS +bodysuit/SM +bodywork/M +boffin/S +boffo +bog/SM +boga +bogey/GMDS +bogeyman/M +bogeymen +bogged +bogging +boggle/GDS +boggy/TR +bogie/MS +bogon +bogosity +bogus +bogyman/M +bogymen +bohemian/SM +bohemianism/M +boil/SJZGMDR +boiler/M +boilermaker/SM +boilerplate/M +boink/GDS +boisterous/YP +boisterousness/M +bola/SM +bold/PTRY +boldface/DM +boldness/M +bole/SM +bolero/MS +bolivar/MS +bolivares +boll/SM +bollard/S +bollix/GMDS +bollocking/S +bollocks +bologna/M +bolshie +bolster/GMDS +bolt's +bolt/USGD +bolthole/S +bolus/MS +bomb/SJZGMDR +bombard/GDLS +bombardier/MS +bombardment/SM +bombast/M +bombastic +bombastically +bomber/M +bombproof +bombshell/SM +bombsite/S +bonanza/MS +bonbon/MS +bonce/S +bond/SGMD +bondage/M +bondholder/MS +bonding/M +bondman/M +bondmen +bondsman/M +bondsmen +bondwoman/M +bondwomen +bone/DRSMZG +bonehead/SMD +boneless +boner/M +boneshaker/S +boneyard +bonfire/MS +bong/SGMD +bongo/MS +bonhomie/M +boniness/M +bonito/MS +bonk/SZGD +bonnet/MS +bonny/TR +bonobo/MS +bonsai/M +bonus/MS +bony/PTR +boo/SMDHG +boob/SGMD +booby/SM +boodle/MS +booger/S +boogeyman/M +boogeymen +boogie/MDS +boogieing +boogieman/M +boohoo/GMDS +book/SBJGMD +bookbinder/SM +bookbindery/SM +bookbinding/M +bookcase/MS +bookend/MS +bookie/MS +booking/M +bookish +bookkeeper/MS +bookkeeping/M +booklet/MS +bookmaker/SM +bookmaking/M +bookmark/SMDG +bookmobile/SM +bookplate/MS +bookseller/MS +bookshelf/M +bookshelves +bookshop/SM +bookstall/S +bookstore/MS +bookworm/SM +boom/SZGMDR +boombox/MS +boomerang/MDGS +boon/SM +boondocks/M +boondoggle/MZGDRS +boondoggler/M +boonies/M +boor/SM +boorish/PY +boorishness/MS +boost/ZGMDRS +booster/M +boot's +boot/ASGD +bootblack/SM +bootee/MS +booth/M +booths +bootlace/S +bootleg/MS +bootlegged +bootlegger/MS +bootlegging/M +bootless +bootstrap/MS +bootstrapped +bootstrapping +booty/SM +booze/MZGDRS +boozer/M +boozy/TR +bop/SM +bopped +bopping +borax/M +bordello/MS +border/GMDS +borderland/MS +borderline/MS +bore/DRSMZG +boredom/M +borehole/S +borer/M +boring/Y +born/IAU +borne +boron/M +borough/M +boroughs +borrow/SDRZGJ +borrower/M +borrowing/M +borscht/M +borstal/S +borzoi/SM +bosh/M +bosom's +bosom/US +bosomy +boss/DSGM +bossily +bossiness/M +bossism/M +bossy/RTP +bot/S +botanic +botanical/Y +botanist/SM +botany/M +botch/DRSZGM +botcher/M +both +bother/SMDG +botheration +bothersome +botnet/SM +bottle/DRSMZG +bottleneck/MS +bottler/M +bottom/SMDG +bottomless +botulinum +botulism/M +boudoir/SM +bouffant/SM +bougainvillea/MS +bough/M +boughs +bought +bouillabaisse/SM +bouillon/MS +boulder/SM +boules +boulevard/SM +bounce/DRSMZG +bouncer/M +bouncily +bounciness/M +bouncy/RTP +bound/ASMGD +boundary/SM +bounden +bounder/SM +boundless/PY +boundlessness/M +bounteous/YP +bounteousness/M +bountiful/YP +bountifulness/M +bounty/SM +bouquet/SM +bourbon/SM +bourgeois/M +bourgeoisie/M +boustrophedon +bout/MS +boutique/SM +boutonniere/MS +bouzouki/MS +bovine/SM +bovver +bow/ZGSMDR +bowdlerization/MS +bowdlerize/DSG +bowed/U +bowel/SM +bower/M +bowl/MDRZGS +bowleg/SM +bowlegged +bowler/M +bowlful/SM +bowline/SM +bowling/M +bowman/M +bowmen +bowsprit/SM +bowstring/SM +bowwow/SM +box/ZGMDNRS +boxcar/SM +boxer/M +boxing/M +boxlike +boxroom/S +boxwood/M +boxy/RT +boy/SM +boycott/SGMD +boyfriend/MS +boyhood/SM +boyish/YP +boyishness/M +boysenberry/SM +bozo/MS +bpm +bps +bra/SM +brace/MZGDRS +bracelet/MS +bracer/M +bracero/MS +bracken/M +bracket/GMDS +brackish/P +brackishness/M +bract/MS +brad/SM +bradawl/S +bradycardia +brae/SM +brag/SM +braggadocio/SM +braggart/SM +bragged +bragger/MS +bragging +braid/GMDS +braiding/M +braille/M +brain/GMDS +brainchild/M +brainchildren/M +braininess/M +brainless/Y +brainpower +brainstorm/SMDG +brainstorming/M +brainteaser/SM +brainwash/DSG +brainwashing/M +brainwave/S +brainy/PTR +braise/GDS +brake/MGDS +brakeman/M +brakemen +bramble/MS +brambly +bran/M +branch/GMDS +branchlike +brand/ZGMDRS +branded/U +brander/M +brandish/DSG +brandy/GDSM +brash/PTRY +brashness/M +brass/MS +brasserie/MS +brassiere/MS +brassily +brassiness/M +brassy/PTR +brat/SM +bratty/RT +bratwurst/SM +bravado/M +brave/GPMYDTRS +braveness/M +bravery/M +bravo/SM +bravura/SM +brawl/SDRZGM +brawler/M +brawn/M +brawniness/M +brawny/RTP +bray/DGSM +braze/DRSZG +brazen/SDYGP +brazenness/M +brazer/M +brazier/SM +breach/GMDS +bread/GMDHS +breadbasket/SM +breadboard/SM +breadbox/MS +breadcrumb/MS +breadfruit/SM +breadline/MS +breadth/M +breadths +breadwinner/SM +break/BMZGRS +breakable/MS +breakage/MS +breakaway/MS +breakdown/MS +breaker/M +breakfast/MDGS +breakfront/MS +breakneck +breakout/MS +breakpoints +breakthrough/M +breakthroughs +breakup/SM +breakwater/SM +bream/MS +breast/SMDG +breastbone/MS +breastfed +breastfeed/GS +breastplate/SM +breaststroke/SM +breastwork/MS +breath/MDRSZGB +breathalyze/ZGDRS +breathe +breather/M +breathing/M +breathless/PY +breathlessness/M +breaths +breathtaking/Y +breathy/RT +bred/I +breech/MS +breed/SRZGM +breeder/M +breeding/IM +breeze/DSMG +breezeway/SM +breezily +breeziness/M +breezy/RTP +brethren +breve/SM +brevet/SM +brevetted +brevetting +breviary/SM +brevity/M +brew/MDRZGS +brewer/M +brewery/SM +brewpub/SM +bribe/DRSMZG +briber/M +bribery/M +brick/SMDG +brickbat/SM +brickie/S +bricklayer/MS +bricklaying/M +brickwork/M +brickyard/S +bridal/SM +bride/SM +bridegroom/SM +bridesmaid/MS +bridge/DSMG +bridgeable/U +bridgehead/SM +bridgework/M +bridle/DSMG +bridled/U +bridleway/S +brie/MZR +brief's +brief/CSDTGJ +briefcase/SM +briefer +briefing/CM +briefly +briefness/M +brier/M +brig/MS +brigade/SM +brigadier/MS +brigand/SM +brigandage/M +brigantine/MS +bright/SPNRYXT +brighten/DRZG +brightener/M +brightness/M +brights/M +brill +brilliance/M +brilliancy/M +brilliant/MYS +brilliantine/M +brim/MS +brimful +brimless +brimmed +brimming +brimstone/M +brindle/DM +brine/M +bring/SRZG +bringer/M +brininess/M +brink/SM +brinkmanship/M +briny/RTP +brioche/SM +briquette/MS +brisk/SDRYTGP +brisket/SM +briskness/M +bristle/DSMG +bristly/TR +britches/M +brittle/PRMT +brittleness/M +bro/SMH +broach/MDSG +broad/SMNRYXTP +broadband/M +broadcast/AMGS +broadcaster/MS +broadcasting/M +broadcloth/M +broaden/DG +broadloom/M +broadminded +broadness/M +broadsheet/SM +broadside/MGDS +broadsword/SM +brocade/DSMG +broccoli/M +brochette/SM +brochure/MS +brogan/SM +brogue/SM +broil/SMDRZG +broiler/M +broke +broken/YP +brokenhearted/Y +brokenness/M +broker/SMDG +brokerage/MS +brolly/S +bromide/SM +bromidic +bromine/M +bronc/SM +bronchi +bronchial +bronchitic +bronchitis/M +bronchus/M +bronco/SM +broncobuster/SM +brontosaur/MS +brontosaurus/MS +bronze/DSMG +brooch/MS +brood/SMDRZG +brooder/M +broodily +brooding/MY +broodmare/MS +broody/RMPT +brook/SMDG +brooklet/SM +broom/SM +broomstick/MS +broth/MRZ +brothel/MS +brother/MY +brotherhood/MS +brotherliness/M +broths +brougham/SM +brought +brouhaha/SM +brow/MS +browbeat/SNG +brown/SMDRPTG +brownfield +brownie/MS +brownish +brownness/M +brownout/SM +brownstone/MS +browse/DRSMZG +browser/M +brr +bruin/SM +bruise/DRSMZG +bruiser/M +bruising/M +bruit/SDG +brunch/MDSG +brunet/SM +brunette/MS +brunt/M +brush/MDSG +brushoff/SM +brushstroke/S +brushwood/M +brushwork/M +brusque/RPYT +brusqueness/M +brutal/Y +brutality/SM +brutalization/M +brutalize/GDS +brute/SM +brutish/PY +brutishness/M +bu +bub/SM +bubble/DSMG +bubblegum/M +bubbly/RMT +bubo/M +buboes +buccaneer/SGMD +buck/MDGS +buckaroo/SM +buckboard/MS +bucket/SGMD +bucketful/MS +buckeye/MS +buckle's +buckle/UDSG +buckler/MS +buckram/M +bucksaw/MS +buckshot/M +buckskin/MS +buckteeth +bucktooth/MD +buckwheat/M +buckyball/SM +bucolic/MS +bucolically +bud/SM +budded +budding/S +buddy/SM +budge/DSG +budgerigar/MS +budget/SGMD +budgetary +budgie/SM +buff/AMDGS +buffalo/MDG +buffaloes +buffer/SMDG +buffet/SMDGJ +buffoon/SM +buffoonery/M +buffoonish +bug's +bug/CS +bugaboo/SM +bugbear/SM +bugged/C +bugger/SMDG +buggery +bugging/C +buggy/RSMT +bugle/DRSMZG +bugler/M +build/SMRZGJ +builder/M +building/M +buildup/SM +built/AI +builtin +bulb/MS +bulbous +bulge/DSMG +bulgy/RT +bulimarexia/M +bulimia/M +bulimic/SM +bulk/MDGS +bulkhead/MS +bulkiness/M +bulky/RTP +bull/MDGS +bulldog/SM +bulldogged +bulldogging +bulldoze/ZGDRS +bulldozer/M +bullet/SM +bulletin/MDGS +bulletproof/SDG +bullfight/SMRZG +bullfighter/M +bullfighting/M +bullfinch/MS +bullfrog/MS +bullhead/MDS +bullheaded/PY +bullheadedness/M +bullhorn/MS +bullion/M +bullish/YP +bullishness/M +bullock/SM +bullpen/SM +bullring/MS +bullshit/MS! +bullshitted/! +bullshitter/SM! +bullshitting/! +bullwhip/S +bully/DSMG +bulrush/MS +bulwark/MS +bum/SM +bumbag/S +bumble/DRSZG +bumblebee/SM +bumbler/M +bumf +bummed +bummer/SM +bummest +bumming +bump/MDRZGS +bumper/M +bumph +bumpiness/M +bumpkin/MS +bumptious/PY +bumptiousness/M +bumpy/PRT +bun/SM +bunch/MDSG +bunchy/RT +bunco/SMDG +bundle/DSMG +bung/MDGS +bungalow/MS +bungee/SM +bunghole/MS +bungle/DRSMZG +bungler/M +bunion/SM +bunk's +bunk/CDGS +bunker/SM +bunkhouse/SM +bunkum/M +bunny/SM +bunt/MDGSJ +bunting/M +buoy/MDGS +buoyancy/M +buoyant/Y +bur/SMY +burble/DSMG +burbs/M +burden's +burden/USGD +burdensome +burdock/M +bureau/SM +bureaucracy/SM +bureaucrat/MS +bureaucratic +bureaucratically +bureaucratization/M +bureaucratize/GDS +burg/MRZS +burgeon/DSG +burger/M +burgh/MRZ +burgher/M +burghs +burglar/MS +burglarize/GDS +burglarproof +burglary/SM +burgle/DSG +burgomaster/SM +burgundy/SM +burial/ASM +burka/SM +burl/MDS +burlap/M +burlesque/MGDS +burliness/M +burly/RPT +burn/MDRZGSB +burnable/SM +burner/M +burnish/ZGMDRS +burnisher/M +burnoose/MS +burnout/MS +burnt +burp/MDGS +burr/MDGS +burrito/MS +burro/SM +burrow/SMDRZG +burrower/M +bursa/M +bursae +bursar/SM +bursary/SM +bursitis/M +burst/SMG +bury/ADSG +bus/AMS +busboy/SM +busby/SM +bused +busgirl/MS +bush/MDSGJ +bushel/SGMD +bushiness/M +bushing/M +bushman/M +bushmaster/SM +bushmen +bushwhack/DRSZG +bushwhacker/M +bushy/RPT +busily +business/MS +businesslike +businessman/M +businessmen +businessperson/SM +businesswoman/M +businesswomen +busing/M +busk/DRZGS +buskin/SM +busload/S +buss/M +bust/MDRZGS +buster/M +bustle/DSMG +busty/RZT +busy/DRSTGP +busybody/SM +busyness/M +busywork/M +but/ACS +butane/M +butch/MRSZ +butcher/MDG +butchery/SM +butler/SM +butt/MDRZGS +butte/SM +butted/A +butter/MDG +butterball/MS +buttercream +buttercup/SM +butterfat/M +butterfingered +butterfingers/M +butterfly/GDSM +buttermilk/M +butternut/SM +butterscotch/M +buttery/TRSM +butting/A +buttock/SM +button's +button/USDG +buttonhole/DSMG +buttonwood/MS +buttress/MDSG +butty/S +buxom +buy/ZGSMR +buyback/SM +buyer/M +buyout/SM +buzz/MDRSZG +buzzard/MS +buzzer/M +buzzkill/SM +buzzword/SM +bx +bxs +by/M +bye/SM +bygone/SM +bylaw/SM +byline/SM +bypass/GMDS +bypath/M +bypaths +byplay/M +byproduct/MS +byre/S +byroad/SM +bystander/MS +byte/MS +byway/SM +byword/SM +byzantine +c/IES +ca +cab/SMRZ +cabal/MS +cabala's +caballero/MS +cabana/SM +cabaret/SM +cabbage/MS +cabbed +cabbing +cabby/SM +cabdriver/SM +cabin/MS +cabinet/SM +cabinetmaker/MS +cabinetmaking/M +cabinetry/M +cabinetwork/M +cable/MGDS +cablecast/GMS +cablegram/MS +cabochon/SM +caboodle/M +caboose/SM +cabriolet/SM +cabstand/SM +cacao/MS +cache/MGDS +cachepot/SM +cachet/MS +cackle/MZGDRS +cackler/M +cacophonous +cacophony/SM +cacti +cactus/M +cad/SM +cadaver/SM +cadaverous +caddie/MDS +caddish/YP +caddishness/M +caddying +cadence/DSM +cadenza/SM +cadet/MS +cadge/ZGDRS +cadger/M +cadmium/M +cadre/MS +caducei +caduceus/M +caesura/SM +cafe/SM +cafeteria/MS +cafetiere/S +caff/CS +caffeinated +caffeine/M +caftan/MS +cage/DSMG +cagey +cagier +cagiest +cagily +caginess/M +cagoule/S +cahoot/MS +caiman/MS +cairn/MS +caisson/SM +caitiff/SM +cajole/ZGLDRS +cajolement/M +cajoler/M +cajolery/M +cake/DSMG +cakewalk/SM +cal +calabash/MS +calaboose/SM +calamari/SM +calamine/M +calamitous/Y +calamity/SM +calcareous +calciferous +calcification/M +calcify/GNDS +calcimine/DSMG +calcine/DSG +calcite/M +calcium/M +calculable/I +calculate/AGNVDSX +calculated/Y +calculating/Y +calculation/AM +calculator/SM +calculi +calculus/M +caldera/SM +calendar/MDGS +calender's +calf/M +calfskin/M +caliber/SM +calibrate/GNDSX +calibration/M +calibrator/SM +calico/M +calicoes +californium/M +caliper/SGMD +caliph/M +caliphate/MS +caliphs +calisthenic/S +calisthenics/M +calk/SGMD +call/ASGMD +calla/MS +callable +callback/MS +called/U +caller/MS +calligrapher/SM +calligraphic +calligraphist/MS +calligraphy/M +calling/SM +calliope/MS +callosity/SM +callous/PGDSY +callousness/M +callow/RPT +callowness/M +callus/MDSG +calm/PSTGMDRY +calmness/M +caloric +calorie/MS +calorific +calumet/MS +calumniate/GNDS +calumniation/M +calumniator/MS +calumnious +calumny/SM +calve/GDS +calypso/MS +calyx/MS +cam/SM +camaraderie/M +camber/MDSG +cambial +cambium/SM +cambric/M +camcorder/SM +came +camel/MS +camelhair +camellia/MS +cameo/MS +camera/MS +cameraman/M +cameramen +camerawoman/M +camerawomen +camerawork +camiknickers +camisole/SM +camouflage/MZGDRS +camouflager/M +camp's +camp/CSGD +campaign/SMDRZG +campaigner/M +campanile/SM +campanologist/MS +campanology/M +camper/MS +campfire/SM +campground/SM +camphor/M +camping/M +campsite/SM +campus/MS +campy/TR +camshaft/SM +can't +can/SMDRZG +canal/MS +canalization/M +canalize/GDS +canape/MS +canard/MS +canary/SM +canasta/M +cancan/MS +cancel/DRSZG +canceler/M +cancellation/SM +cancer/MS +cancerous +candelabra/SM +candelabrum/M +candid/YP +candida +candidacy/SM +candidate/MS +candidature/SM +candidness/M +candle/MZGDRS +candlelight/M +candlelit +candlepower/M +candler/M +candlestick/MS +candlewick/SM +candor/M +candy/GDSM +candyfloss +cane/SM +canebrake/MS +caner/M +canine/MS +canister/SM +canker/GMDS +cankerous +cannabis/MS +canned +cannelloni/M +cannery/SM +cannibal/SM +cannibalism/M +cannibalistic +cannibalization/M +cannibalize/GDS +cannily/U +canniness/M +canning +cannon/GMDS +cannonade/MGDS +cannonball/SM +cannot +canny/UTR +canoe/MDS +canoeing +canoeist/SM +canola/M +canon/MS +canonical/Y +canonization/SM +canonize/DSG +canoodle/DSG +canopy/GDSM +canst +cant's +cant/CZRDGS +cantabile +cantaloupe/SM +cantankerous/PY +cantankerousness/M +cantata/MS +canteen/MS +canter/CM +cantered +cantering +canticle/MS +cantilever/MDGS +canto/MS +canton/MLS +cantonal +cantonment/MS +cantor/MS +canvas/MGDS +canvasback/SM +canvass/MDRSZG +canvasser/M +canyon/MGS +cap/SMDRBZ +capabilities +capability/IM +capable/I +capably/I +capacious/PY +capaciousness/M +capacitance/M +capacities +capacitor/SM +capacity/IM +caparison/MDGS +cape/SM +caper/GMD +capeskin/M +capillarity/M +capillary/SM +capital/MSY +capitalism/M +capitalist/SM +capitalistic +capitalistically +capitalization/M +capitalize/ADSG +capitation/CSM +capitol/SM +capitulate/ADSXGN +capitulation/AM +caplet/MS +capo/SM +capon/MS +capped/UA +capping/UA +cappuccino/SM +caprice/SM +capricious/PY +capriciousness/M +capsicum/SM +capsize/DSG +capstan/SM +capstone/MS +capsular +capsule/DSMG +capsulize/DSG +capt +captain/SMDG +captaincy/SM +caption/SMDG +captious/YP +captiousness/M +captivate/DSGN +captivation/M +captivator/SM +captive/SM +captivity/SM +captor/MS +capture/ADSMG +car/SMDRZG +carafe/MS +caramel/SM +caramelize/DSG +carapace/SM +carat/MS +caravan/SM +caravansary/SM +caravel/SM +caraway/SM +carbide/SM +carbine/SM +carbohydrate/SM +carbolic +carbon/MS +carbonaceous +carbonate/MGNDS +carbonation/M +carboniferous +carbonize/GDS +carborundum/M +carboy/MS +carbs +carbuncle/SM +carbuncular +carburetor/SM +carcass/MS +carcinogen/SM +carcinogenic/MS +carcinogenicity/M +carcinoma/MS +card/ESGMD +cardamom/SM +cardamon/S +cardboard/M +carder/MS +cardholder/S +cardiac +cardie/S +cardigan/SM +cardinal/SMY +cardio +cardiogram/SM +cardiograph/M +cardiographs +cardiologist/MS +cardiology/M +cardiomyopathy +cardiopulmonary +cardiovascular +cardsharp/MRZS +cardsharper/M +care/SM +careen/DGS +career/MDGS +careerism +careerist/SM +carefree +careful/YP +carefuller +carefullest +carefulness/M +caregiver/SM +careless/PY +carelessness/M +carer/M +caress/MDSG +caret/MS +caretaker/MS +careworn +carfare/M +cargo/M +cargoes +carhop/MS +caribou/SM +caricature/MGDS +caricaturist/SM +caries/M +carillon/SM +caring/M +carious +carjack/JSDRZG +carjacker/M +carjacking/M +carload/SM +carmine/SM +carnage/M +carnal/Y +carnality/M +carnation/IMS +carnelian/MS +carnival/MS +carnivora +carnivore/SM +carnivorous/PY +carnivorousness/M +carny/SM +carob/MS +carol/ZGMDRS +caroler/M +carom/GMDS +carotene/M +carotid/SM +carousal/SM +carouse/DRSMZG +carousel/SM +carouser/M +carp/SZGMDR +carpal/MS +carpel/MS +carpenter/MDGS +carpentry/M +carper/M +carpet/MDGS +carpetbag/MS +carpetbagged +carpetbagger/MS +carpetbagging +carpeting/M +carpi +carpool/SMDG +carport/SM +carpus/M +carrel/MS +carriage/SM +carriageway/S +carrier/M +carrion/M +carrot/MS +carroty +carry/ZGDRSM +carryall/SM +carrycot/S +carryout +carryover/MS +carsick/P +carsickness/M +cart/SZGMDR +cartage/M +cartel/MS +carter/M +carthorse/SM +cartilage/SM +cartilaginous +cartload/SM +cartographer/SM +cartographic +cartography/M +carton/MS +cartoon/SMDG +cartoonist/MS +cartridge/MS +cartwheel/GMDS +carve/JZGDRS +carver/M +carvery/S +carving/M +caryatid/MS +casaba/MS +cascade/DSMG +cascara/SM +case/LDSJMG +casebook/S +cased/U +caseharden/DGS +casein/M +caseload/MS +casement/MS +casework/ZMR +caseworker/M +cash/GMDS +cashback/M +cashbook/MS +cashew/MS +cashier/GSMD +cashless +cashmere/M +casing/M +casino/MS +cask/SM +casket/MS +cassava/SM +casserole/DSMG +cassette/MS +cassia/MS +cassock/SM +cassowary/SM +cast/ASGM +castanet/MS +castaway/MS +caste/JMZRS +castellated +caster/M +castigate/DSGN +castigation/M +castigator/SM +casting/AM +castle/MGDS +castoff/SM +castor/MS +castrate/GNXDS +castration/M +casual/PMYS +casualness/M +casualty/SM +casuist/SM +casuistic +casuistry/M +cat/SM +cataclysm/MS +cataclysmal +cataclysmic +catacomb/SM +catafalque/MS +catalepsy/M +cataleptic/MS +catalog/ZGSMDR +cataloger/M +catalpa/SM +catalyses +catalysis/M +catalyst/MS +catalytic/M +catalyze/GDS +catamaran/SM +catapult/GMDS +cataract/MS +catarrh/M +catastrophe/MS +catastrophic +catastrophically +catatonia/M +catatonic/SM +catbird/SM +catboat/SM +catcall/GSMD +catch/ZGJLMRS +catchall/MS +catcher/M +catchment/MS +catchpenny +catchphrase/SM +catchword/MS +catchy/RT +catechism/SM +catechist/SM +catechize/DSG +categorical/Y +categorization/MS +categorize/GDS +category/SM +cater/ZGJDRS +catercorner +caterer/M +caterpillar/MS +caterwaul/SMDG +catfish/MS +catgut/M +catharses +catharsis/M +cathartic/SM +cathedral/SM +catheter/SM +catheterize/DSG +cathode/SM +cathodic +catholic +catholicity/M +cation/MS +catkin/MS +catlike +catnap/MS +catnapped +catnapping +catnip/M +catsuit/S +cattail/SM +catted +cattery/S +cattily +cattiness/M +catting +cattle/M +cattleman/M +cattlemen +catty/TPR +catwalk/SM +caucus/MDSG +caudal/Y +caught/U +cauldron/MS +cauliflower/SM +caulk/ZGMDRS +caulker/M +causal/Y +causality/SM +causation/M +causative +cause/MZGDRS +causeless +causer/M +causerie/SM +causeway/SM +caustic/SM +caustically +causticity/M +cauterization/M +cauterize/GDS +caution/SMDG +cautionary +cautious/IY +cautiousness/M +cavalcade/MS +cavalier/SMY +cavalry/SM +cavalryman/M +cavalrymen +cave/DRSMZG +caveat/MS +caveman/M +cavemen +cavern/MS +cavernous/Y +caviar/M +cavil/ZGJMDRS +caviler/M +caving/M +cavity/FSM +cavort/DGS +caw/SMDG +cay/CSM +cayenne/M +cayuse/MS +cc +cease/CMGDS +ceasefire/MS +ceaseless/YP +ceaselessness/M +ceca +cecal +cecum/M +cedar/MS +cede/FAGSD +ceder/MS +cedilla/SM +ceilidh +ceilidhs +ceiling/MS +celandine/M +celeb/S +celebrant/SM +celebrate/DSGNX +celebration/M +celebrator/SM +celebratory +celebrity/SM +celeriac +celerity/M +celery/M +celesta/MS +celestial/Y +celibacy/M +celibate/MS +cell/SMD +cellar/MS +cellist/SM +cellmate/SM +cello/MS +cellophane/M +cellphone/MS +cellular/SM +cellulite/M +cellulitis +celluloid/M +cellulose/M +cement/MDRZGS +cementer/M +cementum/M +cemetery/SM +cenobite/MS +cenobitic +cenotaph/M +cenotaphs +censer/MS +censor/MDGS +censored/U +censorial +censorious/PY +censoriousness/M +censorship/M +censure/BDRSMZG +censurer/M +census/MDSG +cent/SZMR +centaur/SM +centavo/SM +centenarian/MS +centenary/SM +centennial/MYS +center/MDG +centerboard/SM +centerfold/MS +centerpiece/MS +centigrade +centigram/SM +centiliter/MS +centime/SM +centimeter/MS +centipede/SM +central/SMY +centralism +centralist +centrality/M +centralization/CM +centralize/CGDS +centralizer/MS +centrifugal/Y +centrifuge/DSMG +centripetal/Y +centrism/M +centrist/MS +centurion/SM +century/SM +cephalic +ceramic/SM +ceramicist/SM +ceramics/M +ceramist/MS +cereal/MS +cerebellar +cerebellum/SM +cerebra +cerebral +cerebrate/GNDS +cerebration/M +cerebrovascular +cerebrum/MS +cerement/MS +ceremonial/SMY +ceremonious/UY +ceremoniousness/M +ceremony/SM +cerise/M +cerium/M +cermet/M +cert/S +certain/UY +certainty/USM +certifiable +certifiably +certificate/MGNXDS +certification/M +certify/DSG +certitude/IM +certitudes +cerulean/M +cervical +cervices +cervix/M +cesarean/MS +cesium/M +cessation/MS +cession/KAFSM +cesspit/S +cesspool/MS +cetacean/MS +cf +cg +ch/IFVT +chad/S +chafe/GDS +chaff/GMDS +chaffinch/MS +chagrin/GSMD +chain's +chain/UGDS +chainsaw/MDGS +chair/GMDS +chairlift/MS +chairman/M +chairmanship/SM +chairmen +chairperson/SM +chairwoman/M +chairwomen +chaise/MS +chalcedony/M +chalet/MS +chalice/SM +chalk/GMDS +chalkboard/SM +chalkiness/M +chalky/PRT +challenge/DRSMZG +challenged/U +challenger/M +challis/M +chamber/SMD +chamberlain/MS +chambermaid/MS +chambray/M +chameleon/SM +chamois/M +chamomile/MS +champ/ZGMDS +champagne/MS +champion/GMDS +championship/MS +chance/MGDS +chancel/SM +chancellery/SM +chancellor/MS +chancellorship/M +chancery/SM +chanciness/M +chancre/SM +chancy/PRT +chandelier/SM +chandler/MS +change/MZGDRS +changeability/M +changeable/P +changeableness/M +changeably +changed/U +changeless/Y +changeling/SM +changeover/SM +changer/M +changing/U +channel/GSMD +channelization/M +channelize/DSG +chanson/SM +chant/ZGMDRS +chanter/M +chanteuse/MS +chantey/SM +chanticleer/MS +chaos/M +chaotic +chaotically +chap/SM +chaparral/SM +chapati/S +chapatti/S +chapbook/MS +chapeau/SM +chapel/MS +chaperon/MDGS +chaperonage/M +chaperoned/U +chaplain/MS +chaplaincy/SM +chaplet/SM +chapped +chapping +chappy/S +chapter/SM +char/SM +charabanc/MS +character/MS +characterful +characteristic/SM +characteristically/U +characterization/MS +characterize/DSG +characterless +charade/SM +charbroil/GDS +charcoal/MS +chard/M +chardonnay/SM +charge/AESDGM +chargeable/A +charged/U +charger/SM +charily +chariness/M +chariot/SM +charioteer/MS +charisma/M +charismatic/MS +charitable/P +charitableness/M +charitably/U +charity/SM +charlady/S +charlatan/SM +charlatanism/M +charlatanry/M +charlie/S +charm/ZGMDRS +charmer/M +charming/Y +charmless +charred +charring +chart/GMDS +charted/U +charter's +charter/ASGD +charterer/MS +chartreuse/M +charwoman/M +charwomen +chary/TRP +chase/MZGDRS +chaser/M +chasm/MS +chassis/M +chaste/PYTR +chasten/DGS +chasteness/M +chastise/DRSZGL +chastisement/SM +chastiser/M +chastity/M +chasuble/SM +chat/SM +chateau/SM +chateaux +chatelaine/SM +chatline/S +chatroom/M +chatted +chattel/MS +chatter/MDRZGS +chatterbox/MS +chatterer/M +chattily +chattiness/M +chatting +chatty/TPR +chauffeur/GMDS +chauvinism/M +chauvinist/SM +chauvinistic +chauvinistically +cheap/PXTNRY +cheapen/DG +cheapness/M +cheapo +cheapskate/MS +cheat/ZGMDRS +cheater/M +check/AGMDS +checkbook/SM +checkbox +checked/U +checker/MDGS +checkerboard/SM +checkers/M +checklist/MS +checkmate/MGDS +checkoff/SM +checkout/SM +checkpoint/SM +checkroom/MS +checksum +checkup/MS +cheddar/M +cheek/GMDS +cheekbone/SM +cheekily +cheekiness/M +cheeky/TPR +cheep/GMDS +cheer/ZGMDRS +cheerer/M +cheerful/YP +cheerfuller +cheerfullest +cheerfulness/M +cheerily +cheeriness/M +cheerio/MS +cheerleader/SM +cheerless/PY +cheerlessness/M +cheery/TPR +cheese/MGDS +cheeseboard/S +cheeseburger/SM +cheesecake/SM +cheesecloth/M +cheeseparing/M +cheesiness/M +cheesy/TPR +cheetah/M +cheetahs +chef/SM +chem +chemical/SMY +chemise/MS +chemist/MS +chemistry/M +chemo/M +chemotherapeutic +chemotherapy/M +chemurgy/M +chenille/M +cherish/DSG +cheroot/MS +cherry/SM +chert/M +cherub/MS +cherubic +cherubim +chervil/M +chess/M +chessboard/MS +chessman/M +chessmen +chest/MDS +chesterfield/SM +chestful/SM +chestnut/SM +chesty/TR +chevalier/SM +cheviot/M +chevron/MS +chew/SZGMDR +chewer/M +chewiness/M +chewy/PTR +chg +chge +chi/SM +chiaroscuro/M +chic/PTMR +chicane/MS +chicanery/SM +chichi/MS +chick/XMNS +chickadee/SM +chicken/MDG +chickenfeed/M +chickenhearted +chickenpox/M +chickenshit/S! +chickpea/SM +chickweed/M +chicle/M +chicness/M +chicory/SM +chide/GDS +chiding/Y +chief/TMRYS +chiefdom/M +chieftain/MS +chieftainship/SM +chiffon/M +chiffonier/MS +chigger/MS +chignon/MS +chihuahua/SM +chilblain/SM +child/M +childbearing/M +childbirth/M +childbirths +childcare/M +childhood/SM +childish/YP +childishness/M +childless/P +childlessness/M +childlike +childminder/S +childminding +childproof/GSD +children/M +chili/M +chilies +chill/JPZTGMDRS +chiller/M +chilliness/M +chilling/Y +chillness/M +chilly/TPR +chime/MZGDRS +chimer/M +chimera/MS +chimeric +chimerical +chimney/MS +chimp/MS +chimpanzee/SM +chin/SM +china/M +chinaware/M +chinchilla/MS +chine/MS +chink/GMDS +chinless +chinned +chinning +chino/MS +chinstrap/MS +chintz/M +chintzy/RT +chinwag/S +chip/SM +chipboard +chipmunk/SM +chipolata/S +chipped +chipper/MS +chippie +chipping/S +chippy/S +chirography/M +chiropodist/MS +chiropody/M +chiropractic/SM +chiropractor/SM +chirp/GMDS +chirpily +chirpy/PTR +chirrup/GMDS +chisel/ZGMDRS +chiseler/M +chit/SM +chitchat/SM +chitchatted +chitchatting +chitin/M +chitinous +chitosan +chitterlings/M +chivalrous/PY +chivalrousness/M +chivalry/M +chive/MS +chivy/GDS +chlamydia/MS +chlamydiae +chloral/M +chlordane/M +chloride/MS +chlorinate/GNDS +chlorination/M +chlorine/M +chlorofluorocarbon/SM +chloroform/SGMD +chlorophyll/M +chloroplast/MS +chm +choc/S +chock/GMDS +chockablock +chocoholic/SM +chocolate/MS +chocolaty +choice/MTRS +choir/MS +choirboy/MS +choirmaster/SM +choke/MZGDRS +chokecherry/SM +choker/M +cholecystectomy +cholecystitis +choler/M +cholera/M +choleric +cholesterol/M +chomp/ZGMDRS +choose/ZGRS +chooser/M +choosiness/M +choosy/TPR +chop/SM +chophouse/SM +chopped +chopper/MDGS +choppily +choppiness/M +chopping +choppy/TPR +chopstick/SM +choral/MYS +chorale/MS +chord/MS +chordal +chordate/SM +chore/MS +chorea/M +choreograph/DRZG +choreographer/M +choreographic +choreographically +choreographs +choreography/M +chorister/SM +choroid/MS +chortle/MZGDRS +chortler/M +chorus/GMDS +chose +chosen +chow/SGMD +chowder/MS +chrism/M +christen/ASGD +christening/MS +christian/U +christology +chromatic +chromatically +chromatin/M +chromatography +chrome/MGDS +chromium/M +chromosomal +chromosome/MS +chronic +chronically +chronicle/DRSMZG +chronicler/M +chronograph/M +chronographs +chronological/Y +chronologist/MS +chronology/SM +chronometer/SM +chrysalis/MS +chrysanthemum/MS +chub/SM +chubbiness/M +chubby/TPR +chuck/GMDS +chuckhole/SM +chuckle/MGDS +chuffed +chug/SM +chugged +chugging +chukka/MS +chum/SM +chummed +chummily +chumminess/M +chumming +chummy/PTR +chump/MS +chunder/GDS +chunk/GMDS +chunkiness/M +chunky/PTR +chunter/DGS +church/MS +churchgoer/SM +churchgoing/M +churchman/M +churchmen +churchwarden/MS +churchwoman +churchwomen +churchyard/SM +churl/MS +churlish/PY +churlishness/M +churn/ZGMDRS +churner/M +chute/MS +chutney/MS +chutzpah/M +chyme/M +ciabatta/SM +ciao/S +cicada/MS +cicatrices +cicatrix/M +cicerone/SM +ciceroni +cider's +cider/S +cigar/MS +cigarette/MS +cigarillo/MS +cilantro/M +cilia +cilium/M +cinch/GMDS +cinchona/SM +cincture/SM +cinder/GMDS +cine +cinema/MS +cinematic +cinematographer/MS +cinematographic +cinematography/M +cinnabar/M +cinnamon/M +cipher's +cipher/CGDS +cir +circa +circadian +circle/MGDS +circlet/MS +circuit/MDGS +circuital +circuitous/YP +circuitousness/M +circuitry/M +circuity/M +circular/SMY +circularity/M +circularize/DSG +circulate/ADSG +circulation/SM +circulatory +circumcise/XDSGN +circumcised/U +circumcision/M +circumference/MS +circumferential +circumflex/MS +circumlocution/MS +circumlocutory +circumnavigate/XGNDS +circumnavigation/M +circumpolar +circumscribe/GDS +circumscription/MS +circumspect/Y +circumspection/M +circumstance/MGDS +circumstantial/Y +circumvent/DSG +circumvention/M +circus/MS +cirque/MS +cirrhosis/M +cirrhotic/SM +cirri +cirrus/M +cistern/MS +cit +citadel/MS +citation/AMS +cite's +cite/IAGSD +citified +citizen/MS +citizenry/M +citizenship/M +citric +citron/MS +citronella/M +citrus/MS +city/SM +citywide +civet/MS +civic/S +civically +civics/M +civil/UY +civilian/MS +civility/ISM +civilization/MS +civilize/GDS +civilized/U +civvies/M +ck +cl +clack/GMDS +clad/U +cladding/M +claim's +claim/CKEAGDS +claimable/A +claimant/MS +claimed/U +claimer/ECSM +clairvoyance/M +clairvoyant/MS +clam/SM +clambake/MS +clamber/ZGMDRS +clamberer/M +clammed +clammily +clamminess/M +clamming +clammy/PTR +clamor/GMDS +clamorous +clamp/GMDS +clampdown/MS +clan/SM +clandestine/Y +clang/ZGMDRS +clangor/M +clangorous/Y +clank/GMDS +clannish/P +clannishness/M +clansman/M +clansmen +clanswoman +clanswomen +clap/SM +clapboard/MDGS +clapped +clapper/MS +clapperboard/S +clapping/M +claptrap/M +claque/MS +claret/MS +clarification/M +clarify/XDSNG +clarinet/SM +clarinetist/SM +clarion/MDGS +clarity/M +clash/GMDS +clasp's +clasp/UGDS +class/GMDS +classic/MS +classical/MY +classicism/M +classicist/MS +classifiable +classification/CAM +classifications +classified's +classified/U +classifieds +classifier/MS +classify/ACSDGN +classiness/M +classless/P +classmate/MS +classroom/MS +classwork/M +classy/TRP +clatter/GMDS +clausal +clause/MS +claustrophobia/M +claustrophobic +clavichord/SM +clavicle/MS +clavier/MS +claw's +claw/CSGD +clay/M +clayey +clayier +clayiest +clean/BJPZTGDRYS +cleaner/M +cleaning/M +cleanliness/UM +cleanly/UTPR +cleanness/UM +cleanse/ZGDRS +cleanser/M +cleanup/MS +clear/JPTGMDRYS +clearance/SM +clearheaded +clearing/M +clearinghouse/SM +clearness/M +clearway/S +cleat/MS +cleavage/MS +cleave/ZGDRS +cleaver/M +clef/SM +cleft/MS +clematis/MS +clemency/IM +clement/Y +clementine/S +clench/GMDS +clerestory/SM +clergy/SM +clergyman/M +clergymen +clergywoman/M +clergywomen +cleric/MS +clerical/Y +clericalism/M +clerk/GMDS +clerkship/M +clever/PTRY +cleverness/M +clevis/MS +clew/SGMD +cliche/MDS +click/BZGMDRS +clicker/M +client/MS +clientele/MS +cliff/MS +cliffhanger/SM +cliffhanging +clifftop/S +clii +climacteric/M +climactic +climate/SM +climatic +climatically +climatologist/SM +climatology/M +climax/MDSG +climb/SMDRZGB +climber/M +climbing/M +clime/SM +clinch/MDRSZG +clincher/M +cling/SMRZG +clinger/M +clingfilm +clingy/RT +clinic/SM +clinical/Y +clinician/SM +clink/SMDRZG +clinker/M +cliometric/S +cliometrician/MS +cliometrics/M +clip/SM +clipboard/MS +clipped +clipper/SM +clipping/SM +clique/SM +cliquey +cliquish/YP +cliquishness/M +clit/SM +clitoral +clitorides +clitoris/MS +clix +cloaca/M +cloacae +cloak's +cloak/USDG +cloakroom/MS +clobber/SMDG +cloche/SM +clock/SMDG +clockwise +clockwork/SM +clod/MS +cloddish +clodhopper/MS +clog's +clog/US +clogged/U +clogging/U +cloisonne/M +cloister/SMDG +cloistral +clomp/SDG +clonal +clone/DSMG +clonk/SMDG +clop/MS +clopped +clopping +close/DRSMYTGJP +closefisted +closemouthed +closeness/M +closeout/MS +closet/SMDG +closeup/SM +closing/M +closure/ESM +clot/MS +cloth/M +clothe/UDSG +clotheshorse/MS +clothesline/SM +clothespin/SM +clothier/MS +clothing/M +cloths +clotted +clotting +cloture/SM +cloud/SMDG +cloudburst/SM +clouded/U +cloudiness/M +cloudless +cloudy/RPT +clout/SMDG +clove/RSMZ +cloven +clover/M +cloverleaf/SM +cloverleaves +clown/SMDG +clownish/YP +clownishness/M +cloy/DGS +cloying/Y +club/MS +clubbable +clubbed +clubber/S +clubbing +clubfeet +clubfoot/MD +clubhouse/SM +clubland +cluck/SMDG +clue/MGDS +clueless +clump/SMDG +clumpy/TR +clumsily +clumsiness/M +clumsy/TRP +clung +clunk/SMDRZG +clunker/M +clunky/TR +cluster/MDSG +clutch/GMDS +clutter/MDSG +cluttered/U +clvi +clvii +clxi +clxii +clxiv +clxix +clxvi +clxvii +cm +cnidarian/MS +co/ESD +coach/MDSG +coachload/S +coachman/M +coachmen +coachwork +coadjutor/MS +coagulant/MS +coagulate/GNDS +coagulation/M +coagulator/MS +coal/MDGS +coalesce/GDS +coalescence/M +coalescent +coalface/MS +coalfield/S +coalition/MS +coalitionist/MS +coalmine/S +coarse/RYTP +coarsen/SDG +coarseness/M +coast/SMDRZG +coastal +coaster/M +coastguard/S +coastline/MS +coat/MDGJS +coating/M +coatroom/S +coattail/SM +coauthor/MDGS +coax/DRSZG +coaxer/M +coaxial +coaxing/Y +cob/SM +cobalt/M +cobber/S +cobble/DRSMZG +cobbler/M +cobblestone/SM +cobnut/S +cobra/SM +cobweb/SM +cobwebbed +cobwebby/RT +coca/M +cocaine/M +cocci/S +coccus/M +coccyges +coccyx/M +cochineal/M +cochlea/SM +cochleae +cochlear +cock/MDGS +cockade/SM +cockamamie +cockatoo/SM +cockatrice/SM +cockchafer/S +cockcrow/SM +cockerel/SM +cockeyed +cockfight/MGS +cockfighting/M +cockily +cockiness/M +cockle/SM +cockleshell/SM +cockney/SM +cockpit/SM +cockroach/MS +cockscomb/SM +cocksucker/MS! +cocksure +cocktail/MS +cocky/RTP +coco/MS +cocoa/SM +coconut/SM +cocoon/SMDG +cod/SM +coda/MS +codded +codding +coddle/DSG +code's +code/CZGDRS +codeine/M +codependency/M +codependent/SM +coder/CM +codex/M +codfish/MS +codger/SM +codices +codicil/SM +codification/M +codifier/M +codify/XDRSNZG +codon/S +codpiece/MS +codswallop +coed/MS +coeducation/M +coeducational +coefficient/MS +coelenterate/MS +coequal/MYS +coerce/DRSZGNV +coercer/M +coercion/M +coeval/SMY +coexist/DSG +coexistence/M +coexistent +coextensive +coffee/SM +coffeecake/SM +coffeehouse/MS +coffeemaker/SM +coffeepot/MS +coffer/SM +cofferdam/MS +coffin/SMDG +cog/SM +cogency/M +cogent/Y +cogitate/DSXGNV +cogitation/M +cogitator/MS +cognac/SM +cognate/MS +cognition/AM +cognitional +cognitive/Y +cognizable +cognizance/AM +cognizant +cognomen/SM +cognoscente/M +cognoscenti +cogwheel/SM +cohabit/SGD +cohabitant/MS +cohabitation/M +coheir/SM +cohere/DSG +coherence/IM +coherency/M +coherent/IY +cohesion/M +cohesive/YP +cohesiveness/M +coho/MS +cohort/SM +coif/MS +coiffed +coiffing +coiffure/DSMG +coil's/A +coil/UADGS +coin/MDRZGS +coinage/SM +coincide/DSG +coincidence/MS +coincident +coincidental/Y +coiner/M +coinsurance/M +coir +coital +coitus/M +coke/MGDS +col/S +cola/MS +colander/SM +cold/MRYTPS +coldblooded +coldness/M +coleslaw/M +coleus/MS +coley/S +colic/M +colicky +coliseum/MS +colitis/M +coll +collaborate/DSXGNV +collaboration/M +collaborationist +collaborative/Y +collaborator/MS +collage/SM +collagen +collapse/MGDS +collapsible +collar/SMDG +collarbone/SM +collard/SM +collarless +collate/DSXGN +collateral/MY +collateralize +collation/M +collator/MS +colleague/MS +collect's +collect/ASGVD +collected/U +collectedly +collectible/SM +collection/AMS +collective/MYS +collectivism/M +collectivist/SM +collectivization/M +collectivize/DSG +collector/MS +colleen/SM +college/SM +collegiality/M +collegian/MS +collegiate +collide/DSG +collie/RSMZ +collier/M +colliery/SM +collision/SM +collocate/MGNDSX +collocation/M +colloid/SM +colloidal +colloq +colloquial/Y +colloquialism/SM +colloquies +colloquium/MS +colloquy/M +collude/DSG +collusion/M +collusive +cologne/SM +colon/SM +colonel/SM +colonelcy/M +colones +colonial/SMY +colonialism/M +colonialist/MS +colonist/SM +colonization/ACM +colonize/CAGSD +colonizer/MS +colonnade/MDS +colonoscopy/SM +colony/SM +colophon/SM +color's +color/AEGDS +colorant/SM +coloration/EM +coloratura/MS +colorblind/P +colorblindness/M +colored's +colored/U +coloreds +colorfast/P +colorfastness/M +colorful/PY +colorfulness/M +coloring's +colorist/S +colorization/M +colorize/DSG +colorless/PY +colorlessness/M +colorway/S +colossal/Y +colossi +colossus/M +colostomy/SM +colostrum/M +colt/MS +coltish +columbine/SM +column/SMD +columnar +columnist/SM +com/JL +coma/MS +comaker/SM +comatose +comb/MDRZGJS +combat/SMDGV +combatant/SM +combativeness/M +combed/U +comber/M +combination/SM +combine's +combine/ADSG +combined/U +combiner/MS +combings/M +combo/SM +combustibility/M +combustible/MS +combustion/M +combustive +come/IMZGRS +comeback/MS +comedian/MS +comedic +comedienne/MS +comedown/MS +comedy/SM +comeliness/M +comely/RPT +comer's +comestible/SM +comet/SM +comeuppance/SM +comfit's +comfit/ES +comfort/ESMDG +comfortable/P +comfortableness/M +comfortably/U +comforter/MS +comforting/Y +comfortless +comfy/RT +comic/SM +comical/Y +comicality/M +coming/M +comity/M +comm +comma/SM +command/SMDRLZG +commandant/MS +commandeer/GDS +commander/M +commandment/MS +commando/SM +commemorate/XGNVDS +commemoration/M +commemorator/MS +commence/ADSLG +commencement/AM +commencements +commend/ASDBG +commendably +commendation/AMS +commendatory +commensurable +commensurate/IY +comment/GSMD +commentary/SM +commentate/DSG +commentator/SM +commerce/M +commercial/SMY +commercialism/M +commercialization/M +commercialize/GDS +commie/SM +commingle/DSG +commiserate/GNVDSX +commiseration/M +commissar/SM +commissariat/SM +commissary/SM +commission's +commission/ACSGD +commissionaire/S +commissioner/SM +commit/AS +commitment/MS +committal/SM +committed/AU +committee/SM +committeeman/M +committeemen +committeewoman/M +committeewomen +committer/S +committing/A +commode's +commode/EIS +commodification +commodious/Y +commodity/SM +commodore/SM +common's +common/UPRYT +commonality/S +commonalty/M +commoner/MS +commonness/UM +commonplace/MS +commons +commonsense +commonweal/MH +commonwealth/M +commonwealths +commotion/SM +communal/Y +commune/XDSMGN +communicability/M +communicable/I +communicably +communicant/MS +communicate/GNVDSX +communication/M +communicative/U +communicator/SM +communion/M +communique/SM +communism/M +communist/SM +communistic +community/SM +commutation/MS +commutative +commutator/SM +commute/BDRSMZG +commuter/M +comp/MDYGS +compact/TGSMDRYP +compaction +compactness/M +compactor/SM +companion/SBM +companionably +companionship/M +companionway/MS +company/SM +comparability/M +comparable/I +comparably/I +comparative/MYS +compare/BDSMG +comparison/MS +compartment/SM +compartmental +compartmentalization/M +compartmentalize/DSG +compass/GMDS +compassion/M +compassionate/Y +compatibility/IM +compatible/IMS +compatibly/I +compatriot/MS +compeer/SM +compel/S +compelled +compelling/Y +compendious +compendium/SM +compensate/DSXGN +compensated/U +compensation/M +compensatory +compere/DSG +compete/DSG +competence/IM +competences +competencies +competency/IM +competent/IY +competition/SM +competitive/PY +competitiveness/M +competitor/SM +compilation/SM +compile/DRSZG +compiler/M +complacence/M +complacency/M +complacent/Y +complain/DRZGS +complainant/MS +complainer/M +complaint/SM +complaisance/M +complaisant/Y +complected +complement/SGMD +complementary +complete/PYTGNXDRS +completed/U +completeness/IM +completion/M +complex/MSY +complexion/MDS +complexional +complexity/SM +compliance/M +compliant/Y +complicate/GDS +complicated/Y +complication/M +complicit +complicity/M +compliment/MDGS +complimentary/U +comply/NDSXG +compo/S +component/SM +comport/LSGD +comportment/M +compose/AECGSD +composedly +composer/MS +composite/MYGNXDS +composition/CM +compositor/SM +compost/SGMD +composure/EM +compote/SM +compound/GMDBS +compounded/U +comprehend/SDG +comprehensibility/IM +comprehensible/I +comprehensibly/I +comprehension/IM +comprehensions +comprehensive/PMYS +comprehensiveness/M +compress's +compress/CGDS +compressed/U +compressible +compression/CM +compressor/SM +comprise/GDS +compromise/MGDS +comptroller/MS +compulsion/MS +compulsive/YP +compulsiveness/M +compulsorily +compulsory/SM +compunction/SM +computation/SM +computational/Y +compute/ADSG +computer/MS +computerate +computerization/M +computerize/GDS +computing/M +comrade/SMY +comradeship/M +con/GSM +concatenate/XDSGN +concatenation/M +concave/YP +concaveness/M +conceal/SDRZGBL +concealed/U +concealer/M +concealment/M +conceit/SMD +conceited/PY +conceitedness/M +conceivable/I +conceivably/I +conceive/DSGB +concentrate/DSMGNX +concentration/M +concentric +concentrically +concept/SM +conception/SM +conceptional +conceptual/Y +conceptualization/MS +conceptualize/DSG +concern/UMD +concerned/UY +concerning +concerns +concert's +concert/ESDG +concerted/Y +concertgoer/S +concertina/SGMD +concertize/DSG +concertmaster/MS +concerto/SM +concessionaire/MS +concessional +concessionary +conch/M +conchie/S +conchs +concierge/MS +conciliate/DSGN +conciliation/AM +conciliator/SM +conciliatory +concise/RPYTN +conciseness/M +concision/M +conclave/SM +conclude/DSG +conclusion/MS +conclusive/IYP +conclusiveness/IM +concoct/SDG +concoction/MS +concomitant/MYS +concord/M +concordance/SM +concordant +concordat/SM +concourse/SM +concrete/DSPMYGNX +concreteness/M +concretion/M +concubinage/M +concubine/MS +concupiscence/M +concupiscent +concur/S +concurred +concurrence/SM +concurrency +concurring +concuss/V +concussion/SM +condemn/SDRZG +condemnation/MS +condemnatory +condemner/M +condensate/MNXS +condensation/M +condense/DRSZG +condenser/M +condescending/Y +condescension/M +condign +condiment/MS +condition's +condition/AGSD +conditional/SMY +conditioned/U +conditioner/SM +conditioning/M +condo/SM +condolence/SM +condom/SM +condominium/MS +condone/DSG +condor/SM +conduce/DSGV +conduct/MDGV +conductance/M +conductibility/M +conductible +conduction/M +conductivity/M +conductor/MS +conductress/MS +conduit/SM +cone/M +coneys +confab/SM +confabbed +confabbing +confabulate/XDSGN +confabulation/M +confection/SZMR +confectioner/M +confectionery/SM +confederacy/SM +confederate/M +confer/S +conferee/SM +conference/MGS +conferrable +conferral/M +conferred +conferrer/MS +conferring +confessed/Y +confession/SM +confessional/SM +confessor/MS +confetti/M +confidant/MS +confidante/SM +confide/DRSZG +confidence/SM +confident/Y +confidential/Y +confidentiality/M +confider/M +confiding/Y +configuration/S +configure/B +confined/U +confinement/MS +confirm/ASDG +confirmation/ASM +confirmatory +confirmed/U +confiscate/DSGNX +confiscation/M +confiscator/SM +confiscatory +conflagration/MS +conflate/XDSGN +conflation/M +conflict/SGMD +confluence/MS +confluent +conform/ZB +conformable/U +conformance/M +conformism/M +conformist/SM +conformity/M +confrere/MS +confrontation/SM +confrontational +confuse/RZ +confused/Y +confusing/Y +confutation/M +confute/DSG +conga/SMDG +congeal/SLDG +congealment/M +conger/SM +congeries/M +congest/SDGV +congestion/M +conglomerate/DSXMGN +conglomeration/M +congrats/M +congratulate/XGNDS +congratulation/M +congratulatory +congregant/MS +congregate/GNDSX +congregation/M +congregational +congregationalism/M +congregationalist/MS +congress/MS +congressional +congressman/M +congressmen +congresspeople +congressperson/MS +congresswoman/M +congresswomen +congruence/M +congruent/Y +congruity/ISM +congruous +conic/SM +conical/Y +conifer/SM +coniferous +conjectural +conjecture/MGDS +conjoint +conjugal/Y +conjugate/DSXGN +conjugation/M +conjunct/VMS +conjunctiva/SM +conjunctive/SM +conjunctivitis/M +conjuration/MS +conjure/DRSZG +conjurer/M +conk/MDRZ +conman +connect/AEDVGS +connectable +connected/U +connection/EMS +connective/MS +connectivity/M +connector/MS +conned +conning +conniption/MS +connivance/M +connive/DRSZG +conniver/M +connoisseur/SM +connotative +connubial +conquer/ASDG +conquerable/U +conquered/U +conqueror/MS +conquest/AM +conquistador/SM +cons/DSG +consanguineous +consanguinity/M +conscienceless +conscientious/PY +conscientiousness/M +conscious/UYP +consciousness/UM +consciousnesses +conscription/M +consecrate/ADSGN +consecrated/U +consecration/AM +consecrations +consecutive/Y +consensual +consensus/MS +consent/SMDG +consequence/SM +consequent/Y +consequential/IY +conservancy/SM +conservation/M +conservationism/M +conservationist/SM +conservatism/M +conservative/MYS +conservatoire/S +conservator/SM +conservatory/SM +consider/AGSD +considerable/I +considerably +considerate/IPYN +considerateness/IM +consideration/AIM +considerations +considered/U +consign/ASDG +consignee/MS +consignment/MS +consist/SDG +consistence/MS +consistency/ISM +consistent/IY +consistory/SM +consolable/I +consolation/MS +consolatory +consolidate/XDSGN +consolidated/U +consolidation/M +consolidator/MS +consoling/Y +consomme/M +consonance/SM +consonant/SMY +consortia +consortium/M +conspectus/MS +conspicuous/IPY +conspicuousness/IM +conspiracy/SM +conspirator/MS +conspiratorial/Y +conspire/GD +constable/SM +constabulary/SM +constancy/IM +constant/MYS +constellation/SM +consternation/M +constipate/GNDS +constipation/M +constituency/SM +constituent/SM +constitute/ADSGNV +constitution/AM +constitutional/MYS +constitutionalism +constitutionality/UM +constitutions +constrained/U +constraint/SM +constrict/GVSD +constriction/SM +constrictor/SM +construable +construct's +construct/CADVGS +construction/CAMS +constructional +constructionist's +constructionist/CS +constructive/YP +constructiveness/M +constructor/MS +construe/GDS +consul/KSM +consular/K +consulate/SM +consulship/M +consult/GSD +consultancy/SM +consultant/MS +consultation/MS +consultative +consumable/SM +consume/BDRSZG +consumed/U +consumer/M +consumerism/M +consumerist/MS +consummate/YGNXDS +consummated/U +consumption/M +consumptive/SM +cont +contact/ASDG +contactable +contagion/MS +contagious/PY +contagiousness/M +contain/SBLDRZG +container/M +containerization/M +containerize/DSG +containment/M +contaminant/SM +contaminate/ACDSG +contaminated/U +contamination/CM +contaminator/SM +contd +contemn/SDG +contemplate/DSGNV +contemplation/M +contemplative/SMY +contemporaneity/M +contemporaneous/Y +contempt/M +contemptible +contemptibly +contemptuous/YP +contemptuousness/M +contender/MS +content/ESLMDG +contented/EY +contentedness/M +contention/SM +contentious/YP +contentiousness/M +contently +contentment/EM +conterminous/Y +contestable/I +contestant/MS +contested/U +contextualization +contextualize/DSG +contiguity/M +contiguous/Y +continence/IM +continent/SM +continental/SM +contingency/SM +contingent/SMY +continua +continual/Y +continuance/EMS +continuation/EMS +continue/EGDS +continuity/ESM +continuous/EY +continuum/M +contort/GD +contortion/MS +contortionist/SM +contraband/M +contrabassoon/S +contraception/M +contraceptive/SM +contract/MDG +contractible +contractile +contractility +contraction/S +contractual/Y +contradict/SDG +contradiction/SM +contradictory +contradistinction/MS +contraflow/S +contrail/MS +contraindicate/GNXDS +contraindication/M +contralto/SM +contraption/SM +contrapuntal/Y +contrarian/SM +contrarianism +contrariety/M +contrarily +contrariness/M +contrariwise +contrary/PSM +contrast/MDGS +contravene/GDS +contravention/SM +contretemps/M +contribute/XGND +contribution/M +contributor/MS +contributory +contrition/M +contrivance/MS +contrive/ZGDRS +contriver/M +control's +control/CS +controllable/U +controlled/UC +controller/MS +controlling/C +controversial/Y +controversy/SM +controvert/DSG +controvertible/I +contumacious/Y +contumacy/M +contumelious +contumely/SM +contuse/XDSGN +contusion/M +conundrum/SM +conurbation/MS +convalesce/DSG +convalescence/MS +convalescent/SM +convection/M +convectional +convective +convector/S +convene/ADSG +convener/MS +convenience/IMS +convenient/IY +convent/SM +conventicle/MS +convention/SM +conventional/UY +conventionality/UM +conventionalize/GDS +conventioneer/S +convergence/MS +convergent +conversant +conversation/MS +conversational/Y +conversationalist/SM +converse/Y +convert's +convert/AGSD +converted/U +converter/SM +convertibility/M +convertible/SM +convex/Y +convexity/M +convey/SBDG +conveyance/MGS +conveyor/MS +convict/GSMD +conviction/MS +convince/GDS +convinced/U +convincing/UY +convivial/Y +conviviality/M +convoke/DSG +convoluted +convolution/MS +convoy/SMDG +convulse/GNVXDS +convulsion/M +convulsive/Y +cony/M +coo/GSMD +cook's +cook/ADGS +cookbook/MS +cooked/U +cooker/SM +cookery/SM +cookhouse/S +cookie/SM +cooking/M +cookout/SM +cookware/SM +cool/MDRYZTGPS +coolant/SM +cooler/M +coolie/SM +coolness/M +coon/MS! +coonskin/MS +coop/MDRZGS +cooper/MDG +cooperage/M +cooperate/DSGNV +cooperation/M +cooperative/PMYS +cooperativeness/M +cooperator/SM +coordinate/DSMYGN +coordinated/U +coordination/M +coordinator/MS +coot/MS +cootie/SM +cop/GJSMD +copacetic +copay/M +cope/MS +copier/SM +copilot/SM +coping/M +copious/PY +copiousness/M +copped +copper/SM +copperhead/SM +copperplate/M +coppery +copping +copra/M +copse/SM +copter/SM +copula/SM +copulate/GNVDS +copulation/M +copulative/SM +copy's +copy/ADSG +copybook/SM +copycat/MS +copycatted +copycatting +copyist/MS +copyleft +copyright/GSMD +copywriter/MS +coquetry/SM +coquette/DSMG +coquettish/Y +cor +coracle/SM +coral/SM +corbel/SM +cord/EASGDM +cordage/M +cordial/SMY +cordiality/M +cordillera/MS +cordite/M +cordless +cordon/SMDG +cordovan/M +corduroy/MS +corduroys/M +core/MZGDRS +coreligionist/S +corer/M +corespondent/MS +corgi/SM +coriander/M +cork's +cork/UDGS +corkage +corker/SM +corkscrew/SMDG +corm/MS +cormorant/SM +corn/MDRZGS +cornball/MS +cornbread/M +corncob/MS +corncrake/S +cornea/SM +corneal +corner/GMD +cornerstone/SM +cornet/SM +cornfield/S +cornflakes/M +cornflour +cornflower/SM +cornice/MS +cornily +corniness/M +cornmeal/M +cornrow/MDGS +cornstalk/SM +cornstarch/M +cornucopia/MS +corny/PRT +corolla/MS +corollary/SM +corona/SM +coronal/MS +coronary/SM +coronation/SM +coroner/MS +coronet/MS +corp +corpora +corporal/SM +corporate/XYN +corporation/IM +corporatism +corporeal/Y +corporeality/M +corps/MS +corpse/M +corpsman/M +corpsmen +corpulence/M +corpulent +corpus/M +corpuscle/MS +corpuscular +corr +corral/SM +corralled +corralling +correct/DRYTGVSBP +corrected/U +correction/SM +correctional +corrective/SM +correctness/IM +corrector +correlate/XDSMGNV +correlated/U +correlation/M +correlative/MS +correspond/SDG +correspondence/SM +correspondent/SM +corresponding/Y +corridor/SM +corrie/S +corroborate/GNVDSX +corroborated/U +corroboration/M +corroborator/SM +corroboratory +corrode/GDS +corrosion/M +corrosive/SMY +corrugate/GNXDS +corrugation/M +corrupt/DRYPSTG +corruptibility/IM +corruptible/I +corruption/MS +corruptness/M +corsage/MS +corsair/MS +corset/SGMD +cortege/MS +cortex/M +cortical +cortices +cortisone/M +corundum/M +coruscate/GNDS +coruscation/M +corvette/SM +cos/M +cosh/DSG +cosign/ZGSDR +cosignatory/SM +cosigner/M +cosine/SM +cosmetic/SM +cosmetically +cosmetician/MS +cosmetologist/MS +cosmetology/M +cosmic +cosmically +cosmogonist/SM +cosmogony/SM +cosmological +cosmologist/SM +cosmology/SM +cosmonaut/SM +cosmopolitan/MS +cosmopolitanism/M +cosmos/MS +cosplay +cosponsor/GSMD +cosset/SGD +cossetted +cossetting +cost/MDYGSJ +costar/SM +costarred +costarring +costliness/M +costly/PTR +costume/MZGDRS +costumer/M +costumier/S +cot/SM +cotangent/MS +cote/MS +coterie/MS +coterminous +cotillion/SM +cottage/MZGRS +cottager/M +cottar/SM +cotter/SM +cotton/SGMD +cottonmouth/M +cottonmouths +cottonseed/MS +cottontail/MS +cottonwood/SM +cottony +cotyledon/MS +couch/MDSG +couchette/S +cougar/SM +cough/MDG +coughs +could +could've +couldn't +coulee/SM +coulis +coulomb/MS +council/MS +councilman/M +councilmen +councilor/MS +councilperson/SM +councilwoman/M +councilwomen +counsel/JMDGS +counselor/MS +count/EASMDG +countable/U +countably +countdown/MS +counted/U +countenance's +countenance/EGDS +counter/EMS +counteract/SGVD +counteraction/MS +counterargument/S +counterattack/GMDS +counterbalance/MGDS +counterblast/S +counterclaim/GSMD +counterclockwise +counterculture/SM +countered +counterespionage/M +counterexample/S +counterfactual +counterfeit/ZGMDRS +counterfeiter/M +counterfoil/MS +countering +counterinsurgency/SM +counterintelligence/M +counterman/M +countermand/GMDS +countermeasure/SM +countermelody/S +countermen +countermove/S +counteroffensive/SM +counteroffer/SM +counterpane/SM +counterpart/SM +counterpetition +counterpoint/MDGS +counterpoise/MGDS +counterproductive +counterrevolution/SM +counterrevolutionary/SM +countersign/GSMD +countersignature/MS +countersink/GSM +counterspy/SM +countersunk +countertenor/MS +countervail/GSD +counterweight/MS +countess/MS +countless +countrified +country/SM +countryman/M +countrymen +countryside/MS +countrywide +countrywoman/M +countrywomen +county/SM +countywide +coup's +coup/AS +coupe/SM +couple's +couple/UCGSD +couplet/MS +coupling/SM +coupon/SM +courage/M +courageous/YP +courageousness/M +courgette/S +courier/MDSG +course/EDGMS +coursebook/S +courser/MS +coursework +court/SMDYG +courteous/EY +courteousness/M +courtesan/SM +courtesy/ESM +courthouse/MS +courtier/SM +courtliness/M +courtly/PRT +courtroom/MS +courtship/MS +courtyard/MS +couscous/M +cousin/SM +couture/M +couturier/MS +cove/MS +coven/SM +covenant/MDSG +cover's +cover/AEUGDS +coverage/M +coverall/MS +covering's +coverings +coverlet/MS +covert/SPMY +covertness/M +covet/SDG +covetous/YP +covetousness/M +covey/SM +cow/ZGSMDR +coward/SMY +cowardice/M +cowardliness/M +cowbell/MS +cowbird/MS +cowboy/SM +cowcatcher/MS +cower/DG +cowgirl/MS +cowhand/MS +cowherd/MS +cowhide/MS +cowl/MGSJ +cowlick/MS +cowling/M +cowman/M +cowmen +coworker/MS +cowpat/S +cowpoke/MS +cowpox/M +cowpuncher/SM +cowrie/SM +cowshed/S +cowslip/SM +cox/GDS +coxcomb/MS +coxswain/MS +coy/TPRY +coyness/M +coyote/SM +coypu/SM +cozen/SDG +cozenage/M +cozily +coziness/M +cozy/RSMTP +cpd +cpl +cps +crab/MS +crabbed +crabber/SM +crabbily +crabbiness/M +crabbing +crabby/PRT +crabgrass/M +crablike +crabwise +crack/SMDRYZGJ +crackdown/MS +cracker/M +crackerjack/MS +crackhead/MS +crackle/DSJMG +crackling/M +crackpot/MS +crackup/SM +cradle/DSMG +craft/SMDG +craftily +craftiness/M +craftsman/M +craftsmanship/M +craftsmen +craftspeople +craftswoman/M +craftswomen +crafty/RTP +crag/MS +cragginess/M +craggy/RPT +cram/S +crammed +crammer/S +cramming +cramp/SMDG +cramping/M +crampon/SM +cranberry/SM +crane/DSMG +cranial +cranium/SM +crank/SMDG +crankcase/SM +crankily +crankiness/M +crankshaft/MS +cranky/PRT +cranny/DSM +crap/MS +crape/SM +crapped +crapper/S +crappie/RSMT +crapping +crappy +craps/M +crapshooter/MS +crash/MDSG +crass/RYTP +crassness/M +crate/DRSMZG +crater/MDG +cravat/SM +crave/DSGJ +craven/SMYP +cravenness/M +craving/M +craw/MS +crawdad/SM +crawl/SMDRZG +crawler/M +crawlspace/SM +crawly/TRSM +cray/S +crayfish/MS +crayola/S +crayon/GSMD +craze/DSMG +crazily +craziness/M +crazy/PRSMT +creak/SMDG +creakily +creakiness/M +creaky/RPT +cream/SMDRZG +creamer/M +creamery/SM +creamily +creaminess/M +creamy/RPT +crease/ICGMSD +create/KADSGNV +creation's/K +creation/ASM +creationism/SM +creationist/SM +creative/SMYP +creativeness/M +creativity/M +creator/MS +creature/SM +creche/SM +cred +credence/M +credential/SGMD +credenza/SM +credibility/IM +credible/I +credibly/I +credit/EGSBMD +creditably/E +creditor/SM +creditworthy/P +credo/SM +credulity/IM +credulous/IY +credulousness/M +creed/SM +creek/SM +creel/SM +creep/SMRZG +creeper/M +creepily +creepiness/M +creepy/TPR +cremains/M +cremate/GNDSX +cremation/M +crematoria +crematorium/MS +crematory/SM +creme/SM +crenelate/XGNDS +crenelation/M +creole/SM +creosote/MGDS +crepe/SM +crept +crepuscular +crescendo/CSM +crescent/MS +cress/M +crest/SMDG +crestfallen +crestless +cretaceous +cretin/SM +cretinism/M +cretinous +cretonne/M +crevasse/SM +crevice/MS +crew/MDGS +crewel/M +crewelwork/M +crewman/M +crewmen +crib/MS +cribbage/M +cribbed +cribber/MS +cribbing +crick/SMDG +cricket/MRSZG +cricketer/M +crier/M +crikey +crime/SM +criminal/MYS +criminality/M +criminalize/CGDS +criminologist/MS +criminology/M +crimp/SMDG +crimson/SMDG +cringe/DSMG +crinkle/DSMG +crinkly/RT +crinoline/SM +cripes +cripple/DRSMZG +crippler/M +crippleware +crippling/Y +crises +crisis/M +crisp/SMDRYTGP +crispbread/S +crispiness/M +crispness/M +crispy/PRT +crisscross/GMDS +criteria +criterion/M +critic/SM +critical/UY +criticism/MS +criticize/ZGDRS +criticizer/M +critique/MGDS +critter/SM +croak/SMDG +croaky/RT +crochet/SMDRZG +crocheter/M +crocheting/M +crock/SMD +crockery/M +crocodile/SM +crocus/MS +croft/SRZG +croissant/MS +crone/SM +crony/SM +cronyism/M +crook/SMDG +crooked/PTRY +crookedness/M +crookneck/SM +croon/SMDRZG +crooner/M +crop/MS +cropland/SM +cropped +cropper/MS +cropping +croquet/M +croquette/SM +crosier/MS +cross's +cross/AUGTSD +crossbar/SM +crossbeam/MS +crossbones/M +crossbow/SM +crossbowman/M +crossbowmen +crossbred +crossbreed/SGM +crosscheck/SMDG +crosscurrent/MS +crosscut/SM +crosscutting +crosser +crossfire/MS +crosshatch/GDS +crossing/SM +crossly +crossness/M +crossover/MS +crosspatch/MS +crosspiece/SM +crossroad/MS +crossroads/M +crosstown +crosswalk/MS +crosswind/MS +crosswise +crossword/MS +crotch/MS +crotchet/SM +crotchety +crouch/GMDS +croup/M +croupier/M +croupy/ZTR +crouton/MS +crow/MDGS +crowbar/MS +crowd/SMDG +crowded/U +crowdfund/SDG +crowfeet +crowfoot/SM +crown/SMDG +crowned/U +crucial/Y +crucible/SM +crucifix/MS +crucifixion/SM +cruciform/SM +crucify/DSG +crud/M +cruddy/TR +crude/RMYTP +crudeness/M +crudites/M +crudity/SM +cruel/RYPT +cruelness/M +cruelty/SM +cruet/SM +cruft/SD +crufty +cruise/DRSMZG +cruiser/M +cruller/MS +crumb/SMDYG +crumble/MGDS +crumbliness/M +crumbly/TPR +crumby/TR +crumminess/M +crummy/PTR +crumpet/MS +crumple/MGDS +crunch/GMDRS +crunchiness/M +crunchy/TRP +crupper/MS +crusade/MZGDRS +crusader/M +cruse/SM +crush/MDRSZG +crusher/M +crushing/Y +crust/SMDG +crustacean/SM +crustal +crustily +crustiness/M +crusty/TRP +crutch/MS +crux/MS +cry/ZGJDRSM +crybaby/SM +cryogenic/S +cryogenics/M +cryonics +cryosurgery/M +crypt/SM +cryptic +cryptically +cryptogram/SM +cryptographer/SM +cryptography/M +crystal/SM +crystalline +crystallization/M +crystallize/ADSG +crystallographic +crystallography +ct +ctn +ctr +cu +cub/ZGSMDR +cubbyhole/MS +cube/MS +cuber/M +cubic +cubical +cubicle/MS +cubism/M +cubist/SM +cubit/SM +cuboid/S +cuckold/MDSG +cuckoldry/M +cuckoo/SM +cucumber/SM +cud/SM +cuddle/DSMG +cuddly/TR +cudgel/SGMDJ +cue/DSMG +cuff/MDGS +cuisine/SM +culinary +cull/MDGS +culminate/XDSGN +culmination/M +culotte/SM +culpability/M +culpable/I +culpably +culprit/SM +cult/MS +cultism/M +cultist/MS +cultivable +cultivar/SM +cultivate/BDSGN +cultivated/U +cultivation/M +cultivator/MS +cultural/Y +culture/MGDS +cultured/U +culvert/MS +cum/SM +cumber/SDG +cumbersome/P +cumbersomeness/M +cumbrous +cumin/M +cummerbund/MS +cumming +cumulative/Y +cumuli +cumulonimbi +cumulonimbus/M +cumulus/M +cuneiform/M +cunnilingus/M +cunning/MRYT +cunt/MS! +cup/SM +cupboard/SM +cupcake/MS +cupful/SM +cupid/SM +cupidity/M +cupola/SMD +cuppa/S +cupped +cupping +cupric +cur/SMY +curability/M +curacao +curacy/SM +curare/M +curate/DSMGV +curative/MS +curator/KMS +curatorial +curb/MDGS +curbing/M +curbside +curbstone/SM +curd/MS +curdle/DSG +cure's +cure/KZGBDRS +cured/U +curer/KM +curettage/M +curfew/SM +curia/M +curiae +curie/SM +curio/SM +curiosity/SM +curious/YP +curiousness/M +curium/M +curl's +curl/UDGS +curler/SM +curlew/SM +curlicue/DSMG +curliness/M +curling/M +curly/RPT +curmudgeon/MYS +currant/MS +currency/SM +current's +current/FAY +currents +curricula +curricular +curriculum/M +curry/DSMG +currycomb/SGMD +curse/DSMGV +cursed/Y +cursive's +cursive/EAY +cursor/SM +cursorily +cursoriness/M +cursory/P +curt/RYTP +curtail/GDSL +curtailment/SM +curtain/GMDS +curtness/M +curtsy/GDSM +curvaceous/P +curvaceousness/M +curvature/SM +curve/DSMG +curvy/RT +cushion/MDSG +cushy/RT +cusp/MS +cuspid/SM +cuspidor/SM +cuss's +cuss/FEGSD +cussed/PY +custard/MS +custodial +custodian/MS +custodianship/M +custody/M +custom/SZMR +customarily +customary/U +customer/M +customhouse/SM +customization/M +customize/DSG +cut/TSMR +cutaneous +cutaway/MS +cutback/MS +cute/YP +cuteness/M +cutesy/TR +cutey/S +cuticle/MS +cutie/SM +cutlass/MS +cutler/SM +cutlery/M +cutlet/SM +cutoff/SM +cutout/SM +cutter/SM +cutthroat/SM +cutting/MYS +cuttlefish/MS +cutup/SM +cutworm/MS +cw +cwt +cyan/M +cyanide/M +cyberbully/SM +cybercafe/S +cybernetic/S +cybernetics/M +cyberpunk/SM +cybersex +cyberspace/MS +cyborg/SM +cyclamen/MS +cycle/ADSMG +cyclic +cyclical/Y +cyclist/MS +cyclometer/MS +cyclone/MS +cyclonic +cyclopedia/MS +cyclopes +cyclops/M +cyclotron/MS +cygnet/MS +cylinder/MS +cylindrical +cymbal/MS +cymbalist/MS +cynic/SM +cynical/Y +cynicism/M +cynosure/MS +cypress/MS +cyst/MS +cystic +cystitis +cytokines +cytologist/SM +cytology/M +cytoplasm/M +cytoplasmic +cytosine/M +czar/MS +czarina/SM +czarism +czarist/SM +d'Arezzo/M +d'Estaing/M +d/NXGJ +dB +dab/SM +dabbed +dabber/MS +dabbing +dabble/ZGDRS +dabbler/M +dace/SM +dacha/MS +dachshund/MS +dactyl/MS +dactylic/MS +dad/SM +dadaism/M +dadaist/MS +daddy/SM +dado/M +dadoes +daemon/MS +daemonic +daffiness/M +daffodil/SM +daffy/PTR +daft/PTRY +daftness/M +dag/S +dagger/MS +dago/S +dagoes +daguerreotype/DSMG +dahlia/MS +dailiness/M +daily/PSM +daintily +daintiness/M +dainty/RSMTP +daiquiri/MS +dairy/GSM +dairying/M +dairymaid/MS +dairyman/M +dairymen +dairywoman/M +dairywomen +dais/MS +daisy/SM +dale/SM +dalliance/MS +dallier/M +dally/ZGDRS +dalmatian/MS +dam/SM +damage/MGDS +damageable +damaged/U +damages/M +damask/MDGS +dame/SM +dammed +damming +dammit +damn/SBGMD +damnably +damnation/M +damned/T +damp/SPXZTGMDNRY +dampen/ZGDR +dampener/M +damper/M +dampness/M +damsel/MS +damselfly/SM +damson/MS +dance/MZGDRS +dancer/M +dancing/M +dandelion/SM +dander/M +dandify/GDS +dandle/GDS +dandruff/M +dandy/TRSM +dang/SZGDR +danger/M +dangerous/Y +dangle/ZGDRS +dangler/M +danish/MS +dank/PTRY +dankness/M +danseuse/MS +dapper/TR +dapple/MGDS +dare/DRSMZG +daredevil/MS +daredevilry/M +darer/M +daresay +daring/MY +dark/PXTMNRY +darken/ZGDR +darkener/M +darkie/S +darkness/M +darkroom/MS +darling/MS +darn/SZGMDR +darned/TR +darner/M +dart/SZGMDR +dartboard/MS +darter/M +dash/ZGMDRS +dashboard/SM +dasher/M +dashiki/MS +dashing/Y +dastard/MYS +dastardliness/M +data +database/SM +datatype +date/DRSMZGV +datebook/S +dated/U +dateless +dateline/MGDS +dater/M +dative/MS +datum/M +daub/SZGMDR +dauber/M +daughter/SMY +daunt/GDS +daunting/Y +dauntless/YP +dauntlessness/M +dauphin/MS +davenport/MS +davit/MS +dawdle/ZGDRS +dawdler/M +dawn/SGMD +day/SM +daybed/MS +daybreak/M +daycare/M +daydream/MDRZGS +daydreamer/M +daylight/MS +daylights/M +daylong +daytime/M +daze/DSMG +dazed/Y +dazzle/MZGDRS +dazzler/M +dazzling/Y +db +dbl +dc +dd/SDG +dded/K +dding/K +deacon/MS +deaconess/MS +dead/XTMNRY +deadbeat/MS +deadbolt/SM +deaden/GD +deadhead/SDG +deadline/SM +deadliness/M +deadlock/GSMD +deadly/TPR +deadpan/MS +deadpanned +deadpanning +deadwood/M +deaf/PXTNR +deafen/GD +deafening/Y +deafness/M +deal/SJZGMR +dealer/M +dealership/SM +dealing/M +dealt +dean/M +deanery/SM +deanship/M +dear/SPTMRYH +dearest/S +dearness/M +dearth/M +dearths +deary/SM +death/MY +deathbed/SM +deathblow/MS +deathless/Y +deathlike +deaths +deathtrap/MS +deathwatch/MS +deaves +deb/SM +debacle/MS +debarkation/M +debarment/M +debate/BMZR +debater/M +debating/M +debauch/MDSG +debauchee/MS +debauchery/SM +debenture/MS +debilitate/DSGN +debilitation/M +debility/SM +debit/D +debonair/PY +debonairness/M +debouch/GDS +debridement +debris/M +debt/SM +debtor/MS +debugger/S +debut/GMD +debutante/SM +decade/MS +decadence/M +decadency/M +decadent/MYS +decaf/MS +decaffeinate/DSG +decagon/MS +decal/MS +decampment/M +decapitate/XGNDS +decapitator/MS +decathlete/S +decathlon/SM +decay/GD +deceased/M +decedent/MS +deceit/MS +deceitful/YP +deceitfulness/M +deceive/UGDS +deceiver/MS +deceiving/Y +decelerate/GNDS +deceleration/M +decelerator/SM +decency/ISM +decennial/SM +decent/IY +deception/MS +deceptive/YP +deceptiveness/M +decibel/MS +decidable/U +decide/BZGDRS +decided/Y +deciduous +deciliter/MS +decimal/SM +decimalization +decimate/DSGN +decimation/M +decimeter/MS +decipherable/UI +decision/IM +decisions +decisive/IPY +decisiveness/IM +deck/SGMD +deckchair/S +deckhand/SM +deckle/S +declamation/MS +declamatory +declaration/MS +declarative +declaratory +declare/DRSZGB +declared/U +declarer/M +declension/SM +declination/M +decline/DRSMZG +decliner/M +declivity/SM +decolletage/SM +decollete +decongestant/MS +deconstructionism +decor/MS +decorate/AGNVDS +decorating/M +decoration/AM +decorations +decorative/Y +decorator/MS +decorous/IY +decorousness/M +decorum/M +decoupage/DSMG +decoy/GMDS +decreasing/Y +decree/MDS +decreeing +decremented +decrements +decrepit +decrepitude/M +decriminalization/M +decry/GDS +decryption +dedicate/AGDS +dedication/SM +dedicator/SM +dedicatory +deduce/GDS +deducible +deduct/GVD +deductible/SM +deduction/SM +deductive/Y +deed/GD +deejay/MS +deem/ASGD +deep/SPXTMNRY +deepen/GD +deepness/M +deer/M +deerskin/M +deerstalker/S +def/Z +defacement/M +defacer/SM +defalcate/DSXGN +defalcation/M +defamation/M +defamatory +defame/ZGDRS +defamer/M +defaulter/SM +defeat/MDRZGS +defeated/U +defeater/M +defeatism/M +defeatist/MS +defecate/GNDS +defecation/M +defect/MDGVS +defection/MS +defective/MPYS +defectiveness/M +defector/MS +defendant/SM +defended/U +defenestration/S +defense/DSMGV +defenseless/YP +defenselessness/M +defensible/I +defensibly/I +defensive/MYP +defensiveness/M +deference/M +deferential/Y +deferral/MS +deferred +deferring +deffer +deffest +defiant/Y +defibrillation +defibrillator/S +deficiency/SM +deficient +deficit/SM +defilement/M +definable/IU +define/AGDS +defined/U +definer/MS +definite/IYVP +definiteness/IM +definition/AM +definitions +definitive/Y +deflate/GNDS +deflation/M +deflationary +deflect/DGVS +deflection/MS +deflector/SM +defogger/SM +defoliant/SM +defoliate/DSGN +defoliation/M +defoliator/MS +deformity/SM +defraud/DRZGS +defrauder/M +defrayal/M +defrock/DG +defroster/MS +deft/PTRY +deftness/M +defunct +defy/GDS +deg +degeneracy/M +degenerate/MV +degrade/B +degree/MS +dehydrator/SM +dehydrogenase +deicer/MS +deification/M +deify/NGDS +deign/GDS +deist/MS +deistic +deity/SM +deject/GDS +dejected/Y +dejection/M +delay/ZDR +delectable +delectably +delectation/M +delegate/GD +delete/XGNDS +deleterious +deletion/M +delft/M +delftware/M +deli/SM +deliberate/XYVP +deliberateness/M +delicacy/ISM +delicate/IY +delicateness/M +delicatessen/SM +delicious/PY +deliciousness/M +delighted/Y +delightful/Y +deliminator +delineate/GNXDS +delineation/M +delinquency/SM +delinquent/SMY +deliquesce/DSG +deliquescent +delirious/YP +deliriousness/M +delirium/SM +deliver/ADGS +deliverable +deliverance/M +delivered/U +deliverer/SM +dell/SM +delphinium/MS +delta/MS +delude/GDS +deluge/MGDS +delusion/MS +delusional +delusive/Y +deluxe +delve/ZGDRS +delver/M +demagogic +demagogically +demagogue/SM +demagoguery/M +demagogy/M +demand/GMDS +demanding/U +demarcate/DSGNX +demarcation/M +demean/GDS +demeanor/M +demented/Y +dementia/M +demesne/MS +demigod/MS +demigoddess/MS +demijohn/SM +demimondaine/SM +demimonde/M +demise/MGDS +demitasse/MS +demo/GMD +democracy/SM +democrat/MS +democratic/U +democratically +democratization/M +democratize/GDS +demode +demographer/SM +demographic/SM +demographically +demographics/M +demography/M +demolish/DSG +demolition/MS +demon/MS +demonetization/M +demoniac +demoniacal/Y +demonic +demonically +demonize/GDS +demonology/SM +demonstrability +demonstrable/I +demonstrably +demonstrate/XGNVDS +demonstration/M +demonstrative/MYSP +demonstrativeness/M +demonstrator/MS +demote/GD +demotic +demount +demulcent/SM +demur/TMRS +demure/PY +demureness/M +demurral/SM +demurred +demurrer/SM +demurring +den/M +denationalization +denaturation +denature/DG +dendrite/SM +dengue/M +deniability +deniable/U +denial/MS +denier/M +denigrate/DSGN +denigration/M +denim/MS +denitrification +denizen/MS +denominational +denotative +denouement/MS +denounce/LDSG +denouncement/SM +dense/PYTR +denseness/M +density/SM +dent/ISGMD +dental/Y +dentifrice/SM +dentin/M +dentist/MS +dentistry/M +dentition/M +denture/IMS +denuclearize/GDS +denudation/M +denude/GDS +denunciation/SM +deny/ZGDRS +deodorant/SM +deodorization/M +deodorize/DRSZG +deodorizer/M +departed/M +department/MS +departmental/Y +departmentalization/M +departmentalize/GDS +departure/SM +dependability/M +dependable/U +dependably +dependence/IM +dependency/SM +dependent/IMYS +depict/GDS +depiction/MS +depilatory/SM +deplete/GNDS +depletion/M +deplorably +deplore/BGDS +deploy/ALGDS +deployment/AM +deployments +deponent/MS +deportation/MS +deportee/MS +deportment/M +deposit/AGMDS +depositor/MS +depository/SM +deprave/GDS +depravity/SM +deprecate/GNDS +deprecating/Y +deprecation/M +deprecatory +depreciate/DSGN +depreciation/M +depredation/SM +depressant/SM +depressing/Y +depression/SM +depressive/SM +depressor/MS +depressurization +deprive/GDS +deprogramming +depth/M +depths +deputation/MS +depute/DSG +deputize/DSG +deputy/SM +derailleur/SM +derailment/SM +derangement/M +derby/SM +derelict/MS +dereliction/M +deride/GDS +derision/M +derisive/PY +derisiveness/M +derisory +derivation/MS +derivative/MS +derive/B +dermal +dermatitis/M +dermatological +dermatologist/SM +dermatology/M +dermis/M +derogate/DSGN +derogation/M +derogatorily +derogatory +derrick/SM +derriere/SM +derringer/SM +derv +dervish/MS +desalinate/GNDS +desalination/M +desalinization/M +desalinize/GDS +descant/M +descend/FGDS +descendant/MS +descender +describable/I +describe/BZGDR +describer/M +description/SM +descriptive/PY +descriptiveness/M +descriptor/S +descry/GDS +desecrate/DSGN +desecration/M +deselection +desert/SDRZGM +deserter/M +desertification +desertion/SM +deserved/UY +deserving/U +desiccant/SM +desiccate/DSGN +desiccation/M +desiccator/SM +desiderata +desideratum/M +design/ASDG +designate/DSGNX +designation/M +desirability/UM +desirableness/M +desirably/U +desire/B +desired/U +desirous +desist/SDG +desk/SM +deskill/G +desktop/SM +desolate/PDSYGN +desolateness/M +desolation/M +despair/SMDG +despairing/Y +desperado/M +desperadoes +desperate/YNP +desperateness/M +desperation/M +despicable +despicably +despise/DSG +despite +despoilment/M +despondence/M +despondency/M +despondent/Y +despotic +despotically +despotism/M +dessert/SM +dessertspoon/S +dessertspoonful/S +destination/SM +destine/DSG +destiny/SM +destitute/N +destitution/M +destroy/SZGDR +destroyer/M +destruct/GVMDS +destructibility/IM +destructible/I +destruction/M +destructive/PY +destructiveness/M +desuetude/M +desultorily +desultory +detach/BLGDS +detachment/MS +detain/LGDS +detainee/MS +detainment/M +detect/SDGVB +detectable/U +detected/U +detection/M +detective/SM +detector/SM +detente/SMNX +detention/M +deter/SL +detergent/SM +deteriorate/DSGN +deterioration/M +determent/M +determinable/I +determinant/SM +determinate +determine/AGDS +determined/U +determinedly +determiner/SM +determinism/M +deterministic +deterred/U +deterrence/M +deterrent/MS +deterring +detestably +detestation/M +dethrone/DSLG +dethronement/M +detonate/GNDSX +detonation/M +detonator/SM +detox/MDSG +detoxification/M +detoxify/DSGN +detract/GD +detriment/SM +detrimental/Y +detritus/M +deuce/SM +deuterium/M +devastate/GNDS +devastating/Y +devastation/M +devastator/MS +develop/ASGDL +developed/U +developer/SM +development/ASM +developmental/Y +deviance/M +deviancy/M +deviant/SM +deviate/DSMGNX +deviating/U +deviation/M +devil/SMDGL +devilish/YP +devilishness/M +devilment/M +devilry/SM +deviltry/SM +devious/YP +deviousness/M +devoid +devolution/M +devolve/DSG +devoted/Y +devotee/SM +devotion/MS +devotional/SM +devour/SDG +devout/PRYT +devoutness/M +dew/M +dewberry/SM +dewclaw/SM +dewdrop/SM +dewiness/M +dewlap/SM +dewy/RTP +dexterity/M +dexterous/YP +dexterousness/M +dextrose/M +dharma +dhoti/SM +dhow/MS +diabetes/M +diabetic/SM +diabolic +diabolical/Y +diacritic/MS +diacritical +diadem/SM +diaereses +diaeresis/M +diagnose/DSG +diagnosis/M +diagnostic/S +diagnostically +diagnostician/SM +diagnostics/M +diagonal/SMY +diagram/SM +diagrammatic +diagrammatically +diagrammed +diagramming +dial/AMDGS +dialect/SM +dialectal +dialectic/SM +dialectical +dialectics/M +dialing/S +dialog +dialogue/SM +dialyses +dialysis/M +dialyzes +diam +diamante +diameter/SM +diametric +diametrical/Y +diamond/SM +diamondback/MS +diapason/SM +diaper/SMDG +diaphanous +diaphragm/SM +diaphragmatic +diarist/SM +diarrhea/M +diary/SM +diaspora/SM +diastase/M +diastole/M +diastolic +diathermy/M +diatom/SM +diatomic +diatonic +diatribe/SM +dibble/DSMG +dibs/M +dice/GDS +dices/I +dicey +dichotomous +dichotomy/SM +dicier +diciest +dick/MRXZS +dicker/DG +dickey/SM +dickhead/S +dickybird/S +dicotyledon/MS +dicotyledonous +dict +dicta +dictate/DSMGNX +dictation/M +dictator/SM +dictatorial/Y +dictatorship/SM +diction/M +dictionary/SM +dictum/M +did/AU +didactic +didactically +diddle/DRSZG +diddler/M +diddly +diddlysquat +diddums +didgeridoo/S +didn't +dido/M +didoes +didst +die/DSM +dielectric/MS +diereses +dieresis/M +diesel/SMDG +diet/MDRZGS +dietary/SM +dieter/M +dietetic/S +dietetics/M +dietitian/MS +diff/DRZGS +differ/DG +difference/IM +differences +different/IY +differential/SM +differentiate/DSGN +differentiated/U +differentiation/M +difficult/Y +difficulty/SM +diffidence/M +diffident/Y +diffract/GSD +diffraction/M +diffuse/DSYGNVP +diffuseness/M +diffusion/M +dig/SM +digerati/M +digest/SMDGV +digested/U +digestibility/M +digestible/I +digestion/IM +digestions +digestive/S +digger/SM +digging/S +diggings/M +digicam/S +digit/SM +digital/Y +digitalis/M +digitization +digitize/GDS +dignified/U +dignify/DSG +dignitary/SM +dignity/ISM +digraph/M +digraphs +digress/GVDS +digression/MS +dike/MGDS +diktat/S +dilapidated +dilapidation/M +dilatation/M +dilate/DSGN +dilation/M +dilator/SM +dilatory +dildo/S +dilemma/MS +dilettante/SM +dilettantish +dilettantism/M +diligence/M +diligent/Y +dill/MS +dilly/SM +dillydally/DSG +dilute/DSGNX +diluted/U +dilution/M +dim/PSRY +dime/MS +dimension/SM +dimensional +dimensionless +diminish/GDS +diminished/U +diminuendo/SM +diminution/SM +diminutive/SM +dimity/M +dimmed/U +dimmer/SM +dimmest +dimming +dimness/M +dimple/DSMG +dimply +dimwit/SM +dimwitted +din/ZGSMDR +dinar/SM +dine/S +diner/M +dinette/MS +ding/MDG +dingbat/MS +dinghy/SM +dingily +dinginess/M +dingle/SM +dingo/M +dingoes +dingus/MS +dingy/RPT +dink/R +dinky/RSMT +dinned +dinner/SMDG +dinnertime/M +dinnerware/M +dinning +dinosaur/SM +dint/M +diocesan/MS +diocese/MS +diode/SM +diorama/SM +dioxide/SM +dioxin/SM +dip/SM +diphtheria/M +diphthong/SM +diploid/SM +diploma/SM +diplomacy/M +diplomat/MS +diplomata +diplomatic/U +diplomatically +diplomatist/MS +diplopia +dipole/SM +dipped +dipper/SM +dipping +dippy/RT +dipso/S +dipsomania/M +dipsomaniac/MS +dipstick/SM +dipterous +diptych/M +diptychs +dire/YTR +direct/ASDGVT +directer +direction/IM +directional +directionless +directions +directive/SM +directly +directness/IM +director/MS +directorate/SM +directorial +directorship/SM +directory/SM +direful +dirge/SM +dirigible/MS +dirk/MS +dirndl/SM +dirt/M +dirtball/S +dirtily +dirtiness/M +dirty/DRSTGP +dis/M +disable/DSGL +disablement/M +disambiguate/N +disappointing/Y +disarming/Y +disassembly +disastrous/Y +disbandment/M +disbarment/M +disbelieving/Y +disbursal/M +disburse/DSGL +disbursement/MS +disc/M +discern/LSDG +discernible/I +discernibly +discerning/Y +discernment/M +discharged/U +disciple/SM +discipleship/M +disciplinarian/SM +disciplinary +discipline/DSMG +disciplined/U +disclose/DSG +disclosed/U +disco/MG +discography/SM +discoloration/S +discombobulate/DSGN +discombobulation/M +discomfit/DG +discomfiture/M +discommode/DG +disconcerting/Y +disconnected/PY +disconnectedness/M +disconsolate/Y +discordance/M +discordant/Y +discotheque/SM +discourage/LGDS +discouragement/SM +discouraging/Y +discover/ASDG +discovered/U +discoverer/MS +discovery/ASM +discreet/PRYT +discreetness/M +discrepancy/SM +discrepant +discrete/PYN +discreteness/M +discretion/IM +discretionary +discriminant +discriminate/GNDS +discriminating/U +discrimination/M +discriminator/MS +discriminatory +discursiveness/M +discus/MS +discussant/SM +discussion/SM +disdain/SMDG +disdainful/Y +disembowel/SDLG +disembowelment/M +disfigurement/SM +disfranchisement/M +disgorgement/M +disgruntle/LGDS +disgruntlement/M +disguise/GD +disguised/U +disgusted/Y +disgusting/Y +dish/MDSG +dishabille/M +disharmonious +dishcloth/M +dishcloths +disheartening/Y +dishevel/DGLS +dishevelment/M +dishpan/SM +dishrag/SM +dishtowel/MS +dishware/M +dishwasher/MS +dishwater/M +dishy +disillusion/GLD +disillusionment/M +disinfectant/MS +disinfection/M +disinterested/PY +disinterestedness/M +disjointed/YP +disjointedness/M +disjunctive +disjuncture +disk/MS +diskette/MS +dislodge/GDS +dismal/Y +dismantlement/M +dismay/SMDG +dismayed/U +dismember/LGD +dismemberment/M +dismissive/Y +disorder/Y +disorganization/M +disparage/DSGL +disparagement/M +disparaging/Y +disparate/Y +dispatcher/MS +dispel/S +dispelled +dispelling +dispensary/SM +dispensation/MS +dispense/BZGDRS +dispenser/M +dispersal/M +disperse/GNDS +dispersion/M +dispirit/GDS +displeasure/M +disposable/SM +disposal/SM +disposed/I +disposition/ISM +dispossession/M +disproof/SM +disproportional +disprove/B +disputable/I +disputably/I +disputant/MS +disputation/SM +disputatious/Y +dispute/DRSMZGB +disputed/U +disputer/M +disquiet/GSMD +disquisition/MS +disregardful +disrepair/M +disrepute/MB +disrupt/GVSD +disruption/SM +disruptive/Y +dissect/SDG +dissed +dissemblance/M +dissemble/ZGDRS +dissembler/M +disseminate/GNDS +dissemination/M +dissension/SM +dissent/SMDRZG +dissenter/M +dissertation/SM +dissidence/M +dissident/MS +dissimilar +dissimilitude/S +dissing +dissipate/GNDS +dissipation/M +dissociate/GNDS +dissociation/M +dissoluble/I +dissolute/YNP +dissoluteness/M +dissolve/AGDS +dissolved/U +dissonance/SM +dissonant +dissuade/GDS +dissuasive +dist +distaff/SM +distal/Y +distance/DSMG +distant/Y +distaste/SM +distemper/M +distention/SM +distillate/SMNX +distillation/M +distillery/SM +distinct/IYTVP +distincter +distinction/SM +distinctive/YP +distinctiveness/M +distinctness/IM +distinguish/GDSB +distinguishable/I +distinguished/U +distort/GDR +distortion/MS +distract/DG +distracted/Y +distraction/S +distrait +distraught +distress/DG +distressful +distressing/Y +distribute/AGNVDS +distributed/U +distribution/AM +distributional +distributions +distributive/Y +distributor's +distributor/AS +distributorship/S +district's +district/AS +disturb/ZGSDR +disturbance/SM +disturbed/U +disturber/M +disturbing/Y +disunion/M +disyllabic +ditch/MDSG +dither/SMDRZG +ditherer/M +ditransitive +ditsy +ditto/SMDG +ditty/SM +ditz/MS +diuretic/MS +diurnal/Y +div +diva/MS +divalent +divan/SM +dive/MZTGDRS +diver/M +diverge/DSG +divergence/MS +divergent +diverse/XYNP +diverseness/M +diversification/M +diversify/GNDS +diversion/M +diversionary +diversity/SM +divert/SDG +diverticulitis/M +divest/SLDG +divestiture/MS +divestment/M +divide/DRSMZGB +divided/U +dividend/MS +divider/M +divination/M +divine/DRSMYZTG +diviner/M +diving/M +divinity/SM +divisibility/IM +divisible/I +division/MS +divisional +divisive/PY +divisiveness/M +divisor/SM +divorce/DSLMG +divorcee/MS +divorcement/MS +divot/SM +divulge/GDS +divvy/DSMG +dixieland/M +dizzily +dizziness/M +dizzy/DRSPTG +djellaba/MS +do/SJMRHZG +doable +dob/S +dobbed +dobbin/SM +dobbing +doberman/MS +dobro +doc/SM +docent/SM +docile/Y +docility/M +dock/MDRZGS +docket/SMDG +dockland/S +dockside +dockworker/MS +dockyard/MS +doctor/SMDG +doctoral +doctorate/MS +doctrinaire/MS +doctrinal +doctrine/MS +docudrama/SM +document/GMDS +documentary/SM +documentation/SM +documented/U +dodder/SMDG +doddery +doddle +dodge/DRSMZG +dodgem/S +dodger/M +dodgy/RT +dodo/MS +doe/SM +doer/M +does/AU +doeskin/MS +doesn't +doff/DGS +dog/SM +dogcart/SM +dogcatcher/SM +doge/MS +dogeared +dogfight/SM +dogfish/MS +dogged/PY +doggedness/M +doggerel/M +dogging +doggone/TGRS +doggy/RSMT +doghouse/SM +dogie/SM +dogleg/SM +doglegged +doglegging +doglike +dogma/SM +dogmatic +dogmatically +dogmatism/M +dogmatist/SM +dognapper +dogsbody/S +dogsled/S +dogtrot/MS +dogtrotted +dogtrotting +dogwood/MS +doily/SM +doing/USM +doldrums/M +dole's +dole/FGDS +doleful/YP +dolefulness/M +doll/MDGS +dollar/SM +dollhouse/SM +dollop/SGMD +dolly/SM +dolmen/SM +dolomite/M +dolor/M +dolorous/Y +dolphin/MS +dolt/MS +doltish/YP +doltishness/M +domain/SM +dome/MGDS +domestic/SM +domestically +domesticate/DSGN +domesticated/U +domestication/M +domesticity/M +domicile/DSMG +domiciliary +dominance/M +dominant/SMY +dominate/DSGN +domination/M +dominatrices +dominatrix/M +domineer/SGD +domineering/Y +dominion/SM +domino/M +dominoes +don't +don/SM +dona/MS +donate/DSXGN +donation/M +done/FAU +dong/MDGS +dongle/SM +donkey/SM +donned +donning +donnish +donnybrook/MS +donor/SM +donuts +doodad/SM +doodah +doodahs +doodle/DRSMZG +doodlebug/SM +doodler/M +doohickey/SM +doolally +doom/MDGS +doomsayer/MS +doomsday/M +doomster/S +door's +door/IS +doorbell/MS +doorjamb/S +doorkeeper/MS +doorknob/MS +doorknocker/S +doorman/M +doormat/SM +doormen +doorplate/SM +doorpost/S +doorstep/MS +doorstepped +doorstepping +doorstop/MS +doorway/SM +dooryard/MS +dopa/M +dopamine +dope/MZGDRS +doper/M +dopey +dopier +dopiest +dopiness/M +doping/M +doppelganger/S +dork/MS +dorky/RT +dorm/MRZS +dormancy/M +dormant +dormer/M +dormice +dormitory/SM +dormouse/M +dorsal/Y +dory/SM +dosage/SM +dose/MGDS +dosh +dosimeter/SM +doss/DRSZG +dosshouse/S +dossier/MS +dost +dot/ZGSMDR +dotage/M +dotard/SM +dotcom/SM +dote/S +doter/M +doting/Y +dotted +dotting +dotty/RT +double's +double/ADSG +doubleheader/MS +doublespeak/M +doublet/MS +doubloon/SM +doubly +doubt/SMDRZG +doubter/M +doubtful/PY +doubtfulness/M +doubting/Y +doubtless/Y +douche/DSMG +dough/M +doughnut/SM +doughty/RT +doughy/TR +dour/RYTP +dourness/M +douse/DSG +dove/MS +dovecot/S +dovecote/SM +dovetail/MDSG +dovish +dowager/MS +dowdily +dowdiness/M +dowdy/RSPT +dowel/SMDG +dower/SMDG +down/MDRZGS +downbeat/SM +downcast +downdraft/MS +downer/M +downfall/SMN +downfield +downgrade/DSMG +downhearted/PY +downheartedness/M +downhill/MS +download/MDBSG +downmarket +downplay/DSG +downpour/MS +downrange +downright +downriver +downscale +downshift/SGD +downside/MS +downsize/GDS +downsizing/M +downspout/MS +downstage +downstairs/M +downstate/M +downstream +downswing/MS +downtime/M +downtown/M +downtrend/MS +downtrodden +downturn/MS +downward/S +downwind +downy/RT +dowry/SM +dowse/DRSZG +dowser/M +doxology/SM +doyen/SM +doyenne/MS +doz/XGDNS +doze/M +dozen/MH +dozily +dozy/RTP +dpi +dpt +drab/MYSP +drabber +drabbest +drabness/M +drachma/MS +draconian +draft's +draft/ASDG +draftee/SM +drafter/SM +draftily +draftiness/M +drafting/M +draftsman/M +draftsmanship/M +draftsmen +draftswoman/M +draftswomen +drafty/RTP +drag/MS +dragged +dragging +draggy/TR +dragnet/SM +dragon/SM +dragonfly/SM +dragoon/SMDG +dragster/S +drain/SMDRZG +drainage/M +drainboard/SM +drainer/M +drainpipe/MS +drake/SM +dram/MS +drama/SM +dramatic/S +dramatically +dramatics/M +dramatist/SM +dramatization/SM +dramatize/DSG +drank +drape/DRSMZG +draper/M +drapery/SM +drastic +drastically +drat +dratted +draughtboard/S +draw/MRZGSJ +drawback/MS +drawbridge/MS +drawer/M +drawing/M +drawl/SMDG +drawn/A +drawstring/MS +dray/MS +dread/SMDG +dreadful/PY +dreadfulness/M +dreadlocks/M +dreadnought/MS +dream/SMDRZG +dreamboat/MS +dreamed/U +dreamer/M +dreamily +dreaminess/M +dreamland/M +dreamless +dreamlike +dreamworld/SM +dreamy/RPT +drear +drearily +dreariness/M +dreary/RPT +dredge/DRSMZG +dredger/M +dregs/M +drench/GDS +dress/AUGSDM +dressage/M +dresser/MS +dressiness/M +dressing/SM +dressmaker/SM +dressmaking/M +dressy/TPR +drew/A +dribble/MZGDRS +dribbler/M +driblet/MS +drier/M +drift/SMDRZG +drifter/M +driftnet/S +driftwood/M +drill/SMDRZG +driller/M +drillmaster/SM +drink/SMRBJZG +drinkable/U +drinker/M +drip/MS +dripped +dripping/SM +drippy/TR +drive/RSMZGJ +drivel/SZGMDR +driveler/M +driven +driver/M +driveshaft/SM +driveway/MS +drizzle/MGDS +drizzly +drogue/SM +droid/S +droll/RPT +drollery/SM +drollness/M +drolly +dromedary/SM +drone/DSMG +drool/SMDG +droop/GSMD +droopiness/M +droopy/TPR +drop/MS +dropkick/MS +droplet/SM +dropout/SM +dropped +dropper/SM +dropping/S +droppings/M +dropsical +dropsy/M +dross/M +drought/SM +drove/RSMZ +drover/M +drown/GSJD +drowning/M +drowse/MGDS +drowsily +drowsiness/M +drowsy/RTP +drub/S +drubbed +drubber/SM +drubbing/MS +drudge/MGDS +drudgery/M +drug/MS +drugged +druggie/SM +drugging +druggist/SM +druggy +drugstore/MS +druid/SM +druidism/M +drum/MS +drumbeat/SM +drumlin/SM +drummed +drummer/SM +drumming +drumstick/SM +drunk/STMNR +drunkard/MS +drunken/PY +drunkenness/M +drupe/SM +druthers/M +dry/ZTGDRSMY +dryad/SM +dryer/SM +dryness/M +drys +drywall/M +dual +dualism/M +duality/M +dub/SM +dubbed +dubber/SM +dubbin/M +dubbing +dubiety/M +dubious/YP +dubiousness/M +ducal +ducat/SM +duchess/MS +duchy/SM +duck/MDGS +duckbill/SM +duckboards +duckling/SM +duckpins/M +duckweed/M +ducky/TRSM +duct's/K +duct/CKIFS +ductile +ductility/M +ducting +ductless +dud/GSMD +dude/MS +dudgeon/M +due/SM +duel/MDRJZGS +dueler/M +duelist/SM +duenna/MS +duet/MS +duff/MDRZGS +duffer/M +dug +dugout/MS +duh +duke/MS +dukedom/SM +dulcet +dulcimer/MS +dull/DRPTGS +dullard/SM +dullness/M +dully +duly/U +dumb/RYPT +dumbbell/SM +dumbfound/SDG +dumbness/M +dumbo/S +dumbstruck +dumbwaiter/SM +dumdum/MS +dummy/SM +dump/MDRZGS +dumpiness/M +dumpling/SM +dumpsite/S +dumpster/SM +dumpy/PTR +dun/SM +dunce/SM +dunderhead/MS +dune/MS +dung/MDGS +dungaree/MS +dungeon/SM +dunghill/MS +dunk/MDGS +dunned +dunner +dunnest +dunning +dunno +duo/SM +duodecimal +duodena +duodenal +duodenum/M +duopoly/S +dupe/MZGDRS +duper/M +duple +duplex/MS +duplicate's +duplicate/AGNDS +duplication/AM +duplicator/MS +duplicitous +duplicity/M +durability/M +durable +durably +durance/M +duration/M +duress/M +during +durst +durum/M +dusk/M +duskiness/M +dusky/RTP +dust/MDRZGS +dustbin/SM +dustcart/S +duster/M +dustiness/M +dustless +dustman +dustmen +dustpan/SM +dustsheet/S +dusty/RTP +dutch +duteous/Y +dutiable +dutiful/YP +dutifulness/M +duty/SM +duvet/SM +dwarf/SGMD +dwarfish +dwarfism/M +dweeb/SM +dwell/SJZGR +dweller/M +dwelling/M +dwelt/I +dwindle/DSG +dyadic +dybbuk/SM +dybbukim +dye/DRSMZG +dyeing/A +dyer/M +dyestuff/M +dying/M +dyke/MS +dynamic/MS +dynamical/Y +dynamics/M +dynamism/M +dynamite/MZGDRS +dynamiter/M +dynamo/SM +dynastic +dynasty/SM +dysentery/M +dysfunction/MS +dysfunctional +dyslectic/SM +dyslexia/M +dyslexic/SM +dyspepsia/M +dyspeptic/MS +dysphagia +dysphoria +dysphoric +dysprosium/M +dystonia +dz +e'en +e'er +e/FDST +eBay/M +eMusic/M +ea +each +eager/PTRY +eagerness/M +eagle/MS +eaglet/MS +ear/SMDY +earache/SM +earbud/SM +eardrum/SM +earful/SM +earl/MS +earldom/SM +earliness/M +earlobe/SM +early/RTP +earmark/SMDG +earmuff/SM +earn/DRZTGJS +earned/U +earner/M +earnest/SMYP +earnestness/M +earnings/M +earphone/MS +earpiece/S +earplug/SM +earring/SM +earshot/M +earsplitting +earth's +earth/UDYG +earthbound +earthen +earthenware/M +earthiness/M +earthling/MS +earthly/RT +earthquake/SM +earths/U +earthshaking +earthward/S +earthwork/MS +earthworm/MS +earthy/RTP +earwax/M +earwig/SM +ease/EDSM +easel/SM +easement/SM +easily/U +easiness/UM +easing +east/M +eastbound +easterly/SM +eastern/ZR +easterner/M +easternmost +eastward/S +easy/URTP +easygoing +eat/ZGBSNR +eatable/SM +eaten/U +eater/M +eatery/SM +eave/MS +eavesdrop/S +eavesdropped +eavesdropper/SM +eavesdropping +ebb/SMDG +ebony/SM +ebullience/M +ebullient/Y +ebullition/M +eccentric/SM +eccentrically +eccentricity/SM +eccl +ecclesial +ecclesiastic/SM +ecclesiastical/Y +echelon/SM +echinoderm/SM +echo's +echo/ADG +echoes/A +echoic +echolocation/M +echos +eclair/SM +eclat/M +eclectic/SM +eclectically +eclecticism/M +eclipse/DSMG +ecliptic/M +eclogue/SM +ecocide/M +ecol +ecologic +ecological/Y +ecologist/MS +ecology/M +econ +econometric +economic/S +economical/UY +economics/M +economist/SM +economize/DRSZG +economizer/M +economy/SM +ecosystem/MS +ecotourism/M +ecotourist/MS +ecru/M +ecstasy/SM +ecstatic +ecstatically +ecu/S +ecumenical/Y +ecumenicism/M +ecumenism/M +eczema/M +ed/ACSM +edamame +eddy/DSMG +edelweiss/M +edema/SM +edge/MZGJDRS +edger/M +edgewise +edgily +edginess/M +edging/M +edgy/RTP +edibility/M +edible/SMP +edibleness/M +edict/SM +edification/M +edifice/SM +edifier/M +edify/DRSZGN +edifying/U +edit's +edit/ADGS +editable +edited/U +edition/MS +editor/SM +editorial/SMY +editorialize/DSG +editorship/M +educ +educability/M +educable/I +educate/ADSGNV +educated/U +education/AM +educational/Y +educationalist/S +educationist/S +educations +educator/MS +educe/DSGB +edutainment/M +eek +eel/SM +eerie/RT +eerily +eeriness/M +eff/GSD +efface/DSLG +effacement/M +effect/SMDGV +effective/IPY +effectiveness/IM +effectual/IY +effectuate/DSG +effeminacy/M +effeminate/Y +effendi/SM +efferent +effervesce/GDS +effervescence/M +effervescent/Y +effete/YP +effeteness/M +efficacious/Y +efficacy/IM +efficiency/ISM +efficient/IY +effigy/SM +efflorescence/M +efflorescent +effluence/M +effluent/MS +effluvia +effluvium/M +effort/SM +effortless/YP +effortlessness/M +effrontery/M +effulgence/M +effulgent +effuse/DSGNVX +effusion/M +effusive/YP +effusiveness/M +egad +egalitarian/SM +egalitarianism/M +egg/GSMD +eggbeater/MS +eggcup/SM +egghead/SM +eggnog/M +eggplant/MS +eggshell/SM +eglantine/SM +ego/SM +egocentric/MS +egocentrically +egocentricity/M +egoism/M +egoist/SM +egoistic +egoistical/Y +egomania/M +egomaniac/MS +egotism/M +egotist/SM +egotistic +egotistical/Y +egregious/PY +egregiousness/M +egress/MS +egret/SM +eh +eider/SM +eiderdown/MS +eigenvalue/S +eight/SM +eighteen/MHS +eighteenth/M +eighteenths +eighth/M +eighths +eightieth/M +eightieths +eighty/SMH +einsteinium/M +eisteddfod/S +either +ejaculate/GNXDS +ejaculation/M +ejaculatory +eject/SDG +ejection/MS +ejector/SM +eke/DSG +elaborate/YGNDSPX +elaborateness/M +elaboration/M +elan/M +eland/SM +elapse/DSG +elastic/MS +elastically +elasticated +elasticity/M +elasticize/DSG +elate/DSGN +elated/Y +elation/M +elbow/SMDG +elbowroom/M +elder/SMY +elderberry/SM +eldercare/M +eldest +eldritch +elect's +elect/ASDGV +electable +election/AMS +electioneer/DGS +elective/MS +elector/MS +electoral/Y +electorate/MS +electric/S +electrical/Y +electrician/MS +electricity/M +electrification/M +electrifier/M +electrify/ZGNDRS +electrocardiogram/MS +electrocardiograph/M +electrocardiographs +electrocardiography/M +electrocute/DSXGN +electrocution/M +electrode/SM +electrodynamics +electroencephalogram/MS +electroencephalograph/M +electroencephalographic +electroencephalographs +electroencephalography/M +electrologist/SM +electrolysis/M +electrolyte/MS +electrolytic +electromagnet/MS +electromagnetic +electromagnetically +electromagnetism/M +electromotive +electron/MS +electronic/S +electronica/M +electronically +electronics/M +electroplate/DSG +electroscope/SM +electroscopic +electroshock/M +electrostatic/S +electrostatics/M +electrotype/MS +eleemosynary +elegance/IM +elegant/IY +elegiac/MS +elegiacal +elegy/SM +elem +element/MS +elemental/Y +elementary +elephant/SM +elephantiasis/M +elephantine +elev +elevate/XDSGN +elevation/M +elevator/MS +eleven/SMH +elevens/S +eleventh/M +elevenths +elf/M +elfin +elfish +elicit/SDG +elicitation/M +elide/DSG +eligibility/IM +eligible +eliminate/XDSGN +elimination/M +eliminator/S +elision/MS +elite/SM +elitism/M +elitist/MS +elixir/SM +elk/SM +ell/SM +ellipse/MS +ellipsis/M +ellipsoid/SM +ellipsoidal +elliptic +elliptical/Y +elm/SM +elocution/M +elocutionary +elocutionist/SM +elodea/SM +elongate/DSGNX +elongation/M +elope/DSGL +elopement/MS +eloquence/M +eloquent/Y +else +elsewhere +elucidate/DSGNX +elucidation/M +elude/DSG +elusive/YP +elusiveness/M +elver/SM +elves +elvish +em's +em/S +emaciate/GNDS +emaciation/M +email/SMDG +emanate/XDSGN +emanation/M +emancipate/DSGN +emancipation/M +emancipator/MS +emasculate/GNDS +emasculation/M +embalm/SZGDR +embalmer/M +embank/SLGD +embankment/SM +embargo/MDG +embargoes +embark/AEGDS +embarkation/EM +embarkations +embarrass/GLDS +embarrassed/U +embarrassing/Y +embarrassment/SM +embassy/SM +embattled +embed/S +embedded +embedding +embellish/LGDS +embellishment/SM +ember/SM +embezzle/ZGLDRS +embezzlement/M +embezzler/M +embitter/GLDS +embitterment/M +emblazon/GDLS +emblazonment/M +emblem/SM +emblematic +emblematically +embodiment/EM +embody/AEGSD +embolden/DGS +embolism/MS +embolization +emboss/DRSZG +embosser/M +embouchure/M +embower/SGD +embrace/DSMG +embraceable +embrasure/MS +embrocation/MS +embroider/SDRZG +embroiderer/M +embroidery/SM +embroil/DGLS +embroilment/M +embryo/SM +embryological +embryologist/MS +embryology/M +embryonic +emcee/DSM +emceeing +emend/SDG +emendation/MS +emerald/MS +emerge/ADSG +emergence/AM +emergency/SM +emergent +emerita +emeritus +emery/M +emetic/SM +emf/S +emigrant/SM +emigrate/DSXGN +emigration/M +emigre/SM +eminence/MS +eminent/Y +emir/MS +emirate/MS +emissary/SM +emission/SM +emit/S +emitted +emitter/MS +emitting +emo/SM +emoji/SM +emollient/MS +emolument/MS +emote/XDSGNV +emoticon/SM +emotion/M +emotional/UY +emotionalism/M +emotionalize/GDS +emotionless +emotive/Y +empathetic +empathize/DSG +empathy/M +emperor/MS +emphases +emphasis/M +emphasize/AGDS +emphatic/U +emphatically +emphysema/M +empire/SM +empiric +empirical/Y +empiricism/M +empiricist/SM +emplacement/SM +employ's +employ/ADGLS +employable/U +employee/SM +employer/SM +employment/UAM +employments +emporium/SM +empower/SDGL +empowerment/M +empress/MS +emptily +emptiness/M +empty/TGPDRSM +empyrean/M +emu/SM +emulate/DSGNVX +emulation/M +emulator/SM +emulsification/M +emulsifier/M +emulsify/NDRSZG +emulsion/MS +en/SM +enable/DRSZG +enabler/M +enact/ASLDG +enactment/ASM +enamel/JSZGMDR +enameler/M +enamelware/M +enamor/SGD +enc +encamp/LSGD +encampment/MS +encapsulate/XGNDS +encapsulation/M +encase/LDSG +encasement/M +encephalitic +encephalitis/M +enchain/DGS +enchant/ELDGS +enchanter/MS +enchanting/Y +enchantment/EM +enchantments +enchantress/MS +enchilada/SM +encipher/SGD +encircle/DSGL +encirclement/M +encl +enclave/MS +enclose/GDS +enclosed/U +enclosure/SM +encode/DRSZG +encoder/M +encomium/MS +encompass/GDS +encore/DSMG +encounter/GSMD +encourage/DSLG +encouragement/SM +encouraging/Y +encroach/GLDS +encroachment/SM +encrust/DGS +encrustation/SM +encrypt/DGS +encryption +encumber/EGSD +encumbered/U +encumbrance/MS +ency +encyclical/SM +encyclopedia/MS +encyclopedic +encyst/LSGD +encystment/M +end/GVSJMD +endanger/SGDL +endangerment/M +endear/SGLD +endearing/Y +endearment/SM +endeavor/GSMD +endemic/MS +endemically +endgame/S +ending/M +endive/SM +endless/PY +endlessness/M +endmost +endocarditis +endocrine/MS +endocrinologist/MS +endocrinology/M +endogenous/Y +endometrial +endometriosis +endometrium +endorphin/MS +endorse/LZGDRS +endorsement/MS +endorser/M +endoscope/MS +endoscopic +endoscopy/M +endothelial +endothermic +endow/SDLG +endowment/MS +endpoint/SM +endue/DSG +endurable/U +endurance/M +endure/DSBG +endways +enema/SM +enemy/SM +energetic +energetically +energize/ZGDRS +energizer/M +energy/SM +enervate/GNDS +enervation/M +enfeeble/GDSL +enfeeblement/M +enfilade/DSMG +enfold/SGD +enforce/LZGDRS +enforceable/U +enforced/U +enforcement/M +enforcer/M +enfranchise/EGDSL +enfranchisement/EM +engage/EADSG +engagement/EMS +engagingly +engender/SGD +engine/SM +engineer/MDGS +engineering/M +engorge/LGDS +engorgement/M +engram/SM +engrave/ZGJDRS +engraver/M +engraving/M +engross/GLDS +engrossment/M +engulf/SLGD +engulfment/M +enhance/LZGDRS +enhancement/SM +enigma/SM +enigmatic +enigmatically +enjambment/SM +enjoin/SGD +enjoy/GBLSD +enjoyably +enjoyment/SM +enlarge/LZGDRS +enlargeable +enlargement/MS +enlarger/M +enlighten/SGLD +enlightened/U +enlightenment/M +enlist/ADGSL +enlistee/SM +enlistment/AM +enlistments +enliven/SLDG +enlivenment/M +enmesh/DSGL +enmeshment/M +enmity/SM +ennoble/DSGL +ennoblement/M +ennui/M +enormity/SM +enormous/PY +enormousness/M +enough/M +enplane/DSG +enquirer/S +enquiringly +enrage/GDS +enrapture/DSG +enrich/DSLG +enrichment/M +enroll/DLSG +enrollment/MS +ensconce/DSG +ensemble/SM +enshrine/GLDS +enshrinement/M +enshroud/DGS +ensign/MS +ensilage/M +enslave/DSGL +enslavement/M +ensnare/DSLG +ensnarement/M +ensue/DSG +ensure/ZGDRS +ensurer/M +entail/DSGL +entailment/M +entangle/EDSLG +entanglement/EM +entanglements +entente/SM +enter/ASGD +enteric +enteritis/M +enterprise/MGS +enterprising/Y +entertain/ZGDRSL +entertainer/M +entertaining/MY +entertainment/MS +enthrall/GDSL +enthrallment/M +enthrone/GDSL +enthronement/SM +enthuse/DSG +enthusiasm/MS +enthusiast/MS +enthusiastic/U +enthusiastically +entice/GDSL +enticement/MS +enticing/Y +entire/Y +entirety/M +entitle/DSGL +entitlement/SM +entity/SM +entomb/DSGL +entombment/M +entomological +entomologist/MS +entomology/M +entourage/SM +entr'acte +entrails/M +entrance/LDSMG +entrancement/M +entrancing/Y +entrant/SM +entrap/LS +entrapment/M +entrapped +entrapping +entreat/GSD +entreating/Y +entreaty/SM +entree/MS +entrench/DSGL +entrenchment/MS +entrepreneur/SM +entrepreneurial +entrepreneurship +entropy/M +entrust/SGD +entry/ASM +entryphone/S +entryway/MS +entwine/DSG +enumerable +enumerate/DSGNX +enumeration/M +enumerator/SM +enunciate/DSGN +enunciation/M +enuresis/M +envelop/SLDRZG +envelope/SM +enveloper/M +envelopment/M +envenom/SDG +enviable/U +enviably +envious/PY +enviousness/M +environment/MS +environmental/Y +environmentalism/M +environmentalist/SM +environs/M +envisage/GDS +envision/DGS +envoy/SM +envy/DSMG +envying/Y +enzymatic +enzyme/SM +eolian +eon/SM +eosinophil/S +eosinophilic +epaulet/SM +epee/MS +ephedrine/M +ephemera/M +ephemeral/Y +epic/MS +epicenter/MS +epicure/SM +epicurean/MS +epidemic/SM +epidemically +epidemiological +epidemiologist/SM +epidemiology/M +epidermal +epidermic +epidermis/MS +epidural/S +epiglottis/MS +epigram/SM +epigrammatic +epigraph/M +epigraphs +epigraphy/M +epilepsy/M +epileptic/SM +epilogue/MS +epinephrine/M +epiphany/SM +episcopacy/M +episcopal +episcopate/M +episode/SM +episodic +episodically +epistemic +epistemological +epistemology +epistle/SM +epistolary +epitaph/M +epitaphs +epithelial +epithelium/M +epithet/SM +epitome/SM +epitomize/GDS +epoch/M +epochal +epochs +eponymous +epoxy/DSMG +epsilon/SM +equability/M +equable +equably +equal/SMDYG +equality/IM +equalization/M +equalize/ZGDRS +equalizer/M +equanimity/M +equate/DSGNBX +equation/M +equator/SM +equatorial +equerry/SM +equestrian/SM +equestrianism/M +equestrienne/SM +equidistant/Y +equilateral/SM +equilibrium/EM +equine/SM +equinoctial +equinox/MS +equip/AS +equipage/MS +equipment/M +equipoise/M +equipped/UA +equipping/A +equitable/I +equitably/I +equitation/M +equity/ISM +equiv +equivalence/MS +equivalency/SM +equivalent/MYS +equivocal/UY +equivocalness/M +equivocate/GNXDS +equivocation/M +equivocator/SM +er/C +era/SM +eradicable/I +eradicate/DSGN +eradication/M +eradicator/MS +erase/DRSBZG +eraser/M +erasure/SM +erbium/M +ere +erect/PSGDY +erectile +erection/SM +erectness/M +erector/MS +erelong +eremite/MS +erg/SM +ergo +ergonomic/S +ergonomically +ergonomics/M +ergosterol/M +ergot/M +ermine/SM +erode/DSG +erodible +erogenous +erosion/M +erosive +erotic/S +erotica/M +erotically +eroticism/M +err/GSD +errand/SM +errant/I +errata/SM +erratic +erratically +erratum/M +erroneous/Y +error/SM +ersatz/MS +erst +erstwhile +eruct/SDG +eructation/SM +erudite/YN +erudition/M +erupt/SDGV +eruption/MS +erysipelas/M +erythrocyte/SM +erythromycin +escalate/CDSGN +escalation/CM +escalations +escalator/MS +escallop/SGMD +escalope/S +escapade/MS +escape/LMGDS +escapee/MS +escapement/SM +escapism/M +escapist/MS +escapologist/S +escapology +escargot/MS +escarole/MS +escarpment/MS +eschatological +eschatology +eschew/SDG +escort/SMDG +escritoire/MS +escrow/SM +escudo/SM +escutcheon/SM +esophageal +esophagi +esophagus/M +esoteric +esoterically +esp +espadrille/MS +espalier/MDSG +especial/Y +espionage/M +esplanade/MS +espousal/M +espouse/GDS +espresso/MS +esprit/M +espy/DSG +esquire/SM +essay/SMDRZG +essayer/M +essayist/SM +essence/SM +essential/IMS +essentially +establish/AESDGL +establishment/AEM +establishments +estate/SM +esteem/ESMDG +ester/SM +estimable/I +estimate/MGNDSX +estimation/M +estimator/SM +estoppel +estrange/LDSG +estrangement/MS +estrogen/M +estrous +estrus/MS +estuary/SM +eta/SM +etc +etch/DRSZGJ +etcher/M +etching/M +eternal/YP +eternalness/M +eternity/SM +ethane/M +ethanol/M +ether/M +ethereal/Y +ethic/SM +ethical/UY +ethics/M +ethnic/SM +ethnically +ethnicity/M +ethnocentric +ethnocentrism/M +ethnographer/S +ethnographic +ethnographically +ethnography +ethnological/Y +ethnologist/SM +ethnology/M +ethological +ethologist/MS +ethology/M +ethos/M +ethyl/M +ethylene/M +etiolated +etiologic +etiological +etiology/SM +etiquette/M +etude/SM +etymological/Y +etymologist/SM +etymology/SM +eucalypti +eucalyptus/MS +euchre/DSMG +euclidean +eugenic/S +eugenically +eugenicist/MS +eugenics/M +eulogist/MS +eulogistic +eulogize/ZGDRS +eulogizer/M +eulogy/SM +eunuch/M +eunuchs +euphemism/SM +euphemistic +euphemistically +euphonious/Y +euphony/M +euphoria/M +euphoric +euphorically +eureka +euro/MS +europium/M +eutectic +euthanasia/M +euthanize/DSG +euthenics/M +evacuate/XDSGN +evacuation/M +evacuee/MS +evade/DRSZG +evader/M +evaluate/AGNVDSX +evaluation/AM +evanescence/M +evanescent +evangelic +evangelical/SMY +evangelicalism/M +evangelism/M +evangelist/MS +evangelistic +evangelize/GDS +evaporate/GNDS +evaporation/M +evaporator/SM +evasion/SM +evasive/YP +evasiveness/M +eve/ASM +even/MDRYTGSJP +evenhanded/Y +evening/M +evenness/UM +evensong/M +event/SM +eventful/UY +eventfulness/M +eventide/M +eventual/Y +eventuality/SM +eventuate/GDS +ever +everglade/SM +evergreen/SM +everlasting/MYS +evermore +every +everybody/M +everyday +everyone/M +everyplace +everything/M +everywhere +evict/SDG +eviction/MS +evidence/MGDS +evident/Y +evil/MRYTSP +evildoer/SM +evildoing/M +eviller +evillest +evilness/M +evince/DSG +eviscerate/DSGN +evisceration/M +evocation/MS +evocative/Y +evoke/DSG +evolution/M +evolutionary +evolutionist/SM +evolve/DSG +ewe/RSMZ +ewer/M +ex/MS +exabyte/MS +exacerbate/GNDS +exacerbation/M +exact/SPDRYTG +exacting/Y +exaction/M +exactitude/M +exactness/IM +exaggerate/XDSGN +exaggerated/Y +exaggeration/M +exaggerator/MS +exalt/SDG +exaltation/M +exam/MS +examination/AMS +examine/AGDS +examiner/MS +example/MGDS +exampled/U +exasperate/DSGN +exasperated/Y +exasperating/Y +exasperation/M +excavate/GNDSX +excavation/M +excavator/SM +exceed/GSD +exceeding/Y +excel/S +excelled +excellence/M +excellency/SM +excellent/Y +excelling +excelsior/M +except/GSD +exception/BSM +exceptionable/U +exceptional/UY +exceptionalism +excerpt/MDGS +excess/VMS +excessive/Y +exchange/DSMG +exchangeable +exchequer/SM +excise/XDSMGN +excision/M +excitability/M +excitably +excitation/M +excite/BDRSLZG +excited/Y +excitement/SM +exciter/M +exciting/Y +excl +exclaim/DGS +exclamation/SM +exclamatory +exclude/GDS +exclusion/MS +exclusionary +exclusive/PMYS +exclusiveness/M +exclusivity/M +excommunicate/GNDSX +excommunication/M +excoriate/DSGNX +excoriation/M +excrement/M +excremental +excrescence/MS +excrescent +excreta/M +excrete/XGNDS +excretion/M +excretory +excruciating/Y +exculpate/DSGN +exculpation/M +exculpatory +excursion/MS +excursionist/MS +excursive/YP +excursiveness/M +excusable/I +excusably/I +excuse/DSBMG +excused/U +exec/MS +execrable +execrably +execrate/DSGN +execration/M +execute/BXGNVDS +execution/ZMR +executioner/M +executive/SM +executor/MS +executrices +executrix/M +exegeses +exegesis/M +exegetic +exegetical +exemplar/SM +exemplary +exemplification/M +exemplify/GDSXN +exempt/SGD +exemption/SM +exercise/DRSMZG +exerciser/M +exert/SDG +exertion/MS +exeunt +exfoliate/GNDS +exhalation/MS +exhale/DSG +exhaust/GVMDS +exhaustible/I +exhaustion/M +exhaustive/YP +exhaustiveness/M +exhibit/GMDS +exhibition/MS +exhibitionism/M +exhibitionist/MS +exhibitor/SM +exhilarate/DSGN +exhilaration/M +exhort/SDG +exhortation/MS +exhumation/MS +exhume/DSG +exigence/MS +exigency/SM +exigent +exiguity/M +exiguous +exile/DSMG +exist/SDG +existence/MS +existent +existential/Y +existentialism/M +existentialist/MS +exit/MDGS +exobiology/M +exodus/MS +exogenous +exon/MS +exonerate/GNDS +exoneration/M +exoplanet/MS +exorbitance/M +exorbitant/Y +exorcise/DSG +exorcism/SM +exorcist/SM +exoskeleton/SM +exosphere/SM +exothermic +exotic/SM +exotica +exotically +exoticism/M +exp +expand/BGSD +expanse/XMNVS +expansible +expansion/M +expansionary +expansionism/M +expansionist/MS +expansive/YP +expansiveness/M +expat/S +expatiate/GNDS +expatiation/M +expatriate/DSMGN +expatriation/M +expect/GSD +expectancy/M +expectant/Y +expectation/SM +expectorant/SM +expectorate/DSGN +expectoration/M +expedience/IM +expediences +expediencies +expediency/IM +expedient/SMY +expedite/DRSZGNX +expediter/M +expedition/M +expeditionary +expeditious/PY +expeditiousness/M +expel/S +expelled +expelling +expend/GSBD +expendable/SM +expenditure/SM +expense/MS +expensive/IYP +expensiveness/IM +experience/IMD +experiences +experiencing +experiential +experiment/MDRSZG +experimental/Y +experimentation/M +experimenter/M +expert/SPMY +expertise/M +expertness/M +expiate/GNDS +expiation/M +expiatory +expiration/M +expire/DSG +expired/U +expiry/M +explain/ADGS +explainable +explained/U +explanation/MS +explanatory +expletive/MS +explicable/I +explicate/XGNDS +explication/M +explicit/PY +explicitness/M +explode/GDS +exploit/ZGBMDRS +exploitation/M +exploitative +exploited/U +exploiter/M +exploration/MS +exploratory +explore/ZGDRS +explored/U +explorer/M +explosion/SM +explosive/SPMY +explosiveness/M +expo/MS +exponent/MS +exponential/Y +exponentiation +export/BSZGMDR +exportation/M +exporter/M +expose/DSMG +exposed/U +exposition/SM +expositor/SM +expository +expostulate/GNXDS +expostulation/M +exposure/MS +expound/ZGDRS +expounder/M +express/GVMDSY +expressed/U +expressible/I +expression/SM +expressionism/M +expressionist/SM +expressionistic +expressionless/Y +expressive/PY +expressiveness/M +expressway/SM +expropriate/GNXDS +expropriation/M +expropriator/SM +expulsion/MS +expunge/GDS +expurgate/DSGNX +expurgated/U +expurgation/M +exquisite/YP +exquisiteness/M +ext +extant +extemporaneous/PY +extemporaneousness/M +extempore +extemporization/M +extemporize/GDS +extend/SZGDRB +extender/M +extensible +extension/SM +extensional +extensive/YP +extensiveness/M +extent/SM +extenuate/DSGN +extenuation/M +exterior/MS +exterminate/DSXGN +extermination/M +exterminator/MS +external/MYS +externalization/SM +externalize/DSG +extinct/GDS +extinction/MS +extinguish/ZGBDRS +extinguishable/I +extinguisher/M +extirpate/GNDS +extirpation/M +extol/S +extolled +extolling +extort/SGD +extortion/MRZ +extortionate/Y +extortioner/M +extortionist/MS +extra/SM +extracellular +extract/MDGS +extraction/SM +extractor/MS +extracurricular +extradite/GNBXDS +extradition/M +extrajudicial +extralegal +extramarital +extramural +extraneous/Y +extraordinaire +extraordinarily +extraordinary +extrapolate/XGNDS +extrapolation/M +extrasensory +extraterrestrial/MS +extraterritorial +extraterritoriality/M +extravagance/MS +extravagant/Y +extravaganza/MS +extravehicular +extreme/PMYTRS +extremeness/M +extremism/M +extremist/MS +extremity/SM +extricable/I +extricate/GNDS +extrication/M +extrinsic +extrinsically +extroversion/M +extrovert/SMD +extrude/GDS +extrusion/SM +extrusive +exuberance/M +exuberant/Y +exudation/M +exude/DSG +exult/SDG +exultant/Y +exultation/M +exurb/SM +exurban +exurbanite/SM +exurbia/M +eye/DSM +eyeball/GMDS +eyebrow/SM +eyedropper/SM +eyeful/SM +eyeglass/MS +eyeing +eyelash/MS +eyeless +eyelet/SM +eyelid/SM +eyeliner/MS +eyeopener/MS +eyeopening +eyepiece/MS +eyesight/M +eyesore/MS +eyestrain/M +eyeteeth +eyetooth/M +eyewash/M +eyewitness/MS +f/CIAVTR +fa/M +fab +fable/DSM +fabric/SM +fabricate/DSGNX +fabrication/M +fabricator/SM +fabulous/Y +facade/SM +face's +face/ACSDG +facecloth/M +facecloths +faceless +facet/SMDG +facetious/YP +facetiousness/M +facial/SMY +facile/Y +facilitate/GNDS +facilitation/M +facilitator/MS +facility/SM +facing/SM +facsimile/DSM +facsimileing +fact/MS +faction/SM +factional +factionalism/M +factious +factitious +factoid/SM +factor's +factor/ASDG +factorial/MS +factorization +factorize/GDS +factory/SM +factotum/SM +factual/Y +faculty/SM +fad/GSMD +faddish/P +faddist/MS +faddy/P +fade/MS +fading/U +faerie/SM +faff/DGS +fag/SM +fagged +fagging +faggot/SM +fagot/SMG +faience/M +fail/MDGJS +failing/M +faille/M +failure/SM +fain/RT +faint/SMDRYTGP +fainthearted +faintness/M +fair/MRYTGJPS +fairground/MS +fairing/M +fairness/UM +fairway/SM +fairy/SM +fairyland/SM +faith/M +faithful's +faithful/UPY +faithfulness/UM +faithfuls +faithless/PY +faithlessness/M +faiths +fajita/SM +fajitas/M +fake/MZGDRS +faker/M +fakir/SM +falcon/SMRZ +falconer/M +falconry/M +fall/MNGS +fallacious/Y +fallacy/SM +fallback +fallibility/IM +fallible/P +fallibleness/M +fallibly/I +falloff/SM +fallout/M +fallow/SMDG +false/PRYT +falsehood/SM +falseness/M +falsetto/SM +falsie/SM +falsifiable +falsification/M +falsifier/M +falsify/DRSZGNX +falsity/SM +falter/GSJMD +faltering/Y +fame's +fame/D +familial +familiar/MYS +familiarity/UM +familiarization/M +familiarize/GDS +family/SM +famine/SM +famish/DSG +famous/IY +fan/SM +fanatic/SM +fanatical/Y +fanaticism/M +fanboy/SM +fanciable +fancier/M +fanciful/YP +fancifulness/M +fancily +fanciness/M +fancy/DRSMZTGP +fancywork/M +fandango/MS +fandom +fanfare/SM +fang/MDS +fanlight/SM +fanned +fanning +fanny/SM +fantail/MS +fantasia/SM +fantasist/S +fantasize/GDS +fantastic +fantastical/Y +fantasy/DSMG +fanzine/MS +far +farad/SM +faradize/DG +faraway +farce/SM +farcical/Y +fare/MGDS +farewell/SM +farina/M +farinaceous +farm/MDRZGSJ +farmer/M +farmhand/SM +farmhouse/SM +farming/M +farmland/MS +farmstead/MS +farmyard/MS +faro/M +farrago/M +farragoes +farrier/MS +farrow/SMDG +farseeing +farsighted/P +farsightedness/M +fart/MDGS +farther +farthermost +farthest +farthing/SM +fascia/SM +fascicle/SM +fascinate/GNDSX +fascinating/Y +fascination/M +fascism/M +fascist/MS +fascistic +fashion/ZGBMDRS +fashionable/U +fashionably/U +fashioner/M +fashionista/MS +fast/MDRTGSP +fastback/SM +fastball/SM +fasten/UAGDS +fastener/SM +fastening/MS +fastidious/PY +fastidiousness/M +fastness/MS +fat/GSPMD +fatal/Y +fatalism/M +fatalist/SM +fatalistic +fatalistically +fatality/SM +fatback/M +fate/MS +fateful/YP +fatefulness/M +fathead/MDS +father/SGMDY +fatherhood/M +fatherland/MS +fatherless +fathom/SMDGB +fathomable/U +fathomless +fatigue/MDSG +fatigues/M +fatness/M +fatso/S +fatten/SDG +fatter +fattest +fattiness/M +fatty/RSMTP +fatuity/M +fatuous/YP +fatuousness/M +fatwa/SM +faucet/SM +fault/CSMDG +faultfinder/SM +faultfinding/M +faultily +faultiness/M +faultless/PY +faultlessness/M +faulty/PRT +faun/MS +fauna/SM +fauvism/M +fauvist/SM +faux +fave/S +favor/ESMDG +favorable/U +favorably/U +favorite/SM +favoritism/M +fawn/MDRZGS +fawner/M +fax/GMDS +fay/TSMR +faze/GDS +fazed/U +fealty/M +fear/MDGS +fearful/YP +fearfulness/M +fearless/PY +fearlessness/M +fearsome +feasibility/M +feasible/IU +feasibly +feast/SMDRZG +feaster/M +feat/MS +feather/SGMD +featherbedding/M +featherbrained +featherless +featherweight/MS +feathery/TR +feature/DSMG +featureless +febrile +fecal +feces/M +feckless/PY +fecund +fecundate/GNDS +fecundation/M +fecundity/M +fed/SM +federal/SMY +federalism/M +federalist/MS +federalization/M +federalize/GDS +federate/FXDSGN +federation/FM +fedora/SM +fee/SM +feeble/RTP +feebleness/M +feebly +feed/MRZGSJ +feedback/M +feedbag/SM +feeder/M +feeding/M +feedlot/SM +feel/MRZGSJ +feeler/M +feelgood +feeling/MY +feet +feign/SDG +feigned/U +feint/SMDG +feisty/TR +feldspar/M +felicitate/GNXDS +felicitation/M +felicitous/Y +felicity/ISM +feline/SM +fell/MDRZTGS +fella/S +fellatio/M +fellow/SM +fellowman/M +fellowmen +fellowship/MS +felon/SM +felonious +felony/SM +felt/MDGS +fem +female/PSM +femaleness/M +feminine/SMY +femininity/M +feminism/M +feminist/SM +feminize/DSG +femoral +femur/SM +fen/SM +fence/DRSMZG +fencer/M +fencing/M +fend/CDRZGS +fender/CM +fenestration/M +fennel/M +feral +ferment/FCMS +fermentation/M +fermented +fermenting +fermium/M +fern/MS +ferny/RT +ferocious/PY +ferociousness/M +ferocity/M +ferret/GSMD +ferric +ferromagnetic +ferrous +ferrule/MS +ferry/DSMG +ferryboat/SM +ferryman/M +ferrymen +fertile/I +fertility/IM +fertilization/M +fertilize/DRSZG +fertilized/U +fertilizer/M +ferule/SM +fervency/M +fervent/Y +fervid/Y +fervor/M +fess/FKGSD +fest/MRZVS +festal +fester/GMD +festival/SM +festive/YP +festiveness/M +festivity/SM +festoon/GMDS +feta/M +fetal +fetch/DRSZG +fetcher/M +fetching/Y +fete/MGDS +fetid/P +fetidness/M +fetish/MS +fetishism/M +fetishist/SM +fetishistic +fetlock/MS +fetter's +fetter/USGD +fettle/M +fettuccine/M +fetus/MS +feud/MDGS +feudal +feudalism/M +feudalistic +fever/SMD +feverish/YP +feverishness/M +few/TPMR +fewness/M +fey +fez/M +fezzes +ff +fiance/CM +fiancee/MS +fiances +fiasco/M +fiascoes +fiat/MS +fib/ZSMR +fibbed +fibber/SM +fibbing +fiber/M +fiberboard/M +fiberfill/M +fiberglass/M +fibril/SM +fibrillate/GNDS +fibrillation/M +fibrin/M +fibroid +fibrosis/M +fibrous +fibula/M +fibulae +fibular +fiche/SM +fichu/SM +fickle/RPT +fickleness/M +fiction/MS +fictional/Y +fictionalization/SM +fictionalize/DSG +fictitious/Y +fictive +ficus/M +fiddle/DRSMZG +fiddler/M +fiddlesticks +fiddly/TR +fidelity/IM +fidget/SGMD +fidgety +fiduciary/SM +fie +fief/MS +fiefdom/MS +field/ISMRZ +fielded +fielder/IM +fielding +fieldsman +fieldsmen +fieldwork/MRZ +fieldworker/M +fiend/SM +fiendish/Y +fierce/PRYT +fierceness/M +fieriness/M +fiery/RPT +fiesta/SM +fife/MZRS +fifer/M +fifteen/MHS +fifteenth/M +fifteenths +fifth/MY +fifths +fiftieth/M +fiftieths +fifty/SMH +fig/SLM +fight/SMRZG +fightback +fighter/IMS +fighting/IM +figment/MS +figuration/FM +figurative/Y +figure's +figure/FEGSD +figurehead/SM +figurine/MS +filament/MS +filamentous +filbert/MS +filch/DSG +file's/KC +file/CAKGDS +filename/S +filer/CSM +filet +filial +filibuster/MDRSZG +filibusterer/M +filigree/DSM +filigreeing +filing's +filings +fill's +fill/AIDGS +filled/U +filler/MS +fillet/MDGS +filling/SM +fillip/MDGS +filly/SM +film/MDGS +filminess/M +filmmaker/SM +filmstrip/MS +filmy/TPR +filo +filter/MDRBSZG +filtered/U +filterer/M +filth/M +filthily +filthiness/M +filthy/RPT +filtrate's +filtrate/IGNDS +filtration/IM +fin/SMR +finagle/DRSZG +finagler/M +final/SMY +finale/MS +finalist/SM +finality/M +finalization/M +finalize/DSG +finance's +finance/ADSG +financial/Y +financier/MS +financing/M +finch/MS +find/JMRZGS +finder/M +finding/M +findings/M +fine's/F +fine/CAFTGDS +finely +fineness/M +finery/AM +finespun +finesse/DSMG +finger/MDGSJ +fingerboard/SM +fingering/M +fingerling/SM +fingermark/S +fingernail/SM +fingerprint/SGMD +fingertip/MS +finial/MS +finical +finickiness/M +finicky/RPT +finis/MS +finish's +finish/ADSG +finished/U +finisher/MS +finite/IY +fink/MDGS +finned +finny +fir/ZGSJMDRH +fire/MS +firearm/SM +fireball/MS +firebomb/MDSJG +firebox/MS +firebrand/SM +firebreak/SM +firebrick/SM +firebug/SM +firecracker/SM +firedamp/M +firefight/MRSZG +firefighter/M +firefighting/M +firefly/SM +fireguard/S +firehouse/SM +firelight/ZMR +fireman/M +firemen +fireplace/SM +fireplug/MS +firepower/M +fireproof/DSG +firer/M +firescreen/S +fireside/MS +firestorm/MS +firetrap/MS +firetruck/MS +firewall/MS +firewater/M +firewood/M +firework/SM +firm/MDRYPTGS +firmament/SM +firmness/M +firmware/M +first/SMY +firstborn/SM +firsthand +firth/M +firths +fiscal/MYS +fish/MDRSZG +fishbowl/SM +fishcake/SM +fisher/M +fisherman/M +fishermen +fishery/SM +fishhook/SM +fishily +fishiness/M +fishing/M +fishmonger/MS +fishnet/SM +fishpond/MS +fishtail/DGS +fishwife/M +fishwives +fishy/TRP +fissile +fission/BM +fissure/SM +fist/MS +fistfight/MS +fistful/SM +fisticuffs/M +fistula/SM +fistulous/M +fit/KAMS +fitful/YP +fitfulness/M +fitly +fitment/S +fitness/UM +fitted/UA +fitter/MS +fittest +fitting/SMY +five/MZRS +fix/ZGBJMDRS +fixate/GNVDSX +fixation/M +fixative/MS +fixed/Y +fixer/M +fixings/M +fixity/M +fixture/MS +fizz/MDSG +fizzle/DSMG +fizzy/RT +fjord/SM +fl/JDG +flab/M +flabbergast/SGD +flabbily +flabbiness/M +flabby/RPT +flaccid/Y +flaccidity/M +flack/SM +flag/MS +flagella +flagellant/S +flagellate/GNDS +flagellation/M +flagellum/M +flagged +flagging/U +flagman/M +flagmen +flagon/MS +flagpole/SM +flagrance/M +flagrancy/M +flagrant/Y +flagship/SM +flagstaff/MS +flagstone/MS +flail/SGMD +flair/SM +flak/M +flake/DSMG +flakiness/M +flaky/TRP +flamage +flambe/MS +flambeed +flambeing +flamboyance/M +flamboyancy/M +flamboyant/Y +flame/DRSJMZG +flamenco/MS +flameproof/DGS +flamethrower/SM +flamingo/MS +flammability/IM +flammable/SM +flan/MS +flange/MS +flank/SZGMDR +flanker/M +flannel/SGMD +flannelette/M +flap/MS +flapjack/MS +flapped +flapper/SM +flapping +flare/DSMG +flareup/SM +flash/ZTGMDRS +flashback/SM +flashbulb/SM +flashcard/SM +flashcube/SM +flasher/M +flashgun/SM +flashily +flashiness/M +flashing/M +flashlight/MS +flashy/RTP +flask/SM +flat/MYPS +flatbed/SM +flatboat/SM +flatbread +flatcar/SM +flatfeet +flatfish/MS +flatfoot/SMD +flatiron/SM +flatland/M +flatlet/S +flatmate/S +flatness/M +flatted +flatten/SDG +flatter/SDRZG +flatterer/M +flattering/Y +flattery/M +flattest +flatting +flattish +flattop/SM +flatulence/M +flatulent +flatus/M +flatware/M +flatworm/SM +flaunt/MDSG +flaunting/Y +flavor/MDSGJ +flavored/U +flavorful +flavoring/M +flavorless +flavorsome +flaw/MDGS +flawless/PY +flawlessness/M +flax/MN +flay/DGS +flea/MS +fleabag/SM +fleabite/S +fleapit/S +fleck/SGMD +fledged/U +fledgling/MS +flee/S +fleece/MZGDRS +fleecer/M +fleeciness/M +fleecy/RTP +fleeing +fleet/STGMDRYP +fleetingly/M +fleetingness/M +fleetness/M +flesh/GMDSY +fleshly/TR +fleshpot/MS +fleshy/RT +flew +flex/AMS +flexed +flexibility/IM +flexible/I +flexibly/I +flexing +flexion +flextime/M +flibbertigibbet/SM +flick/SZGMDR +flicker/GMD +flier/M +flight/MS +flightiness/M +flightless +flighty/PTR +flimflam/SM +flimflammed +flimflamming +flimsily +flimsiness/M +flimsy/TRP +flinch/GMDS +fling/GM +flint/SM +flintlock/SM +flinty/TR +flip/MS +flippancy/M +flippant/Y +flipped +flipper/MS +flippest +flipping +flippy/S +flirt/SGMD +flirtation/MS +flirtatious/YP +flirtatiousness/M +flirty +flit/MS +flitted +flitting +float/SMDRZG +floater/M +flock/SMDG +flocking/M +floe/MS +flog/S +flogged +flogger/SM +flogging/MS +flood/SMDRG +floodgate/MS +floodlight/MDSG +floodlit +floodplain/MS +floodwater/MS +floor/SMDG +floorboard/MS +flooring/M +floorwalker/SM +floozy/SM +flop/MS +flophouse/MS +flopped +floppily +floppiness/M +flopping +floppy/PRSMT +flora/SM +floral +florescence/IM +florescent/I +floret/SM +florid/PY +floridness/M +florin/SM +florist/SM +floss/MDSG +flossy/RT +flotation/SM +flotilla/MS +flotsam/M +flounce/DSMG +flouncy +flounder/MDSG +flour/SMDG +flourish/GMDS +floury +flout/SMDRZG +flouter/M +flow/MDGS +flowchart/SM +flower's +flower/CSDG +flowerbed/MS +floweriness/M +flowering/S +flowerless +flowerpot/MS +flowery/PTR +flown +flt +flu/M +flub/MS +flubbed +flubbing +fluctuate/GNDSX +fluctuation/M +flue/MS +fluency/M +fluent/Y +fluff/SMDG +fluffiness/M +fluffy/RPT +fluid/SMY +fluidity/M +fluke/SM +fluky/RT +flume/SM +flummox/DSG +flung +flunk/SMDG +flunky/SM +fluoresce/DSG +fluorescence/M +fluorescent +fluoridate/GNDS +fluoridation/M +fluoride/SM +fluorine/M +fluorite/M +fluorocarbon/MS +fluoroscope/SM +fluoroscopic +flurry/GDSM +flush/MDRSTG +fluster/MDSG +flute/DSMG +fluting/M +flutist/MS +flutter/MDSG +fluttery +fluvial +flux/IMS +fluxed +fluxing +fly/ZTGBDRSM +flyaway +flyblown +flyby/M +flybys +flycatcher/MS +flying/M +flyleaf/M +flyleaves +flyover/MS +flypaper/SM +flypast/S +flysheet/S +flyspeck/GMDS +flyswatter/MS +flytrap/S +flyway/SM +flyweight/SM +flywheel/MS +foal/MDGS +foam/MDGS +foaminess/M +foamy/RTP +fob/SM +fobbed +fobbing +focal/Y +focus's +focus/ADSG +focused/U +fodder/SM +foe/SM +fog's +fog/CS +fogbound +fogged/C +foggily +fogginess/M +fogging/C +foggy/RTP +foghorn/MS +fogy/SM +fogyish +foible/SM +foil/MDGS +foist/SDG +fol +fold's +fold/AUSGD +foldaway +folder/SM +foldout/MS +foliage/M +folic +folio/SM +folk/MS +folklore/M +folkloric +folklorist/MS +folksiness/M +folksinger/SM +folksinging/M +folksy/PTR +folktale/MS +folkway/MS +foll +follicle/MS +follow/SDRZGJ +follower/M +following/M +followup/S +folly/SM +foment/SGD +fomentation/M +fond/RYTP +fondant/MS +fondle/DSG +fondness/M +fondue/SM +font/MS +fontanel/MS +foo +foobar +food/MS +foodie/SM +foodstuff/SM +fool/MDGS +foolery/SM +foolhardily +foolhardiness/M +foolhardy/TPR +foolish/YP +foolishness/M +foolproof +foolscap/M +foot/MDRZGSJ +footage/M +football/MRZGS +footballer/M +footbridge/SM +footfall/MS +foothill/MS +foothold/MS +footie +footing/M +footless +footlights/M +footling/MS +footlocker/SM +footloose +footman/M +footmen +footnote/MGDS +footpath/M +footpaths +footplate/S +footprint/SM +footrace/MS +footrest/MS +footsie/SM +footslogging +footsore +footstep/MS +footstool/SM +footwear/M +footwork/M +footy +fop/SM +foppery/M +foppish/P +foppishness/M +for/H +fora +forage/DRSMZG +forager/M +foray/SMDG +forbade +forbear/SMG +forbearance/M +forbid/S +forbidden +forbidding/YS +forbore +forborne +force/DSMG +forced/U +forceful/PY +forcefulness/M +forceps/M +forcible +forcibly +ford/MDGSB +fore/MS +forearm/GSMD +forebear/MS +forebode/GJDS +foreboding/M +forecast/MRZGS +forecaster/M +forecastle/MS +foreclose/DSG +foreclosure/MS +forecourt/SM +foredoom/DGS +forefather/MS +forefeet +forefinger/SM +forefoot/M +forefront/SM +forego/G +foregoes +foregone +foreground/GMDS +forehand/MS +forehead/MS +foreign/ZRP +foreigner/M +foreignness/M +foreknew +foreknow/GS +foreknowledge/M +foreknown +foreleg/SM +forelimb/MS +forelock/MS +foreman/M +foremast/MS +foremen +foremost +forename/MDS +forenoon/MS +forensic/MS +forensically +forensics/M +foreordain/GSD +forepart/MS +foreperson/SM +foreplay/M +forequarter/MS +forerunner/MS +foresail/MS +foresaw +foresee/RSBZ +foreseeable/U +foreseeing +foreseen/U +foreseer/M +foreshadow/GDS +foreshore/S +foreshorten/DSG +foresight/MD +foresightedness/M +foreskin/MS +forest's +forest/ACGDS +forestall/SGD +forestation/ACM +forester/MS +forestland/M +forestry/M +foretaste/DSMG +foretell/GS +forethought/M +foretold +forever/M +forevermore +forewarn/DSG +forewent +forewoman/M +forewomen +foreword/MS +forfeit/GSMD +forfeiture/SM +forgather/SDG +forgave +forge/DRSMZGVJ +forger/M +forgery/SM +forget/S +forgetful/YP +forgetfulness/M +forgettable/U +forgetting +forging/M +forgivable/U +forgive/BRSZGP +forgiven +forgiveness/M +forgiver/M +forgiving/U +forgo/RZG +forgoer/M +forgoes +forgone +forgot +forgotten/U +fork/MDGS +forkful/SM +forklift/MS +forlorn/Y +form's +form/CAIFDGS +formal/SMY +formaldehyde/M +formalin +formalism/M +formalist/MS +formalities +formality/IM +formalization/M +formalize/GDS +format/SMV +formation/CFASM +formatted/A +formatting/M +formed/U +former/FIAM +formerly +formfitting +formic +formidable +formidably +formless/PY +formlessness/M +formula/MS +formulaic +formulate/ADSGNX +formulated/U +formulation/AM +formulator/SM +fornicate/GNDS +fornication/M +fornicator/MS +forsake/GS +forsaken +forsook +forsooth +forswear/SG +forswore +forsworn +forsythia/SM +fort/MS +forte/SM +forthcoming/M +forthright/YP +forthrightness/M +forthwith +fortieth/M +fortieths +fortification/M +fortified/U +fortifier/M +fortify/DRSNZGX +fortissimo +fortitude/M +fortnight/MYS +fortress/MS +fortuitous/YP +fortuitousness/M +fortuity/M +fortunate/UY +fortune/MS +fortuneteller/SM +fortunetelling/M +forty/SMH +forum/SM +forward/MDRYZTGSP +forwarder/M +forwardness/M +forwent +fossa +fossil/SM +fossilization/M +fossilize/GDS +foster/GSD +fought +foul/MDRYTGSP +foulard/M +foulmouthed +foulness/M +found/FSDG +foundation/SM +founded/U +founder/GMDS +foundling/SM +foundry/SM +fount/SM +fountain/SM +fountainhead/MS +four/MHS +fourfold +fourposter/SM +fourscore/M +foursome/SM +foursquare +fourteen/SMH +fourteenth/M +fourteenths +fourth/MY +fourths +fowl/MDGS +fox/GMDS +foxfire/M +foxglove/SM +foxhole/MS +foxhound/SM +foxhunt/GS +foxily +foxiness/M +foxtrot/MS +foxtrotted +foxtrotting +foxy/RTP +foyer/SM +fps +fr +fracas/MS +frack/SDG +fractal/SM +fraction/ISM +fractional/Y +fractious/YP +fractiousness/M +fracture/MGDS +frag/S +fragile/RT +fragility/M +fragment/GMDS +fragmentary/M +fragmentation/M +fragrance/MS +fragrant/Y +frail/RYTP +frailness/M +frailty/SM +frame/DRSMZG +framed/U +framer/M +framework/SM +franc/SM +franchise's +franchise/EDSG +franchisee/SM +franchiser/SM +francium/M +francophone +frangibility/M +frangible +frank/SMDRYTGP +frankfurter/MS +frankincense/M +frankness/M +frantic +frantically +frappe/SM +frat/MS +fraternal/Y +fraternity/FSM +fraternization/M +fraternize/ZGDRS +fraternizer/M +fratricidal +fratricide/MS +fraud's +fraud/S +fraudster/S +fraudulence/M +fraudulent/Y +fraught +fray's +fray/CDGS +frazzle/MGDS +freak/SMDG +freakish/YP +freakishness/M +freaky/RT +freckle/DSMG +freckly +free/YTDRS +freebase/MGDS +freebie/SM +freebooter/SM +freeborn +freedman/M +freedmen +freedom/SM +freehand +freehold/ZMRS +freeholder/M +freeing +freelance/DRSMZG +freelancer/M +freeload/SDRZG +freeloader/M +freeman/M +freemasonry +freemen +freephone +freesia/S +freestanding +freestone/SM +freestyle/SM +freethinker/SM +freethinking/M +freeware/M +freeway/MS +freewheel/DGS +freewill +freezable +freeze's +freeze/UAGS +freezer/MS +freezing's +freight/MDRZGS +freighter/M +french +frenetic +frenetically +frenzied/Y +frenzy/DSM +freq +frequencies +frequency/IM +frequent/DRYSZTG +frequented/U +frequenter/M +fresco/M +frescoes +fresh/PNRYXZT +freshen/ZGDR +freshener/M +freshet/MS +freshman/M +freshmen +freshness/M +freshwater/M +fret/MS +fretful/YP +fretfulness/M +fretsaw/MS +fretted +fretting +fretwork/M +friable +friar/SM +friary/SM +fricassee/DSM +fricasseeing +fricative/SM +friction/SM +frictional +fridge/SM +friedcake/MS +friend's +friend/UGSDY +friendless +friendlies +friendliness/UM +friendly's +friendly/UPTR +friendship/MS +frieze/SM +frig/S +frigate/MS +frigged +frigging +fright/SXGMDN +frighten/DG +frightening/Y +frightful/PY +frightfulness/M +frigid/YP +frigidity/M +frigidness/M +frill/SMD +frilly/TR +fringe's +fringe/IDSG +frippery/SM +frisk/SDG +friskily +friskiness/M +frisky/TRP +frisson/S +fritter/MDSG +fritz/M +frivolity/SM +frivolous/PY +frivolousness/M +frizz/MDSYG +frizzle/MGDS +frizzy/TR +fro +frock's +frock/CUS +frog/MS +frogging/S +frogman/M +frogmarch/GDS +frogmen +frogspawn +frolic/SM +frolicked +frolicker/SM +frolicking +frolicsome +from +frond/SM +front's +front/FSDG +frontage/MS +frontal/Y +frontbench/ZRS +frontier/MS +frontiersman/M +frontiersmen +frontierswoman +frontierswomen +frontispiece/MS +frontward/S +frosh/M +frost's +frost/CSDG +frostbit +frostbite/MGS +frostbitten +frostily +frostiness/M +frosting/SM +frosty/TPR +froth/MDG +frothiness/M +froths +frothy/TPR +froufrou/M +froward/P +frowardness/M +frown/SMDG +frowzily +frowziness/M +frowzy/TPR +froze/AU +frozen/UA +fructify/DSG +fructose/M +frugal/Y +frugality/M +fruit/SMDG +fruitcake/MS +fruiterer/S +fruitful/YP +fruitfulness/M +fruitiness/M +fruition/M +fruitless/PY +fruitlessness/M +fruity/TPR +frump/SM +frumpish +frumpy/TR +frustrate/GNXDS +frustrating/Y +frustration/M +frustum/MS +fry/GDSM +fryer/SM +ft +ftp/ZGS +fuchsia/MS +fuck/SMGDRZ! +fucker/M! +fuckhead/S! +fuddle/DSMG +fudge/DSMG +fuehrer/MS +fuel's +fuel/ADGS +fug +fugal +fuggy +fugitive/MS +fugue/SM +fuhrer/SM +fulcrum/MS +fulfill/LDGS +fulfilled/U +fulfilling/U +fulfillment/M +full/MDRZTGSP +fullback/MS +fuller/M +fullness/M +fully +fulminate/DSXGN +fulmination/M +fulsome/PY +fulsomeness/M +fum/S +fumble/DRSMZG +fumbler/M +fumbling/Y +fume/MGDS +fumigant/MS +fumigate/GNDS +fumigation/M +fumigator/SM +fumy/RT +fun/M +function/MDGS +functional/Y +functionalism +functionalist/S +functionality/S +functionary/SM +fund/AMDGS +fundamental/SMY +fundamentalism/M +fundamentalist/SM +funded/U +funding/M +fundraiser/MS +fundraising +funeral/MS +funerary +funereal/Y +funfair/S +fungal +fungi +fungible/MS +fungicidal +fungicide/MS +fungoid +fungous +fungus/M +funicular/SM +funk/MDGS +funkiness/M +funky/PRT +funnel/MDGS +funner +funnest +funnily +funniness/M +funny/TPRSM +funnyman/M +funnymen +fur/SM +furbelow/M +furbish/ADSG +furious/Y +furl's +furl/UDGS +furlong/SM +furlough/GMD +furloughs +furn +furnace/SM +furnish/ADSG +furnished/U +furnishings/M +furniture/M +furor/SM +furred +furrier/M +furriness/M +furring/M +furrow/MDSG +furry/ZTRP +further/SGD +furtherance/M +furthermore +furthermost +furthest +furtive/YP +furtiveness/M +fury/SM +furze/M +fuse's/A +fuse/CAIFGDS +fusee/SM +fuselage/SM +fusibility/M +fusible +fusilier/SM +fusillade/MS +fusion/IFKSM +fuss/MDSG +fussbudget/MS +fussily +fussiness/M +fusspot/SM +fussy/TRP +fustian/M +fustiness/M +fusty/TRP +fut +futile/Y +futility/M +futon/SM +future/MS +futurism/M +futurist/MS +futuristic +futurity/SM +futurologist/MS +futurology/M +futz/DSG +fuzz/MDSG +fuzzball/S +fuzzily +fuzziness/M +fuzzy/PTR +fwd +fwy +g/SNXVB +gab/SM +gabardine/SM +gabbed +gabbiness/M +gabbing +gabble/DSMG +gabby/RTP +gaberdine/SM +gabfest/MS +gable/DSM +gad/S +gadabout/SM +gadded +gadder/SM +gadding +gadfly/SM +gadget/SM +gadgetry/M +gadolinium/M +gaff/MDRZGS +gaffe/SM +gaffer/M +gag/SM +gaga +gagged +gagging +gaggle/SM +gaiety/M +gaily +gain's +gain/ADGS +gainer/SM +gainful/Y +gainsaid +gainsay/ZGRS +gainsayer/M +gait/MRZS +gaiter/M +gal/SM +gala/MS +galactic +galaxy/SM +gale's +gale/AS +galena/M +gall/MDGS +gallant/SMY +gallantry/M +gallbladder/MS +galleon/SM +galleria/MS +gallery/SM +galley/SM +gallimaufry/SM +gallium/M +gallivant/GSD +gallon/SM +gallop/SMDG +gallows/M +gallstone/MS +galoot/SM +galore +galosh/MS +galumph/DG +galumphs +galvanic +galvanism/M +galvanization/M +galvanize/DSG +galvanometer/MS +gambit/SM +gamble/DRSMZG +gambler/M +gambling/M +gambol/SMDG +game/MYTGDRSP +gamecock/MS +gamekeeper/MS +gameness/M +gamesmanship/M +gamester/MS +gamete/SM +gametic +gamin/SM +gamine/SM +gaminess/M +gaming/M +gamma/SM +gammon/M +gammy +gamut/SM +gamy/RTP +gander/SM +gang/MDGS +gangbusters/M +gangland/M +ganglia +gangling +ganglion/M +ganglionic +gangplank/SM +gangrene/DSMG +gangrenous +gangsta/S +gangster/SM +gangway/MS +ganja +gannet/SM +gantlet/MS +gantry/SM +gap/GSMD +gape/MS +gar/SLM +garage/DSMG +garb/MDGS +garbage/M +garbageman +garbanzo/SM +garble/DSG +garcon/SM +garden/SZGMDR +gardener/M +gardenia/MS +gardening/M +garfish/MS +gargantuan +gargle/DSMG +gargoyle/SM +garish/PY +garishness/M +garland/MDGS +garlic/M +garlicky +garment/MS +garner/SGD +garnet/SM +garnish/GLMDS +garnishee/DSM +garnisheeing +garnishment/SM +garret/SM +garrison/MDSG +garrote/MZGDRS +garroter/M +garrulity/M +garrulous/PY +garrulousness/M +garter/SM +gas's +gas/CS +gasbag/SM +gaseous +gash/MDSG +gasholder/S +gasket/SM +gaslight/MS +gasman +gasmen +gasohol/M +gasoline/M +gasometer/S +gasp/MDGS +gassed/C +gasses +gassing/C +gassy/RT +gastric +gastritis/M +gastroenteritis/M +gastrointestinal +gastronome/S +gastronomic +gastronomical/Y +gastronomy/M +gastropod/SM +gasworks/M +gate/MGDS +gateau +gateaux +gatecrash/DRSZG +gatecrasher/M +gatehouse/SM +gatekeeper/MS +gatepost/MS +gateway/MS +gather/SJZGMDR +gatherer/M +gathering/M +gator/SM +gauche/RPYT +gaucheness/M +gaucherie/M +gaucho/SM +gaudily +gaudiness/M +gaudy/RPT +gauge/DSMG +gaunt/RPT +gauntlet/MS +gauntness/M +gauze/M +gauziness/M +gauzy/RPT +gave +gavel/SM +gavotte/MS +gawd +gawk/DGS +gawkily +gawkiness/M +gawky/RPT +gawp/DGS +gay/TSPMR +gayness/M +gaze/MZGDRS +gazebo/SM +gazelle/MS +gazer/M +gazette/MGDS +gazetteer/MS +gazillion/S +gazpacho/M +gazump/DGS +gear/MDGS +gearbox/MS +gearing/M +gearshift/MS +gearwheel/SM +gecko/SM +geddit +gee/DS +geeing +geek/MS +geeky/RT +geese +geezer/MS +geisha/M +gel/SM +gelatin/M +gelatinous +gelcap/M +geld/DJGS +gelding/M +gelid +gelignite/M +gelled +gelling +gem/SM +gemological +gemologist/MS +gemology/M +gemstone/MS +gendarme/MS +gender/MDS +gene/MS +genealogical/Y +genealogist/MS +genealogy/SM +genera +general/SMY +generalissimo/MS +generalist/MS +generality/SM +generalization/MS +generalize/GDS +generalship/M +generate/CAVNGSD +generation/ACM +generational +generations +generator/SM +generic/SM +generically +generosity/SM +generous/PY +generousness/M +genes/S +genesis/M +genetic/S +genetically +geneticist/MS +genetics/M +genial/FY +geniality/FM +geniculate +genie/SM +genii +genital/FY +genitalia/M +genitals/M +genitive/MS +genitourinary +genius/MS +genned +genning +genocidal +genocide/MS +genome/MS +genomics +genre/SM +gent/AMS +genteel/YP +genteelness/M +gentian/SM +gentile/SM +gentility/M +gentle/TGDRSP +gentlefolk/MS +gentlefolks/M +gentleman/MY +gentlemanly/U +gentlemen +gentleness/M +gentlewoman/M +gentlewomen +gently +gentrification/M +gentrify/DSGN +gentry/SM +genuflect/DGS +genuflection/MS +genuine/PY +genuineness/M +genus/M +geocache/DSG +geocentric +geocentrically +geochemistry/M +geode/SM +geodesic/SM +geodesy/M +geodetic +geoengineering +geog +geographer/SM +geographic +geographical/Y +geography/SM +geologic +geological/Y +geologist/MS +geology/SM +geom +geomagnetic +geomagnetism/M +geometer +geometric +geometrical/Y +geometry/SM +geophysical +geophysicist/SM +geophysics/M +geopolitical +geopolitics/M +geostationary +geosynchronous +geosyncline/MS +geothermal +geothermic +geranium/MS +gerbil/MS +geriatric/S +geriatrician/S +geriatrics/M +germ/MS +germane +germanium/M +germicidal +germicide/MS +germinal/M +germinate/GNDS +germination/M +gerontological +gerontologist/MS +gerontology/M +gerrymander/GMDS +gerrymandering/M +gerund/MS +gestalt/S +gestapo/MS +gestate/GNDS +gestation/M +gestational +gesticulate/DSGNX +gesticulation/M +gestural +gesture/MGDS +gesundheit +get/S +getaway/SM +getting +getup/M +gewgaw/SM +geyser/SM +ghastliness/M +ghastly/TPR +ghat/MS +ghee +gherkin/MS +ghetto/SM +ghettoize/GDS +ghost/SMDYG +ghostliness/M +ghostly/RTP +ghostwrite/ZGRS +ghostwriter/M +ghostwritten +ghostwrote +ghoul/SM +ghoulish/YP +ghoulishness/M +giant/SM +giantess/MS +gibber/GDS +gibberish/M +gibbet/GMDS +gibbon/MS +gibbous +gibe/MGDS +giblet/SM +giddily +giddiness/M +giddy/RTP +gift/MDGS +gig/SM +gigabit/SM +gigabyte/MS +gigahertz/M +gigantic +gigantically +gigapixel/MS +gigawatt/SM +gigged +gigging +giggle/DRSMZG +giggler/M +giggly/RT +gigolo/SM +gild/MDRZGS +gilder/M +gilding/M +gill/MS +gillie/S +gillion/S +gilt/MS +gimbals/M +gimcrack/SM +gimcrackery/M +gimlet/GSMD +gimme/SM +gimmick/MS +gimmickry/M +gimmicky +gimp/MDGS +gimpy +gin/SM +ginger/GSMDY +gingerbread/M +gingersnap/SM +gingery +gingham/M +gingivitis/M +ginkgo/M +ginkgoes +ginned +ginning +ginormous +ginseng/M +giraffe/MS +gird/DRZGS +girder/M +girdle/DSMG +girl/MS +girlfriend/MS +girlhood/SM +girlish/YP +girlishness/M +girly +giro/S +girt/MDGS +girth/M +girths +gist/M +git/S +gite/S +give/ZGJRS +giveaway/MS +giveback/MS +given/SM +giver/M +gizmo/SM +gizzard/MS +glace/S +glaceed +glaceing +glacial/Y +glaciate/XGNDS +glaciation/M +glacier/MS +glad/MYSP +gladden/GDS +gladder +gladdest +glade/SM +gladiator/SM +gladiatorial +gladiola/SM +gladioli +gladiolus/M +gladness/M +gladsome +glam +glamorization/M +glamorize/DSG +glamorous/Y +glamour/GMDS +glance/DSMG +gland/SM +glandes +glandular +glans/M +glare/DSMG +glaring/Y +glasnost/M +glass/MDSG +glassblower/MS +glassblowing/M +glassful/SM +glasshouse/S +glassily +glassiness/M +glassware/M +glassy/RTP +glaucoma/M +glaze/DSMG +glazier/SM +glazing/M +gleam/SMDGJ +glean/SDRZGJ +gleaner/M +gleanings/M +glee/M +gleeful/YP +gleefulness/M +glen/MS +glenohumeral +glenoid +glib/YP +glibber +glibbest +glibness/M +glide/DRSMZG +glider/M +gliding/M +glimmer/MDGJS +glimmering/M +glimpse/MGDS +glint/SMDG +glissandi +glissando/M +glisten/MDSG +glister/DSG +glitch/GMDS +glitter/MDSG +glitterati +glittery +glitz/M +glitzy/TR +gloaming/SM +gloat/SMDG +gloating/Y +glob/MDGS +global/Y +globalism/M +globalist/MS +globalization/M +globalize/GDS +globe/SM +globetrotter/MS +globetrotting +globular +globule/MS +globulin/M +glockenspiel/SM +gloom/M +gloomily +gloominess/M +gloomy/TRP +glop/M +gloppy +glorification/M +glorify/GDSN +glorious/IY +glory/DSMG +gloss/MDSG +glossary/SM +glossily +glossiness/M +glossolalia/M +glossy/PTRSM +glottal +glottis/MS +glove/DSMG +glow/MDRZGS +glower/GMD +glowing/Y +glowworm/MS +glucagon +glucose/M +glue/MGDS +glued/U +gluey +gluier +gluiest +glum/YP +glummer +glummest +glumness/M +glut/MNS +gluten/M +glutenous +glutinous/Y +glutted +glutting +glutton/MS +gluttonous/Y +gluttony/M +glycerin/M +glycerol/M +glycogen/M +glyph +gm +gnarl/SMDG +gnarly/TR +gnash/MDSG +gnat/MS +gnaw/DGS +gneiss/M +gnocchi +gnome/SM +gnomic +gnomish +gnu/SM +go/JMRHZG +goad/MDGS +goal/MS +goalie/SM +goalkeeper/MS +goalkeeping/M +goalless +goalmouth +goalmouths +goalpost/MS +goalscorer/S +goaltender/MS +goat/MS +goatee/SM +goatherd/MS +goatskin/MS +gob/SM +gobbed +gobbet/SM +gobbing +gobble/DRSMZG +gobbledygook/M +gobbler/M +goblet/SM +goblin/SM +gobsmacked +gobstopper/S +god/SM +godawful +godchild/M +godchildren/M +goddammit +goddamn/D +goddaughter/MS +goddess/MS +godfather/SM +godforsaken +godhead/M +godhood/M +godless/PY +godlessness/M +godlike +godliness/UM +godly/URTP +godmother/SM +godparent/SM +godsend/SM +godson/SM +godspeed +goer/M +goes +gofer/SM +goggle/DSMG +goggles/M +going/M +goiter/SM +gold/MNS +goldbrick/ZGSMDR +goldbricker/M +golden/TR +goldenrod/M +goldfield/S +goldfinch/MS +goldfish/MS +goldmine/SM +goldsmith/M +goldsmiths +golf/MDRZGS +golfer/M +golliwog/S +golly/SM +gonad/SM +gonadal +gondola/MS +gondolier/SM +gone/ZR +goner/M +gong/MDGS +gonk/S +gonna +gonorrhea/M +gonorrheal +gonzo +goo/M +goober/SM +good/MYSP +goodbye/MS +goodhearted +goodish +goodly/TR +goodness/M +goodnight +goods/M +goodwill/M +goody/SM +gooey +goof/MDGS +goofball/SM +goofiness/M +goofy/RPT +google/DSMG +googly/S +gooier +gooiest +gook/MS +goon/MS +goop/M +goose/DSMG +gooseberry/SM +goosebumps/M +goosestep/S +goosestepped +goosestepping +gopher/SM +gore/MGDS +gorge's +gorge/EDSG +gorgeous/YP +gorgeousness/M +gorgon/SM +gorilla/MS +gorily +goriness/M +gormandize/DRSZG +gormandizer/M +gormless +gorp/MS +gorse/M +gory/RTP +gosh +goshawk/MS +gosling/SM +gospel/MS +gossamer/M +gossip/MDRZGS +gossiper/M +gossipy +got +gotcha/S +goths +gotta +gotten +gouache/S +gouge/DRSMZG +gouger/M +goulash/MS +gourd/SM +gourde/MS +gourmand/SM +gourmet/SM +gout/M +gouty/TR +gov +govern/DGSBL +governable/U +governance/M +governed/U +governess/MS +government/MS +governmental +governor/SM +governorship/M +govt +gown/MDGS +gr +grab/MS +grabbed +grabber/MS +grabbing +grabby/TR +grace/EDSMG +graceful/EPY +gracefulness/EM +graceless/PY +gracelessness/M +gracious/UY +graciousness/M +grackle/MS +grad/MRZSB +gradate/XGNDS +gradation/CM +grade's +grade/CADSG +graded/U +grader/M +gradient/MS +gradual/PY +gradualism/M +gradualness/M +graduate/XMGNDS +graduation/M +graffiti +graffito/M +graft/SMDRZG +grafter/M +graham/S +grail +grain/ISMD +graininess/M +grainy/PTR +gram/KMS +grammar/MS +grammarian/SM +grammatical/UY +gramophone/MS +grampus/MS +gran/S +granary/SM +grand/SMRYPT +grandam/MS +grandaunt/MS +grandchild/M +grandchildren/M +granddad/SM +granddaddy/SM +granddaughter/SM +grandee/MS +grandeur/M +grandfather/GMDYS +grandiloquence/M +grandiloquent +grandiose/Y +grandiosity/M +grandma/MS +grandmother/MYS +grandnephew/MS +grandness/M +grandniece/MS +grandpa/MS +grandparent/MS +grandson/MS +grandstand/SGMD +granduncle/SM +grange/SM +granite/M +granitic +granny/SM +granola/M +grant/SMDRZG +grantee/MS +granter/M +grantsmanship/M +granular +granularity/M +granulate/GNDS +granulation/M +granule/MS +grape/SM +grapefruit/MS +grapeshot/M +grapevine/SM +graph/MDG +graphic/MS +graphical/Y +graphite/M +graphologist/MS +graphology/M +graphs +grapnel/MS +grapple/MGDS +grasp/SMDBG +grass/MDSG +grasshopper/MS +grassland/MS +grassroots +grassy/TR +grate/DRSMZGJ +grateful/UYP +gratefulness/UM +grater/M +gratification/M +gratify/GNXDS +gratifying/Y +gratin/S +grating/MY +gratis +gratitude/IM +gratuitous/YP +gratuitousness/M +gratuity/SM +gravamen/MS +grave/DRSMYTGP +gravedigger/SM +gravel/SGMDY +graven +graveness/M +graveside/MS +gravestone/SM +graveyard/MS +gravid +gravimeter/MS +gravitas +gravitate/GNDS +gravitation/M +gravitational +gravity/M +gravy/SM +gray/MDRTGSP +graybeard/SM +grayish +grayness/M +graze/DRSMZG +grazer/M +grease/DRSMZG +greasepaint/M +greasily +greasiness/M +greasy/PTR +great/SMRYPT +greatcoat/SM +greathearted +greatness/M +grebe/SM +greed/M +greedily +greediness/M +greedy/PTR +green/GPSMDRYT +greenback/MS +greenbelt/MS +greenery/M +greenfield +greenfly/S +greengage/MS +greengrocer/SM +greenhorn/SM +greenhouse/SM +greenish +greenmail/M +greenness/M +greenroom/SM +greensward/M +greenwood/M +greet/ZGJSDR +greeter/M +greeting/M +gregarious/PY +gregariousness/M +gremlin/SM +grenade/SM +grenadier/MS +grenadine/M +grep/S +grepped +grepping +grew/A +greyhound/SM +gribble/S +grid/MS +griddle/SM +griddlecake/SM +gridiron/SM +gridlock/SMD +grief/SM +grievance/MS +grieve/ZGDRS +griever/M +grievous/PY +grievousness/M +griffin/SM +griffon/SM +grill/SGMDJ +grille/MS +grim/DYPG +grimace/DSMG +grime/SM +griminess/M +grimmer +grimmest +grimness/M +grimy/TRP +grin/MS +grind/SZGMRJ +grinder/M +grindstone/MS +gringo/MS +grinned +grinning +grip/MDRSZG +gripe/SM +griper/M +grippe/MZGDR +gripper/M +grisliness/M +grisly/RTP +grist/MY +gristle/M +gristmill/MS +grit/MS +grits/M +gritted +gritter/SM +grittiness/M +gritting +gritty/RTP +grizzle/DSG +grizzly/TRSM +groan/SGMD +groat/SM +grocer/MS +grocery/SM +grog/M +groggily +grogginess/M +groggy/PRT +groin/SM +grok/S +grokked +grokking +grommet/SM +groom/SZGMDR +groomer/M +grooming/M +groomsman/M +groomsmen +groove/MGDS +groovy/RT +grope/DRSMZG +groper/M +grosbeak/MS +grosgrain/M +gross/PTGMDRSY +grossness/M +grotesque/SPMY +grotesqueness/M +grotto/M +grottoes +grotty/TR +grouch/GMDS +grouchily +grouchiness/M +grouchy/RTP +ground/ZGMDRJS +groundbreaking/MS +groundcloth +groundcloths +grounder/M +groundhog/MS +grounding/M +groundless/Y +groundnut/MS +groundsheet/S +groundskeeper/S +groundsman +groundsmen +groundswell/SM +groundwater/M +groundwork/M +group/JSZGMDR +grouper/M +groupie/MS +grouping/M +groupware/M +grouse/MZGDRS +grouser/M +grout/SGMD +grove/SM +grovel/ZGDRS +groveler/M +grovelled +grovelling +grow/AHSG +grower/MS +growing/I +growl/SZGMDR +growler/M +grown/AI +grownup/MS +growth/AM +growths +grub/MS +grubbed +grubber/MS +grubbily +grubbiness/M +grubbing +grubby/TRP +grubstake/M +grudge/MGDS +grudging/Y +grue/S +gruel/GJM +grueling/Y +gruesome/RYTP +gruesomeness/M +gruff/TPRY +gruffness/M +grumble/DRSMZGJ +grumbler/M +grump/SM +grumpily +grumpiness/M +grumpy/PRT +grunge/MS +grungy/RT +grunion/SM +grunt/SGMD +gt +guacamole/M +guanine/M +guano/M +guarani/MS +guarantee/MDS +guaranteeing +guarantor/MS +guaranty/GDSM +guard/SZGMDR +guarded/Y +guarder/M +guardhouse/SM +guardian/SM +guardianship/M +guardrail/SM +guardroom/SM +guardsman/M +guardsmen +guava/SM +gubernatorial +guerrilla/SM +guess/ZGBMDRS +guesser/M +guesstimate/DSMG +guesswork/M +guest/SGMD +guestbook/SM +guesthouse/S +guestroom/S +guff/M +guffaw/MDGS +guidance/M +guide/DRSMZG +guidebook/SM +guided/U +guideline/SM +guidepost/SM +guider/M +guild/SZMR +guilder/M +guildhall/MS +guile/M +guileful +guileless/YP +guilelessness/M +guillemot/S +guillotine/DSMG +guilt/M +guiltily +guiltiness/M +guiltless +guilty/PRT +guinea/MS +guise/ESM +guitar/MS +guitarist/SM +gulag/SM +gulch/MS +gulden/MS +gulf/MS +gull/MDSG +gullet/MS +gullibility/M +gullible +gully/SM +gulp/MDRSZG +gulper/M +gum/SM +gumball/S +gumbo/SM +gumboil/SM +gumboot/S +gumdrop/SM +gummed +gumming +gummy/TR +gumption/M +gumshoe/MDS +gumshoeing +gun/SM +gunboat/SM +gunfight/MRZS +gunfighter/M +gunfire/M +gunge +gungy +gunk/M +gunky +gunman/M +gunmen +gunmetal/M +gunned +gunnel/MS +gunner/MS +gunnery/M +gunning +gunny/M +gunnysack/MS +gunpoint/M +gunpowder/M +gunrunner/MS +gunrunning/M +gunship/MS +gunshot/MS +gunslinger/SM +gunsmith/M +gunsmiths +gunwale/MS +guppy/SM +gurgle/MGDS +gurney/MS +guru/MS +gush/MDRSZG +gusher/M +gushing/Y +gushy/TR +gusset/MSDG +gussy/DSG +gust/EMDSG +gustatory +gustily +gusto/M +gusty/RT +gut/SM +gutless/P +gutlessness/M +gutsy/RT +gutted +gutter/SMDG +guttersnipe/MS +gutting +guttural/MS +gutty/RT +guv/S +guvnor/S +guy/SGMD +guzzle/DRSZG +guzzler/M +gym/SM +gymkhana/MS +gymnasium/MS +gymnast/MS +gymnastic/S +gymnastically +gymnastics/M +gymnosperm/SM +gymslip/S +gynecologic +gynecological +gynecologist/SM +gynecology/M +gyp/SM +gypped +gypper/SM +gypping +gypster/SM +gypsum/M +gypsy/SM +gyrate/DSGNX +gyration/M +gyrator/SM +gyrfalcon/MS +gyro/MS +gyroscope/MS +gyroscopic +gyve/MGDS +h'm +h/NRSXZGVJ +ha/SH +haberdasher/SM +haberdashery/SM +habiliment/SM +habit's +habit/ISB +habitability/M +habitat/SM +habitation/MS +habitual/YP +habitualness/M +habituate/GNDS +habituation/M +habitue/SM +hacienda/SM +hack/MDRZGS +hacker/M +hacking/M +hackish +hackle/MS +hackney/SMDG +hacksaw/SM +hacktivist/MS +hackwork/M +had +haddock/SM +hadn't +hadst +hafnium/M +haft/MS +hag/SM +haggard/YP +haggardness/M +haggis/MS +haggish +haggle/MZGDRS +haggler/M +hagiographer/SM +hagiography/SM +hahnium/M +haiku/M +hail/MDGS +hailstone/MS +hailstorm/MS +hair/MDS +hairball/MS +hairband/S +hairbreadth/M +hairbreadths +hairbrush/MS +haircloth/M +haircut/SM +hairdo/MS +hairdresser/SM +hairdressing/M +hairdryer/MS +hairgrip/S +hairiness/M +hairless +hairlike +hairline/SM +hairnet/SM +hairpiece/MS +hairpin/SM +hairsbreadth/M +hairsbreadths +hairsplitter/SM +hairsplitting/M +hairspray/S +hairspring/MS +hairstyle/MS +hairstylist/SM +hairy/TRP +haj +hajj/M +hajjes +hajji/SM +hake/MS +halal/M +halberd/SM +halcyon +hale/ITGDRS +half/M +halfback/SM +halfhearted/PY +halfheartedness/M +halfpence +halfpenny/SM +halftime/MS +halftone/MS +halfway +halfwit/SM +halibut/SM +halite/M +halitosis/M +hall/MS +hallelujah/M +hallelujahs +hallmark/GMDS +halloo/MSG +hallow/DSG +hallowed/U +hallucinate/GNXDS +hallucination/M +hallucinatory +hallucinogen/SM +hallucinogenic/SM +hallway/SM +halo/MDGS +halogen/SM +halon +halt/MDRZGS +halter/GMD +halterneck/S +halting/Y +halve/DSG +halyard/MS +ham/SM +hamburg/SZMR +hamburger/M +hamlet/MS +hammed +hammer/MDRSJZG +hammerer/M +hammerhead/SM +hammerlock/SM +hammertoe/MS +hamming +hammock/SM +hammy/TR +hamper/GMDS +hampered/U +hamster/MS +hamstring/GSM +hamstrung +hand's +hand/UDGS +handbag/SM +handball/MS +handbarrow/SM +handbill/MS +handbook/MS +handbrake/S +handcar/SM +handcart/MS +handclasp/MS +handcraft/SMDG +handcuff/MDGS +handed/P +handful/SM +handgun/SM +handheld/MS +handhold/MS +handicap/MS +handicapped +handicapper/MS +handicapping +handicraft/MS +handily +handiness/M +handiwork/M +handkerchief/MS +handle/MZGDRS +handlebar/MS +handler/M +handmade +handmaid/XMNS +handmaiden/M +handout/SM +handover/S +handpick/GDS +handrail/MS +handsaw/SM +handset/SM +handshake/JMGS +handsome/PYTR +handsomeness/M +handspring/MS +handstand/SM +handwork/M +handwoven +handwriting/M +handwritten +handy/UTR +handyman/M +handymen +hang/MDRJZGS +hangar/MS +hangdog +hanger/M +hanging/M +hangman/M +hangmen +hangnail/MS +hangout/SM +hangover/MS +hangup/MS +hank/MRZS +hanker/GJD +hankering/M +hankie/MS +hansom/MS +hap/MY +haphazard/YP +haphazardness/M +hapless/YP +haplessness/M +haploid/MS +happen/SDGJ +happening/M +happenstance/SM +happily/U +happiness/UM +happy/URTP +harangue/MGDS +harass/LZGDRS +harasser/M +harassment/M +harbinger/SM +harbor/GMDS +harbormaster/S +hard/NRYXTP +hardback/MS +hardball/M +hardboard/M +hardbound +hardcore +hardcover/SM +harden/ZGDR +hardened/U +hardener/M +hardhat/MS +hardheaded/PY +hardheadedness/M +hardhearted/PY +hardheartedness/M +hardihood/M +hardily +hardiness/M +hardliner/MS +hardness/M +hardscrabble +hardship/SM +hardstand/SM +hardtack/M +hardtop/SM +hardware/M +hardwired +hardwood/SM +hardworking +hardy/PTR +hare/MGDS +harebell/MS +harebrained +harelip/SM +harelipped +harem/SM +haricot/S +hark/DGS +harlequin/SM +harlot/SM +harlotry/M +harm/MDGS +harmed/U +harmful/YP +harmfulness/M +harmless/PY +harmlessness/M +harmonic/SM +harmonica/MS +harmonically +harmonies +harmonious/PY +harmoniousness/M +harmonium/MS +harmonization/M +harmonize/ZGDRS +harmonizer/M +harmony/EM +harness's +harness/UDSG +harp/MDGS +harpist/SM +harpoon/ZGSMDR +harpooner/M +harpsichord/MS +harpsichordist/SM +harpy/SM +harridan/MS +harrier/M +harrow/SMDG +harrumph/GD +harrumphs +harry/DRSZG +harsh/RYTP +harshness/M +hart/MS +harvest/SMDRZG +harvested/U +harvester/M +hash/AMDSG +hashish/M +hashtag/SM +hasn't +hasp/MS +hassle/DSMG +hassock/SM +hast/DNXG +haste/SM +hasten/DG +hastily +hastiness/M +hasty/RTP +hat/ZGSMDR +hatband/S +hatbox/MS +hatch/MDSG +hatchback/MS +hatcheck/SM +hatched/U +hatchery/SM +hatchet/SM +hatching/M +hatchway/SM +hate/MS +hateful/PY +hatefulness/M +hatemonger/MS +hater/M +hatpin/S +hatred/SM +hatstand/S +hatted +hatter/SM +hatting +hauberk/SM +haughtily +haughtiness/M +haughty/PRT +haul/MDRZGS +haulage/M +hauler/M +haulier/S +haunch/MS +haunt/SMDRZG +haunter/M +haunting/Y +hauteur/M +have/MGS +haven't +haven/SM +haversack/SM +havoc/M +haw/GSMD +hawk/MDRZGS +hawker/M +hawkish/P +hawkishness/M +hawser/SM +hawthorn/MS +hay/GSMD +haycock/SM +hayloft/SM +haymaking +haymow/SM +hayrick/MS +hayride/MS +hayseed/MS +haystack/SM +haywire +hazard/SMDG +hazardous/Y +haze/MZGJDRS +hazel/SM +hazelnut/MS +hazer/M +hazily +haziness/M +hazing/M +hazmat +hazy/RTP +hdqrs +he'd +he'll +he/M +head/MDRZGJS +headache/MS +headband/MS +headbanger/S +headbanging +headboard/SM +headbutt/DSG +headcase/S +headcheese +headcount/S +headdress/MS +header/M +headfirst +headgear/M +headhunt/DRSZG +headhunter/M +headhunting/M +headily +headiness/M +heading/M +headlamp/MS +headland/MS +headless +headlight/MS +headline/MZGDRS +headliner/M +headlock/MS +headlong +headman/M +headmaster/SM +headmen +headmistress/MS +headphone/MS +headpiece/MS +headpin/SM +headquarter/SDG +headquarters/M +headrest/MS +headroom/M +headscarf +headscarves +headset/SM +headship/SM +headshrinker/SM +headsman/M +headsmen +headstall/SM +headstand/SM +headstone/SM +headstrong +headteacher/S +headwaiter/SM +headwaters/M +headway/M +headwind/SM +headword/SM +heady/RTP +heal/DRHZGS +healed/U +healer/M +health/M +healthcare +healthful/PY +healthfulness/M +healthily/U +healthiness/UM +healthy/UTRP +heap/MDGS +hear/AHGJS +heard/AU +hearer/SM +hearing/AM +hearken/SGD +hearsay/M +hearse's +hearse/AS +heart/SM +heartache/MS +heartbeat/MS +heartbreak/SMG +heartbroken +heartburn/M +hearten/ESGD +heartfelt +hearth/M +hearthrug/S +hearths +hearthstone/SM +heartily +heartiness/M +heartland/MS +heartless/PY +heartlessness/M +heartrending/Y +heartsick/P +heartsickness/M +heartstrings/M +heartthrob/MS +heartwarming +heartwood/M +hearty/RSMPT +heat's +heat/ADGS +heated/U +heatedly +heater/SM +heath/MNRX +heathen/M +heathendom/M +heathenish +heathenism/M +heather/M +heaths +heating/M +heatproof +heatstroke/M +heatwave/S +heave/DRSMZG +heaven/SMY +heavenly/TR +heavens/M +heavenward/S +heaver/M +heavily +heaviness/M +heavy/RSMTP +heavyhearted +heavyset +heavyweight/MS +heck/M +heckle/DRSMZG +heckler/M +heckling/M +hectare/SM +hectic +hectically +hectogram/SM +hectometer/MS +hector/SMDG +hedge/DRSMZG +hedgehog/MS +hedgehop/S +hedgehopped +hedgehopping +hedger/M +hedgerow/SM +hedonism/M +hedonist/MS +hedonistic +heed/MDGS +heeded/U +heedful/Y +heedless/PY +heedlessness/M +heehaw/SMDG +heel/MDGS +heelless +heft/MDGS +heftily +heftiness/M +hefty/PRT +hegemonic +hegemony/M +hegira/SM +heifer/SM +height/XSMN +heighten/DG +heinous/YP +heinousness/M +heir/MS +heiress/MS +heirloom/SM +heist/SMDG +held +helical +helices +helicopter/SGMD +heliocentric +heliotrope/SM +helipad/S +heliport/MS +helium/M +helix/M +hell/M +hellbent +hellcat/MS +hellebore/M +hellfire +hellhole/MS +hellion/MS +hellish/YP +hellishness/M +hello/SM +helluva +helm/MS +helmet/SMD +helmsman/M +helmsmen +helot/SM +help/MDRZGSJ +helper/M +helpful/UY +helpfulness/M +helping/M +helpless/PY +helplessness/M +helpline/SM +helpmate/SM +helve/SM +hem/SM +hematite/M +hematologic +hematological +hematologist/MS +hematology/M +heme/M +hemisphere/SM +hemispheric +hemispherical +hemline/SM +hemlock/SM +hemmed +hemmer/SM +hemming +hemoglobin/M +hemophilia/M +hemophiliac/MS +hemorrhage/MGDS +hemorrhagic +hemorrhoid/MS +hemostat/MS +hemp/MN +hemstitch/MDSG +hen/M +hence +henceforth +henceforward +henchman/M +henchmen +henna/SMDG +henpeck/GSD +hep +heparin/M +hepatic +hepatitis/M +hepatocyte/S +hepper +heppest +heptagon/MS +heptagonal +heptathlon/SM +herald/SMDG +heralded/U +heraldic +heraldry/M +herb/MS +herbaceous +herbage/M +herbal/S +herbalist/MS +herbicidal +herbicide/MS +herbivore/SM +herbivorous +herculean +herd/MDRZGS +herder/M +herdsman/M +herdsmen +here/M +hereabout/S +hereafter/SM +hereby +hereditary +heredity/M +herein +hereinafter +hereof +hereon +heresy/SM +heretic/SM +heretical +hereto +heretofore +hereunto +hereupon +herewith +heritable/I +heritage/MS +hermaphrodite/SM +hermaphroditic +hermetic +hermetical/Y +hermit/SM +hermitage/MS +hernia/SM +hernial +herniate/GNDS +herniation/M +hero/M +heroes +heroic/S +heroically +heroics/M +heroin/SM +heroine/SM +heroism/M +heron/SM +herpes/M +herpetologist/SM +herpetology/M +herring/MS +herringbone/M +herself +hertz/M +hesitance/M +hesitancy/M +hesitant/Y +hesitate/DSGNX +hesitating/UY +hesitation/M +hessian +hetero/SM +heterodox +heterodoxy/M +heterogeneity/M +heterogeneous/Y +heterosexual/MYS +heterosexuality/M +heuristic/MS +heuristically +heuristics/M +hew/ZGSDR +hewer/M +hex/GMDS +hexadecimal/S +hexagon/MS +hexagonal +hexagram/SM +hexameter/SM +hey +heyday/SM +hf +hgt +hgwy +hi/SD +hiatus/MS +hibachi/MS +hibernate/GNDS +hibernation/M +hibernator/MS +hibiscus/MS +hiccough/DG +hiccoughs +hiccup/GSMD +hick/MS +hickey/SM +hickory/SM +hid +hidden +hide/MZGJDRS +hideaway/SM +hidebound +hideous/YP +hideousness/M +hideout/MS +hider/M +hiding/M +hie/S +hieing +hierarchic +hierarchical/Y +hierarchy/SM +hieroglyph/M +hieroglyphic/MS +hieroglyphs +high/MRYZTP +highball/SM +highborn +highboy/MS +highbrow/SM +highchair/MS +highfalutin +highhanded/PY +highhandedness/M +highland/MRZS +highlander/M +highlight/SMDRZG +highlighter/M +highness/M +highroad/MS +highs +hightail/DSG +highway/MS +highwayman/M +highwaymen +hijab/SM +hijack/SJZGMDR +hijacker/M +hijacking/M +hike/MZGDRS +hiker/M +hiking/M +hilarious/PY +hilariousness/M +hilarity/M +hill/MS +hillbilly/SM +hilliness/M +hillock/MS +hillside/SM +hilltop/MS +hilly/PRT +hilt/MS +him/S +himself +hind/MRZS +hinder/GD +hindered/U +hindmost +hindquarter/MS +hindrance/SM +hindsight/M +hinge's +hinge/UDSG +hint/MDRZGS +hinter/M +hinterland/SM +hip/SPM +hipbath +hipbaths +hipbone/MS +hiphuggers +hipness/M +hipped +hipper +hippest +hippie/SM +hipping +hippo/SM +hippodrome/SM +hippopotamus/MS +hippy +hipster/MS +hiragana +hire's +hire/AGDS +hireling/MS +hirsute/P +hirsuteness/M +hiss/MDSG +hist +histamine/MS +histogram/MS +histologist/SM +histology/M +historian/MS +historic +historical/Y +historicity/M +historiographer/MS +historiography/M +history/SM +histrionic/S +histrionically +histrionics/M +hit/SM +hitch's +hitch/UDSG +hitcher/MS +hitchhike/DRSMZG +hitchhiker/M +hither +hitherto +hitter/SM +hitting +hive/MGDS +hiya +hmm +ho/SMDRYZ +hoagie/MS +hoard/SZGMDRJ +hoarder/M +hoarding/M +hoarfrost/M +hoariness/M +hoarse/YTRP +hoarseness/M +hoary/TRP +hoax/MDRSZG +hoaxer/M +hob/SM +hobbit/S +hobble/MZGDRS +hobbler/M +hobby/SM +hobbyhorse/MS +hobbyist/SM +hobgoblin/MS +hobnail/SGMD +hobnob/S +hobnobbed +hobnobbing +hobo/MS +hock/MDSG +hockey/M +hockshop/MS +hod/SM +hodgepodge/SM +hoe/SM +hoecake/SM +hoedown/SM +hoeing +hoer/M +hog/SM +hogan/SM +hogback/SM +hogged +hogging +hoggish/Y +hogshead/SM +hogtie/DS +hogtying +hogwash/M +hoick/SGD +hoist/SGMD +hoke/GDS +hokey +hokier +hokiest +hokum/M +hold/MRJSZG +holdall/S +holder/M +holding/M +holdout/SM +holdover/SM +holdup/MS +hole/MGDS +holey +holiday/SMDG +holidaymaker/S +holiness/UM +holism +holistic +holistically +holler/MDGS +hollow/MDRYPSTG +hollowness/M +holly/SM +hollyhock/MS +holmium/M +holocaust/SM +hologram/MS +holograph/M +holographic +holographs +holography/M +hols +holster/SMDG +holy/URPT +homage/MS +hombre/MS +homburg/SM +home/MYZGDRS +homebody/SM +homeboy/SM +homecoming/SM +homegrown +homeland/MS +homeless/MP +homelessness/M +homelike +homeliness/M +homely/PRT +homemade +homemaker/SM +homemaking/M +homeopath/M +homeopathic +homeopaths +homeopathy/M +homeostasis/M +homeostatic +homeowner/MS +homepage/MS +homer/GMD +homeroom/MS +homeschooling/M +homesick/P +homesickness/M +homespun/M +homestead/SMDRZG +homesteader/M +homestretch/MS +hometown/MS +homeward/S +homework/MRZG +homewrecker/SM +homey/SMP +homeyness/M +homicidal +homicide/MS +homier +homiest +homiletic +homily/SM +hominid/SM +hominoid/S +hominy/M +homo/MS +homoerotic +homogeneity/M +homogeneous/Y +homogenization/M +homogenize/DSG +homograph/M +homographs +homologous +homonym/SM +homophobia/M +homophobic +homophone/MS +homosexual/SM +homosexuality/M +hon/SZTGMDR +honcho/MS +hone/MS +honer/M +honest/EYT +honester +honesty/EM +honey/SGMD +honeybee/SM +honeycomb/MDSG +honeydew/SM +honeylocust/M +honeymoon/ZGMDRS +honeymooner/M +honeypot/S +honeysuckle/SM +honk/MDRSZG +honker/M +honky/SM +honor/ESGMDB +honorableness/M +honorably/E +honorarily +honorarium/MS +honorary +honoree/SM +honorer/SM +honorific/MS +hooch/M +hood/MDSG +hoodie/MS +hoodlum/SM +hoodoo/MDSG +hoodwink/DGS +hooey/M +hoof/MDRSZG +hook's +hook/UDSG +hookah/M +hookahs +hooker/MS +hookup/MS +hookworm/MS +hooky/M +hooligan/MS +hooliganism/M +hoop/MDSG +hoopla/M +hooray +hoosegow/SM +hoot/MDRSZG +hootenanny/SM +hooter/M +hoover/DSG +hooves +hop/SGMD +hope/MS +hopeful/PSMY +hopefulness/M +hopeless/YP +hopelessness/M +hopped +hopper/MS +hopping +hopscotch/MDSG +hora/MS +horde/DSMG +horehound/SM +horizon/SM +horizontal/SMY +hormonal +hormone/SM +horn/MDS +hornblende/M +hornet/MS +hornless +hornlike +hornpipe/MS +horny/TR +horologic +horological +horologist/MS +horology/M +horoscope/SM +horrendous/Y +horrible/P +horribleness/M +horribly +horrid/Y +horrific +horrifically +horrify/DSG +horrifying/Y +horror/MS +horse's +horse/UDSG +horseback/M +horsebox/S +horseflesh/M +horsefly/SM +horsehair/M +horsehide/M +horselaugh/M +horselaughs +horseless +horseman/M +horsemanship/M +horsemen +horseplay/M +horsepower/M +horseradish/MS +horseshit/! +horseshoe/DSM +horseshoeing +horsetail/SM +horsetrading +horsewhip/SM +horsewhipped +horsewhipping +horsewoman/M +horsewomen +horsey +horsier +horsiest +hortatory +horticultural +horticulturalist/S +horticulture/M +horticulturist/MS +hosanna/SM +hose/MGDS +hosepipe/S +hosier/MS +hosiery/M +hosp +hospholipase +hospice/MS +hospitable/I +hospitably/I +hospital/SM +hospitality/M +hospitalization/SM +hospitalize/DSG +host/MDSG +hostage/MS +hostel/ZGMDRS +hosteler/M +hostelry/SM +hostess/MDSG +hostile/MYS +hostilities/M +hostility/SM +hostler/MS +hot/SYP +hotbed/MS +hotblooded +hotbox/MS +hotcake/SM +hotel/SM +hotelier/MS +hotfoot/MDGS +hothead/DSM +hotheaded/YP +hotheadedness/M +hothouse/SM +hotkey/S +hotlink/S +hotness/M +hotplate/SM +hotpot/S +hots/M +hotshot/MS +hotted +hotter +hottest +hottie/S +hotting +hound/SGMD +hour/MYS +hourglass/MS +houri/SM +house's +house/ADSG +houseboat/SM +housebound +houseboy/SM +housebreak/RSZG +housebreaker/M +housebreaking/M +housebroke +housebroken +houseclean/DSG +housecleaning/M +housecoat/SM +housefly/SM +houseful/SM +household/SMRZ +householder/M +househusband/SM +housekeeper/MS +housekeeping/M +houselights/M +housemaid/SM +houseman/M +housemaster/S +housemate/S +housemen +housemistress/S +housemother/SM +houseparent/SM +houseplant/MS +houseproud +houseroom +housetop/SM +housewares/M +housewarming/SM +housewife/MY +housewives +housework/M +housing/MS +hove +hovel/SM +hover/SGD +hovercraft/M +how'd +how're +how/SM +howbeit +howdah/M +howdahs +howdy +however +howitzer/SM +howl/MDRSZG +howler/M +howsoever +hoyden/MS +hoydenish +hp +hr/S +ht +huarache/SM +hub/SM +hubbub/SM +hubby/SM +hubcap/SM +hubris/M +huckleberry/SM +huckster/SGMD +hucksterism/M +huddle/DSMG +hue/DSM +huff/MDSG +huffily +huffiness/M +huffy/PRT +hug/STMR +huge/YP +hugeness/M +hugged +hugging +huh +hula/MS +hulk/MSG +hull/MDRSZG +hullabaloo/SM +huller/M +hum/SM +human/SMRYTP +humane/PY +humaneness/M +humanism/M +humanist/SM +humanistic +humanitarian/MS +humanitarianism/M +humanities/M +humanity/ISM +humanization/CM +humanize/CDSG +humanizer/SM +humankind/M +humanness/M +humanoid/SM +humble/DRSZTGJP +humbleness/M +humbler/M +humbly +humbug/SM +humbugged +humbugging +humdinger/MS +humdrum/M +humeral +humeri +humerus/M +humid/Y +humidification/M +humidifier/CM +humidify/CZGDRS +humidity/M +humidor/SM +humiliate/DSGNX +humiliating/Y +humiliation/M +humility/M +hummed +hummer/SM +humming +hummingbird/SM +hummock/SM +hummocky +hummus/M +humongous +humor/SMDG +humoresque +humorist/MS +humorless/YP +humorlessness/M +humorous/PY +humorousness/M +hump/MDSG +humpback/MDS +humph/DG +humphs +humus/M +hunch/MDSG +hunchback/SMD +hundred/SMH +hundredfold +hundredth/M +hundredths +hundredweight/SM +hung +hunger/SMDG +hungover +hungrily +hungriness/M +hungry/PRT +hunk/MRSZ +hunker/DG +hunky/RT +hunt/MDRSZG +hunter/M +hunting/M +huntress/MS +huntsman/M +huntsmen +hurdle/DRSMZG +hurdler/M +hurdling/M +hurl/MDRSZG +hurler/M +hurling/M +hurrah/GMD +hurrahs +hurricane/MS +hurried/UY +hurry/DSMG +hurt/MSG +hurtful/YP +hurtfulness/M +hurtle/DSG +husband/GMDS +husbandman/M +husbandmen +husbandry/M +hush/MDSG +husk/MDRSZG +husker/M +huskily +huskiness/M +husky/PRSMT +hussar/SM +hussy/SM +hustings/M +hustle/DRSMZG +hustler/M +hut/SM +hutch/MS +huzzah/MDG +huzzahs +hwy +hyacinth/M +hyacinths +hybrid/SM +hybridism/M +hybridization/M +hybridize/DSG +hydra/SM +hydrangea/SM +hydrant/MS +hydrate's +hydrate/CGNDS +hydration/CM +hydraulic/S +hydraulically +hydraulics/M +hydro/M +hydrocarbon/MS +hydrocephalus/M +hydrodynamic/S +hydrodynamics/M +hydroelectric +hydroelectrically +hydroelectricity/M +hydrofoil/MS +hydrogen/M +hydrogenate/CGDS +hydrogenation/M +hydrogenous +hydrologist/MS +hydrology/M +hydrolyses +hydrolysis/M +hydrolyze/DSG +hydrometer/SM +hydrometry/M +hydrophobia/M +hydrophobic +hydrophone/SM +hydroplane/GDSM +hydroponic/S +hydroponically +hydroponics/M +hydrosphere/M +hydrotherapy/M +hydrous +hydroxide/SM +hyena/SM +hygiene/M +hygienic/U +hygienically +hygienist/MS +hygrometer/SM +hying +hymen/SM +hymeneal +hymn/MDSG +hymnal/MS +hymnbook/SM +hype/MGDRS +hyperactive +hyperactivity/M +hyperbola/SM +hyperbole/M +hyperbolic +hypercritical/Y +hyperglycemia/M +hyperinflation +hyperlink/GSMD +hypermarket/S +hypermedia/M +hyperparathyroidism +hypersensitive/P +hypersensitiveness/M +hypersensitivity/SM +hyperspace/S +hypertension/M +hypertensive/SM +hypertext/M +hyperthyroid/M +hyperthyroidism/M +hypertrophy/DSMG +hyperventilate/GNDS +hyperventilation/M +hyphen/MDSG +hyphenate/XDSMGN +hyphenation/M +hypnoses +hypnosis/M +hypnotherapist/S +hypnotherapy/M +hypnotic/SM +hypnotically +hypnotism/M +hypnotist/MS +hypnotize/GDS +hypo/MS +hypoallergenic +hypochondria/M +hypochondriac/SM +hypocrisy/SM +hypocrite/MS +hypocritical/Y +hypodermic/MS +hypoglycemia/M +hypoglycemic/SM +hypotenuse/MS +hypothalami +hypothalamus/M +hypothermia/M +hypotheses +hypothesis/M +hypothesize/DSG +hypothetical/Y +hypothyroid/M +hypothyroidism/M +hyssop/M +hysterectomy/SM +hysteresis +hysteria/M +hysteric/SM +hysterical/Y +hysterics/M +i/US +iPad/M +iPhone/M +iPod/M +iTunes/M +iamb/MS +iambi +iambic/SM +iambus/MS +ibex/MS +ibid +ibidem +ibis/MS +ibuprofen/M +ice's +ice/CDSG +iceberg/SM +iceboat/SM +icebound +icebox/MS +icebreaker/SM +icecap/SM +iceman/M +icemen +ichthyologist/MS +ichthyology/M +icicle/SM +icily +iciness/M +icing/SM +icky/RT +icon/MS +iconic +iconoclasm/M +iconoclast/SM +iconoclastic +iconography/M +ictus/M +icy/TPR +id/SMY +idea/MS +ideal/SMY +idealism/M +idealist/SM +idealistic +idealistically +idealization/MS +idealize/DSG +idem +idempotent +identical/Y +identifiable/U +identification/M +identified/U +identify/ZGNDRSX +identikit/S +identity/SM +ideogram/SM +ideograph/M +ideographs +ideological/Y +ideologist/SM +ideologue/MS +ideology/SM +ides/M +idiocy/SM +idiom/SM +idiomatic/U +idiomatically +idiopathic +idiosyncrasy/SM +idiosyncratic +idiosyncratically +idiot/SM +idiotic +idiotically +idle/MZTGDRSP +idleness/M +idler/M +idol/MS +idolater/SM +idolatress/MS +idolatrous +idolatry/M +idolization/M +idolize/GDS +idyll/SM +idyllic +idyllically +if/SM +iffiness/M +iffy/RTP +igloo/SM +igneous +ignitable +ignite/AGDS +ignition/MS +ignoble +ignobly +ignominious/Y +ignominy/SM +ignoramus/MS +ignorance/M +ignorant/Y +ignore/GDS +iguana/MS +ii +iii +ilea +ileitis/M +ileum/M +ilia +ilium/M +ilk/SM +ill/SMP +illegal/MYS +illegality/SM +illegibility/M +illegible +illegibly +illegitimacy/M +illegitimate/Y +illiberal/Y +illiberality/M +illicit/YP +illicitness/M +illimitable +illiteracy/M +illiterate/MYS +illness/MS +illogical/Y +illogicality/M +illuminate/GNXDS +illuminating/Y +illumination/M +illumine/DSBG +illus/V +illusion/EMS +illusionist/SM +illusory +illustrate/GNVXDS +illustration/M +illustrative/Y +illustrator/SM +illustrious/PY +illustriousness/M +image/DSMG +imagery/M +imaginable/U +imaginably/U +imaginal +imaginary +imagination/MS +imaginative/UY +imagine/DSBJG +imago/M +imagoes +imam/MS +imbalance/DSM +imbecile/MS +imbecilic +imbecility/SM +imbibe/ZGDRS +imbiber/M +imbrication/M +imbroglio/SM +imbue/DSG +imitable/I +imitate/DSGNVX +imitation/M +imitative/PY +imitativeness/M +imitator/SM +immaculate/PY +immaculateness/M +immanence/M +immanency/M +immanent/Y +immaterial/YP +immateriality/M +immaterialness/M +immature/Y +immaturity/M +immeasurable +immeasurably +immediacies/M +immediacy/SM +immediate/PY +immediateness/M +immemorial/Y +immense/Y +immensity/SM +immerse/XDSGNV +immersible +immersion/M +immigrant/SM +immigrate/DSGN +immigration/M +imminence/M +imminent/Y +immobile +immobility/M +immobilization/M +immobilize/ZGDRS +immoderate/Y +immodest/Y +immodesty/M +immolate/DSGN +immolation/M +immoral/Y +immorality/SM +immortal/MYS +immortality/M +immortalize/DSG +immovability/M +immovable +immovably +immune +immunity/M +immunization/SM +immunize/GDS +immunodeficiency/M +immunodeficient +immunoglobulin/S +immunologic +immunological +immunologist/MS +immunology/M +immure/DSG +immutability/M +immutable +immutably +imp/SMR +impact/SMDG +impair/SDGL +impaired/U +impairment/MS +impala/SM +impale/DSGL +impalement/M +impalpable +impalpably +impanel/SDG +impart/SDG +impartial/Y +impartiality/M +impassably +impasse/BSMV +impassibility/M +impassible +impassibly +impassioned +impassive/YP +impassiveness/M +impassivity/M +impasto/M +impatience/MS +impatiens/M +impatient/Y +impeach/ZGBLDRS +impeachable/U +impeacher/M +impeachment/SM +impeccability/M +impeccable +impeccably +impecunious/PY +impecuniousness/M +impedance/M +impede/DSG +impeded/U +impediment/SM +impedimenta/M +impel/S +impelled +impeller/MS +impelling +impend/SDG +impenetrability/M +impenetrable +impenetrably +impenitence/M +impenitent/Y +imperative/SMY +imperceptibility/M +imperceptible +imperceptibly +imperceptive +imperf +imperfect/SMYP +imperfection/MS +imperfectness/M +imperial/MYS +imperialism/M +imperialist/SM +imperialistic +imperialistically +imperil/GSLD +imperilment/M +imperious/PY +imperiousness/M +imperishable +imperishably +impermanence/M +impermanent/Y +impermeability/M +impermeable +impermeably +impermissible +impersonal/Y +impersonate/GNXDS +impersonation/M +impersonator/SM +impertinence/MS +impertinent/Y +imperturbability/M +imperturbable +imperturbably +impervious/Y +impetigo/M +impetuosity/M +impetuous/YP +impetuousness/M +impetus/MS +impiety/SM +impinge/LDSG +impingement/M +impious/PY +impiousness/M +impish/YP +impishness/M +implacability/M +implacable +implacably +implant/BSGMD +implantation/M +implausibility/SM +implausible +implausibly +implement/GBMDRS +implementable/U +implementation/SM +implemented/U +implicate/DSG +implication/M +implicit/PY +implicitness/M +implode/DSG +implore/DSG +imploring/Y +implosion/MS +implosive +imply/XDSGN +impolite/YP +impoliteness/MS +impolitic +imponderable/MS +import/ZGBSMDR +importance/M +important/Y +importation/MS +importer/M +importunate/Y +importune/GDS +importunity/M +impose/ADSG +imposer/MS +imposing/U +imposingly +imposition/MS +impossibility/SM +impossible/S +impossibly +impost/SM +impostor/SM +imposture/MS +impotence/M +impotency/M +impotent/Y +impound/DGS +impoverish/DSLG +impoverishment/M +impracticability +impracticable +impracticably +impractical/Y +impracticality/M +imprecate/DSXGN +imprecation/M +imprecise/PYN +impreciseness/M +imprecision/M +impregnability/M +impregnable +impregnably +impregnate/GNDS +impregnation/M +impresario/SM +impress/MDSGV +impressed/U +impressibility/M +impressible +impression/BSM +impressionability/M +impressionism/M +impressionist/SM +impressionistic +impressive/PY +impressiveness/M +imprimatur/SM +imprint/MDRZGS +imprinter/M +imprison/SDLG +imprisonment/SM +improbability/SM +improbable +improbably +impromptu/SM +improper/Y +impropriety/SM +improve/GBDSL +improved/U +improvement/MS +improvidence/M +improvident/Y +improvisation/SM +improvisational +improvise/ZGDRS +improviser/M +imprudence/M +imprudent/Y +impudence/M +impudent/Y +impugn/ZGSDR +impugner/M +impulse/MGNVDS +impulsion/M +impulsive/PY +impulsiveness/M +impunity/M +impure/RYT +impurity/SM +imputation/SM +impute/BDSG +in/ASM +inaccuracy/S +inaction/M +inadequacy/S +inadvertence/M +inadvertent/Y +inalienability/M +inalienably +inamorata/SM +inane/RYT +inanimate/PY +inanimateness/M +inanity/SM +inappropriate/Y +inarticulate/Y +inasmuch +inaudible +inaugural/SM +inaugurate/XGNDS +inauguration/M +inboard/MS +inbound +inbox/MS +inbreed/S +inc/TGD +incalculably +incandescence/M +incandescent/Y +incantation/SM +incapacitate/GDS +incarcerate/XDSGN +incarceration/M +incarnadine/DSG +incarnate/AXGNDS +incarnation/AM +incendiary/SM +incense/MGDS +incentive's +incentive/ES +inception/SM +incessant/Y +incest/M +incestuous/PY +incestuousness/M +inch/MDSG +inchoate +inchworm/SM +incidence/SM +incident/SM +incidental/MYS +incinerate/DSGN +incineration/M +incinerator/MS +incipience/M +incipient/Y +incise/XGNVDS +incision/M +incisive/PY +incisiveness/M +incisor/MS +incitement/MS +inciter/MS +incl +inclement +inclination/EM +inclinations +incline's +incline/EGDS +include/GDS +inclusion/MS +inclusive/YP +inclusiveness/M +incognito/MS +incombustible +incommode/GD +incommodious +incommunicado +incompatibility/S +incompetent/MS +incomplete/Y +inconceivability/M +incongruous/PY +incongruousness/M +inconsolably +inconstant/Y +incontestability/M +incontestably +incontinent +incontrovertibly +inconvenience/GD +incorporate/ADSGN +incorporated/U +incorporation/AM +incorporeal +incorrect/Y +incorrigibility/M +incorrigible +incorrigibly +incorruptibly +increasing/Y +increment/SMD +incremental/Y +incrementalism +incrementalist/SM +incriminate/GNDS +incrimination/M +incriminatory +incrustation/SM +incubate/GNDS +incubation/M +incubator/SM +incubus/MS +inculcate/DSGN +inculcation/M +inculpate/DSG +incumbency/SM +incumbent/SM +incunabula +incunabulum/M +incur/SB +incurable/MS +incurably +incurious +incurred +incurring +incursion/MS +ind +indebted/P +indebtedness/M +indeed +indefatigable +indefatigably +indefeasible +indefeasibly +indefinably +indelible +indelibly +indemnification/M +indemnify/GDSXN +indemnity/SM +indentation/MS +indention/M +indenture/DG +indescribably +indestructibly +indeterminably +indeterminacy/M +indeterminate/Y +index/ZGMDRS +indexation/SM +indexer/M +indicate/XDSGNV +indication/M +indicative/SMY +indicator/MS +indict/GDSBL +indictment/SM +indie/S +indigence/M +indigenous +indigent/SMY +indignant/Y +indignation/M +indigo/M +indirect/Y +indiscipline +indiscreet/Y +indiscretion/S +indiscriminate/Y +indispensability/M +indispensable/MS +indispensably +indissolubility +indissolubly +indistinguishably +indite/GDS +indium/M +individual/MYS +individualism/M +individualist/MS +individualistic +individualistically +individuality/M +individualization/M +individualize/GDS +individuate/DSGN +individuation/M +indivisibly +indoctrinate/GNDS +indoctrination/M +indolence/M +indolent/Y +indomitable +indomitably +indubitable +indubitably +induce/DRSZGL +inducement/SM +inducer/M +induct/DGV +inductance/M +inductee/SM +induction/MS +inductive/Y +indulge/DSG +indulgence/SM +indulgent/Y +industrial/Y +industrialism/M +industrialist/SM +industrialization/M +industrialize/DSG +industrious/YP +industriousness/M +industry/SM +indwell/SG +inebriate/MGNDS +inebriation/M +inedible +ineffability/M +ineffable +ineffably +inelastic +ineligible/MS +ineligibly +ineluctable +ineluctably +inept/YP +ineptitude/M +ineptness/M +inequality/S +inert/YP +inertia/M +inertial +inertness/M +inescapable +inescapably +inestimably +inevitability/M +inevitable/M +inevitably +inexact/Y +inexhaustibly +inexorability +inexorable +inexorably +inexpedient +inexpert/Y +inexpiable +inexplicably +inexpressibly +inexpressive +inextricably +inf/ZT +infallible +infamy/SM +infancy/M +infant/MS +infanticide/MS +infantile +infantry/SM +infantryman/M +infantrymen +infarct/MS +infarction/M +infatuate/DSXGN +infatuation/M +infect/AESDG +infected/U +infection/ASM +infectious/PY +infectiousness/M +infelicitous +inference/SM +inferential +inferior/MS +inferiority/M +infernal/Y +inferno/MS +inferred +inferring +infest/GDS +infestation/MS +infidel/MS +infidelity/S +infiltrator/SM +infinite/MV +infinitesimal/SMY +infinitival +infinitive/MS +infinitude/M +infinity/SM +infirm +infirmary/SM +infirmity/SM +infix +inflame/DSG +inflammable +inflammation/SM +inflammatory +inflatable/SM +inflate/DSGNB +inflation/EM +inflationary +inflect/SDG +inflection/MS +inflectional +inflict/SDGV +infliction/M +inflow/SM +influence/MGDS +influenced/U +influential/Y +influenza/M +info/M +infomercial/SM +inform/Z +informal/Y +informant/SM +information/EM +informational +informative/PY +informativeness/M +informed/U +infotainment/M +infra +infrared/M +infrasonic +infrastructural +infrastructure/SM +infrequence/M +infrequent/Y +infringement/MS +infuriate/GDS +infuriating/Y +infuser/SM +ingenious/PY +ingeniousness/M +ingenue/SM +ingenuity/M +ingenuous/EY +ingenuousness/M +ingest/SDG +ingestion/M +inglenook/SM +ingot/SM +ingrain/G +ingrate/SM +ingratiate/GNDS +ingratiating/Y +ingratiation/M +ingredient/MS +ingress/MS +inguinal +inhabit/DG +inhabitable/U +inhabitant/SM +inhabited/U +inhalant/SM +inhalation/MS +inhalator/MS +inhaler/SM +inharmonious +inhere/DSG +inherent/Y +inherit/EGSD +inheritance/EM +inheritances +inheritor/SM +inhibit/GSD +inhibition/SM +inhibitor/SM +inhibitory +inhuman/Y +inhumane/Y +inimical/Y +inimitably +iniquitous/Y +iniquity/SM +initial/SGMDY +initialism +initialization +initialize/DSG +initialized/AU +initiate/XMGNVDS +initiated/U +initiation/M +initiative/SM +initiator/MS +initiatory +inject/SDG +injection/SM +injector/SM +injure/DRSZG +injured/U +injurer/M +injurious +ink/MD +inkblot/SM +inkiness/M +inkling/SM +inkstand/SM +inkwell/MS +inky/RTP +inland/M +inline +inmate/SM +inmost +inn/SGMRJ +innards/M +innate/PY +innateness/M +innermost +innersole/SM +innerspring +innervate/GNDS +innervation/M +inning/M +innit +innkeeper/MS +innocence/M +innocent/MYS +innocuous/PY +innocuousness/M +innovate/XDSGNV +innovation/M +innovator/MS +innovatory +innuendo/SM +innumerably +innumerate +inoculate/AGDS +inoculation/MS +inoperative +inordinate/Y +inorganic +inquire/ZGDR +inquirer/M +inquiring/Y +inquiry/SM +inquisition/MS +inquisitional +inquisitive/YP +inquisitiveness/M +inquisitor/SM +inquisitorial +inrush/MS +insane/T +insatiability/M +insatiably +inscribe/ZGDR +inscriber/M +inscription/MS +inscrutability/M +inscrutable/P +inscrutableness/M +inscrutably +inseam/SM +insecticidal +insecticide/MS +insectivore/MS +insectivorous +insecure/Y +inseminate/DSGN +insemination/M +insensate +insensible +insensitive/Y +inseparable/MS +insert's +insert/AGSD +insertion/AM +insertions +insetting +inshore +inside/RSMZ +insider/M +insidious/YP +insidiousness/M +insight/MS +insightful +insignia/M +insinuate/GNVDSX +insinuation/M +insinuator/SM +insipid/PY +insipidity/M +insist/SGD +insistence/M +insistent/Y +insisting/Y +insofar +insole/SM +insolence/M +insolent/Y +insoluble +insolubly +insolvency/S +insomnia/M +insomniac/SM +insomuch +insouciance/M +insouciant +inspect/AGDS +inspection/SM +inspector/MS +inspectorate/MS +inspiration/MS +inspirational +inspired/U +inspiring/U +inst +instability/S +installation/MS +installer/UMS +installment/SM +instance/GD +instant/MRYS +instantaneous/Y +instantiate/DSG +instar +instate/AGDS +instead +instigate/DSGN +instigation/M +instigator/MS +instillation/M +instinct/VMS +instinctive/Y +instinctual +institute/XMZGNDRS +instituter/M +institution/M +institutional/Y +institutionalization/M +institutionalize/DSG +instr +instruct/SDGV +instructed/U +instruction/MS +instructional +instructive/Y +instructor/MS +instrument/MDSG +instrumental/MYS +instrumentalist/SM +instrumentality/M +instrumentation/M +insubordinate +insufferable +insufferably +insular +insularity/M +insulate/GNDS +insulation/M +insulator/MS +insulin/M +insult/SMDG +insulting/Y +insuperable +insuperably +insurance/SM +insure/DRSZGB +insured/SM +insurer/M +insurgence/SM +insurgency/SM +insurgent/MS +insurmountably +insurrection/SM +insurrectionist/SM +int +intact +intaglio/MS +integer/MS +integral/SMY +integrate/AEVNGSD +integration/EAM +integrator +integrity/M +integument/SM +intellect/MS +intellectual/MYS +intellectualism/M +intellectualize/GDS +intelligence/M +intelligent/Y +intelligentsia/M +intelligibility/M +intelligible/U +intelligibly/U +intended/SM +intense/YTVR +intensification/M +intensifier/M +intensify/DRSZGN +intensity/S +intensive/MYPS +intensiveness/M +intent/SMYP +intention/MS +intentional/UY +intentness/M +inter/ESL +interact/SGVD +interaction/SM +interactive/Y +interactivity +interbred +interbreed/GS +intercede/GDS +intercept/GMDS +interception/MS +interceptor/SM +intercession/SM +intercessor/MS +intercessory +interchange/DSMG +interchangeability +interchangeable +interchangeably +intercity +intercollegiate +intercom/SM +intercommunicate/DSGN +intercommunication/M +interconnect/GDS +interconnection/SM +intercontinental +intercourse/M +intercultural +interdenominational +interdepartmental +interdependence/M +interdependent/Y +interdict/GMDS +interdiction/M +interdisciplinary +interest/ESMD +interested/U +interesting/Y +interface/MGDS +interfaith +interfere/GDS +interference/M +interferon/M +interfile/GDS +intergalactic +intergovernmental +interim/M +interior/SM +interj +interject/GDS +interjection/SM +interlace/GDS +interlard/DGS +interleave/DSG +interleukin/M +interline/GDSJ +interlinear +interlining/M +interlink/DSG +interlock/GMDS +interlocutor/SM +interlocutory +interlope/ZGDRS +interloper/M +interlude/MGDS +intermarriage/SM +intermarry/GDS +intermediary/SM +intermediate/MYS +interment/EM +interments +intermezzi +intermezzo/MS +interminably +intermingle/DSG +intermission/SM +intermittent/Y +intermix/GDS +intern/GDL +internal/SY +internalization/M +internalize/GDS +international/SMY +internationalism/M +internationalist/SM +internationalization +internationalize/DSG +internecine +internee/SM +internet +internist/MS +internment/M +internship/MS +interoffice +interpenetrate/DSGN +interpersonal +interplanetary +interplay/M +interpolate/XDSGN +interpolation/M +interpose/GDS +interposition/M +interpret/AGVDS +interpretation/AMS +interpretative +interpreted/U +interpreter/MS +interracial +interred/E +interregnum/SM +interrelate/XDSGN +interrelation/M +interrelationship/MS +interring/E +interrogate/DSGNVX +interrogation/M +interrogative/MYS +interrogator/SM +interrogatory/SM +interrupt/ZGMDRS +interrupter/M +interruption/MS +interscholastic +intersect/GDS +intersection/SM +intersession/SM +intersex +intersperse/GNDS +interspersion/M +interstate/MS +interstellar +interstice/MS +interstitial +intertwine/GDS +interurban +interval/SM +intervene/GDS +intervention/SM +interventionism/M +interventionist/SM +interview/ZGMDRS +interviewee/MS +interviewer/M +intervocalic +interwar +interweave/GS +interwove +interwoven +intestacy/M +intestate +intestinal +intestine/MS +intimacy/SM +intimate/MYGNDSX +intimation/M +intimidate/GNDS +intimidating/Y +intimidation/M +intonation/SM +intoxicant/SM +intoxicate/DSGN +intoxication/M +intracranial +intramural +intramuscular +intranet/MS +intransigence/M +intransigent/MYS +intrastate +intrauterine +intravenous/MSY +intrepid/Y +intrepidity/M +intricacy/SM +intricate/Y +intrigue/DRSMZG +intriguer/M +intriguing/Y +intrinsic +intrinsically +intro/SM +introduce/AGDS +introduction/AM +introductions +introductory +introit/SM +introspect/GVDS +introspection/M +introspective/Y +introversion/M +introvert/MDS +intrude/DRSZG +intruder/M +intrusion/SM +intrusive/YP +intrusiveness/M +intuit/SDGV +intuition/S +intuitive/PY +intuitiveness/M +inundate/XDSGN +inundation/M +inure/DSG +invade/DRSZG +invader/M +invalid/GMDYS +invalidism/M +invaluable +invaluably +invariant +invasion/MS +invasive +invective/M +inveigh/GD +inveighs +inveigle/ZGDRS +inveigler/M +invent/ASGVD +invention/AMS +inventive/PY +inventiveness/M +inventor/MS +inventory/DSMG +inverse/SMY +invert/SMDG +invest/ASDGL +investigate/GNVDSX +investigation/M +investigator/SM +investigatory +investiture/MS +investment/AEM +investor/SM +inveteracy/M +inveterate +invidious/YP +invidiousness/M +invigilate/GNDS +invigilator/S +invigorate/ADSG +invigorating/Y +invigoration/M +invincibility/M +invincibly +inviolability/M +inviolably +inviolate +invitation/SM +invitational/SM +invite/DSMG +invited/U +invitee/SM +inviting/Y +invoke/DSG +involuntariness/M +involuntary/P +involution/M +involve/LDSG +involvement/SM +inward/SY +ioctl +iodide/SM +iodine/M +iodize/DSG +ion/USM +ionic +ionization/UM +ionize/UDSG +ionizer/MS +ionosphere/MS +ionospheric +iota/MS +ipecac/SM +irascibility/M +irascible +irascibly +irate/YP +irateness/M +ire/M +ireful +irenic +irides +iridescence/M +iridescent/Y +iridium/M +iris/MS +irk/SGD +irksome/YP +irksomeness/M +iron/MDSG +ironclad/MS +ironic +ironical/Y +ironing/M +ironmonger/S +ironmongery +ironstone/M +ironware/M +ironwood/MS +ironwork/M +irony/SM +irradiate/DSGN +irradiation/M +irrational/SMY +irrationality/M +irreclaimable +irreconcilability/M +irreconcilable +irreconcilably +irrecoverable +irrecoverably +irredeemable +irredeemably +irreducible +irreducibly +irrefutable +irrefutably +irregardless +irregular/MYS +irregularity/SM +irrelevance/MS +irrelevancy/MS +irrelevant/Y +irreligion +irreligious +irremediable +irremediably +irremovable +irreparable +irreparably +irreplaceable +irrepressible +irrepressibly +irreproachable +irreproachably +irresistible +irresistibly +irresolute/PYN +irresoluteness/M +irresolution/M +irrespective +irresponsibility/M +irresponsible +irresponsibly +irretrievable +irretrievably +irreverence/M +irreverent/Y +irreversible +irreversibly +irrevocable +irrevocably +irrigable +irrigate/DSGN +irrigation/M +irritability/M +irritable +irritably +irritant/SM +irritate/DSXGN +irritating/Y +irritation/M +irrupt/DGVS +irruption/SM +ischemia +ischemic +isinglass/M +isl +island/SZMR +islander/M +isle/MS +islet/SM +ism/CM +isms +isn't +isobar/MS +isobaric +isolate/DSMGN +isolation/M +isolationism/M +isolationist/SM +isomer/MS +isomeric +isomerism/M +isometric/S +isometrically +isometrics/M +isomorphic +isosceles +isotherm/SM +isotope/SM +isotopic +isotropic +issuance/M +issue/ADSMG +issuer/MS +isthmian +isthmus/MS +it'd +it'll +it/USM +ital +italic/SM +italicization/M +italicize/GDS +italics/M +itch/MDSG +itchiness/M +itchy/RPT +item/MS +itemization/M +itemize/GDS +iterate/AXGNVDS +iteration/AM +iterator/S +itinerant/SM +itinerary/SM +itself +iv/U +ivory/SM +ivy/DSM +ix +j/F +jab/SM +jabbed +jabber/SMDRZG +jabberer/M +jabbing +jabot/SM +jacaranda/MS +jack/MDGS +jackal/SM +jackass/MS +jackboot/SMD +jackdaw/MS +jacket/SMD +jackhammer/MS +jackknife/MGDS +jackknives +jackpot/MS +jackrabbit/MS +jackstraw/MS +jacquard/M +jade/MGDS +jaded/PY +jadedness/M +jadeite/M +jag/SM +jagged/TPRY +jaggedness/M +jaggies +jaguar/SM +jail/MDRZGS +jailbird/SM +jailbreak/SM +jailer/M +jailhouse/S +jalapeno/MS +jalopy/SM +jalousie/MS +jam/SM +jamb/MS +jambalaya/M +jamboree/MS +jammed +jamming +jammy/RT +jangle/DRSMZG +jangler/M +janitor/SM +janitorial +japan/SM +japanned +japanning +jape/MGDS +jar/SM +jardiniere/SM +jarful/MS +jargon/M +jarred +jarring/Y +jasmine/SM +jasper/M +jato/MS +jaundice/DSMG +jaunt/SGMD +jauntily +jauntiness/M +jaunty/RPT +java/M +javelin/SM +jaw/SGMD +jawbone/DSMG +jawbreaker/MS +jawline/S +jay/SM +jaybird/SM +jaywalk/DRSZG +jaywalker/M +jaywalking/M +jazz/MDSG +jazzy/TR +jct +jealous/Y +jealousy/SM +jean/MS +jeans/M +jeep/MS +jeer/MDSG +jeering/MY +jeez +jejuna +jejune +jejunum/M +jell/DSG +jello/S +jelly/GDSM +jellybean/MS +jellyfish/MS +jellylike +jellyroll/SM +jemmy/GDS +jennet/MS +jenny/SM +jeopardize/GDS +jeopardy/M +jeremiad/MS +jerk/MDSG +jerkily +jerkin/MS +jerkiness/M +jerkwater +jerky/TRMP +jeroboam/S +jerrybuilt +jerrycan/S +jersey/MS +jest/MDRSZG +jester/M +jesting/Y +jet/SM +jetliner/SM +jetport/MS +jetsam/M +jetted +jetting +jettison/MDSG +jetty/SM +jew +jewel/SZGMDR +jeweler/M +jewelry/SM +jg +jib/SGMD +jibbed +jibbing +jibe/MS +jiff/MS +jiffy/SM +jig's +jig/AS +jigged/A +jigger's +jigger/ASDG +jigging/A +jiggle/DSMG +jiggly +jigsaw/SMDG +jihad/SM +jihadist/SM +jilt/MDSG +jimmy/DSMG +jimsonweed/M +jingle/DSMG +jingly +jingoism/M +jingoist/SM +jingoistic +jink/DSG +jinn +jinni/M +jinrikisha/SM +jinx/MDSG +jitney/SM +jitterbug/MS +jitterbugged +jitterbugger/M +jitterbugging +jitters/M +jittery/RT +jive/MGDS +job/SM +jobbed +jobber/SM +jobbing +jobholder/MS +jobless/P +joblessness/M +jobshare/S +jobsworth +jobsworths +jock/MS +jockey/SGMD +jockstrap/MS +jocose/PY +jocoseness/M +jocosity/M +jocular/Y +jocularity/M +jocund/Y +jocundity/M +jodhpurs/M +joey/S +jog/SM +jogged +jogger/SM +jogging/M +joggle/DSMG +john/MS +johnny/SM +johnnycake/MS +join's +join/AFDSG +joiner/FMS +joinery/M +joint's +joint/EGSD +jointly/F +joist/SM +jojoba +joke/MZGDRS +joker/M +jokey +jokier +jokiest +joking/Y +jollification/SM +jollily +jolliness/M +jollity/M +jolly/TGPDRSM +jolt/MDRSZG +jolter/M +jonquil/SM +josh/MDRSZG +josher/M +jostle/MGDS +jot/SM +jotted +jotter/MS +jotting/MS +joule/SM +jounce/MGDS +jouncy +journal/MS +journalese/M +journalism/M +journalist/SM +journalistic +journey/ZGMDRS +journeyer/M +journeyman/M +journeymen +journo/S +joust/SZGMDR +jouster/M +jousting/M +jovial/Y +joviality/M +jowl/MS +jowly/TR +joy/SGMD +joyful/YP +joyfuller +joyfullest +joyfulness/M +joyless/PY +joylessness/M +joyous/YP +joyousness/M +joyridden +joyride/RSMZG +joyrider/M +joyriding/M +joyrode +joystick/SM +jr +jubilant/Y +jubilation/M +jubilee/SM +judder/GDS +judge's +judge/ADSG +judgeship/M +judgment/SM +judgmental/Y +judicatory/SM +judicature/M +judicial/Y +judiciary/SM +judicious/IYP +judiciousness/IM +judo/M +jug/SM +jugful/MS +jugged +juggernaut/SM +jugging +juggle/MZGDRS +juggler/M +jugglery/M +jugular/SM +juice/DRSMZG +juicer/M +juicily +juiciness/M +juicy/PTR +jujitsu/M +jujube/MS +jukebox/MS +julep/SM +julienne +jumble/MGDS +jumbo/SM +jump/MDRSZG +jumper/M +jumpily +jumpiness/M +jumpsuit/MS +jumpy/TRP +jun +junco/SM +junction/FISM +juncture/FMS +jungle/MS +junior/MS +juniper/SM +junk/MDRSZG +junker/M +junket/MDSG +junketeer/MS +junkie/MTRS +junkyard/MS +junta/SM +juridic +juridical/Y +jurisdiction/SM +jurisdictional +jurisprudence/M +jurist/MS +juristic +juror/SM +jury/ISM +juryman/M +jurymen +jurywoman/M +jurywomen +just/RYPT +justice/IMS +justifiable/U +justifiably/U +justification/M +justified/U +justify/XGDSN +justness/M +jut/SM +jute/M +jutted +jutting +juvenile/SM +juxtapose/DSG +juxtaposition/SM +k/IFGS +kHz +kW +kWh +kabbalah +kaboom +kabuki/M +kaddish/MS +kaffeeklatch/MS +kaffeeklatsch/MS +kahuna/S +kaiser/MS +kale/M +kaleidoscope/MS +kaleidoscopic +kaleidoscopically +kamikaze/MS +kana +kangaroo/MS +kanji +kaolin/M +kapok/M +kappa/SM +kaput +karakul/M +karaoke/MS +karat/SM +karate/M +karma/M +karmic +kart/MS +katakana +katydid/SM +kayak/SMDG +kayaking/M +kayo/MDSG +kazoo/SM +kc +kebab/SM +kedgeree +keel/MDSG +keelhaul/DGS +keen/MDRYSTGP +keenness/M +keep/MRSZG +keeper/M +keeping/M +keepsake/MS +keg/SM +kelp/M +kelvin/SM +ken/SM +kenned +kennel/SGMD +kenning +keno/M +kepi/MS +kept +keratin/M +keratitis +kerbside +kerchief/SM +kerfuffle/S +kernel/SM +kerosene/M +kestrel/MS +ketch/MS +ketchup/M +kettle/SM +kettledrum/SM +key/SGMD +keybinding/S +keyboard/ZGSMDR +keyboarder/M +keyboardist/SM +keyhole/MS +keynote/MZGDRS +keynoter/M +keypad/SM +keypunch/ZGMDRS +keypuncher/M +keystone/MS +keystroke/SM +keyword/MS +kg +khaki/SM +khan/MS +kibble/DSMG +kibbutz/MS +kibbutzim +kibitz/ZGDRS +kibitzer/M +kibosh/M +kick/MDRSZG +kickback/SM +kickball/M +kickboxing +kicker/M +kickoff/MS +kickstand/MS +kicky/RT +kid/SM +kidded +kidder/SM +kiddie/SM +kidding +kiddish +kiddo/SM +kidnap/S +kidnapped +kidnapper/MS +kidnapping/MS +kidney/SM +kidskin/M +kielbasa/MS +kielbasi +kike/S +kill/JMDRSZG +killdeer/SM +killer/M +killing/M +killjoy/SM +kiln/MDSG +kilo/MS +kilobyte/SM +kilocycle/SM +kilogram/SM +kilohertz/M +kiloliter/MS +kilometer/MS +kiloton/SM +kilowatt/SM +kilt/MDRS +kilter/M +kimono/MS +kin/M +kinase +kind's +kind/UPRYT +kinda +kindergarten/MS +kindergartner/SM +kindhearted/PY +kindheartedness/M +kindle/AGDS +kindliness/M +kindling/M +kindly/URT +kindness/UM +kindnesses +kindred/M +kinds +kine/S +kinematic/S +kinematics/M +kinetic/S +kinetically +kinetics/M +kinfolk/SM +kinfolks/M +king/MYS +kingdom/SM +kingfisher/SM +kingly/RT +kingmaker/S +kingpin/SM +kingship/M +kink/MDSG +kinkily +kinkiness/M +kinky/TPR +kinsfolk/M +kinship/M +kinsman/M +kinsmen +kinswoman/M +kinswomen +kiosk/SM +kip/SM +kipped +kipper/MDGS +kipping +kirsch/MS +kismet/M +kiss/MDRSBZG +kisser/M +kissoff/SM +kissogram/S +kit/SGMD +kitchen/SM +kitchenette/MS +kitchenware/M +kite/MS +kith/M +kitsch/M +kitschy +kitted +kitten/MS +kittenish +kitting +kitty/SM +kiwi/MS +kiwifruit/MS +kl +klaxon/S +kleptocracy +kleptomania/M +kleptomaniac/SM +kludge/GDS +kluge/DS +klutz/MS +klutziness/M +klutzy/TRP +km +kn +knack/SZMR +knacker/GD +knapsack/MS +knave/SM +knavery/M +knavish/Y +knead/SZGDR +kneader/M +knee/MDS +kneecap/SM +kneecapped +kneecapping +kneeing +kneel/SG +knell/SGMD +knelt +knew +knicker/S +knickerbockers/M +knickers/M +knickknack/MS +knife/DSMG +knight/MDYSG +knighthood/MS +knightliness/M +knish/MS +knit/MS +knitted +knitter/SM +knitting/M +knitwear/M +knives +knob/MS +knobbly +knobby/TR +knock/SZGMDR +knockabout +knockdown/SM +knocker/M +knockoff/SM +knockout/SM +knockwurst/SM +knoll/SM +knot/MS +knothole/SM +knotted +knotting +knotty/TR +know/SB +knowing/UYS +knowledge/M +knowledgeable +knowledgeably +known +knuckle/DSMG +knuckleduster/S +knucklehead/MS +knurl/SGMD +koala/SM +koan/S +kohl +kohlrabi/M +kohlrabies +kola/MS +kook/MS +kookaburra/SM +kookiness/M +kooky/TPR +kopeck/MS +korma +kosher/DSG +kowtow/GMDS +kph +kraal/SM +kraut/SM! +krill/M +krona/M +krone/RM +kronor +kronur +krypton/M +kt +kuchen/SM +kudos/M +kudzu/SM +kumquat/MS +kvetch/ZGMDRS +kvetcher/M +kw +l/SDXTGJ +la/M +lab/SM +label's +label/ASDG +labeled/U +labia +labial/SM +labile +labium/M +labor/SMDRZG +laboratory/SM +laborer/M +laborious/PY +laboriousness/M +laborsaving +laburnum/MS +labyrinth/M +labyrinthine +labyrinths +lac/M +lace's +lace/UGDS +lacerate/DSGNX +laceration/M +lacewing/SM +lacework/M +lachrymal +lachrymose +lack/MDSG +lackadaisical/Y +lackey/SM +lackluster +laconic +laconically +lacquer/GMDS +lacrosse/M +lactate/GNDS +lactation/M +lacteal +lactic +lactose/M +lacuna/M +lacunae +lacy/RT +lad/SGMDNJ +ladder/GSMD +laddie/SM +laddish/P +lade/S +laden/U +lading/M +ladle/DSMG +lady/SM +ladybird/SM +ladybug/MS +ladyfinger/MS +ladylike/U +ladylove/MS +ladyship/MS +laetrile/M +lag/SZMR +lager/M +laggard/MYS +lagged +lagging/M +lagniappe/SM +lagoon/SM +laid/IA +lain +lair/MS +laird/SM +laity/M +lake/MS +lakefront/S +lakeside +lam/SM +lama/MS +lamasery/SM +lamb/MDSG +lambada/MS +lambaste/GDS +lambda/SM +lambency/M +lambent/Y +lambkin/SM +lambskin/SM +lambswool +lame/MYZTGDRSP +lamebrain/MDS +lameness/M +lament/BSMDG +lamentably +lamentation/MS +lamina/M +laminae +laminar +laminate/MGNDS +lamination/M +lammed +lamming +lamp/MS +lampblack/M +lamplight/MRZ +lamplighter/M +lampoon/SGMD +lamppost/SM +lamprey/MS +lampshade/SM +lanai/SM +lance/DRSMZG +lancer/M +lancet/SM +land/MDRSGJ +landau/SM +landfall/MS +landfill/MS +landholder/SM +landholding/MS +landing/M +landlady/SM +landless/M +landline/MS +landlocked +landlord/MS +landlubber/MS +landmark/MS +landmass/MS +landmine/S +landowner/MS +landownership +landowning/SM +landscape/MZGDRS +landscaper/M +landslid +landslide/MGS +landslip/S +landsman/M +landsmen +landward/S +lane/MS +language/MS +languid/PY +languidness/M +languish/DSG +languor/SM +languorous/Y +lank/RYTP +lankiness/M +lankness/M +lanky/RTP +lanolin/M +lantern/MS +lanthanum/M +lanyard/MS +lap/SM +laparoscopic +laparoscopy +laparotomy +lapboard/SM +lapdog/SM +lapel/SM +lapidary/SM +lapin/SM +lapped +lappet/SM +lapping +lapse/AKGMSD +laptop/SM +lapwing/MS +larboard/SM +larcenist/SM +larcenous +larceny/SM +larch/MS +lard/MDRSZG +larder/M +lardy/RT +large/RSPMYT +largehearted +largeness/M +largess/M +largish +largo/SM +lariat/SM +lark/MDSG +larkspur/SM +larva/M +larvae +larval +laryngeal +larynges +laryngitis/M +larynx/M +lasagna/MS +lascivious/YP +lasciviousness/M +lase/ZGDRS +laser/M +lash/MDSGJ +lashing/M +lass/MS +lassie/SM +lassitude/M +lasso/SMDG +last/MDYSG +lasting/Y +lat/S +latch's +latch/UDSG +latchkey/SM +late/YTRP +latecomer/MS +latency/M +lateness/M +latent +lateral/MDYSG +latest/M +latex/M +lath/MDRSZG +lathe/M +lather/GMD +lathery +laths +latices +latish +latitude/MS +latitudinal +latitudinarian/MS +latrine/MS +latte/RSM +latter/MY +lattice/MDS +latticework/SM +laud/MDSGB +laudably +laudanum/M +laudatory +laugh/BMDG +laughably +laughing/MY +laughingstock/SM +laughs +laughter/M +launch/AGMDS +launcher/SM +launchpad/SM +launder/DRZGS +launderer/M +launderette/SM +laundress/MS +laundromat/MS +laundry/SM +laundryman/M +laundrymen +laundrywoman/M +laundrywomen +laureate/MS +laureateship/M +laurel/SM +lav/SGD +lava/M +lavage/M +lavaliere/SM +lavatorial +lavatory/SM +lave/S +lavender/SM +lavish/PTGDRSY +lavishness/M +law/SM +lawbreaker/SM +lawbreaking/M +lawful/UPY +lawfulness/UM +lawgiver/MS +lawless/PY +lawlessness/M +lawmaker/MS +lawmaking/M +lawman/M +lawmen +lawn/MS +lawnmower/SM +lawrencium/M +lawsuit/MS +lawyer/SM +lax/TRYP +laxative/MS +laxity/M +laxness/M +lay/AICSGM +layabout/S +layaway/M +layer/CSM +layered +layering/M +layette/MS +layman/M +laymen +layoff/SM +layout/SM +layover/MS +laypeople +layperson/MS +layup/SM +laywoman/M +laywomen +laze/MGDS +lazily +laziness/M +lazy/DRSTGP +lazybones/M +lb/S +lbw +lea/SM +leach/DSG +lead/MDNRSZG +leader/M +leaderless +leadership/SM +leading/M +leaf/MDSG +leafage/M +leafless +leaflet/GMDS +leafstalk/MS +leafy/RT +league/DSMG +leak/MDSG +leakage/MS +leakiness/M +leaky/PRT +lean/MDRSTGJP +leaning/M +leanness/M +leap/MDRSZG +leaper/M +leapfrog/MS +leapfrogged +leapfrogging +learn/AUGDS +learnedly +learner/MS +learning's +lease/ADSMG +leaseback/SM +leasehold/MRSZ +leaseholder/M +leaser/SM +leash's +leash/UDSG +least/M +leastwise +leather/MS +leatherette/M +leatherneck/MS +leathery +leave/DRSMZGJ +leaven/SGMD +leavened/U +leavening/M +leaver/M +leavings/M +lech/MDRSZG +lecher/M +lecherous/PY +lecherousness/M +lechery/M +lecithin/M +lectern/MS +lecture/MZGDRS +lecturer/M +lectureship/SM +ledge/RSMZ +ledger/M +lee/RSMZ +leech/MDSG +leek/MS +leer/MDG +leeriness/M +leery/RPT +leeward/SM +leeway/M +left/MRST +leftism/M +leftist/SM +leftmost +leftover/SM +leftward/S +lefty/SM +leg/SM +legacy/SM +legal/SMY +legalese/M +legalism/MS +legalistic +legalistically +legality/SM +legalization/M +legalize/GDS +legate/CXMNS +legatee/MS +legation's/AC +legato/SM +legend/SM +legendarily +legendary +legerdemain/M +legged +legginess/M +legging/MS +leggy/RPT +leghorn/MS +legibility/M +legible +legibly +legion/SM +legionary/SM +legionnaire/SM +legislate/DSGNV +legislation/M +legislative/Y +legislator/MS +legislature/SM +legit +legitimacy/M +legitimate/DSYG +legitimatize/GDS +legitimization/M +legitimize/DSG +legless +legman/M +legmen +legroom/SM +legume/MS +leguminous +legwarmer/S +legwork/M +lei/SM +leisure/DMY +leisureliness/M +leisurewear/M +leitmotif/MS +leitmotiv/MS +lemma/S +lemme/JG +lemming/M +lemon/SM +lemonade/SM +lemongrass +lemony +lemur/SM +lend/RSZG +lender/M +length/MNX +lengthen/GD +lengthily +lengthiness/M +lengths +lengthwise +lengthy/PRT +lenience/M +leniency/M +lenient/Y +lenitive +lens/MS +lent +lentil/MS +lento +leonine +leopard/SM +leopardess/MS +leotard/SM +leper/SM +leprechaun/MS +leprosy/M +leprous +lepta +lepton/MS +lesbian/SM +lesbianism/M +lesion/MS +less/MNRX +lessee/MS +lessen/GD +lesson/MS +lessor/MS +let/ISM +letdown/SM +lethal/Y +lethargic +lethargically +lethargy/M +letter/ZGMDRS +letterbomb/S +letterbox/S +lettered/U +letterer/M +letterhead/MS +lettering/M +letterpress/M +letting/S +lettuce/MS +letup/SM +leucine +leucotomy/S +leukemia/M +leukemic/SM +leukocyte/MS +levee/SM +level/PSZGMDRY +leveler/M +levelheaded/P +levelheadedness/M +levelness/M +lever/SGMD +leverage's +leverage/CDSG +leviathan/MS +levier/M +levitate/DSGN +levitation/M +levity/M +levy/DRSMZG +lewd/RYPT +lewdness/M +lexer/S +lexical +lexicographer/MS +lexicographic +lexicographical +lexicography/M +lexicon/SM +lexis +lg +liabilities +liability/AM +liable/A +liaise/GDS +liaison/MS +liar/MS +lib/M +libation/SM +libber/MS +libel/SZGMDR +libeler/M +libelous +liberal/MYPS +liberalism/M +liberality/M +liberalization/SM +liberalize/GDS +liberalness/M +liberate/CDSGN +liberation/CM +liberator/MS +libertarian/SM +libertine/MS +liberty/SM +libidinal +libidinous +libido/MS +librarian/MS +librarianship +library/SM +librettist/MS +libretto/SM +lice +license/MGDS +licensed/U +licensee/MS +licentiate/SM +licentious/YP +licentiousness/M +lichen/MS +licit/Y +lick/MDJSG +licking/M +licorice/SM +lid/SM +lidded +lidless +lido/MS +lie/DSM +lied/MR +lief/RT +liege/SM +lien/MS +lieu/M +lieutenancy/M +lieutenant/MS +life/MZR +lifebelt/S +lifeblood/M +lifeboat/MS +lifebuoy/MS +lifeforms +lifeguard/SM +lifeless/YP +lifelessness/M +lifelike +lifeline/MS +lifelong +lifer/M +lifesaver/SM +lifesaving/M +lifespan/S +lifestyle/SM +lifetime/MS +lifework/MS +lift/MDRSZG +lifter/M +liftoff/SM +ligament/MS +ligate/GNDS +ligation/M +ligature/MGDS +light's/C +light/CASTGD +lighted/U +lighten/SDRZG +lightener/M +lighter/SM +lightface/MD +lightheaded +lighthearted/YP +lightheartedness/M +lighthouse/MS +lighting's +lightly +lightness/M +lightning/MDS +lightproof +lightship/MS +lightweight/SM +ligneous +lignin +lignite/M +lii +likability/M +likable/P +likableness/M +like/EMGDST +likelihood/UM +likelihoods +likeliness/UM +likely/UPRT +liken/SGD +likeness/UM +likenesses +liker +likewise +liking/M +lilac/SM +lilliputian +lilo/S +lilt/MDSG +lily/SM +limb/MS +limber/UDSG +limberness/M +limbless +limbo/SM +lime/MGDS +limeade/SM +limelight/M +limerick/SM +limescale +limestone/M +limey/S +limit's +limit/CSZGDR +limitation/CM +limitations +limited/U +limiter's +limiting/S +limitless/P +limitlessness/M +limn/DSG +limo/MS +limousine/MS +limp/MDRYSPTG +limpet/MS +limpid/YP +limpidity/M +limpidness/M +limpness/M +limy/RT +linage/M +linchpin/SM +linden/MS +line/MZGDRSJ +lineage/MS +lineal/Y +lineament/SM +linear/Y +linearity/M +linebacker/MS +lined/U +linefeed +lineman/M +linemen +linen/SM +linens/M +liner/M +linesman/M +linesmen +lineup/MS +ling/M +linger/ZGJDRS +lingerer/M +lingerie/M +lingering/Y +lingo/M +lingoes +lingual +linguine/M +linguist/SM +linguistic/S +linguistically +linguistics/M +liniment/SM +lining/M +link/MDRSG +linkage/MS +linkman +linkmen +linkup/MS +linnet/MS +lino +linoleum/M +linseed/M +lint's +lint/CDG +lintel/MS +lints +linty/TR +lion/MS +lioness/MS +lionhearted +lionization/M +lionize/GDS +lip/SM +lipid/SM +liposuction/M +lipped +lippy +lipread/GRS +lipreader/M +lipreading/M +lipstick/MDSG +liq +liquefaction/M +liquefy/DSG +liqueur/SM +liquid/MS +liquidate/XGNDS +liquidation/M +liquidator/MS +liquidity/M +liquidize/ZGDRS +liquidizer/M +liquor/MDGS +lira/M +lire +lisle/M +lisp/MDRSZG +lisper/M +lissome +list/MDNSJXG +listed/U +listen/BMDRZG +listener/M +listeria +listing/M +listless/YP +listlessness/M +lit/ZR +litany/SM +litchi/MS +lite +liter/M +literacy/M +literal/SMYP +literalness/M +literariness/M +literary/P +literate/SMY +literati/M +literature/M +lithe/RPYT +litheness/M +lithesome +lithium/M +lithograph/MDRZG +lithographer/M +lithographic +lithographically +lithographs +lithography/M +lithosphere/SM +litigant/SM +litigate/DSGN +litigation/M +litigator/MS +litigious/P +litigiousness/M +litmus/M +litotes/M +litter/MDRSZG +litterateur/MS +litterbug/MS +litterer/M +little/MTRP +littleness/M +littoral/SM +liturgical/Y +liturgist/SM +liturgy/SM +livability/M +livable/U +live/ATGDSB +livelihood/SM +liveliness/M +livelong/S +lively/PRT +liven/SGD +liver's +liver/S +liveried +liverish +liverwort/MS +liverwurst/M +livery/CSM +liveryman/CM +liverymen/C +livestock/M +liveware +livid/Y +living/MS +lix/K +lizard/MS +ll +llama/SM +llano/SM +lo +load's +load/AUGSD +loadable +loader/MS +loading's +loaf/MDRSZG +loafer/M +loam/M +loamy/TR +loan/MDRSZG +loaner/M +loansharking/M +loanword/MS +loath/JZGDRS +loathe +loather/M +loathing/M +loathsome/PY +loathsomeness/M +loaves +lob/SMD +lobar +lobbed +lobber/MS +lobbing +lobby/GDSM +lobbyist/MS +lobe/MS +lobotomize/DSG +lobotomy/SM +lobster/MS +local/SMY +locale/MS +locality/SM +localization/M +localize/DSG +locate/EAGNDS +location's/A +location/ESM +locator/MS +locavore/SM +loci +lock/MDRSBZG +locker/M +locket/MS +lockjaw/M +lockout/MS +locksmith/M +locksmiths +lockstep/M +lockup/MS +loco/S +locomotion/M +locomotive/MS +locoweed/SM +locum/S +locus/M +locust/SM +locution/MS +lode/MS +lodestar/MS +lodestone/MS +lodge/DRSJMZG +lodger/M +lodging/M +lodgings/M +loft/MDSG +loftily +loftiness/M +lofty/PRT +log/SM +loganberry/SM +logarithm/SM +logarithmic +logbook/SM +loge/MS +logged +logger/SM +loggerhead/SM +loggia/SM +logging/M +logic/M +logical/Y +logicality/M +logician/MS +login/SM +logistic/S +logistical/Y +logistics/M +logjam/SM +logo/MS +logoff/SM +logon/SM +logotype/SM +logout/SM +logrolling/M +logy/RT +loin/MS +loincloth/M +loincloths +loiter/ZGSDR +loiterer/M +loitering/M +lolcat/SM +loll/DSG +lollipop/SM +lollop/GSD +lolly/S +lollygag/S +lollygagged +lollygagging +lone/YZR +loneliness/M +lonely/PTR +loner/M +lonesome/YP +lonesomeness/M +long's +long/KDSTG +longboat/MS +longbow/MS +longer +longevity/M +longhair/MS +longhand/M +longhorn/MS +longhouse/S +longing/MYS +longish +longitude/MS +longitudinal/Y +longshoreman/M +longshoremen +longsighted +longstanding +longtime +longueur/SM +longways +loo +loofah/M +loofahs +look/MDRSZG +lookalike/MS +looker/M +lookout/MS +lookup +loom/MDSG +loon/MS +loonie/M +loony/RSMT +loop/MDSG +loophole/MS +loopy/RT +loos/NRX +loose/UDSTG +loosely +loosen/UGSD +looseness/M +loot/MDRSZG +looter/M +looting/M +lop/S +lope/MGDS +lopped +lopping +lopsided/YP +lopsidedness/M +loquacious/PY +loquaciousness/M +loquacity/M +lord/MDYSG +lordliness/M +lordly/TPR +lordship/SM +lore/M +lorgnette/SM +loris/MS +lorn +lorry/SM +lose/ZGRSJ +loser/M +losing/M +loss/MS +lossless +lost +lot/SM +lotion/SM +lottery/SM +lotto/M +lotus/MS +louche +loud/RYTP +loudhailer/SM +loudmouth/MD +loudmouths +loudness/M +loudspeaker/MS +lough +loughs +lounge/MZGDRS +lounger/M +lour/DSG +louse's +louse/CDSG +lousily +lousiness/M +lousy/TPR +lout/MS +loutish/PY +louver/MDS +lovableness/M +lovably +love/MYZGDRSB +lovebird/SM +lovechild/M +loved/U +loveless +loveliness/M +lovelorn +lovely/RSMTP +lovemaking/M +lover/M +lovesick +lovey/S +loving/Y +low/SZTGMDRYP +lowborn +lowboy/MS +lowbrow/SM +lowdown/M +lower/GD +lowercase/M +lowermost +lowish +lowland/SZMR +lowlander/M +lowlife/SM +lowliness/M +lowly/TPR +lowness/M +lox/M +loyal/ETY +loyaler +loyalism/M +loyalist/SM +loyalties +loyalty/EM +lozenge/SM +ltd +luau/MS +lubber/MYS +lube/MGDS +lubricant/SM +lubricate/DSGN +lubrication/M +lubricator/MS +lubricious/Y +lubricity/M +lucid/PY +lucidity/M +lucidness/M +luck/MDSG +luckily/U +luckiness/UM +luckless +lucky/UPTR +lucrative/YP +lucrativeness/M +lucre/M +lucubrate/GNDS +lucubration/M +ludicrous/YP +ludicrousness/M +ludo +luff/DSG +lug/SM +luge/S +luggage/M +lugged +lugger/MS +lugging +lughole/S +lugsail/SM +lugubrious/YP +lugubriousness/M +lukewarm/YP +lukewarmness/M +lull/MDSG +lullaby/SM +lulu/S +lumbago/M +lumbar +lumber/MDRZGS +lumberer/M +lumbering/M +lumberjack/SM +lumberman/M +lumbermen +lumberyard/SM +luminary/SM +luminescence/M +luminescent +luminosity/M +luminous/Y +lummox/MS +lump/MDNSG +lumpectomy/S +lumpiness/M +lumpish +lumpy/TRP +lunacy/SM +lunar +lunatic/SM +lunch/GMDS +lunchbox/S +luncheon/SM +luncheonette/SM +lunchroom/MS +lunchtime/MS +lung/MDSG +lunge/SM +lungfish/MS +lungful/S +lunkhead/MS +lupine/MS +lupus/M +lurch/GMDS +lure/MGDS +lurgy +lurid/PY +luridness/M +lurk/DRSZG +luscious/PY +lusciousness/M +lush/MRSYPT +lushness/M +lust/MDRSG +luster/M +lusterless +lustful/Y +lustily +lustiness/M +lustrous/Y +lusty/PTR +lutanist/SM +lute/MS +lutenist/SM +lutetium/M +luxuriance/M +luxuriant/Y +luxuriate/DSGN +luxuriation/M +luxurious/PY +luxuriousness/M +luxury/SM +lvi +lvii +lxi +lxii +lxiv +lxix +lxvi +lxvii +lyceum/MS +lychgate/S +lye/MG +lying/M +lymph/M +lymphatic/SM +lymphocyte/SM +lymphoid +lymphoma/SM +lynch/JZGDRS +lyncher/M +lynching/M +lynx/MS +lyre/MS +lyrebird/MS +lyric/SM +lyrical/Y +lyricism/M +lyricist/SM +lysosomal +lysosomes +m/KAS +ma'am +ma/SMH +mac/SGMD +macabre +macadam/M +macadamia/SM +macadamize/GDS +macaque/MS +macaroni/MS +macaroon/MS +macaw/SM +mace/MS +macerate/DSGN +maceration/M +mach/M +machete/SM +machinate/GNDSX +machination/M +machine/DSMGB +machinery/M +machinist/MS +machismo/M +macho/M +mackerel/SM +mackinaw/SM +mackintosh/MS +macrame/M +macro/SM +macrobiotic/S +macrobiotics/M +macrocosm/SM +macroeconomic/S +macroeconomics/M +macrology/S +macron/MS +macrophages +macroscopic +mad/SMYP +madam/SM +madame/M +madcap/MS +madden/DGS +maddening/Y +madder/MS +maddest +madding +made/AU +mademoiselle/MS +madhouse/SM +madman/M +madmen +madness/M +madras/MS +madrasa/SM +madrasah/M +madrasahs +madrassa/SM +madrigal/SM +madwoman/M +madwomen +maelstrom/SM +maestro/SM +mafia/SM +mafiosi +mafioso/M +mag/SM +magazine/SM +mage/MS +magenta/M +maggot/MS +maggoty +magi/M +magic/SM +magical/Y +magician/SM +magicked +magicking +magisterial/Y +magistracy/M +magistrate/SM +magma/M +magnanimity/M +magnanimous/Y +magnate/SM +magnesia/M +magnesium/M +magnet/MS +magnetic +magnetically +magnetism/M +magnetite/M +magnetizable +magnetization/CM +magnetize/CGDS +magneto/SM +magnetometer/SM +magnetosphere +magnification/M +magnificence/M +magnificent/Y +magnifier/M +magnify/ZGXDRSN +magniloquence/M +magniloquent +magnitude/SM +magnolia/MS +magnum/MS +magpie/MS +magus/M +maharajah/M +maharajahs +maharani/SM +maharishi/SM +mahatma/SM +mahogany/SM +mahout/MS +maid/MNSX +maiden/MY +maidenhair/M +maidenhead/SM +maidenhood/M +maidservant/SM +mail/JMDRSZG +mailbag/SM +mailbomb/GSD +mailbox/MS +mailer/M +mailing/M +maillot/SM +mailman/M +mailmen +mailshot/S +maim/DSG +main/MYS +mainframe/SM +mainland/MS +mainline/MGDS +mainmast/MS +mainsail/MS +mainspring/MS +mainstay/MS +mainstream/SMDG +maintain/ZGBDRS +maintainability +maintenance/M +maintop/SM +maisonette/MS +maize/SM +majestic +majestically +majesty/SM +majolica/M +major/SGMDY +majordomo/MS +majorette/MS +majoritarian/SM +majoritarianism +majority/SM +make's/A +make/UAGS +makeover/MS +maker/SM +makeshift/SM +makeup/MS +makeweight/S +making/MS +makings/M +malachite/M +maladjusted +maladjustment/M +maladministration +maladroit/PY +maladroitness/M +malady/SM +malaise/M +malamute/MS +malapropism/SM +malaria/M +malarial +malarkey/M +malathion/M +malcontent/MS +male/MPS +malediction/SM +malefaction/M +malefactor/SM +malefic +maleficence/M +maleficent +maleness/M +malevolence/M +malevolent/Y +malfeasance/M +malformation/SM +malformed +malfunction/MDSG +malice/M +malicious/PY +maliciousness/M +malign/DSG +malignancy/SM +malignant/Y +malignity/M +malinger/ZGSDR +malingerer/M +mall/MS +mallard/SM +malleability/M +malleable +mallet/MS +mallow/MS +malnourished +malnutrition/M +malocclusion/M +malodorous +malpractice/SM +malt/MDSG +malted/MS +maltose/M +maltreat/GLDS +maltreatment/M +malty/TR +malware/M +mam/S +mama/MS +mamba/SM +mambo/SGMD +mamma/M +mammal/MS +mammalian/MS +mammary +mammogram/MS +mammography/M +mammon/M +mammoth/M +mammoths +mammy/SM +man's/F +man/USY +manacle/DSMG +manage/ZGDRSL +manageability/M +manageable/U +management/MS +manager/M +manageress/S +managerial +manana/MS +manatee/SM +mandala/SM +mandamus/MS +mandarin/MS +mandate/DSMG +mandatory +mandible/MS +mandibular +mandolin/MS +mandrake/MS +mandrel/SM +mandrill/MS +mane/MDS +manege/M +maneuver/MDGSBJ +maneuverability/M +manful/Y +manga/M +manganese/M +mange/DRMZ +manger/M +mangetout/S +manginess/M +mangle/MZGDRS +mango/M +mangoes +mangrove/MS +mangy/TRP +manhandle/GDS +manhole/SM +manhood/M +manhunt/SM +mania/SM +maniac/MS +maniacal/Y +manic/SM +manically +manicure/MGDS +manicurist/MS +manifest/MDYSG +manifestation/SM +manifesto/SM +manifold/GMDS +manikin/SM +manila/M +manioc/MS +manipulable +manipulate/XGNVDS +manipulation/M +manipulative/Y +manipulator/MS +mankind/M +manky +manlike +manliness/M +manly/UTR +manna/M +manned/U +mannequin/SM +manner/MDYS +mannerism/SM +mannerly/U +manning/U +mannish/YP +mannishness/M +manometer/SM +manor/SM +manorial +manpower/M +manque +mansard/MS +manse/SXMN +manservant/M +mansion/M +manslaughter/M +manta/SM +mantel/MS +mantelpiece/SM +mantelshelf +mantelshelves +mantes +mantilla/SM +mantis/MS +mantissa/SM +mantle's +mantle/EGDS +mantra/MS +manual/MYS +manufacture/DRSMZG +manufacturer/M +manufacturing/M +manumission/SM +manumit/S +manumitted +manumitting +manure/MGDS +manuscript/MS +many/M +map's +map/AS +maple/SM +mapmaker/SM +mapped/A +mapper/MS +mapping/S +mar/S +marabou/MS +marabout/SM +maraca/MS +maraschino/MS +marathon/SMRZ +marathoner/M +maraud/ZGDRS +marauder/M +marble/MGDS +marbleize/GDS +marbling/M +march/ZGMDRS +marcher/M +marchioness/MS +mare/MS +margarine/M +margarita/MS +marge +margin/MS +marginal/YS +marginalia/M +marginalization/M +marginalize/GDS +maria/M +mariachi/MS +marigold/MS +marijuana/M +marimba/SM +marina/MS +marinade/DSMG +marinara/M +marinate/DSGN +marination/M +marine/MZRS +mariner/M +marionette/MS +marital/Y +maritime +marjoram/M +mark/AMDSG +markdown/SM +marked/U +markedly +marker/MS +market/MDRZGBS +marketability/M +marketable/U +marketeer/SM +marketer/M +marketing/M +marketplace/SM +marking/SM +markka/M +markkaa +marksman/M +marksmanship/M +marksmen +markup/MS +marl/M +marlin/MS +marlinespike/SM +marmalade/M +marmoreal +marmoset/SM +marmot/MS +maroon/MDGS +marque/MS +marquee/SM +marquess/MS +marquetry/M +marquis/MS +marquise/M +marquisette/M +marred/U +marriage/ASM +marriageability/M +marriageable +married/SM +marring +marrow/MS +marry/AGDS +marsh/MS +marshal/SMDG +marshland/SM +marshmallow/SM +marshy/RT +marsupial/MS +mart/MNSX +marten/M +martensite +martial/Y +martian/S +martin/MS +martinet/MS +martingale/MS +martini/SM +martyr/MDGS +martyrdom/M +marvel/MDGS +marvelous/Y +marzipan/M +masc +mascara/GMDS +mascot/MS +masculine/SM +masculinity/M +maser/SM +mash/MDRSZG +masher/M +mashup/MS +mask's +mask/UDSG +masker/MS +masochism/M +masochist/SM +masochistic +masochistically +mason/SM +masonic +masonry/M +masque/MS +masquerade/DRSMZG +masquerader/M +mass/MDSGV +massacre/MGDS +massage/DSMG +masseur/SM +masseuse/MS +massif/MS +massive/PY +massiveness/M +mast/MDS +mastectomy/SM +master's +master/ADGS +masterclass/S +masterful/Y +masterly +mastermind/SGMD +masterpiece/MS +masterstroke/SM +masterwork/MS +mastery/M +masthead/MS +mastic/M +masticate/GNDS +mastication/M +mastiff/SM +mastitis +mastodon/SM +mastoid/SM +masturbate/GNDS +masturbation/M +masturbatory +mat/SZGMDR +matador/SM +match/AMS +matchbook/SM +matchbox/MS +matched/U +matching +matchless +matchlock/SM +matchmaker/MS +matchmaking/M +matchstick/MS +matchwood/M +mate/MS +material/SMY +materialism/M +materialist/SM +materialistic +materialistically +materialization/M +materialize/DSG +materiel/M +maternal/Y +maternity/M +matey/S +mathematical/Y +mathematician/SM +mathematics/M +matinee/SM +mating/M +matins/M +matriarch/M +matriarchal +matriarchs +matriarchy/SM +matrices +matricidal +matricide/MS +matriculate/DSGN +matriculation/M +matrimonial +matrimony/M +matrix/M +matron/MYS +matte/DRSMZG +matter/MDG +matting/M +mattock/SM +mattress/MS +maturate/GNDS +maturation/M +mature/YTGDRS +maturity/SM +matzo/SMH +matzoh/M +matzohs +matzot +maudlin +maul/MDRSZG +mauler/M +maunder/SDG +mausoleum/SM +mauve/M +maven/SM +maverick/SM +maw/SM +mawkish/PY +mawkishness/M +max/GMDS +maxi/MS +maxilla/M +maxillae +maxillary +maxim/SM +maximal/Y +maximization/M +maximize/GDS +maximum/SM +may/M +maybe/SM +mayday/MS +mayflower/MS +mayfly/SM +mayhem/M +mayn't +mayo/M +mayonnaise/M +mayor/SM +mayoral +mayoralty/M +mayoress/MS +maypole/SM +mayst +maze/MS +mazurka/MS +mdse +me/DSH +mead/M +meadow/MS +meadowlark/MS +meager/PY +meagerness/M +meal/MS +mealiness/M +mealtime/SM +mealy/TPR +mealybug/SM +mealymouthed +mean/MRYJPSTG +meander/SMDJG +meanderings/M +meanie/M +meaning/M +meaningful/PY +meaningfulness/M +meaningless/YP +meaninglessness/M +meanness/M +meant/U +meantime/M +meanwhile/M +meany/SM +meas +measles/M +measly/RT +measurable +measurably +measure's +measure/ADSG +measured/U +measureless +measurement/MS +meat/MS +meatball/MS +meathead/MS +meatiness/M +meatless +meatloaf/M +meatloaves +meatpacking/M +meaty/TPR +mecca/SM +mechanic/MS +mechanical/Y +mechanics/M +mechanism/SM +mechanistic +mechanistically +mechanization/M +mechanize/DSG +medal/SM +medalist/MS +medallion/SM +meddle/ZGDRS +meddler/M +meddlesome +media/SM +medial/AY +median/MS +mediate/DSGN +mediated/U +mediation/AM +mediator/MS +medic/SM +medicaid/M +medical/SMY +medicament/M +medicare/M +medicate/GNXDS +medication/M +medicinal/Y +medicine/MS +medico/MS +medieval +medievalist/MS +mediocre +mediocrity/SM +meditate/DSGNVX +meditation/M +meditative/Y +medium/MS +medley/MS +medulla/SM +medusa +medusae +meed/M +meek/RYPT +meekness/M +meerschaum/SM +meet/MJSG +meeting/M +meetinghouse/SM +meetup/MS +meg/S +mega +megabit/SM +megabucks/M +megabyte/MS +megachurch/MS +megacycle/SM +megadeath/M +megadeaths +megahertz/M +megalith/M +megalithic +megaliths +megalomania/M +megalomaniac/SM +megalopolis/MS +megaphone/DSMG +megapixel/SM +megastar/S +megaton/SM +megawatt/MS +meh +meiosis/M +meiotic +melamine/M +melancholia/M +melancholic/S +melancholy/M +melange/MS +melanin/M +melanoma/SM +meld/MDSG +melee/SM +meliorate/GNVDS +melioration/M +mellifluous/PY +mellifluousness/M +mellow/PTGDRYS +mellowness/M +melodic +melodically +melodious/YP +melodiousness/M +melodrama/MS +melodramatic/S +melodramatically +melodramatics/M +melody/SM +melon/SM +melt's +melt/ADSG +meltdown/SM +member's +member/EAS +membership/SM +membrane/SM +membranous +meme/MS +memento/MS +memo/MS +memoir/MS +memorabilia/M +memorability/M +memorable/U +memorably +memorandum/MS +memorial/SM +memorialize/DSG +memorization/M +memorize/DSG +memory/SM +memsahib/S +men/M +menace/MGDS +menacing/Y +menage/MS +menagerie/MS +mend/MDRSZG +mendacious/Y +mendacity/M +mendelevium/M +mender/M +mendicancy/M +mendicant/SM +mending/M +menfolk/MS +menfolks/M +menhaden/M +menial/MYS +meningeal +meninges +meningitis/M +meninx/M +menisci +meniscus/M +menopausal +menopause/M +menorah/M +menorahs +mensch/MS +menservants +menses/M +menstrual +menstruate/GNDS +menstruation/M +mensurable +mensuration/M +menswear/M +mental/Y +mentalist/SM +mentality/SM +menthol/M +mentholated +mention/GSMD +mentioned/U +mentor/MDSG +menu/MS +meow/MDSG +mercantile +mercantilism/M +mercenary/SM +mercer/MS +mercerize/GDS +merchandise/MZGDRS +merchandiser/M +merchandising/M +merchant/MBS +merchantman/M +merchantmen +merciful/UY +merciless/PY +mercilessness/M +mercurial/Y +mercuric +mercury/M +mercy/SM +mere/MYTS +meretricious/YP +meretriciousness/M +merganser/MS +merge/DRSZG +merger/M +meridian/MS +meringue/MS +merino/MS +merit/CSM +merited/U +meriting +meritocracy/SM +meritocratic +meritorious/PY +meritoriousness/M +mermaid/SM +merman/M +mermen +merrily +merriment/M +merriness/M +merry/TRP +merrymaker/MS +merrymaking/M +mesa/MS +mescal/MS +mescalin +mescaline/M +mesdames +mesdemoiselles +mesh/MDSG +mesmeric +mesmerism/M +mesmerize/ZGDRS +mesmerizer/M +mesomorph/M +mesomorphs +meson/SM +mesosphere/SM +mesquite/SM +mess/MDSG +message/MGDS +messeigneurs +messenger/SM +messiah/M +messiahs +messianic +messieurs +messily +messiness/M +messmate/SM +messy/PTR +mestizo/MS +met +meta +metabolic +metabolically +metabolism/SM +metabolite/SM +metabolize/DSG +metacarpal/SM +metacarpi +metacarpus/M +metadata +metal/SMD +metalanguage/MS +metallic +metallurgic +metallurgical +metallurgist/MS +metallurgy/M +metalwork/MRZG +metalworker/M +metalworking/M +metamorphic +metamorphism/M +metamorphose/GDS +metamorphosis/M +metaphor/MS +metaphoric +metaphorical/Y +metaphysical/Y +metaphysics/M +metastases +metastasis/M +metastasize/DSG +metastatic +metatarsal/MS +metatarsi +metatarsus/M +metatheses +metathesis/M +mete/MZGDRS +metempsychoses +metempsychosis/M +meteor/MS +meteoric +meteorically +meteorite/SM +meteoroid/SM +meteorologic +meteorological +meteorologist/SM +meteorology/M +meter/GMD +methadone/M +methamphetamine/M +methane/M +methanol/M +methinks +method/MS +methodical/YP +methodicalness/M +methodological/Y +methodology/SM +methotrexate +methought +meths +methyl/M +meticulous/YP +meticulousness/M +metier/MS +metric/S +metrical/Y +metricate/GNDS +metrication/M +metricize/GDS +metro/SM +metronome/MS +metropolis/MS +metropolitan +mettle/M +mettlesome +mew/SGMD +mewl/DSG +mews/M +mezzanine/MS +mezzo/SM +mfg +mfr/S +mg +mgr +mi/MNX +miasma/MS +mic/S +mica/M +mice +mick/S +mickey/MS +micro/SM +microaggression/SM +microbe/MS +microbial +microbiological +microbiologist/MS +microbiology/M +microbrewery/SM +microchip/MS +microcircuit/SM +microcode +microcomputer/MS +microcosm/MS +microcosmic +microdot/SM +microeconomics/M +microelectronic/S +microelectronics/M +microfiber/MS +microfiche/M +microfilm/GMDS +microfloppies +microgroove/SM +microlight/MS +microloan/MS +micromanage/GDSL +micromanagement/M +micrometeorite/SM +micrometer/MS +micron/MS +microorganism/MS +microphone/SM +microprocessor/MS +microscope/SM +microscopic +microscopical/Y +microscopy/M +microsecond/MS +microsurgery/M +microwave/DSMGB +microwaveable +mid +midair/M +midday/M +midden/MS +middle/MGS +middlebrow/SM +middleman/M +middlemen +middlemost +middleweight/MS +middy/SM +midfield/RZ +midge/SM +midget/MS +midi/MS +midland/MS +midlife/M +midmost +midnight/M +midpoint/MS +midrib/MS +midriff/MS +midsection/MS +midshipman/M +midshipmen +midships +midsize +midst/M +midstream/M +midsummer/M +midterm/MS +midtown/M +midway/MS +midweek/MS +midwife/MGDS +midwifery/SM +midwinter/M +midwives +midyear/MS +mien/M +miff/DSG +might've +might/M +mightily +mightiness/M +mightn't +mighty/TRP +mignonette/SM +migraine/MS +migrant/MS +migrate/AGDS +migration/SM +migratory +mikado/MS +mike/MGDS +mil/SZMR +milady/SM +milch +mild/MRYTP +mildew/SMDG +mildness/M +mile/MS +mileage/SM +milepost/MS +miler/M +milestone/MS +milf/MS +milieu/SM +militancy/M +militant/MYS +militarily +militarism/M +militarist/SM +militaristic +militarization/CM +militarize/CDSG +military/M +militate/GDS +militia/SM +militiaman/M +militiamen +milk/MDRSZG +milker/M +milkiness/M +milkmaid/MS +milkman/M +milkmen +milkshake/SM +milksop/MS +milkweed/SM +milky/RTP +mill/MDRSZGJ +millage/M +millennia +millennial/M +millennium/MS +miller/M +millet/M +milliard/MS +millibar/MS +milligram/MS +milliliter/MS +millimeter/MS +milliner/MS +millinery/M +milling/M +million/HSM +millionaire/SM +millionairess/S +millionth/M +millionths +millipede/SM +millisecond/SM +millpond/SM +millrace/SM +millstone/SM +millstream/MS +millwright/SM +milometer/S +milquetoast/SM +milt/MDSG +mime/MGDS +mimeograph/GMD +mimeographs +mimetic +mimic/SM +mimicked +mimicker/SM +mimicking +mimicry/SM +mimosa/SM +min +minaret/MS +minatory +mince/DRSMZG +mincemeat/M +mincer/M +mind's +mind/ADRSZG +mindbogglingly +minded/P +mindful/YP +mindfulness/M +mindless/YP +mindlessness/M +mindset/MS +mine/MZGNDRSX +minefield/SM +miner/M +mineral/MS +mineralogical +mineralogist/MS +mineralogy/M +minestrone/M +minesweeper/SM +mingle/DSG +mingy +mini/MS +miniature/MS +miniaturist/MS +miniaturization/M +miniaturize/GDS +minibar/S +minibike/SM +minibus/MS +minicab/S +minicam/MS +minicomputer/SM +minifloppies +minim/SM +minimal/Y +minimalism/M +minimalist/MS +minimization/M +minimize/DSG +minimum/MS +mining/M +minion/M +miniseries/M +miniskirt/MS +minister/SGMD +ministerial +ministrant/MS +ministration/MS +ministry/SM +minivan/MS +mink/MS +minnesinger/MS +minnow/SM +minor/SMDG +minority/SM +minoxidil/M +minster/MS +minstrel/SM +minstrelsy/M +mint/MDRSZG +mintage/M +minter/M +minty/RT +minuend/MS +minuet/SM +minus/MS +minuscule/MS +minute/PDRSMYTG +minuteman/M +minutemen +minuteness/M +minutia/M +minutiae +minx/MS +miracle/MS +miraculous/Y +mirage/SM +mire/MGDS +mirror/GSMD +mirth/M +mirthful/PY +mirthfulness/M +mirthless/Y +miry/RT +misaddress/DSG +misadventure/MS +misaligned +misalignment/M +misalliance/MS +misanthrope/SM +misanthropic +misanthropically +misanthropist/MS +misanthropy/M +misapplication/M +misapply/DSGNX +misapprehend/GSD +misapprehension/MS +misappropriate/XDSGN +misappropriation/M +misbegotten +misbehave/GDS +misbehavior/M +misc +miscalculate/DSXGN +miscalculation/M +miscall/DSG +miscarriage/MS +miscarry/GDS +miscast/SG +miscegenation/M +miscellaneous/Y +miscellany/SM +mischance/SM +mischief/M +mischievous/YP +mischievousness/M +miscibility/M +miscible +miscommunication/S +misconceive/GDS +misconception/SM +misconduct/MDGS +misconstruction/MS +misconstrue/GDS +miscount/MDSG +miscreant/SM +miscue/DSMG +misdeal/GMS +misdealt +misdeed/MS +misdemeanor/MS +misdiagnose/GDS +misdiagnosis/M +misdid +misdirect/SDG +misdirection/M +misdo/JG +misdoes +misdoing/M +misdone +miser/SBMY +miserableness/M +miserably +miserliness/M +misery/SM +misfeasance/M +misfeature/S +misfile/GDS +misfire/MGDS +misfit/SM +misfitted +misfitting +misfortune/SM +misgiving/MS +misgovern/SDGL +misgovernment/M +misguidance/M +misguide/DSG +misguided/Y +mishandle/DSG +mishap/SM +mishear/GS +misheard +mishit/S +mishitting +mishmash/MS +misidentify/GDS +misinform/DGS +misinformation/M +misinterpret/SGD +misinterpretation/SM +misjudge/DSG +misjudgment/SM +mislabel/GSD +mislaid +mislay/GS +mislead/GS +misleading/Y +misled +mismanage/LGDS +mismanagement/M +mismatch/GMDS +misname/GDS +misnomer/MS +misogamist/MS +misogamy/M +misogynist/SM +misogynistic +misogynous +misogyny/M +misplace/GLDS +misplacement/M +misplay/GMDS +misprint/GMDS +misprision/M +mispronounce/DSG +mispronunciation/SM +misquotation/MS +misquote/MGDS +misread/GJS +misreading/M +misreport/MDGS +misrepresent/GDS +misrepresentation/MS +misrule/MGDS +miss's +miss/EDSGV +missal/ESM +missed/U +misshape/GDS +misshapen +missile/MS +missilery/M +mission/AMS +missionary/SM +missioner/SM +missive/MS +misspeak/GS +misspell/GDJS +misspelling/M +misspend/GS +misspent +misspoke +misspoken +misstate/GDSL +misstatement/SM +misstep/MS +missus/MS +mist's +mist/CDRSZG +mistakable/U +mistake/BMGS +mistaken/Y +mister's +mistily +mistime/GDS +mistiness/M +mistletoe/M +mistook +mistral/MS +mistranslated +mistreat/LDGS +mistreatment/M +mistress/MS +mistrial/MS +mistrust/MDSG +mistrustful/Y +misty/PRT +mistype/GS +misunderstand/SGJ +misunderstanding/M +misunderstood +misuse/DSMG +mite/MZRS +miter/MDG +mitigate/DSGN +mitigated/U +mitigation/M +mitochondria +mitochondrial +mitochondrion +mitoses +mitosis/M +mitotic +mitral +mitt/MNSX +mitten/M +mix/ZGMDRSB +mixed/U +mixer/M +mixture/SM +mizzen/MS +mizzenmast/SM +mkay +mks +ml +mm +mnemonic/MS +mnemonically +mo/CKHS +moan/MDRSZG +moaner/M +moat/MDS +mob's +mob/CS +mobbed/C +mobbing/C +mobile/MS +mobility/M +mobilization/CM +mobilizations +mobilize/CDSG +mobilizer/SM +mobster/SM +moccasin/SM +mocha/SM +mock/DRSZG +mocker/M +mockery/SM +mocking/Y +mockingbird/SM +mod/STM +modal/SM +modality/S +modded +modding +mode/MS +model/ZGSJMDR +modeler/M +modeling/M +modem/SM +moderate/MYGNPDS +moderateness/M +moderation/M +moderator/SM +modern/MYPS +modernism/M +modernist/SM +modernistic +modernity/M +modernization/M +modernize/DRSZG +modernizer/M +modernness/M +modest/Y +modesty/M +modicum/SM +modifiable +modification/M +modified/U +modifier/M +modify/DRSXZGN +modish/YP +modishness/M +modular +modulate/CGNDS +modulation/CM +modulations +modulator/MS +module/MS +modulo +modulus +moggy +mogul/SM +mohair/M +moi +moiety/SM +moil/MDSG +moire/SM +moist/XTPNRY +moisten/DRZG +moistener/M +moistness/M +moisture/M +moisturize/ZGDRS +moisturizer/M +molar/SM +molasses/M +mold/MDRJSZG +moldboard/SM +molder/GMD +moldiness/M +molding/M +moldy/TPR +mole/MS +molecular +molecularity/M +molecule/SM +molehill/SM +moleskin/M +molest/DRZGS +molestation/M +molested/U +molester/M +moll/MS +mollification/M +mollify/DSNG +molluscan +mollusk/SM +molly/SM +mollycoddle/DSMG +molt/MDNRSZG +molter/M +molybdenum/M +mom/SM +moment/MS +momenta +momentarily +momentariness/M +momentary/P +momentous/PY +momentousness/M +momentum/M +mommy/SM +monarch/M +monarchic +monarchical +monarchism/M +monarchist/MS +monarchistic +monarchs +monarchy/SM +monastery/SM +monastic/MS +monastical/Y +monasticism/M +monaural +monetarily +monetarism/M +monetarist/MS +monetary +monetize/CGDS +money/SMD +moneybag/MS +moneybox/S +moneylender/SM +moneymaker/SM +moneymaking/M +monger/MDGS +mongol/S +mongolism/M +mongoloid/MS +mongoose/MS +mongrel/SM +monies +moniker/SM +monism/M +monist/MS +monition/SM +monitor/SMDG +monitory +monk/MS +monkey/MDGS +monkeyshine/SM +monkish +monkshood/SM +mono/M +monochromatic +monochrome/MS +monocle/DSM +monoclonal +monocotyledon/SM +monocotyledonous +monocular +monodic +monodist/SM +monody/SM +monogamist/MS +monogamous/Y +monogamy/M +monogram/SM +monogrammed +monogramming +monograph/M +monographs +monolingual/MS +monolith/M +monolithic +monoliths +monologist/SM +monologue/SM +monomania/M +monomaniac/MS +monomaniacal +monomer/SM +mononucleosis/M +monophonic +monoplane/SM +monopolist/SM +monopolistic +monopolization/M +monopolize/DRSZG +monopolizer/M +monopoly/SM +monorail/MS +monosyllabic +monosyllable/MS +monotheism/M +monotheist/SM +monotheistic +monotone/MS +monotonic +monotonically +monotonous/PY +monotonousness/M +monotony/M +monounsaturated +monoxide/MS +monseigneur/M +monsieur/M +monsignor/SM +monsoon/SM +monsoonal +monster/SM +monstrance/ASM +monstrosity/SM +monstrous/Y +montage/SM +month/MY +monthly/SM +months +monument/MS +monumental/Y +moo/SGMD +mooch/ZGMDRS +moocher/M +mood/MS +moodily +moodiness/M +moody/TPR +moon/MDSG +moonbeam/MS +moonless +moonlight/SMDRZG +moonlighter/M +moonlighting/M +moonlit +moonscape/SM +moonshine/MZRS +moonshiner/M +moonshot/MS +moonstone/MS +moonstruck +moonwalk/MS +moor/MDJSG +moorhen/S +mooring/M +moorland/MS +moose/M +moot/DSG +mop/SZGMDR +mope/MS +moped/SM +moper/M +mopey +mopier +mopiest +mopish +mopped +moppet/MS +mopping +moraine/SM +moral/SMY +morale/M +moralist/MS +moralistic +moralistically +moralities +morality/UM +moralization/CM +moralize/CGDS +moralizer/MS +morass/MS +moratorium/SM +moray/SM +morbid/YP +morbidity/M +morbidness/M +mordancy/M +mordant/SMY +more/MS +moreish +morel/SM +moreover +mores/M +morgue/MS +moribund +morn/MJSG +morning/M +morocco/M +moron/SM +moronic +moronically +morose/YP +moroseness/M +morph/GD +morpheme/MS +morphemic +morphia/M +morphine/M +morphing/M +morphological +morphology/M +morphs +morrow/MS +morsel/MS +mortal/MYS +mortality/M +mortar/MDSG +mortarboard/SM +mortgage's +mortgage/AGDS +mortgagee/MS +mortgagor/MS +mortician/MS +mortification/M +mortify/NGDS +mortise/DSMG +mortuary/SM +mosaic/MS +mosey/SGD +mosh/DSG +mosque/MS +mosquito/M +mosquitoes +moss/MS +mossback/SM +mossy/TR +most/MY +mot/SM +mote's +mote/KCXSVN +motel/SM +motet/SM +moth/M +mothball/GMDS +mother/MDYSG +motherboard/SM +motherfucker/MS! +motherfucking/! +motherhood/M +motherland/MS +motherless +motherliness/M +moths +motif/SM +motile/S +motility/M +motion/KCM +motioned +motioning +motionless/YP +motionlessness/M +motivate/CDSG +motivated/U +motivation/SM +motivational +motivator/SM +motive/MS +motiveless +motley/MS +motlier +motliest +motocross/MS +motor/SGMD +motorbike/MGDS +motorboat/MS +motorcade/MS +motorcar/SM +motorcycle/DSMG +motorcyclist/MS +motorist/SM +motorization/M +motorize/DSG +motorman/M +motormen +motormouth/M +motormouths +motorway/SM +mottle/GDS +motto/M +mottoes +moue/MS +mound/SGMD +mount/EASGMD +mountable +mountain/SM +mountaineer/SMDG +mountaineering/M +mountainous +mountainside/SM +mountaintop/SM +mountebank/MS +mounted/U +mounter/MS +mounting/SM +mourn/SZGDR +mourned/U +mourner/M +mournful/YP +mournfulness/M +mourning/M +mouse/DRSMZG +mouser/M +mousetrap/SM +mousetrapped +mousetrapping +mousiness/M +moussaka/S +mousse/MGDS +mousy/PTR +mouth/GMD +mouthfeel +mouthful/MS +mouthiness/M +mouthpiece/MS +mouths +mouthwash/MS +mouthwatering +mouthy/PTR +mouton/M +movable/SM +move/AMZGDRSB +moved/U +movement/SM +mover/AM +movie/SM +moviegoer/SM +moving/Y +mow/SZGMDR +mower/M +moxie/M +mozzarella/M +mp +mpg +mph +mt +mtg +mtge +mu/SM +much/M +mucilage/M +mucilaginous +muck/MDSG +muckrake/DRSZG +muckraker/M +mucky/TR +mucous +mucus/M +mud/M +muddily +muddiness/M +muddle/MGDS +muddleheaded +muddy/PTGDRS +mudflap/S +mudflat/MS +mudguard/SM +mudpack/S +mudroom/MS +mudslide/MS +mudslinger/SM +mudslinging/M +muenster/M +muesli +muezzin/MS +muff/MDSG +muffin/MS +muffle/ZGDRS +muffler/M +mufti/SM +mug/SM +mugful/MS +mugged +mugger/MS +mugginess/M +mugging/MS +muggins +muggle/MS +muggy/PTR +mugshot/MS +mugwump/MS +mujaheddin +mukluk/MS +mulatto/M +mulattoes +mulberry/SM +mulch/GMDS +mulct/SGMD +mule/MS +muleskinner/MS +muleteer/MS +mulish/PY +mulishness/M +mull/DSG +mullah/M +mullahs +mullein/M +mullet/MS +mulligan/SM +mulligatawny/M +mullion/SMD +multi +multicolored +multicultural +multiculturalism/M +multidimensional +multidisciplinary +multifaceted +multifamily +multifarious/PY +multifariousness/M +multiform +multigrain +multilateral/Y +multilayered +multilevel +multilingual +multilingualism/M +multimedia/M +multimillionaire/SM +multinational/SM +multiparty +multiplayer/M +multiple/MS +multiplex/ZGMDRS +multiplexer/M +multiplicand/MS +multiplication/M +multiplicative +multiplicity/SM +multiplier/M +multiply/NZGDRSX +multiprocessing +multiprocessor/SM +multipurpose +multiracial +multistage +multistory +multitask/GS +multitasking/M +multitude/SM +multitudinous +multivariate +multiverse/SM +multivitamin/MS +multiyear +mum +mumble/MZGDRS +mumbler/M +mumbletypeg/M +mummer/MS +mummery/M +mummification/M +mummify/GNDS +mummy/SM +mumps/M +mun +munch/GDS +munchies/M +munchkin/SM +mundane/SY +mung/DSG +municipal/SMY +municipality/SM +munificence/M +munificent/Y +munition/MDGS +mural/SM +muralist/SM +murder/ZGMDRS +murderer/M +murderess/MS +murderous/Y +murk/MS +murkily +murkiness/M +murky/PTR +murmur/ZGJMDRS +murmurer/M +murmuring/M +murmurous +murrain/M +muscat/MS +muscatel/SM +muscle/MGDS +musclebound +muscleman +musclemen +muscly +muscular/Y +muscularity/M +musculature/M +muse/MGDSJ +musette/MS +museum/MS +mush/MDRSZG +mushiness/M +mushroom/GSMD +mushy/PTR +music/SM +musical/MYS +musicale/MS +musicality/M +musician/SMY +musicianship/M +musicological +musicologist/MS +musicology/M +musing/MY +musk/M +muskeg/MS +muskellunge/MS +musket/MS +musketeer/MS +musketry/M +muskie/M +muskiness/M +muskmelon/SM +muskox/MN +muskrat/MS +musky/PTRS +muslin/M +muss/MDSG +mussel/MS +mussy/TR +must've +must/MRSZ +mustache/MDS +mustachio/SMD +mustang/MS +mustard/M +muster/GMD +mustily +mustiness/M +mustn't +musty/PTR +mutability/M +mutably +mutagen/MS +mutant/MS +mutate/XGNVDS +mutation/M +mutational +mute/MYTGDRSPB +muteness/M +mutilate/DSGNX +mutilation/M +mutilator/SM +mutineer/SM +mutinous/Y +mutiny/GDSM +mutt/MS +mutter/ZGJMDRS +mutterer/M +muttering/M +mutton/M +muttonchops/M +muttony +mutual/Y +mutuality/M +muumuu/MS +muzak +muzzily +muzzle/DSMG +muzzy/P +my +mycologist/SM +mycology/M +myelitis/M +myna/MS +myocardial +myocardium +myopia/M +myopic +myopically +myriad/SM +myrmidon/MS +myrrh/M +myrtle/SM +mys +myself +mysterious/PY +mysteriousness/M +mystery/SM +mystic/SM +mystical/Y +mysticism/M +mystification/CM +mystify/CDSGN +mystique/M +myth/M +mythic +mythical +mythological +mythologist/SM +mythologize/DSG +mythology/SM +myths +myxomatosis +n/IKTH +naan/S +nab/S +nabbed +nabbing +nabob/SM +nacelle/SM +nacho/SM +nacre/M +nacreous +nadir/SM +nae +naff/RT +nag/SM +nagged +nagger/MS +nagging +nagware +nah +naiad/SM +naif/MS +nail/MDSG +nailbrush/MS +naive/RYT +naivete/M +naivety/M +naked/PY +nakedness/M +name's +name/AGDS +nameable/U +named/U +namedrop +namedropping/M +nameless/Y +namely +nameplate/MS +namesake/SM +nanny/SM +nanobot/S +nanosecond/SM +nanotechnology/SM +nap/SM +napalm/MDSG +nape/MS +naphtha/M +naphthalene/M +napkin/MS +napless +napoleon/SM +napped +napper/MS +napping +nappy/TRSM +narc/MS +narcissism/M +narcissist/MS +narcissistic +narcissus/M +narcolepsy/M +narcoleptic +narcoses +narcosis/M +narcotic/SM +narcotization/M +narcotize/GDS +nark +narky +narrate/GNVDSX +narration/M +narrative/SM +narrator/SM +narrow/PTGMDRYS +narrowness/M +narwhal/MS +nary +nasal/SMY +nasality/M +nasalization/M +nasalize/DSG +nascence/AM +nascent/A +nastily +nastiness/M +nasturtium/SM +nasty/PTR +natal +natch +nation/MS +national/MYS +nationalism/M +nationalist/SM +nationalistic +nationalistically +nationality/SM +nationalization/MS +nationalize/CDSG +nationhood/M +nationwide +native/MS +nativity/SM +natl +natter/GMDS +nattily +nattiness/M +natty/PTR +natural's +natural/UPY +naturalism/M +naturalist/SM +naturalistic +naturalization/M +naturalize/DSG +naturalness/UM +naturals +nature's +nature/CS +naturism +naturist/S +naught/MS +naughtily +naughtiness/M +naughty/PTR +nausea/M +nauseate/GDS +nauseating/Y +nauseous/PY +nauseousness/M +nautical/Y +nautilus/MS +naval +nave/MS +navel/SM +navigability/M +navigable +navigate/DSGN +navigation/M +navigational +navigator/MS +navvy/S +navy/SM +nay/SM +naysayer/MS +ne'er +neanderthal/MS +neap/MS +near/DRYSPTG +nearby +nearness/M +nearshore +nearside +nearsighted/YP +nearsightedness/M +neat/NRYPXT +neaten/GD +neath +neatness/M +nebula/M +nebulae +nebular +nebulous/PY +nebulousness/M +necessarily/U +necessary/SM +necessitate/DSG +necessitous +necessity/SM +neck/MDSG +neckband/S +neckerchief/MS +necking/M +necklace/MGDSJ +neckline/MS +necktie/MS +necrology/M +necromancer/SM +necromancy/M +necrophilia +necrophiliac/S +necropolis/MS +necroses +necrosis/M +necrotic +nectar/M +nectarine/MS +nee +need/MDSG +needed/U +needful/Y +neediness/M +needle/MGDS +needlepoint/M +needless/YP +needlessness/M +needlewoman/M +needlewomen +needlework/M +needn't +needy/PTR +nefarious/YP +nefariousness/M +neg +negate/DSGNVX +negation/M +negative/MYGPDS +negativeness/M +negativism/M +negativity/M +neglect/SGMD +neglectful/YP +neglectfulness/M +negligee/MS +negligence/M +negligent/Y +negligible +negligibly +negotiability/M +negotiable/A +negotiate/ADSGN +negotiation/AM +negotiations +negotiator/MS +negritude/M +negro +negroid +neigh/MDG +neighbor/SMDYG +neighborhood/SM +neighborliness/M +neighs +neither +nelson/SM +nematode/SM +nemeses +nemesis/M +neoclassic +neoclassical +neoclassicism/M +neocolonialism/M +neocolonialist/MS +neocon/SM +neoconservative/SM +neodymium/M +neolithic +neologism/SM +neon/M +neonatal +neonate/MS +neophilia +neophyte/MS +neoplasm/MS +neoplastic +neoprene/M +nepenthe/M +nephew/SM +nephrite/M +nephritic +nephritis/M +nephropathy +nepotism/M +nepotist/SM +nepotistic +neptunium/M +nerd/MS +nerdy/RT +nerve's +nerve/UDSG +nerveless/YP +nervelessness/M +nerviness/M +nervous/YP +nervousness/M +nervy/TPR +nest/MDSG +nestle/GJDS +nestling/M +net/SM +netball +netbook/MS +nether +nethermost +netherworld/M +netiquette/S +netted +netter/S +netting/M +nettle/MGDS +nettlesome +network/SGMD +networking/M +neural/Y +neuralgia/M +neuralgic +neurasthenia/M +neurasthenic/MS +neuritic/MS +neuritis/M +neurological/Y +neurologist/SM +neurology/M +neuron/MS +neuronal +neuroses +neurosis/M +neurosurgeon/MS +neurosurgery/M +neurosurgical +neurotic/MS +neurotically +neurotransmitter/SM +neut +neuter/MDGS +neutral/SMY +neutralism/M +neutralist/SM +neutrality/M +neutralization/M +neutralize/DRSZG +neutralizer/M +neutrino/SM +neutron/SM +never +nevermore +nevertheless +nevi +nevus/M +new/STMRYP +newbie/MS +newborn/SM +newcomer/SM +newel/SM +newfangled +newfound +newline/S +newlywed/SM +newness/M +news/M +newsagent/S +newsboy/SM +newscast/SMRZ +newscaster/M +newsdealer/SM +newsflash/S +newsgirl/SM +newsgroup/MS +newshound/S +newsletter/MS +newsman/M +newsmen +newspaper/MS +newspaperman/M +newspapermen +newspaperwoman/M +newspaperwomen +newspeak +newsprint/M +newsreader/S +newsreel/MS +newsroom/MS +newsstand/SM +newsweekly/SM +newswoman/M +newswomen +newsworthiness/M +newsworthy/P +newsy/TR +newt/MS +newton/MS +next/M +nexus/MS +niacin/M +nib/SM +nibble/MZGDRS +nibbler/M +nice/PYTR +niceness/M +nicety/SM +niche/SM +nick/MDRSZG +nickel/MS +nickelodeon/SM +nicker/MDG +nickle/S +nickname/DSMG +nicotine/M +niece/SM +niff +niffy +nifty/TR +nigga/SM +niggard/SMY +niggardliness/M +niggaz +nigger/SM! +niggle/MZGDRS +niggler/M +nigh/RT +night/SMY +nightcap/SM +nightclothes/M +nightclub/SM +nightclubbed +nightclubbing +nightdress/MS +nightfall/M +nightgown/SM +nighthawk/SM +nightie/SM +nightingale/SM +nightlife/M +nightlight/S +nightlong +nightmare/SM +nightmarish +nightshade/SM +nightshirt/SM +nightspot/MS +nightstand/SM +nightstick/SM +nighttime/M +nightwatchman +nightwatchmen +nightwear/M +nihilism/M +nihilist/MS +nihilistic +nil/M +nimbi +nimble/TPR +nimbleness/M +nimbly +nimbus/M +nimby +nimrod/MS +nincompoop/SM +nine/MS +ninepin/MS +ninepins/M +nineteen/SMH +nineteenth/M +nineteenths +ninetieth/M +ninetieths +ninety/HSM +ninja/SM +ninny/SM +ninth/M +ninths +niobium/M +nip/SM +nipped +nipper/MS +nippiness/M +nipping +nipple/MS +nippy/TPR +nirvana/M +nisei/M +nit/SMR +niter/M +nitpick/SZGDR +nitpicker/M +nitpicking/M +nitrate/DSMGN +nitration/M +nitrification/M +nitrite/SM +nitro +nitrocellulose/M +nitrogen/M +nitrogenous +nitroglycerin/M +nitwit/MS +nix/GMDS +no/SM +nob/SY +nobble/GDS +nobelium/M +nobility/M +noble/RSPMT +nobleman/M +noblemen +nobleness/M +noblewoman/M +noblewomen +nobody/SM +nocturnal/Y +nocturne/MS +nod/SM +nodal +nodded +nodding +noddle/MS +noddy +node/MS +nodular +nodule/MS +noel/MS +noes +noggin/MS +nohow +noise/DSMG +noiseless/PY +noiselessness/M +noisemaker/MS +noisily +noisiness/M +noisome +noisy/PTR +nomad/SM +nomadic +nomenclature/MS +nominal/Y +nominate/ACGNVDS +nomination's/A +nomination/CSM +nominative/SM +nominator/CSM +nominee/MS +non +nonabrasive +nonabsorbent/SM +nonacademic +nonacceptance/M +nonacid +nonactive/MS +nonaddictive +nonadhesive +nonadjacent +nonadjustable +nonadministrative +nonage/MS +nonagenarian/MS +nonaggression/M +nonalcoholic +nonaligned +nonalignment/M +nonallergic +nonappearance/MS +nonassignable +nonathletic +nonattendance/M +nonautomotive +nonavailability/M +nonbasic +nonbeliever/MS +nonbelligerent/MS +nonbinding +nonbreakable +nonburnable +noncaloric +noncancerous +nonce/M +nonchalance/M +nonchalant/Y +nonchargeable +nonclerical/MS +nonclinical +noncollectable +noncom/MS +noncombat +noncombatant/MS +noncombustible +noncommercial/MS +noncommittal/Y +noncommunicable +noncompeting +noncompetitive +noncompliance/M +noncomplying +noncomprehending +nonconducting +nonconductor/MS +nonconforming +nonconformism +nonconformist/MS +nonconformity/M +nonconsecutive +nonconstructive +noncontagious +noncontinuous +noncontributing +noncontributory +noncontroversial +nonconvertible +noncooperation/M +noncorroding +noncorrosive +noncredit +noncriminal/SM +noncritical +noncrystalline +noncumulative +noncustodial +nondairy +nondeductible/M +nondelivery/SM +nondemocratic +nondenominational +nondepartmental +nondepreciating +nondescript +nondestructive +nondetachable +nondisciplinary +nondisclosure/M +nondiscrimination/M +nondiscriminatory +nondramatic +nondrinker/MS +nondrying +none +noneducational +noneffective +nonelastic +nonelectric +nonelectrical +nonempty +nonenforceable +nonentity/SM +nonequivalent/MS +nonessential +nonesuch/MS +nonetheless +nonevent/MS +nonexchangeable +nonexclusive +nonexempt/M +nonexistence/M +nonexistent +nonexplosive/MS +nonfactual +nonfading +nonfat +nonfatal +nonfattening +nonferrous +nonfiction/M +nonfictional +nonflammable +nonflowering +nonfluctuating +nonflying +nonfood/M +nonfreezing +nonfunctional +nongovernmental +nongranular +nonhazardous +nonhereditary +nonhuman +nonidentical +noninclusive +nonindependent +nonindustrial +noninfectious +noninflammatory +noninflationary +noninflected +nonintellectual/MS +noninterchangeable +noninterference/M +nonintervention/M +nonintoxicating +noninvasive +nonirritating +nonissue +nonjudgmental +nonjudicial +nonlegal +nonlethal +nonlinear +nonliterary +nonliving/M +nonmagnetic +nonmalignant +nonmember/MS +nonmetal/SM +nonmetallic +nonmigratory +nonmilitant +nonmilitary +nonnarcotic/SM +nonnative/MS +nonnegotiable +nonnuclear +nonnumerical +nonobjective +nonobligatory +nonobservance/M +nonobservant +nonoccupational +nonoccurence +nonofficial +nonoperational +nonoperative +nonparallel/MS +nonpareil/MS +nonparticipant/MS +nonparticipating +nonpartisan/SM +nonpaying +nonpayment/SM +nonperformance/M +nonperforming +nonperishable +nonperson/MS +nonphysical/Y +nonplus/S +nonplussed +nonplussing +nonpoisonous +nonpolitical +nonpolluting +nonporous +nonpracticing +nonprejudicial +nonprescription +nonproductive +nonprofessional/SM +nonprofit/SMB +nonproliferation/M +nonpublic +nonpunishable +nonracial +nonradioactive +nonrandom +nonreactive +nonreciprocal/SM +nonreciprocating +nonrecognition/M +nonrecoverable +nonrecurring +nonredeemable +nonrefillable +nonrefundable +nonreligious +nonrenewable +nonrepresentational +nonresident/MS +nonresidential +nonresidual/M +nonresistance/M +nonresistant +nonrestrictive +nonreturnable/MS +nonrhythmic +nonrigid +nonsalaried +nonscheduled +nonscientific +nonscoring +nonseasonal +nonsectarian +nonsecular +nonsegregated +nonsense/M +nonsensical/Y +nonsensitive +nonsexist +nonsexual +nonskid +nonslip +nonsmoker/SM +nonsmoking +nonsocial +nonspeaking +nonspecialist/MS +nonspecializing +nonspecific +nonspiritual/SM +nonstaining +nonstandard +nonstarter/MS +nonstick +nonstop +nonstrategic +nonstriking +nonstructural +nonsuccessive +nonsupport/GM +nonsurgical +nonsustaining +nonsympathizer/M +nontarnishable +nontaxable +nontechnical +nontenured +nontheatrical +nonthinking +nonthreatening +nontoxic +nontraditional +nontransferable +nontransparent +nontrivial +nontropical +nonuniform +nonunion +nonuser/MS +nonvenomous +nonverbal +nonviable +nonviolence/M +nonviolent/Y +nonvirulent +nonvocal +nonvocational +nonvolatile +nonvoter/MS +nonvoting +nonwhite/MS +nonworking +nonyielding +nonzero +noodle/MGDS +nook/MS +nookie +nooky +noon/M +noonday/M +noontide/M +noontime/M +noose/SM +nope +nor +nor'easter +norm/MS +normal/MY +normalcy/M +normality/M +normalization/M +normalize/DSG +normative +north/ZMR +northbound +northeast/MRZ +northeaster/MY +northeastern +northeastward/S +norther/MY +northerly/SM +northern/ZR +northerner/M +northernmost +northward/S +northwest/ZMR +northwester/MY +northwestern +northwestward/S +nose/MGDS +nosebag/S +nosebleed/MS +nosecone/SM +nosedive/DSMG +nosegay/SM +nosh/MDRSZG +nosher/M +nosily +nosiness/M +nostalgia/M +nostalgic +nostalgically +nostril/MS +nostrum/MS +nosy/RPT +not/B +notability/SM +notable/SM +notably +notarial +notarization/M +notarize/GDS +notary/SM +notate/GDS +notation/FCSM +notch/GMDS +note's +note/FCSDG +notebook/MS +notelet/S +notepad/S +notepaper/M +noteworthiness/M +noteworthy/P +nothing/PSM +nothingness/M +notice/MGDS +noticeable/U +noticeably +noticeboard/S +noticed/U +notifiable +notification/M +notifier/M +notify/NDRSXZG +notion/MS +notional/Y +notoriety/M +notorious/Y +notwithstanding +notwork/S +nougat/MS +noun/KMS +nourish/DSLG +nourishment/M +nous +nova/MS +novae +novel/SM +novelette/SM +novelist/SM +novelization/MS +novelize/DSG +novella/MS +novelty/SM +novena/MS +novene +novice/MS +novitiate/MS +now/M +nowadays/M +noway/S +nowhere/M +nowise +nowt +noxious +nozzle/MS +nu/SM +nuance/MDS +nub/SM +nubbin/MS +nubby/TR +nubile +nuclear/K +nucleate/DSGN +nucleation/M +nuclei +nucleic +nucleoli +nucleolus/M +nucleon/SM +nucleoside +nucleotide +nucleus/M +nude/MTRS +nudge/GDSM +nudism/M +nudist/SM +nudity/M +nugatory +nugget/SM +nuisance/MS +nuke/MGDS +null/S +nullification/M +nullify/NDSG +nullity/M +numb/ZTGPDRYS +number's +number/ASDG +numbered/U +numberless +numbness/M +numerable/I +numeracy/IM +numeral/SM +numerate/XGNDS +numeration/M +numerator/MS +numeric +numerical/Y +numerologist/MS +numerology/M +numerous/Y +numinous +numismatic/S +numismatics/M +numismatist/SM +numskull/MS +nun/SM +nuncio/SM +nunnery/SM +nuptial/MS +nurse/MZGDRS +nurselings +nursemaid/MS +nurser/M +nursery/SM +nurseryman/M +nurserymen +nursing/M +nursling/SM +nurture/DRSMZG +nurturer/M +nut/SM +nutcase/S +nutcracker/MS +nuthatch/MS +nuthouse/S +nutmeat/SM +nutmeg/SM +nutpick/SM +nutria/SM +nutrient/MS +nutriment/MS +nutrition/M +nutritional/Y +nutritionist/SM +nutritious/YP +nutritiousness/M +nutritive +nutshell/MS +nutted +nutter/S +nuttiness/M +nutting +nutty/RTP +nuzzle/DRSMZG +nuzzler/M +nybble/S +nylon/MS +nylons/M +nymph/M +nymphet/MS +nympho/S +nymphomania/M +nymphomaniac/SM +nymphs +o +o'clock +o'er +oaf/SM +oafish/PY +oafishness/M +oak/SMN +oakum/M +oar/SGMD +oarlock/SM +oarsman/M +oarsmen +oarswoman/M +oarswomen +oases +oasis/M +oat/SMN +oatcake/SM +oath/M +oaths +oatmeal/M +oats/M +ob/S +obbligato/MS +obduracy/M +obdurate/PY +obdurateness/M +obedience/EM +obedient/EY +obeisance/SM +obeisant +obelisk/MS +obese +obesity/M +obey/EDSG +obfuscate/GNXDS +obfuscation/M +obi/SM +obit/MS +obituary/SM +obj +object/SGVMD +objectify/NGDS +objection/SMB +objectionable/U +objectionably +objective/SMYP +objectiveness/M +objectivity/M +objector/MS +objurgate/XGNDS +objurgation/M +oblate/NX +oblation/M +obligate/DSXGN +obligation/M +obligatorily +obligatory +oblige/EGDS +obliging/Y +oblique/SMYP +obliqueness/M +obliquity/M +obliterate/DSGN +obliteration/M +oblivion/M +oblivious/YP +obliviousness/M +oblong/MS +obloquy/M +obnoxious/YP +obnoxiousness/M +oboe/MS +oboist/MS +obscene/RYT +obscenity/SM +obscurantism/M +obscurantist/SM +obscure/DRSYTG +obscurity/SM +obsequies +obsequious/PY +obsequiousness/M +obsequy/M +observably +observance/MS +observant/Y +observation/SM +observational +observatory/SM +observe/DRSBZG +observed/U +observer/M +obsess/DSGV +obsession/SM +obsessional/Y +obsessive/PSMY +obsessiveness/M +obsidian/M +obsolesce/DSG +obsolescence/M +obsolescent +obsolete/GDS +obstacle/MS +obstetric/S +obstetrical +obstetrician/SM +obstetrics/M +obstinacy/M +obstinate/Y +obstreperous/YP +obstreperousness/M +obstruct/DGVS +obstructed/U +obstruction/SM +obstructionism/M +obstructionist/MS +obstructive/YP +obstructiveness/M +obtain/DBLGS +obtainable/U +obtainment/M +obtrude/DSG +obtrusion/M +obtrusive/UPY +obtrusiveness/UM +obtuse/YTRP +obtuseness/M +obverse/SM +obviate/DSGN +obviation/M +obvious/PY +obviousness/M +ocarina/MS +occasion/GMDS +occasional/Y +occidental/SM +occlude/GDS +occlusion/SM +occlusive +occult/M +occultism/M +occultist/SM +occupancy/M +occupant/SM +occupation/AM +occupational/Y +occupations +occupied/U +occupier/SM +occupy/ADSG +occur/AS +occurred/A +occurrence/SM +occurring/A +ocean/SM +oceanfront/SM +oceangoing +oceanic/M +oceanographer/SM +oceanographic +oceanography/M +oceanology/M +ocelot/MS +och/R +ocher/M +ocker/S +octagon/MS +octagonal +octal +octane/MS +octave/MS +octavo/MS +octet/SM +octogenarian/SM +octopus/MS +ocular/MS +oculist/SM +odalisque/SM +odd/STRYLP +oddball/SM +oddity/SM +oddment/SM +oddness/M +odds/M +ode/SM +odious/YP +odiousness/M +odium/M +odometer/MS +odor/MDS +odoriferous +odorless +odorous +odyssey/MS +oedipal +oenology/M +oenophile/SM +oeuvre/MS +of +off/SZGDRJ +offal/M +offbeat/MS +offend/ZGDRS +offender/M +offense/MS +offensive's +offensive/IPY +offensiveness/IM +offensives +offer/JGMD +offering/M +offertory/SM +offhand +offhanded/PY +offhandedness/M +office/MZRS +officeholder/SM +officer/M +official/MYS +officialdom/M +officialese +officialism/M +officiant/SM +officiate/DSG +officiator/MS +officious/PY +officiousness/M +offing/M +offish +offline +offload/SDG +offprint/SM +offset/MS +offsetting +offshoot/MS +offshore/G +offside +offsite +offspring/M +offstage/S +offtrack +oft +often/TR +oftentimes +ofttimes +ogle/MZGDRS +ogler/M +ogre/MS +ogreish +ogress/MS +oh/M +ohm/SM +ohmmeter/MS +oho +ohs +oi +oik/S +oil/SGMD +oilcan/S +oilcloth/M +oilcloths +oilfield/S +oiliness/M +oilman +oilmen +oilskin/MS +oilskins/M +oily/RPT +oink/MDSG +ointment/SM +okapi/SM +okay/MSG +okra/MS +old/TMNRP +oldie/SM +oldish +oldness/M +oldster/MS +ole/SMV +oleaginous +oleander/MS +oleo/M +oleomargarine/M +olfactory/SM +oligarch/M +oligarchic +oligarchical +oligarchs +oligarchy/SM +oligonucleotide/S +oligopoly/SM +olive/SM +om/SMNX +ombudsman/M +ombudsmen +omega/SM +omelet/MS +omen/M +omicron/MS +ominous/YP +ominousness/M +omission/MS +omit/S +omitted +omitting +omnibus/MS +omnipotence/M +omnipotent +omnipresence/M +omnipresent +omniscience/M +omniscient +omnivore/MS +omnivorous/PY +omnivorousness/M +on/Y +once/M +oncogene/SM +oncologist/SM +oncology/M +oncoming +one/SXMNP +oneness/M +onerous/PY +onerousness/M +oneself +onetime +ongoing +onion/M +onionskin/M +online +onlooker/SM +onlooking +onomatopoeia/M +onomatopoeic +onomatopoetic +onrush/MSG +onscreen +onset/MS +onshore +onside +onsite +onslaught/MS +onstage +onto +ontogeny/M +ontological +ontology/M +onus/MS +onward +onyx/MS +oodles/M +ooh/GD +oohs +oomph +oops +ooze/MGDS +oozy/TR +op/SMDG +opacity/M +opal/MS +opalescence/M +opalescent +opaque/PYTGDRS +opaqueness/M +opcode/S +ope/S +open/ZTGJPMDRYS +opencast +opened/U +opener/M +openhanded/P +openhandedness/M +openhearted +opening/M +openness/M +openwork/M +opera/MS +operable/I +operand/S +operate/DSGNVX +operatic +operatically +operation/M +operational/Y +operative/SM +operator/SM +operetta/SM +ophthalmic +ophthalmologist/SM +ophthalmology/M +opiate/SM +opine/GNXDS +opinion/M +opinionated +opium/M +opossum/MS +opp +opponent/SM +opportune/IY +opportunism/M +opportunist/SM +opportunistic +opportunistically +opportunity/SM +oppose/DSG +opposed/U +opposite/SMYNX +opposition/M +oppress/DSGV +oppression/M +oppressive/YP +oppressiveness/M +oppressor/MS +opprobrious/Y +opprobrium/M +opt/SGD +optic/MS +optical/Y +optician/SM +optics/M +optima +optimal/Y +optimism/SM +optimist/SM +optimistic +optimistically +optimization/MS +optimize/DRSG +optimum/SM +option/SMDG +optional/Y +optometrist/MS +optometry/M +opulence/M +opulent/Y +opus/MS +or +oracle/SM +oracular +oral/MYS +orange/SMP +orangeade/MS +orangery/SM +orangutan/SM +orate/GNXDS +oration/M +orator/SM +oratorical/Y +oratorio/MS +oratory/SM +orb/SM +orbicular +orbit/MDRZGS +orbital/SM +orbiter/M +orc/SM +orchard/SM +orchestra/MS +orchestral +orchestrate/DSXGN +orchestration/M +orchid/SM +ordain/SDLG +ordainment/M +ordeal/SM +order/EAMDGS +orderings +orderliness/EM +orderly/PSM +ordinal/SM +ordinance/SM +ordinarily +ordinariness/M +ordinary/SMP +ordinate/MNSX +ordination/M +ordnance/M +ordure/M +ore/SM +oregano/M +org +organ/MS +organdy/M +organelle/MS +organic/SM +organically/I +organism/MS +organismic +organist/MS +organization/ASM +organizational/Y +organize/AESDG +organized/U +organizer/MS +organza/M +orgasm/SM +orgasmic +orgiastic +orgy/SM +oriel/MS +orient's +orient/AEDGS +oriental/MS +orientalist/S +orientate/EDSGN +orientation/AEM +orientations +orienteering +orifice/MS +orig +origami/M +origin/SM +original/MYS +originality/M +originate/DSGN +origination/M +originator/SM +oriole/SM +orison/SM +ormolu/M +ornament/SGMD +ornamental +ornamentation/M +ornate/YP +ornateness/M +orneriness/M +ornery/PRT +ornithological +ornithologist/MS +ornithology/M +orotund +orotundity/SM +orphan/SMDG +orphanage/MS +orris/MS +orthodontia/M +orthodontic/S +orthodontics/M +orthodontist/SM +orthodox/U +orthodoxy/SM +orthogonal +orthogonality +orthographic +orthographically +orthography/SM +orthopedic/S +orthopedics/M +orthopedist/MS +orzo/M +oscillate/GNDSX +oscillation/M +oscillator/SM +oscillatory +oscilloscope/MS +osculate/DSXGN +osculation/M +osier/MS +osmium/M +osmosis/M +osmotic +osprey/SM +ossification/M +ossify/NGDS +ostensible +ostensibly +ostentation/M +ostentatious/Y +osteoarthritis/M +osteopath/M +osteopathic +osteopaths +osteopathy/M +osteoporosis/M +ostler/S +ostracism/M +ostracize/GDS +ostrich/MS +other/MSP +otherwise +otherworldly +otiose +otter/MS +ottoman/MS +oubliette/MS +ouch +ought +oughtn't +ounce/MS +our/S +ourselves +oust/ZGDRS +ouster/M +out/SJGMDR +outage/SM +outargue/GDS +outback/MS +outbalance/DSG +outbid/S +outbidding +outboard/MS +outboast/DSG +outbound +outbox/MS +outbreak/MS +outbuilding/MS +outburst/SM +outcast/MS +outclass/DSG +outcome/MS +outcrop/MS +outcropped +outcropping/SM +outcry/SM +outdated +outdid +outdistance/GDS +outdo/G +outdoes +outdone +outdoor/S +outdoors/M +outdoorsy +outdraw/GS +outdrawn +outdrew +outermost +outerwear/M +outface/GDS +outfall/S +outfield/SMRZ +outfielder/M +outfight/SG +outfit/SM +outfitted +outfitter/MS +outfitting +outflank/GSD +outflow/MS +outfought +outfox/GDS +outgo/MJG +outgoes +outgrew +outgrow/HGS +outgrown +outgrowth/M +outgrowths +outguess/GDS +outgun/S +outgunned +outgunning +outhit/S +outhitting +outhouse/SM +outing/M +outlaid +outlandish/PY +outlandishness/M +outlast/DSG +outlaw/SGMD +outlay/SGM +outlet/SM +outlier/S +outline/MGDS +outlive/GDS +outlook/MS +outlying +outmaneuver/GDS +outmatch/GDS +outmoded +outnumber/DSG +outpace/GDS +outpatient/MS +outperform/GSD +outplace/L +outplacement/M +outplay/GDS +outpoint/DGS +outpost/MS +outpouring/MS +outproduce/DSG +output/SM +outputted +outputting +outrace/GDS +outrage/MGDS +outrageous/Y +outran +outrank/GDS +outre +outreach/MDSG +outrider/MS +outrigger/SM +outright +outrun/S +outrunning +outscore/GDS +outsell/GS +outset/SM +outshine/GS +outshone +outshout/GDS +outside/MZRS +outsider/M +outsize/MS +outskirt/MS +outsmart/GDS +outsold +outsource/DSG +outsourcing/M +outspend/SG +outspent +outspoken/YP +outspokenness/M +outspread/GS +outstanding/Y +outstation/MS +outstay/DGS +outstretch/DSG +outstrip/S +outstripped +outstripping +outta +outtake/MS +outvote/GDS +outward/YS +outwear/GS +outweigh/GD +outweighs +outwit/S +outwith +outwitted +outwitting +outwore +outwork/MDRSZG +outworn +ouzo/MS +ova +oval/MS +ovarian +ovary/SM +ovate/NX +ovation/M +oven/MS +ovenbird/SM +ovenproof +ovenware +over/MYS +overabundance/M +overabundant +overachieve/ZGDRS +overachiever/M +overact/GVSD +overage/SM +overaggressive +overall/SM +overalls/M +overambitious +overanxious +overarching +overarm/GSD +overate +overattentive +overawe/DSG +overbalance/MGDS +overbear/GS +overbearing/Y +overbid/SM +overbidding +overbite/MS +overblown +overboard +overbold +overbook/DGS +overbore +overborne +overbought +overbuild/SG +overbuilt +overburden/GSD +overbuy/GS +overcame +overcapacity/M +overcapitalize/DSG +overcareful +overcast/MGS +overcautious +overcharge/DSMG +overclock/GD +overcloud/SGD +overcoat/MS +overcome/GS +overcompensate/DSGN +overcompensation/M +overconfidence/M +overconfident +overconscientious +overcook/DGS +overcritical +overcrowd/SDG +overcrowding/M +overdecorate/DSG +overdependent +overdevelop/SDG +overdid +overdo/G +overdoes +overdone +overdose/MGDS +overdraft/SM +overdraw/GS +overdrawn +overdress/GMDS +overdrew +overdrive/SM +overdub/SM +overdubbed +overdubbing +overdue +overeager +overeat/GSN +overemotional +overemphasis/M +overemphasize/GDS +overenthusiastic +overestimate/MGNDS +overestimation/M +overexcite/DSG +overexercise/GDS +overexert/SDG +overexertion/M +overexpose/GDS +overexposure/M +overextend/DGS +overfed +overfeed/GS +overfill/DGS +overflew +overflight/MS +overflow/MDSG +overflown +overfly/GS +overfond +overfull +overgeneralize/DSG +overgenerous +overgraze/DSG +overgrew +overground +overgrow/HSG +overgrown +overgrowth/M +overhand/MDS +overhang/MSG +overhasty +overhaul/MDSG +overhead/MS +overhear/SG +overheard +overheat/DSG +overhung +overindulge/GDS +overindulgence/M +overindulgent +overjoy/GSD +overkill/M +overladen +overlaid +overlain +overland +overlap/SM +overlapped +overlapping +overlarge +overlay/GSM +overleaf +overlie +overload/GMDS +overlong +overlook/GMDS +overlord/MS +overly/SG +overmanned +overmanning +overmaster/SDG +overmodest +overmuch/S +overnice +overnight/MS +overoptimism/M +overoptimistic +overpaid +overparticular +overpass/MS +overpay/GS +overplay/GDS +overpopulate/GNDS +overpopulation/M +overpower/SDG +overpowering/Y +overpraise/DSG +overprecise +overprice/DSG +overprint/SMDG +overproduce/GDS +overproduction/M +overprotect/SDGV +overqualified +overran +overrate/GDS +overreach/GDS +overreact/SDG +overreaction/SM +overrefined +overridden +override/MGS +overripe/M +overrode +overrule/GDS +overrun/SM +overrunning +oversampling +oversaw +oversea/S +oversee/RSZ +overseeing +overseen +overseer/M +oversell/GS +oversensitive/P +oversensitiveness/M +oversexed +overshadow/DSG +overshare/DSG +overshoe/MS +overshoot/GS +overshot +oversight/SM +oversimple +oversimplification/M +oversimplify/DSNGX +oversize +oversleep/GS +overslept +oversold +overspecialization/M +overspecialize/GDS +overspend/SG +overspent +overspread/GS +overstaffed +overstate/DSLG +overstatement/MS +overstay/DSG +overstep/S +overstepped +overstepping +overstimulate/DSG +overstock/GSD +overstretch/GDS +overstrict +overstrung +overstuffed +oversubscribe/DSG +oversubtle +oversupply/GDS +oversuspicious +overt/Y +overtake/GS +overtaken +overtax/GDS +overthink/SG +overthought +overthrew +overthrow/SMG +overthrown +overtime/MS +overtire/GDS +overtone/MS +overtook +overture/MS +overturn/DSG +overuse/DSMG +overvaluation/S +overvalue/DSG +overview/MS +overweening/Y +overweight/M +overwhelm/SGD +overwhelming/Y +overwinter/SDG +overwork/GMDS +overwrite/GS +overwritten +overwrote +overwrought +overzealous +oviduct/SM +oviparous +ovoid/MS +ovular +ovulate/DSGN +ovulation/M +ovule/MS +ovum/M +ow +owe/DSG +owl/SM +owlet/MS +owlish/Y +own/ESGD +owner/MS +ownership/M +ox/MN +oxblood/M +oxbow/MS +oxcart/SM +oxford/SM +oxidant/MS +oxidase +oxidation/M +oxide/MS +oxidization/M +oxidize/ZGDRS +oxidizer/M +oxtail/S +oxyacetylene/M +oxygen/M +oxygenate/DSGN +oxygenation/M +oxymora +oxymoron/M +oyster/SM +oz +ozone/M +p/NRXTGJ +pH +pa/SMH +pablum/M +pabulum/M +pace/MZGDRS +pacemaker/SM +pacer/M +pacesetter/SM +pacey +pachyderm/MS +pachysandra/MS +pacific +pacifically +pacification/M +pacifier/M +pacifism/M +pacifist/SM +pacifistic +pacify/ZGDRSN +pack's +pack/AUGSD +package's +package/AGDS +packager/SM +packaging/M +packer/MS +packet/MS +packing's +packinghouse/SM +packsaddle/MS +pact/MS +pacy/RT +pad/SM +padded +padding/M +paddle/MZGDRS +paddler/M +paddock/MDGS +paddy/SM +padlock/MDSG +padre/SM +paean/SM +paella/MS +pagan/SM +paganism/M +page/MZGDRS +pageant/MS +pageantry/M +pageboy/SM +pager/M +paginate/DSGN +pagination/M +pagoda/MS +pah +paid/AU +pail/MS +pailful/SM +pain/MDSG +painful/PY +painfuller +painfullest +painfulness/M +painkiller/MS +painkilling +painless/PY +painlessness/M +painstaking/MY +paint/SZGJMDR +paintball +paintbox/MS +paintbrush/MS +painted/U +painter/MY +painting/M +paintwork +pair/AMDSG +paired/U +pairing/S +pairwise +paisley/SM +pajama/S +pajamas/M +pal/SMY +palace/MS +paladin/SM +palanquin/SM +palatable/U +palatal/SM +palatalization/M +palatalize/GDS +palate/MBS +palatial/Y +palatinate/MS +palatine/MS +palaver/GSMD +palazzi +palazzo +pale/MYTGPDRSJ +paleface/MS +paleness/M +paleographer/MS +paleography/M +paleolithic +paleontologist/SM +paleontology/M +palette/SM +palfrey/SM +palimony/M +palimpsest/MS +palindrome/MS +palindromic +paling/M +palisade/SM +palish +pall/MDSG +palladium/M +pallbearer/MS +pallet/MS +palliate/DSGNV +palliation/M +palliative/SM +pallid/YP +pallidness/M +pallor/M +palm/MDSG +palmate +palmetto/SM +palmist/SM +palmistry/M +palmtop/SM +palmy/TR +palomino/MS +palpable +palpably +palpate/DSGN +palpation/M +palpitate/XGNDS +palpitation/M +palsy/GDSM +paltriness/M +paltry/RPT +pampas/M +pamper/DSG +pamphlet/MS +pamphleteer/MS +pan/SM +panacea/SM +panache/M +panama/MS +panatella/S +pancake/DSMG +panchromatic +pancreas/MS +pancreatic +pancreatitis +panda/SM +pandemic/SM +pandemonium/M +pander/MDRZGS +panderer/M +pane/KM +panegyric/SM +panel/SGJMD +paneling/M +panelist/MS +panes +pang/MS +panhandle/DRSMZG +panhandler/M +panic/SM +panicked +panicking +panicky +panned +pannier/SM +panning +panoply/SM +panorama/SM +panoramic +panpipes/M +pansy/SM +pant/MDSG +pantaloons/M +pantechnicon/S +pantheism/M +pantheist/SM +pantheistic +pantheon/SM +panther/MS +pantie/MS +panto/S +pantomime/MGDS +pantomimic +pantomimist/SM +pantry/SM +pantsuit/SM +pantyhose/M +pantyliner/M +pantywaist/SM +pap/SM +papa/MS +papacy/SM +papal +paparazzi/M +paparazzo +papaya/MS +paper/SZGMDR +paperback/SM +paperbark/S +paperboard/M +paperboy/SM +paperclip/S +paperer/M +papergirl/SM +paperhanger/SM +paperhanging/M +paperless +paperweight/MS +paperwork/M +papery +papilla/M +papillae +papillary +papist/MS +papoose/MS +pappy/SM +paprika/M +papyri +papyrus/M +par/SZGMDRBJ +para/MS +parable/MS +parabola/SM +parabolic +paracetamol/S +parachute/DSMG +parachutist/MS +parade/MZGDRS +parader/M +paradigm/SM +paradigmatic +paradisaical +paradise/SM +paradox/MS +paradoxical/Y +paraffin/M +paragliding +paragon/MS +paragraph/GMD +paragraphs +parakeet/SM +paralegal/MS +parallax/MS +parallel/SGMD +paralleled/U +parallelism/MS +parallelogram/SM +paralyses +paralysis/M +paralytic/SM +paralyze/DSG +paralyzing/Y +paramecia +paramecium/M +paramedic/MS +paramedical/MS +parameter/MS +parametric +paramilitary/SM +paramount +paramountcy +paramour/SM +paranoia/M +paranoiac/MS +paranoid/SM +paranormal +parapet/MS +paraphernalia/M +paraphrase/DSMG +paraplegia/M +paraplegic/SM +paraprofessional/MS +parapsychologist/MS +parapsychology/M +paraquat/M +parasailing +parascending +parasite/SM +parasitic +parasitical/Y +parasitism/M +parasol/MS +parasympathetic/S +parathion/M +parathyroid/MS +paratroop/RZS +paratrooper/M +paratroops/M +paratyphoid/M +parboil/DSG +parcel/GMDS +parch/LGDS +parchment/SM +pardner/S +pardon/ZGMDRBS +pardonable/U +pardonably/U +pardoner/M +pare/S +paregoric/M +parent/GMDS +parentage/M +parental +parentheses +parenthesis/M +parenthesize/DSG +parenthetic +parenthetical/Y +parenthood/M +parenting/M +parer/M +pares/S +paresis/M +parfait/MS +pariah/M +pariahs +parietal +parimutuel/MS +paring/M +parish/MS +parishioner/MS +parity/ESM +park/MDSG +parka/SM +parking/M +parkland +parkour +parkway/MS +parky +parlance/M +parlay/GMDS +parley/GMDS +parliament/SM +parliamentarian/SM +parliamentary +parlor/MS +parlous +parmigiana +parochial/Y +parochialism/M +parodist/SM +parody/GDSM +parole/MGDS +parolee/MS +parotid +paroxysm/SM +paroxysmal +parquet/MDSG +parquetry/M +parred +parricidal +parricide/MS +parring +parrot/GMDS +parry/GDSM +parse/DRSG +parsec/MS +parsimonious/Y +parsimony/M +parsley/M +parsnip/MS +parson/MS +parsonage/MS +part's +part/CDSG +partake/ZGRS +partaken +partaker/M +parterre/SM +parthenogenesis/M +partial/MYS +partiality/M +participant/SM +participate/DSGN +participation/M +participator/MS +participatory +participial/M +participle/MS +particle/SM +particleboard/M +particular/SMY +particularity/SM +particularization/M +particularize/DSG +particulate/SM +parting/MS +partisan/SM +partisanship/M +partition/GMDS +partitive/MS +partly +partner/MDSG +partnership/MS +partook +partridge/SM +parturition/M +partway +party/GDSM +parvenu/MS +pascal/MS +paschal +pasha/SM +pass/M +passably +passage/MS +passageway/MS +passbook/MS +passe/DRSBXZGNV +passel/MS +passenger/SM +passer/M +passerby/M +passersby +passim +passing/MY +passion/EM +passionate/EY +passionflower/SM +passionless +passive/PMYS +passiveness/M +passivity/M +passivization +passivize/DSG +passkey/MS +passphrase/S +passport/MS +password/MS +past/AMS +pasta/SM +paste/DSMG +pasteboard/M +pastel/MS +pastern/MS +pasteurization/M +pasteurize/ZGDRS +pasteurized/U +pasteurizer/M +pastiche/MS +pastie +pastille/MS +pastime/MS +pastiness/M +pastor/MS +pastoral/MS +pastorate/MS +pastrami/M +pastry/SM +pasturage/M +pasture/DSMG +pastureland/M +pasty/PTRSM +pat/SM +patch/EGMDS +patchily +patchiness/M +patchouli +patchwork/SM +patchy/TPR +pate/MS +patella/MS +patellae +patent/GMDYS +paterfamilias/MS +paternal/Y +paternalism/M +paternalist/S +paternalistic +paternity/M +paternoster/MS +path/M +pathetic +pathetically +pathfinder/SM +pathless +pathogen/SM +pathogenic +pathological/Y +pathologist/SM +pathology/M +pathos/M +paths +pathway/MS +patience/M +patient/IMST +patienter +patiently +patina/MS +patine +patio/SM +patisserie/S +patois/M +patresfamilias +patriarch/M +patriarchal +patriarchate/MS +patriarchs +patriarchy/SM +patrician/SM +patricide/SM +patrimonial +patrimony/SM +patriot/SM +patriotic/U +patriotically +patriotism/M +patrol/MS +patrolled +patrolling +patrolman/M +patrolmen +patrolwoman/M +patrolwomen +patron/MS +patronage/MS +patroness/MS +patronize/ZGDRS +patronizer/M +patronizing/Y +patronymic/SM +patronymically +patroon/SM +patsy/SM +patted +patter/MDGS +pattern/SMDG +patting +patty/SM +paucity/M +paunch/MS +paunchy/RT +pauper/MS +pauperism/M +pauperize/DSG +pause/DSMG +pave/AGDS +paved/U +pavement/MS +pavilion/SM +paving/MS +pavlova/S +paw/SGMD +pawl/MS +pawn/MDSG +pawnbroker/MS +pawnbroking/M +pawnshop/MS +pawpaw/MS +pay's +pay/ASGBL +payback/SM +paycheck/MS +payday/MS +payed +payee/SM +payer/SM +payload/SM +paymaster/SM +payment/ASM +payoff/MS +payola/M +payout/MS +payphone/S +payroll/SM +payslip/SM +paywall/SM +payware +pct +pd +pea/SM +peace/SM +peaceable +peaceably +peaceful/PY +peacefulness/M +peacekeeper/SM +peacekeeping/M +peacemaker/MS +peacemaking/M +peacetime/M +peach/MS +peachy/TR +peacock/MS +peafowl/MS +peahen/MS +peak/MDSG +peaky +peal/AMDSG +peanut/MS +pear/MYS +pearl/SGMD +pearly/RT +peasant/SM +peasantry/M +peashooter/SM +peat/M +peaty/TR +pebble/MGDS +pebbly +pecan/SM +peccadillo/M +peccadilloes +peccary/SM +peck/MDRSZG +peckish +pecs +pectic +pectin/M +pectoral/MS +peculate/GNDS +peculation/M +peculator/SM +peculiar/Y +peculiarity/SM +pecuniary +pedagogic +pedagogical/Y +pedagogue/SM +pedagogy/M +pedal/SGMD +pedalo/S +pedant/MS +pedantic +pedantically +pedantry/M +peddle/ZGDRS +peddler/M +pederast/MS +pederasty/M +pedestal/MS +pedestrian/SM +pedestrianization +pedestrianize/GDS +pediatric/S +pediatrician/MS +pediatrics/M +pedicab/SM +pedicure/MGDS +pedicurist/MS +pedigree/MDS +pediment/MS +pedometer/MS +pedophile/S +pedophilia +peduncle/MS +pee/DRSMZ +peeing +peek/MDSG +peekaboo/M +peel/MDRSJZG +peeled/U +peeler/M +peeling/M +peen/MS +peep/MDRSZG +peepbo +peeper/M +peephole/MS +peepshow/MS +peer/MDG +peerage/SM +peeress/MS +peerless +peeve/DSMG +peevish/PY +peevishness/M +peewee/MS +peewit/S +peg/SM +pegboard/MS +pegged +pegging +peignoir/SM +pejoration/M +pejorative/SMY +peke/MS +pekineses +pekingese/SM +pekoe/M +pelagic +pelf/M +pelican/MS +pellagra/M +pellet/GMDS +pellucid +pelmet/S +pelt/MDSG +pelvic +pelvis/MS +pemmican/M +pen/M +penal +penalization/M +penalize/DSG +penalty/SM +penance/MS +pence +penchant/SM +pencil/GMDJS +pend/CDSG +pendant/MS +pendent/MS +pendulous +pendulum/MS +penetrability/M +penetrable +penetrate/DSGNVX +penetrating/Y +penetration/M +penfriend/S +penguin/MS +penicillin/M +penile +peninsula/SM +peninsular +penis/MS +penitence/M +penitent/SMY +penitential +penitentiary/SM +penknife/M +penknives +penlight/SM +penman/M +penmanship/M +penmen +pennant/MS +penned +penniless +penning +pennon/MS +penny/SM +pennyweight/MS +pennyworth +penologist/MS +penology/M +pension/BZGMDRS +pensioner/M +pensive/PY +pensiveness/M +pent +pentacle/MS +pentagon/MS +pentagonal +pentagram/SM +pentameter/SM +pentathlete/MS +pentathlon/MS +penthouse/SM +penuche/M +penultimate/SM +penumbra/MS +penumbrae +penurious/PY +penuriousness/M +penury/M +peon/MS +peonage/M +peony/SM +people/MGDS +pep/SM +pepped +pepper/GMDS +peppercorn/SM +peppermint/SM +pepperoni/MS +peppery +peppiness/M +pepping +peppy/TPR +pepsin/M +peptic/MS +peptide/S +peradventure/M +perambulate/XGNDS +perambulation/M +perambulator/MS +percale/MS +perceive/BGDS +perceived/U +percent/MS +percentage/SM +percentile/SM +perceptible +perceptibly +perception/SM +perceptional +perceptive/PY +perceptiveness/M +perceptual/Y +perch/GMDS +perchance +percipience/M +percipient +percolate/GNDS +percolation/M +percolator/SM +percussion/AM +percussionist/MS +percussive +perdition/M +perdurable +peregrinate/DSXGN +peregrination/M +peregrine/MS +peremptorily +peremptory +perennial/SMY +perestroika/M +perfect/PTGMDRYS +perfecta/MS +perfectibility/M +perfectible +perfection/SM +perfectionism/M +perfectionist/SM +perfectness/M +perfidious/Y +perfidy/SM +perforate/GNXDS +perforation/M +perforce +perform/SDRZG +performance/SM +performative +performed/U +performer/M +perfume/DRSMZG +perfumer/M +perfumery/SM +perfunctorily +perfunctory +perfusion +pergola/SM +perhaps +pericardia +pericardial +pericarditis +pericardium/M +perigee/SM +perihelia +perihelion/M +peril/SGMD +perilous/Y +perimeter/SM +perinatal +perinea +perineum/M +period/MS +periodic +periodical/SMY +periodicity/M +periodontal +periodontics/M +periodontist/SM +peripatetic/MS +peripheral/MYS +periphery/SM +periphrases +periphrasis/M +periphrastic +periscope/SM +perish/BDRSZG +perishable/MS +peristalses +peristalsis/M +peristaltic +peristyle/SM +peritoneal +peritoneum/MS +peritonitis/M +periwig/SM +periwinkle/SM +perjure/DRSZG +perjurer/M +perjury/SM +perk/MDSG +perkily +perkiness/M +perky/TPR +perm/MDSG +permafrost/M +permanence/M +permanency/M +permanent/SMY +permeability/M +permeable +permeate/GNDS +permeation/M +permissible +permissibly +permission/MS +permissive/PY +permissiveness/M +permit/MS +permitted +permitting +permutation/SM +permute/DSG +pernicious/YP +perniciousness/M +peroration/MS +peroxide/MGDS +perpendicular/SMY +perpendicularity/M +perpetrate/DSGN +perpetration/M +perpetrator/MS +perpetual/SMY +perpetuate/DSGN +perpetuation/M +perpetuity/M +perplex/GDS +perplexed/Y +perplexity/SM +perquisite/SM +persecute/GNXDS +persecution/M +persecutor/SM +perseverance/M +persevere/DSG +persiflage/M +persimmon/SM +persist/SGD +persistence/M +persistent/Y +persnickety +person/UMS +persona/SM +personable +personae +personage/MS +personal/MYS +personality/SM +personalize/CDSG +personalty/M +personification/M +personify/GDSNX +personnel/M +perspective/MS +perspex +perspicacious/Y +perspicacity/M +perspicuity/M +perspicuous +perspiration/M +perspire/GDS +persuade/BZGDRS +persuaded/U +persuader/M +persuasion/SM +persuasive/PY +persuasiveness/M +pert/RYPT +pertain/GSD +pertinacious/Y +pertinacity/M +pertinence/M +pertinent/Y +pertness/M +perturb/DGS +perturbation/SM +perturbed/U +pertussis/M +peruke/MS +perusal/MS +peruse/GDS +perv/S +pervade/DSG +pervasive/PY +pervasiveness/M +perverse/PXYN +perverseness/M +perversion/M +perversity/M +pervert/SGMD +peseta/MS +peskily +peskiness/M +pesky/TPR +peso/MS +pessary/S +pessimal +pessimism/M +pessimist/SM +pessimistic +pessimistically +pest/MRSZ +pester/GD +pesticide/MS +pestiferous +pestilence/SM +pestilent +pestilential +pestle/MGDS +pesto/M +pet/SZMR +petabyte/MS +petal/SMD +petard/MS +petcock/SM +peter/GMD +petiole/SM +petite/MS +petition/ZGMDRS +petitioner/M +petrel/MS +petrifaction/M +petrify/DSG +petrochemical/SM +petrodollar/MS +petrol/M +petrolatum/M +petroleum/M +petrologist/SM +petrology/M +petted +petticoat/MS +pettifog/S +pettifogged +pettifogger/SM +pettifoggery/M +pettifogging +pettily +pettiness/M +petting/M +pettish/Y +petty/PTR +petulance/M +petulant/Y +petunia/MS +pew/SM +pewee/SM +pewit/SM +pewter/MS +peyote/M +pf +pfennig/MS +pg +phaeton/MS +phage/S +phagocyte/SM +phalanger/SM +phalanges +phalanx/MS +phalli +phallic +phallocentric +phallocentrism +phallus/M +phantasm/MS +phantasmagoria/MS +phantasmagorical +phantasmal +phantom/SM +pharaoh/M +pharaohs +pharisaic +pharisee/SM +pharmaceutic/MS +pharmaceutical/SM +pharmaceutics/M +pharmacist/MS +pharmacologic +pharmacological +pharmacologist/SM +pharmacology/M +pharmacopoeia/MS +pharmacy/SM +pharyngeal +pharynges +pharyngitis/M +pharynx/M +phase/DSMG +phaseout/SM +phat +pheasant/MS +phenacetin/M +phenobarbital/M +phenol/M +phenom/MS +phenomena +phenomenal/Y +phenomenological +phenomenology +phenomenon/MS +phenotype +pheromone/MS +phew +phi/SM +phial/SM +philander/ZGDRS +philanderer/M +philandering/M +philanthropic +philanthropically +philanthropist/MS +philanthropy/SM +philatelic +philatelist/MS +philately/M +philharmonic/SM +philippic/MS +philistine/MS +philistinism/M +philodendron/SM +philological +philologist/MS +philology/M +philosopher/MS +philosophic +philosophical/Y +philosophize/DRSZG +philosophizer/M +philosophy/SM +philter/MS +phish/ZGDR +phisher/M +phlebitis/M +phlegm/M +phlegmatic +phlegmatically +phloem/M +phlox/M +phobia/MS +phobic/MS +phoebe/MS +phoenix/MS +phone/DSMG +phonecard/S +phoneme/MS +phonemic +phonemically +phonetic/S +phonetically +phonetician/SM +phonetics/M +phoneyed +phoneying +phonic/S +phonically +phonics/M +phoniness/M +phonograph/M +phonographic +phonographs +phonological/Y +phonologist/MS +phonology/M +phony/PTGDRSM +phooey +phosphate/MS +phosphodiesterase +phosphor/MS +phosphorescence/M +phosphorescent/Y +phosphoric +phosphorous +phosphorus/M +phosphorylation +photo/SGMD +photocell/MS +photocopier/M +photocopy/DRSMZG +photoelectric +photoelectrically +photoengrave/DRSJZG +photoengraver/M +photoengraving/M +photofinishing/M +photogenic +photogenically +photograph/MDRZG +photographer/M +photographic +photographically +photographs/A +photography/M +photojournalism/M +photojournalist/SM +photometer/MS +photon/MS +photosensitive +photostat/SM +photostatic +photostatted +photostatting +photosynthesis/M +photosynthesize/GDS +photosynthetic +phototropic +phototropism +phototypesetter +phototypesetting +phrasal +phrase's +phrase/AGDS +phrasebook/S +phraseology/M +phrasing/MS +phreaking +phrenologist/SM +phrenology/M +phyla +phylactery/SM +phylogeny/M +phylum/M +phys +physic/SM +physical/MYS +physicality +physician/SM +physicist/SM +physicked +physicking +physics/M +physio/S +physiognomy/SM +physiography/M +physiologic +physiological/Y +physiologist/MS +physiology/M +physiotherapist/MS +physiotherapy/M +physique/MS +pi/SMDRHZG +pianissimo/SM +pianist/MS +piano/SM +pianoforte/SM +pianola/S +piaster/MS +piazza/MS +pibroch/M +pibrochs +pic/SM +pica/M +picador/MS +picante +picaresque +picayune +piccalilli/M +piccolo/MS +pick/MDRSJZG +pickax/GMDS +picker/M +pickerel/MS +picket/ZGMDRS +pickings/M +pickle/MGDS +pickpocket/SM +pickup/MS +picky/PTR +picnic/MS +picnicked +picnicker/SM +picnicking +picot/SM +pictograph/M +pictographs +pictorial/MYS +picture/MGDS +picturesque/PY +picturesqueness/M +piddle/MGDS +piddly +pidgin/MS +pie/SM +piebald/MS +piece/DSMG +piecemeal +piecework/MRZ +pieceworker/M +piecrust/SM +pieing +pier/M +pierce/JGDS +piercing/MY +piety/M +piezoelectric +piffle/MG +pig/SML +pigeon/MS +pigeonhole/DSMG +pigged +piggery/S +pigging +piggish/PY +piggishness/M +piggy/TRSM +piggyback/MDSG +pigheaded/PY +pigheadedness/M +piglet/MS +pigment/MDS +pigmentation/M +pigpen/MS +pigskin/MS +pigsty/SM +pigswill +pigtail/MS +pike/MZGDRS +piker/M +pikestaff/SM +pilaf/SM +pilaster/MS +pilchard/MS +pile/MGDSJ +pileup/MS +pilfer/ZGDRS +pilferage/M +pilferer/M +pilgrim/MS +pilgrimage/MS +piling/M +pill/MDSG +pillage/MZGDRS +pillager/M +pillar/MDS +pillbox/MS +pillion/MS +pillock/S +pillory/GDSM +pillow/GMDS +pillowcase/MS +pillowslip/MS +pilot/DGSM +pilothouse/SM +pimento/MS +pimiento/MS +pimp/GMDYS +pimpernel/MS +pimple/DSM +pimply/RT +pin/SM +pinafore/MS +pinata/MS +pinball/M +pincer/MS +pinch/GMDS +pincushion/MS +pine's +pine/AGDS +pineapple/MS +pinewood/S +piney +pinfeather/SM +ping/GMD +pinhead/SM +pinhole/SM +pinier +piniest +pinion/SMDG +pink/TGPMDRS +pinkeye/M +pinkie/SM +pinkish +pinkness/M +pinko/MS +pinnacle/SM +pinnate +pinned/U +pinning/U +pinny/S +pinochle/M +pinon/MS +pinpoint/SGMD +pinprick/MS +pinsetter/SM +pinstripe/DSM +pint/MS +pinto/MS +pinup/MS +pinwheel/GSMD +pinyin/M +pinyon/SM +pioneer/SGMD +pious/YP +piousness/M +pip/SZGMDR +pipe/MS +pipeline/SM +piper/M +pipette/SM +pipework +piping/M +pipit/MS +pipped +pippin/SM +pipping +pipsqueak/SM +piquancy/M +piquant/Y +pique/MGDS +piracy/M +piranha/SM +pirate/DSMG +piratical/Y +pirogi/M +piroshki/M +pirouette/DSMG +piscatorial +pismire/SM +piss/ZGMDRS +pissoir/S +pistachio/SM +piste/S +pistil/SM +pistillate +pistol/SM +piston/SM +pit/SM +pita/MS +pitapat/SM +pitch/MDRSZG +pitchblende/M +pitcher/M +pitchfork/MDSG +pitchman/M +pitchmen +piteous/YP +piteousness/M +pitfall/SM +pith/M +pithead/S +pithily +pithiness/M +pithy/RTP +pitiable +pitiably +pitiful/Y +pitiless/PY +pitilessness/M +piton/MS +pitta/S +pittance/MS +pitted +pitting +pituitary/SM +pity/GDSM +pitying/Y +pivot/MDGS +pivotal +pix/M +pixel/MS +pixie/MS +pizza/MS +pizzazz/M +pizzeria/SM +pizzicati +pizzicato/M +pj's +pk +pkg +pkt +pkwy +pl +placard/SMDG +placate/DSGN +placation/M +placatory +place's +place/AESDLG +placebo/SM +placed/U +placeholder/MS +placekick/MDRZGS +placekicker/M +placement/EASM +placenta/SM +placental/S +placer/SM +placid/Y +placidity/M +placings +placket/SM +plagiarism/SM +plagiarist/SM +plagiarize/DRSZG +plagiarizer/M +plagiary/M +plague/DSMG +plaice +plaid/MS +plain/MRYTSP +plainchant +plainclothes +plainclothesman/M +plainclothesmen +plainness/M +plainsman/M +plainsmen +plainsong/M +plainspoken +plaint/SMV +plaintiff/SM +plaintive/Y +plait/MDGS +plan/ZMRS +planar +plane's +plane/CGDS +planeload/MS +planer/M +planet/SM +planetarium/SM +planetary +plangency/M +plangent +plank/MDGS +planking/M +plankton/M +planned/U +planner/SM +planning/S +plant/MDRZGSJ +plantain/SM +plantar +plantation/MS +planter/M +planting/M +plantlike +plaque/SM +plash/MDSG +plasma/M +plaster/SZGMDR +plasterboard/M +plasterer/M +plastic/SM +plasticity/M +plasticize/DSG +plastique +plat/XGMDNS +plate/MS +plateau/SMDG +plateful/SM +platelet/SM +platen/M +platform/SGMD +plating/M +platinum/M +platitude/SM +platitudinous +platonic +platoon/SGMD +platted +platter/SM +platting +platy/M +platypus/MS +platys +plaudit/SM +plausibility/M +plausible +plausibly +play/AEGMDS +playable/EU +playact/SGD +playacting/M +playback/MS +playbill/MS +playbook/MS +playboy/SM +player/SM +playfellow/SM +playful/PY +playfulness/M +playgirl/MS +playgoer/MS +playground/SM +playgroup/S +playhouse/MS +playlist/MS +playmate/MS +playoff/SM +playpen/SM +playroom/SM +playschool/S +plaything/SM +playtime/M +playwright/SM +plaza/MS +plea/MS +plead/DRZGSJ +pleader/M +pleading/MY +pleasant/UTYP +pleasanter +pleasantness/UM +pleasantry/SM +please/EDSG +pleasing/YS +pleasurably +pleasure/MGDSB +pleasureful +pleat/MDGS +pleb/S +plebby +plebe/MS +plebeian/MS +plebiscite/MS +plectra +plectrum/MS +pledge/DSMG +plenary/SM +plenipotentiary/SM +plenitude/SM +plenteous +plentiful/Y +plenty/M +plenum/S +pleonasm/MS +plethora/M +pleura/M +pleurae +pleurisy/M +plexus/MS +pliability/M +pliable +pliancy/M +pliant/Y +pliers/M +plight/SMDG +plimsoll/S +plinth/M +plinths +plod/S +plodded +plodder/MS +plodding/S +plonk/DRSZG +plop/MS +plopped +plopping +plosive/S +plot/MS +plotted +plotter/SM +plotting +plover/SM +plow/GMDS +plowman/M +plowmen +plowshare/MS +ploy's +ploy/S +pluck/MDSG +pluckily +pluckiness/M +plucky/RPT +plug's +plug/US +plugged/U +plugging/U +plughole/S +plugin/SM +plum/GMDS +plumage/M +plumb/MDRSZGJ +plumbed/U +plumber/M +plumbing/M +plume/MS +plummet/SGMD +plummy +plump/MDRYSTGP +plumpness/M +plumy/RT +plunder/SZGMDR +plunderer/M +plunge/DRSMZG +plunger/M +plunk/MDSG +pluperfect/SM +plural/SM +pluralism/M +pluralist/MS +pluralistic +plurality/SM +pluralization/M +pluralize/GDS +plus/MS +plush/MRYTP +plushness/M +plushy/RT +plutocracy/SM +plutocrat/SM +plutocratic +plutonium/M +pluvial +ply/AGDSM +plywood/M +pm +pneumatic +pneumatically +pneumococcal +pneumococci +pneumococcus +pneumonia/M +poach/DRSZG +poacher/M +poaching/M +pock/GMDS +pocket/SMDG +pocketbook/SM +pocketful/SM +pocketknife/M +pocketknives +pockmark/MDGS +pod/SM +podcast/SMG +podded +podding +podiatrist/SM +podiatry/M +podium/SM +poem/MS +poesy/M +poet/MS +poetaster/MS +poetess/MS +poetic/S +poetical/Y +poetry/M +pogrom/SM +poi/M +poignancy/M +poignant/Y +poinciana/SM +poinsettia/SM +point/MDRSZG +pointblank +pointed/Y +pointer/M +pointillism/M +pointillist/SM +pointless/PY +pointlessness/M +pointy/TR +poise/MGDS +poison/SJZGMDR +poisoner/M +poisoning/M +poisonous/Y +poke/MZGDRS +poker/M +pokey/MS +poky/TR +pol/SGMD +polar +polarity/SM +polarization/CM +polarize/CDSG +pole/MS +poleaxe/GDS +polecat/MS +polemic/MS +polemical/Y +polemicist/SM +polemics/M +polestar/SM +police/DSMG +policeman/M +policemen +policewoman/M +policewomen +policy/SM +policyholder/MS +policymaker/S +polio/MS +poliomyelitis/M +polish/ZGMDRS +polished/U +polisher/M +politburo/MS +polite/RYTP +politeness/M +politesse/M +politic/S +political/Y +politician/SM +politicization/M +politicize/CDSG +politicking/M +politico/SM +politics/M +polity/SM +polka/MDSG +poll/GMDNS +pollack/MS +pollard/S +pollen/M +pollinate/GNDS +pollination/M +pollinator/SM +polling/M +polliwog/SM +pollster/SM +pollutant/MS +pollute/ZGNDRS +polluted/U +polluter/M +pollution/M +polo/M +polonaise/SM +polonium/M +poltergeist/MS +poltroon/SM +poly +polyacrylamide +polyamory/S +polyandrous +polyandry/M +polyclinic/SM +polyester/MS +polyethylene/M +polygamist/MS +polygamous +polygamy/M +polyglot/SM +polygon/SM +polygonal +polygraph/GMD +polygraphs +polyhedral +polyhedron/SM +polymath/M +polymaths +polymer/SM +polymeric +polymerization/M +polymerize/GDS +polymorphic +polymorphous +polynomial/MS +polyp/MS +polyphonic +polyphony/M +polypropylene/M +polys +polysemous +polystyrene/M +polysyllabic +polysyllable/MS +polytechnic/MS +polytheism/M +polytheist/SM +polytheistic +polythene +polyunsaturate/DS +polyurethane/MS +polyvinyl +pom/S +pomade/DSMG +pomander/SM +pomegranate/MS +pommel/SGMD +pommy/S +pomp/M +pompadour/SMD +pompano/MS +pompom/SM +pomposity/M +pompous/YP +pompousness/M +ponce/GDS +poncho/SM +poncy +pond/MS +ponder/SZGDR +ponderer/M +ponderous/YP +ponderousness/M +pone/MS +pong/GDS +pongee/M +poniard/MS +pontiff/SM +pontifical/Y +pontificate/DSMG +pontoon/SM +pony/GDSM +ponytail/MS +poo/SGD +pooch/MDSG +poodle/SM +poof/MS +poofter/S +pooh/GMD +poohs +pool/GMDS +poolroom/MS +poolside/S +poop/GMDS +poor/TRYP +poorboy/M +poorhouse/SM +poorness/M +pop/SM +popcorn/M +pope/MS +popgun/SM +popinjay/MS +poplar/SM +poplin/M +popover/SM +poppa/MS +poppadom/S +popped +popper/SM +poppet/S +popping +poppy/SM +poppycock/M +populace/MS +popular/Y +popularity/UM +popularization/M +popularize/DSG +populate/ACGDS +population/CM +populations +populism/M +populist/MS +populous/P +populousness/M +popup/MS +porcelain/SM +porch/MS +porcine +porcupine/SM +pore/MGDS +porgy/SM +pork/ZMR +porker/M +porky/RSMT +porn/M +porno/M +pornographer/MS +pornographic +pornographically +pornography/M +porosity/M +porous/P +porousness/M +porphyritic +porphyry/M +porpoise/MGDS +porridge/M +porringer/SM +port's/A +port/CAEGDS +portability/M +portable/MS +portage/DSMG +portal/SM +portcullis/MS +portend/SGD +portent/SM +portentous/YP +porter/ASM +porterhouse/SM +portfolio/MS +porthole/MS +portico/M +porticoes +portiere/MS +portion/KSGMD +portliness/M +portly/RPT +portmanteau/MS +portrait/MS +portraitist/SM +portraiture/M +portray/SGD +portrayal/MS +portulaca/M +pose's/A +pose/CAKEGDS +poser/EKSM +poseur/SM +posh/TR +posit/DSGV +position/CKEMS +positional/K +positioned/K +positioning/K +positive/MYPS +positiveness/M +positivism +positivist/S +positron/MS +poss +posse/MS +possess/AEVGSD +possession/ASM +possessive/SMYP +possessiveness/M +possessor/SM +possibility/SM +possible/SM +possibly +possum/SM +post/ZGMDRSJ +postage/M +postal +postbag/S +postbox/S +postcard/SM +postcode/S +postcolonial +postconsonantal +postdate/DSG +postdoc/MS +postdoctoral +poster/M +posterior/SM +posterity/M +postgraduate/SM +posthaste +posthumous/Y +posthypnotic +postie/S +postilion/SM +postindustrial +posting/M +postlude/SM +postman/M +postmark/SMDG +postmaster/MS +postmen +postmenopausal +postmeridian +postmistress/MS +postmodern +postmodernism/M +postmodernist/MS +postmortem/SM +postnasal +postnatal +postoperative +postpaid +postpartum +postpone/DSGL +postponement/SM +postprandial +postscript/SM +postseason/SM +postsynaptic +postulate/XDSMGN +postulation/M +postural +posture/MGJDS +posturing/M +postwar +postwoman +postwomen +posy/SM +pot/CSM +potability/M +potable/SM +potash/M +potassium/M +potato/M +potatoes +potbelly/DSM +potboiler/SM +potency/M +potent/Y +potentate/MS +potential/MYS +potentiality/SM +potentiate/GDS +potful/SM +pothead/SM +pother/SMDG +potherb/SM +potholder/MS +pothole/DRSMZG +pothook/SM +potion/SM +potluck/MS +potpie/SM +potpourri/SM +potsherd/SM +potshot/MS +pottage/M +potted +potter/GSMD +pottery/SM +potting +potty/PRSMT +pouch/MDSG +pouf/S +pouffe/S +poulterer/MS +poultice/DSMG +poultry/M +pounce/DSMG +pound's +pound/KDSG +poundage/M +pounding/SM +pour/GDSJ +pout/ZGMDRS +pouter/M +poverty/M +pow +powder/GSMD +powdery +power/MDSG +powerboat/MS +powerful/Y +powerhouse/SM +powerless/PY +powerlessness/M +powwow/SGMD +pox/MS +pp +ppm +ppr +pr +practicability/M +practicably +practical/SMY +practicality/SM +practice/DSMGB +practiced/U +practicum/SM +practitioner/SM +praetor/SM +praetorian +pragmatic/MS +pragmatical/Y +pragmatism/M +pragmatist/MS +prairie/SM +praise/EDSMG +praiseworthiness/M +praiseworthy/P +praline/SM +pram/MS +prance/DRSMZG +prancer/M +prancing/Y +prang/DSG +prank/MS +prankster/SM +praseodymium/M +prat/S +prate/MZGDRS +prater/M +pratfall/SM +prattle/DRSMZG +prattler/M +prawn/MDSG +pray/ZGDRS +prayer/M +prayerful/Y +preach/DRSZGL +preacher/M +preachment/M +preachy/RT +preadolescence/SM +preamble/MGDS +prearrange/LGDS +prearrangement/M +preassigned +precancel/SMDG +precancerous +precarious/PY +precariousness/M +precast +precaution/MS +precautionary +precede/DSG +precedence/M +precedent/SM +precept/SM +preceptor/SM +precinct/MS +preciosity/M +precious/YP +preciousness/M +precipice/SM +precipitant/MS +precipitate/XMYGNDS +precipitation/M +precipitous/Y +precis/M +precise/DRSYTGNP +preciseness/M +precision/M +preclude/GDS +preclusion/M +precocious/YP +precociousness/M +precocity/M +precognition/M +precognitive +precolonial +preconceive/GDS +preconception/SM +precondition/MDGS +precook/GSD +precursor/SM +precursory +predate/DSG +predator/MS +predatory +predawn +predecease/GDS +predecessor/SM +predefined +predesignate/GDS +predestination/M +predestine/DSG +predetermination/M +predetermine/ZGDRS +predeterminer/M +predicable +predicament/MS +predicate/MGNVDS +predication/M +predicative/Y +predict/BGVSD +predictability/UM +predictable/U +predictably/U +prediction/SM +predictor/MS +predigest/GDS +predilection/SM +predispose/GDS +predisposition/MS +predominance/M +predominant/Y +predominate/YGDS +preemie/SM +preeminence/M +preeminent/Y +preempt/GVSD +preemption/M +preemptive/Y +preen/DSG +preexist/DGS +preexistence/M +pref +prefab/SM +prefabbed +prefabbing +prefabricate/DSGN +prefabrication/M +preface/DSMG +prefatory +prefect/SM +prefecture/MS +prefer/SBL +preferably +preference/MS +preferential/Y +preferment/M +preferred +preferring +prefigure/GDS +prefix/MDSG +preform/GSD +prefrontal +pregame/SM +pregnancy/SM +pregnant +preheat/GSD +prehensile +prehistorian/S +prehistoric +prehistorical/Y +prehistory/M +prehuman +prejudge/GDS +prejudgment/SM +prejudice/MGDS +prejudiced/U +prejudicial +prekindergarten/SM +prelacy/M +prelate/SM +prelim/SM +preliminary/SM +preliterate +prelude/MS +premarital +premature/Y +premed/SM +premedical +premeditate/DSGN +premeditated/U +premeditation/M +premenstrual +premier/SGMD +premiere/MS +premiership/MS +premise/DSMG +premium/SM +premix/GDS +premolar/SM +premonition/MS +premonitory +prenatal/Y +prenup/SM +prenuptial +preoccupation/SM +preoccupy/DSG +preoperative +preordain/GDS +prep/MS +prepackage/DSG +prepacked +prepaid +preparation/SM +preparatory +prepare/GDS +prepared/UP +preparedness/UM +prepay/GSL +prepayment/MS +preponderance/SM +preponderant/Y +preponderate/GDS +preposition/SM +prepositional/Y +prepossess/GDS +prepossessing/U +prepossession/SM +preposterous/Y +prepped +prepping +preppy/TRSM +prepubescence/M +prepubescent/SM +prepuce/MS +prequel/MS +prerecord/GSD +preregister/SGD +preregistration/M +prerequisite/MS +prerogative/SM +pres +presage/MGDS +presbyopia/M +presbyter/SM +presbytery/SM +preschool/SZMR +preschooler/M +prescience/M +prescient/Y +prescribe/DSG +prescript/SVM +prescription/SM +prescriptive/Y +preseason/SM +presence/SM +present/LMDRYZGSB +presentably +presentation/ASM +presenter/M +presentiment/SM +presentment/SM +preservation/M +preservationist/SM +preservative/SM +preserve/BDRSMZG +preserver/M +preset/S +presetting +preshrank +preshrink/GS +preshrunk +preside/GDS +presidency/SM +president/MS +presidential +presidium/M +presort/DGS +press's +press/ACGSD +pressed/U +presser/MS +pressie/S +pressing/SMY +pressman/M +pressmen +pressure/DSMG +pressurization/M +pressurize/CGDS +pressurizer/SM +prestidigitation/M +prestige/M +prestigious +presto/SM +presumably +presume/GDSB +presumption/SM +presumptive +presumptuous/YP +presumptuousness/M +presuppose/DSG +presupposition/MS +pretax +preteen/MS +pretend/DRZGS +pretender/M +pretense/SXMN +pretension/M +pretentious/UY +pretentiousness/M +preterit/SM +preterm +preternatural/Y +pretest/DGS +pretext/MS +pretrial/S +prettify/GDS +prettily +prettiness/M +pretty/TGDRSMP +pretzel/MS +prevail/DGS +prevalence/M +prevalent +prevaricate/DSGNX +prevarication/M +prevaricator/SM +prevent/DBSGV +preventable/U +preventative/MS +prevention/M +preventive/SM +preview/MDRSZG +previous/Y +prevision/MS +prewar +prey/GMDS +prezzie/S +priapic +price's +price/AGDS +priceless +pricey +pricier +priciest +prick/MDRYSZG +pricker/M +prickle/MGDS +prickliness/M +prickly/PRT +pride/MGDS +prideful/Y +prier/M +priest/SMY +priestess/MS +priesthood/SM +priestliness/M +priestly/RTP +prig/MS +priggish/P +priggishness/M +prim/ZGDRYP +primacy/M +primal +primarily +primary/SM +primate/MS +prime/MS +primer/M +primeval +priming/M +primitive/SPMY +primitiveness/M +primmer +primmest +primness/M +primogenitor/SM +primogeniture/M +primordial/Y +primp/DSG +primrose/SM +primula/S +prince/SMY +princedom/SM +princeliness/M +princely/PRT +princess/MS +principal/SMY +principality/SM +principle/DSM +principled/U +print/AMDSG +printable/U +printer/MS +printing/SM +printmaking +printout/SM +prion/S +prior/MS +prioress/MS +prioritization +prioritize/DSG +priority/SM +priory/SM +prism/MS +prismatic +prison/SZMR +prisoner/M +prissily +prissiness/M +prissy/PTR +pristine +prithee +privacy/M +private/XMYTNRS +privateer/SM +privation/CSM +privatization/SM +privatize/DSG +privet/SM +privilege/DSMG +privileged/U +privily +privy/RSMT +prize/MGDS +prized/A +prizefight/ZGSMR +prizefighter/M +prizefighting/M +prizewinner/MS +prizewinning +pro/SM +probabilistic +probability/SM +probable/SM +probably +probate/MN +probation/ZMR +probational +probationary +probationer/M +probe/MGDSBJ +probity/M +problem/MS +problematic +problematical/Y +probosces +proboscis/MS +procaine/M +procedural +procedure/SM +proceed/GJDS +proceeding/M +proceeds/M +process's +process/AGDS +processed/U +procession/GD +processional/MS +processor/SM +proclamation/MS +proclivity/SM +procrastinate/DSGN +procrastination/M +procrastinator/MS +procreate/V +proctor/GMDS +procurement/M +prod/MS +prodigal/MYS +prodigality/M +prodigious/Y +prodigy/SM +produce's +produce/AZGDRS +producer/AM +producible/A +production/ASM +productive/UY +productiveness/M +productivity/M +prof/MS +profanation/MS +profane/PYGDS +profaneness/M +profanity/SM +professed/Y +profession/SM +professional/MYS +professionalism/M +professionalization +professionalize/DSG +professor/SM +professorial/Y +professorship/SM +proffer/GMDS +proficiency/M +proficient/MYS +profit/BGD +profitability/M +profitable/U +profitably/U +profiteer/MDGS +profiteering/M +profiterole/SM +profitless +profligacy/M +profligate/SMY +proforma +profound/RYTP +profoundness/M +profundity/SM +profuse/PY +profuseness/M +progenitor/SM +progeny/M +progesterone/M +progestin/S +prognathous +prognoses +prognosis/M +prognostic/MS +prognosticate/XGNDS +prognostication/M +prognosticator/MS +program/CAS +programmable/MS +programmatic +programmed/AC +programmer/MS +programming/SM +progress/MDSGV +progression/MS +progressive/PMYS +progressiveness/M +prohibit/DGVS +prohibition/SM +prohibitionist/MS +prohibitive/Y +prohibitory +project/GMDS +projectile/SM +projection/SM +projectionist/SM +projector/MS +prokaryotic +prole/S +proletarian/MS +proletariat/M +proliferate/DSGN +proliferation/M +prolific +prolifically +prolix/Y +prolixity/M +prologue/SM +prolongation/SM +prom/M +promenade/MGDS +promethium/M +prominence/M +prominent/Y +promiscuity/M +promiscuous/Y +promise/DSMG +promising/Y +promissory +promo/M +promontory/SM +promote/DRZG +promoter/M +promotional +prompt/JPSMDRYZTG +prompted/U +prompter/M +prompting/M +promptitude/M +promptness/M +promulgate/GNDS +promulgation/M +promulgator/MS +prone/P +proneness/M +prong/MDS +pronghorn/MS +pronominal/M +pronounce/DSLG +pronounceable/U +pronouncement/SM +pronto +pronunciation/MS +proof/ADGSM +proofread/SRZG +proofreader/M +prop/MS +propaganda/M +propagandist/MS +propagandize/GDS +propagate/DSGN +propagation/M +propagator/SM +propel/S +propellant/MS +propelled +propeller/SM +propelling +propensity/SM +proper/MRYT +property/DSM +prophecy/SM +prophesier/M +prophesy/DRSMZG +prophet/SM +prophetess/MS +prophetic +prophetical/Y +prophylactic/SM +prophylaxes +prophylaxis/M +propinquity/M +propitiate/DSGN +propitiation/M +propitiatory +propitious/Y +proponent/SM +proportion/ESM +proportional/YS +proportionality +proportionate/EY +proposal/MS +propped +propping +proprietary/SM +proprieties/M +proprietor/SM +proprietorial/Y +proprietorship/M +proprietress/MS +propriety/SM +propulsion/M +propulsive +prorate/DSG +prorogation/M +prorogue/GD +prosaic +prosaically +proscenium/SM +prosciutto/M +proscribe/DG +proscription/MS +prose/M +prosecute/DSXGN +prosecution/M +prosecutor/MS +proselyte/DSMG +proselytism/M +proselytize/DRSZG +proselytizer/M +prosody/SM +prospect/MDGVS +prospective/Y +prospector/SM +prospectus/MS +prosper/GSD +prosperity/M +prosperous/Y +prostate/MS +prostheses +prosthesis/M +prosthetic +prostitute/MGNDS +prostitution/M +prostrate/GNXDS +prostration/M +prosy/RT +protactinium/M +protagonist/SM +protean +protect/GVSD +protected/U +protection/SM +protectionism/M +protectionist/MS +protective/PY +protectiveness/M +protector/MS +protectorate/MS +protege/SM +protegee/S +protein/SM +protestant/S +protestation/MS +protocol/MS +proton/SM +protoplasm/M +protoplasmic +prototype/MGS +prototypical +protozoa +protozoan/MS +protozoic +protract/GD +protrude/GDS +protrusile +protrusion/MS +protuberance/MS +protuberant +proud/RYT +prov/NB +provability/M +provably +prove/EAGDS +proved/U +proven/U +provenance/SM +provender/M +provenience/M +proverbial/Y +provide/DRSZG +provided/U +providence/M +provident/Y +providential/Y +provider/M +province/MS +provincial/SMY +provincialism/M +provisional/Y +proviso/SM +provocateur/S +provocative/PY +provocativeness/M +provoke/DRSZG +provoked/U +provoker/M +provoking/Y +provolone/M +provost/SM +prow/MS +prowess/M +prowl/MDRSZG +prowler/M +proximal +proximate +proximity/M +proxy/SM +prude/MS +prudence/M +prudent/Y +prudential/Y +prudery/M +prudish/YP +prudishness/M +prune/MZGDRS +pruner/M +prurience/M +prurient/Y +pry/ZTGDRSM +psalm/MS +psalmist/SM +psaltery/SM +psephologist/S +psephology +pseud/S +pseudo/S +pseudonym/SM +pseudonymous +pseudoscience/MS +pseudy +pshaw/MS +psi/SM +psittacosis/M +psoriasis/M +psst +psych/MDSG +psyche/M +psychedelia +psychedelic/SM +psychedelically +psychiatric +psychiatrist/SM +psychiatry/M +psychic/MS +psychical/Y +psycho/SM +psychoactive +psychoanalyses +psychoanalysis/M +psychoanalyst/SM +psychoanalytic +psychoanalytical/Y +psychoanalyze/DSG +psychobabble/M +psychodrama/MS +psychogenic +psychokinesis +psychokinetic +psychological/Y +psychologist/MS +psychology/SM +psychometric +psychoneuroses +psychoneurosis/M +psychopath/M +psychopathic +psychopathology +psychopaths +psychopathy/M +psychopharmacology +psychos/S +psychosis/M +psychosomatic +psychotherapist/MS +psychotherapy/SM +psychotic/SM +psychotically +psychotropic/MS +psychs +pt/C +ptarmigan/MS +pterodactyl/MS +ptomaine/SM +pub/SM +pubertal +puberty/M +pubes/M +pubescence/M +pubescent +pubic +pubis/M +public/AM +publican/AMS +publication/ASM +publicist/MS +publicity/M +publicize/GDS +publicly +publish/AGDS +publishable +published/U +publisher/MS +publishing/M +puce/M +puck/ZMRS +pucker/MDG +puckish/YP +puckishness/M +pud/S +pudding/SM +puddle/DSMG +puddling/M +pudenda +pudendum/M +pudginess/M +pudgy/PRT +pueblo/SM +puerile +puerility/M +puerperal +puff/ZGMDRS +puffball/SM +puffer/M +puffin/SM +puffiness/M +puffy/PRT +pug/SM +pugilism/M +pugilist/SM +pugilistic +pugnacious/YP +pugnaciousness/M +pugnacity/M +puke/MGDS +pukka +pulchritude/M +pulchritudinous +pule/GDS +pull/ZGMDRS +pullback/MS +puller/M +pullet/SM +pulley/SM +pullout/MS +pullover/SM +pulmonary +pulp/GMDS +pulpiness/M +pulpit/SM +pulpwood/M +pulpy/RPT +pulsar/SM +pulsate/XGNDS +pulsation/M +pulse/AMGDS +pulverization/M +pulverize/DSG +puma/MS +pumice/SM +pummel/SGD +pump/ZGMDRS +pumper/M +pumpernickel/M +pumpkin/MS +pun/SM +punch/MDRSZG +punchbag/S +puncheon/MS +puncher/M +punchline/S +punchy/TR +punctilio/M +punctilious/PY +punctiliousness/M +punctual/Y +punctuality/M +punctuate/GNDS +punctuation/M +puncture/DSMG +pundit/SM +punditry/M +pungency/M +pungent/Y +puniness/M +punish/BLGDS +punished/U +punishing/Y +punishment/MS +punitive/Y +punk/TMRS +punned +punnet/S +punning +punster/SM +punt/ZGMDRS +punter/M +puny/TRP +pup/SM +pupa/M +pupae +pupal +pupate/DSG +pupil/MS +pupped +puppet/MS +puppeteer/SM +puppetry/M +pupping +puppy/SM +purblind +purchase/DRSMZGB +purchaser/M +purdah/M +pure/PYTR +purebred/SM +puree/MDS +pureeing +pureness/M +purgative/SM +purgatorial +purgatory/SM +purge/MZGDRS +purger/M +purification/M +purifier/M +purify/NDRSZG +purine/MS +purism/M +purist/MS +puristic +puritan/SM +puritanical/Y +puritanism/M +purity/M +purl/GMDS +purlieu/SM +purloin/SGD +purple/MTRS +purplish +purport/SMDG +purported/Y +purpose/DSMYG +purposeful/YP +purposefulness/M +purposeless/PY +purr/GMDS +purse/MZGDRS +purser/M +pursuance/M +pursuant +pursue/ZGDRS +pursuer/M +pursuit/SM +purulence/M +purulent +purvey/DSG +purveyance/M +purveyor/SM +purview/M +pus/M +push/ZGMDRS +pushbike/S +pushcart/SM +pushchair/S +pusher/M +pushily +pushiness/M +pushover/MS +pushpin/S +pushy/TRP +pusillanimity/M +pusillanimous/Y +puss/MS +pussy/TRSM +pussycat/MS +pussyfoot/DSG +pustular +pustule/SM +put/ISM +putative +putout/MS +putrefaction/M +putrefactive +putrefy/GDS +putrescence/M +putrescent +putrid +putsch/MS +putt/ZGMDRS +putted/I +puttee/MS +putter/MDRZG +putterer/M +putting/I +putty/GDSM +putz/S +puzzle/MZGDRSL +puzzlement/M +puzzler/M +pvt +pwn/SGD +pyelonephritis +pygmy/SM +pylon/SM +pylori +pyloric +pylorus/M +pyorrhea/M +pyramid/GSMD +pyramidal +pyre/MS +pyrimidine/MS +pyrite/SM +pyrites/M +pyromania/M +pyromaniac/SM +pyrotechnic/S +pyrotechnical +pyrotechnics/M +pyruvate +python/SM +pyx/MS +pzazz +q +qr +qt/S +qty +qua +quack/GMDS +quackery/M +quad/MS +quadrangle/SM +quadrangular +quadrant/MS +quadraphonic +quadratic/MS +quadrature +quadrennial +quadrennium/MS +quadriceps/MS +quadrilateral/SM +quadrille/XMNS +quadrillion/M +quadriplegia/M +quadriplegic/SM +quadrivium/M +quadruped/MS +quadrupedal +quadruple/MGDS +quadruplet/MS +quadruplicate/MGNDS +quadruplication/M +quaff/GMDS +quagmire/SM +quahog/MS +quail/GMDS +quaint/PRYT +quaintness/M +quake/MGDS +quaky +qualification/EM +qualified/U +qualifier/SM +qualify/EGXNDS +qualitative/Y +quality/SM +qualm/MS +qualmish +quandary/SM +quango/S +quanta +quantifiable +quantification/M +quantifier/M +quantify/NDRSZG +quantitative/Y +quantity/SM +quantum/M +quarantine/MGDS +quark/MS +quarrel/SZGMDR +quarreler/M +quarrelsome/P +quarrelsomeness/M +quarry/DSMG +quart/MS +quarter/SGMDY +quarterback/GMDS +quarterdeck/MS +quarterfinal/SM +quarterly/SM +quartermaster/MS +quarterstaff/M +quarterstaves +quartet/SM +quarto/MS +quartz/M +quasar/MS +quash/GDS +quasi +quatrain/MS +quaver/MDSG +quavery +quay/MS +quayside/S +queasily +queasiness/M +queasy/TPR +queen/GMDYS +queenly/RT +queer/PTGMDRYS +queerness/M +quell/GDS +quench/ZGDRSB +quenchable/U +quencher/M +quenchless +querulous/YP +querulousness/M +query/DSMG +ques +quesadilla/MS +quest/IFAMS +quested +questing +question/SMDRZGBJ +questionable/U +questionably/U +questioned/U +questioner/M +questioning/MY +questionnaire/SM +queue/MDSG +quibble/DRSMZG +quibbler/M +quiche/SM +quick/MNRYXTP +quicken/DG +quickfire +quickie/SM +quicklime/M +quickness/M +quicksand/MS +quicksilver/M +quickstep/MS +quid/MS +quiescence/M +quiescent/Y +quiet/SMDNRYXTGP +quieten/DG +quietism +quietness/M +quietude/IEM +quietus/MS +quiff/S +quill/SM +quilt/SMDRZG +quilter/M +quilting/M +quin/S +quince/SM +quine/S +quinine/M +quinoa +quinsy/M +quint/SM +quintessence/SM +quintessential/Y +quintet/SM +quintuple/MGDS +quintuplet/MS +quip/MS +quipped +quipping +quipster/SM +quire's +quire/IAS +quirk/SMDG +quirkiness/M +quirky/RTP +quirt/SM +quisling/SM +quit/S +quitclaim/MS +quite +quittance/M +quitter/SM +quitting +quiver/SMDG +quivery +quixotic +quixotically +quiz/M +quizzed +quizzer/SM +quizzes +quizzical/Y +quizzing +quo/H +quoin/SM +quoit/SMDG +quondam +quorate/I +quorum/SM +quot/B +quota/SM +quotability/M +quotation/SM +quote's +quote/UDSG +quotidian +quotient/SM +qwerty +r/S +rabbet/GMDS +rabbi/SM +rabbinate/M +rabbinic +rabbinical +rabbit/GMDS +rabble/MS +rabid/PY +rabidness/M +rabies/M +raccoon/M +race/MZGDRS +racecourse/SM +racegoer/S +racehorse/MS +raceme/MS +racer/M +racetrack/MS +raceway/MS +racial/Y +racialism/M +racialist/MS +racily +raciness/M +racing/M +racism/M +racist/SM +rack/GMDS +racket/SMDG +racketeer/SMDG +racketeering/M +raconteur/SM +racquetball/SM +racy/PRT +rad/SM +radar/SM +radarscope/SM +raddled +radial/SMY +radiance/M +radiant/Y +radiate/DSGNX +radiation/M +radiator/SM +radical/SMY +radicalism/M +radicalization/M +radicalize/DSG +radicchio/M +radii +radio/MDGS +radioactive/Y +radioactivity/M +radiocarbon/M +radiogram/MS +radiographer/SM +radiography/M +radioisotope/MS +radiologist/SM +radiology/M +radioman/M +radiomen +radiometer/MS +radiometric +radiometry/M +radiophone/SM +radioscopy/M +radiosonde/SM +radiosurgery +radiotelegraph/M +radiotelegraphs +radiotelegraphy/M +radiotelephone/MS +radiotherapist/MS +radiotherapy/M +radish/MS +radium/M +radius/M +radon/M +raffia/M +raffish/YP +raffishness/M +raffle/DSMG +raft/ZGMDRS +rafter/M +rafting/M +rag/SGMD +raga/MS +ragamuffin/MS +ragbag/M +rage/MS +ragga +ragged/RYTP +raggedness/M +raggedy/RT +ragging +raging/Y +raglan/SM +ragout/SM +ragtag/S +ragtime/M +ragweed/M +ragwort +rah +raid/ZGMDRS +raider/M +rail's +rail/CGDS +railcard/S +railing/SM +raillery/SM +railroad/SZGMDR +railroader/M +railroading/M +railway/SM +railwayman +railwaymen +raiment/M +rain/GMDS +rainbow/SM +raincoat/SM +raindrop/SM +rainfall/SM +rainmaker/SM +rainmaking/M +rainproof +rainstorm/MS +rainwater/M +rainy/RT +raise/MZGDRS +raiser/M +raisin/SM +rajah/M +rajahs +rake/MGDS +rakish/YP +rakishness/M +rally/DSMG +ram/SM +ramble/DRSMZGJ +rambler/M +rambunctious/PY +rambunctiousness/M +ramekin/SM +ramie/M +ramification/M +ramify/DSXNG +ramjet/SM +rammed +ramming +ramp/GMS +rampage/DSMG +rampancy/M +rampant/Y +rampart/SM +ramrod/SM +ramrodded +ramrodding +ramshackle +ran/A +ranch/MDRSZG +rancher/M +ranching/M +rancid/P +rancidity/M +rancidness/M +rancor/M +rancorous/Y +rand/M +randiness/M +random/PSY +randomization/M +randomize/DSG +randomness/MS +randy/RTP +ranee/MS +rang/ZR +range's +range/CGDS +rangefinder/S +ranger/M +ranginess/M +rangy/RTP +rank/TGJPMDRYS +ranking/M +rankle/DSG +rankness/M +ransack/SGD +ransom/SZGMDR +ransomer/M +ransomware +rant/ZGMDJRS +ranter/M +rap/SZGMDR +rapacious/PY +rapaciousness/M +rapacity/M +rape/MS +raper/M +rapeseed/M +rapid/PMRYTS +rapidity/M +rapidness/M +rapier/SM +rapine/M +rapist/SM +rapped +rappel/SM +rappelled +rappelling +rapper/SM +rapping +rapport/MS +rapporteur/S +rapprochement/SM +rapscallion/MS +rapt/YP +raptness/M +raptor/S +rapture/MS +rapturous/Y +rare/YTGPDRS +rarebit/MS +rarefaction/M +rarefy/GDS +rareness/M +rarity/SM +rascal/SMY +rash/ZTMRSYP +rasher/M +rashness/M +rasp/GMDS +raspberry/SM +raspy/RT +raster +rat/SM +ratatouille/M +ratbag/S +ratchet/GMDS +rate/JXMZGNDRS +rated/U +ratepayer/S +rater/M +rather +rathskeller/SM +ratification/M +ratifier/M +ratify/NDRSZG +rating/M +ratio/MS +ratiocinate/GNDS +ratiocination/M +ration/MDG +rational/SMY +rationale/MS +rationalism/M +rationalist/SM +rationalistic +rationality/M +rationalization/MS +rationalize/DSG +ratlike +ratline/SM +rattan/SM +ratted +ratter/SM +ratting +rattle/DRSMZGJ +rattlebrain/SMD +rattler/M +rattlesnake/SM +rattletrap/SM +rattly +rattrap/SM +ratty/RT +raucous/YP +raucousness/M +raunchily +raunchiness/M +raunchy/TRP +ravage/DRSMZG +ravager/M +ravages/M +rave/JMZGDRS +ravel's +ravel/UDSG +raveling/S +raven/MDSG +ravenous/Y +ravine/SM +raving/M +ravioli/SM +ravish/DRSZGL +ravisher/M +ravishing/Y +ravishment/M +raw/PTMR +rawboned +rawhide/M +rawness/M +ray/SM +rayon/M +raze/GDS +razor/MS +razorback/MS +razz/GMDS +razzmatazz/M +rcpt +rd +re/DSMYTGVJ +reach/MDSGB +reachable/U +reacquire/DSG +react/V +reactant/SM +reactionary/SM +reactivity +read/ZGMRBJS +readability/SM +reader/M +readership/SM +readily +readiness/M +reading/M +readmitted +readout/SM +ready/DRSTGP +reafforestation +real/TMRYPS +realism/M +realist/SM +realistic/U +realistically/U +realities +reality/UM +realization/MS +realize/DSBG +realized/U +realm/MS +realness/M +realpolitik/M +realty/M +ream/ZGMDRS +reamer/M +reap/ZGDRS +reaper/M +rear/GMDS +rearguard/MS +rearmost +rearward/S +reason/SMDRZGB +reasonable/UP +reasonableness/UM +reasonably/U +reasoner/M +reasoning/M +reassuring/Y +rebate/M +rebel/MS +rebellion/MS +rebellious/YP +rebelliousness/M +rebid/S +rebidding +rebirth/M +reboil/SDG +rebuild/SG +rebuke/DSMG +rebuking/Y +rebuttal/MS +rec'd +rec/M +recalcitrance/M +recalcitrant +recant/SDG +recantation/SM +recap/MS +recapitalization +recce/S +recd +receipt/SMDG +receivables/M +receive/DRSZGB +receiver/M +receivership/M +recent/RYTP +recentness/M +receptacle/SM +reception/MS +receptionist/SM +receptive/PY +receptiveness/M +receptivity/M +receptor/SM +recess/MDSGV +recessional/SM +recessionary +recessive/SM +recherche +recidivism/M +recidivist/SM +recipe/SM +recipient/SM +reciprocal/SMY +reciprocate/GNDS +reciprocation/M +reciprocity/M +recital/SM +recitalist/MS +recitative/MS +reciter/SM +reckless/YP +recklessness/M +reckon/SJDG +reckoning/M +reclamation/M +recline/DRSZG +recliner/M +recluse/SMV +recognizable/U +recognizably +recognize/DRSGB +recognized/U +recombination +recompense/DSMG +recompilation +recompile/GD +recon/S +reconcile/GDSB +reconciliation/S +recondite +reconfiguration +reconfigure/D +reconnaissance/MS +reconnoiter/DGS +reconstruct/V +reconstructed/U +recorded/U +recorder/MS +recording/MS +recoup/DG +recourse/M +recoverable/U +recovery/SM +recreant/MS +recreational +recriminate/DSGNX +recrimination/M +recriminatory +recrudesce/GDS +recrudescence/M +recrudescent +recruit/LSMDRZG +recruiter/M +recruitment/M +rectal/Y +rectangle/MS +rectangular +rectifiable +rectification/M +rectifier/M +rectify/XNDRSZG +rectilinear +rectitude/M +recto/MS +rector/SM +rectory/SM +rectum/SM +recumbent +recuperate/GNVDS +recuperation/M +recur/S +recurred +recurrence/SM +recurring +recursion/S +recuse/DSG +recyclable/SM +recycling/M +red/PSM +redact/SDG +redaction/M +redactor/SM +redbird/SM +redbreast/MS +redbrick +redcap/SM +redcoat/SM +redcurrant/S +redden/SDG +redder +reddest +reddish +redeem/RZB +redeemer/M +redemption/M +redemptive +redhead/SMD +redirection +redistrict/GD +redivide/GDS +redlining/M +redneck/SM +redness/M +redo/G +redolence/M +redolent +redoubt/SBM +redoubtably +redound/SDG +redraw/SG +redskin/SM +reduce/DRSZG +reducer/M +reducible +reductase/M +reduction/SM +reductionist +reductive +redundancy/SM +redundant/Y +redwood/SM +redye/DS +reediness/M +reedy/RTP +reef/ZGMDRS +reefer/M +reek/GMDS +reel's +reel/UGDS +reeve/G +reexport/SDG +ref/SZM +refashion/DGS +refection/M +refectory/SM +refer/B +referee/DSM +refereeing +reference/MGDS +referendum/MS +referent/SM +referential +referral/SM +referred +referrer/SM +referring +reffed +reffing +refill/BM +refined/U +refinement/SM +refiner/SM +refinery/S +refitting +reflate/XDSGN +reflationary +reflect/GVSD +reflection/MS +reflective/Y +reflector/MS +reflexive/SMY +reflexology +reforge/DSG +reform/MZ +reformat/V +reformatory/SM +reformatting +reformed/U +reformist/S +refortify/GDS +refract/SGVD +refraction/M +refractory/SM +refrain/SGMD +refresh/ZGLDRS +refresher/M +refreshing/Y +refreshment/SM +refreshments/M +refrigerant/SM +refrigerate/DSGN +refrigeration/M +refrigerator/MS +refuge/SM +refugee/SM +refulgence/M +refulgent +refund/B +refurbishment/MS +refusal/MS +refutation/MS +refute/BDRSZG +refuter/M +reg +regal/DYG +regalement/M +regalia/M +regard/ESMDG +regardless +regards/M +regather/DGS +regatta/SM +regency/SM +regeneracy/M +regenerate/V +regex/M +regexp/S +reggae/M +regicide/MS +regime/SM +regimen/SM +regiment/MDGS +regimental +regimentation/M +region/SM +regional/Y +regionalism/MS +register/GMDS +registered/U +registrant/MS +registrar/MS +registration/SM +registry/SM +regnant +regress/MDSGV +regression/MS +regret/SM +regretful/Y +regrettable +regrettably +regretted +regretting +regrind/GS +reground +regroup/DGS +regular/MYS +regularity/SM +regularization/M +regularize/DSG +regulate/CDSGNV +regulated/U +regulation/CM +regulations +regulator/MS +regulatory +regurgitate/DSGN +regurgitation/M +rehab/MS +rehabbed +rehabbing +rehabilitate/GNVDS +rehabilitation/M +rehang/SDG +rehears/GD +rehearsal/MS +rehearsed/U +rehi +rehung +reign/MDSG +reimburse/BDSGL +reimbursement/MS +rein/GD +reindeer/M +reinforce/LGDS +reinforcement/SM +reinitialize +reinstall/DG +reinstatement/M +reinsurance +reiterate/V +reject/GSMD +rejection/SM +rejoice/JGDS +rejoicing/M +rejoinder/SM +rejuvenate/DSGN +rejuvenation/M +rel +relate/DRSXZGNV +relatedness/M +relater/M +relation/M +relational +relationship/MS +relative/MYS +relativism/M +relativist/S +relativistic +relativity/M +relax/DRSZG +relaxant/MS +relaxation/SM +relaxer/M +relay/D +release/B +released/U +relegate/GNDS +relent/SGD +relentless/PY +relentlessness/M +relevance/M +relevancy/M +relevant/Y +reliability/UM +reliable/U +reliably/U +reliance/M +reliant +relic/MS +relief/SM +relieve/ZGDRS +reliever/M +religion/SM +religiosity +religious/MYP +religiousness/M +reline/DSG +relinquish/LDSG +relinquishment/M +reliquary/SM +relish/GMDS +relist/SGD +relocate/B +reluctance/M +reluctant/Y +rely/GDS +rem/M +remain/SGD +remainder/GMDS +remand/SGD +remapping +remark/B +remarkableness/M +remarkably +remarked/U +remediable +remedy/GDSM +remember/DG +remembered/U +remembrance/MS +reminder/M +reminisce/GDS +reminiscence/MS +reminiscent/Y +remiss/PY +remissness/M +remit/S +remittance/SM +remitted +remitting/U +remix/DSG +remnant/MS +remodel/GDS +remold/SGD +remonstrant/SM +remonstrate/DSG +remorse/M +remorseful/Y +remorseless/PY +remorselessness/M +remote/RSMYTP +remoteness/M +removal/SM +remunerate/GNVXDS +remuneration/M +renaissance/MS +renal +renascence/S +rend/GS +render/SGMDJ +rendering/M +rendezvous/GMDS +rendition/MS +renegade/DSMG +renege/DRSZG +reneger/M +renew/DSBG +renewal/MS +rennet/M +rennin/M +renounce/LDSG +renouncement/M +renovate/DSXGN +renovation/M +renovator/MS +renown/MD +rent/ZGMDRS +rental/SM +renter/M +renunciation/SM +reopen/SDG +reorg/MDSG +rep/SM +repaint/GDS +repair/BZR +repairer/M +repairman/M +repairmen +reparable +reparation/MS +reparations/M +repartee/M +repatriate/XDSMGN +repatriation/M +repeat/SMDRZGB +repeatable/U +repeatably +repeated/Y +repeater/M +repeating/M +repel/S +repelled +repellent/SM +repelling +repent/SDG +repentance/M +repentant/Y +repercussion/S +repertoire/MS +repertory/SM +repetition/MS +repetitious/YP +repetitiousness/M +repetitive/YP +repetitiveness/M +rephotograph/DG +replaceable +replant/GSD +replenish/LGDS +replenishment/M +replete/PDSGN +repleteness/M +repletion/M +replica/SM +replicate/DSGNX +replication/M +replicator/S +reportage/M +reported/Y +reportorial +reposeful +repository/SM +reprehend/DGS +reprehensibility/M +reprehensible +reprehensibly +reprehension/M +represent/GDS +representational +representative/MS +represented/U +repression/MS +repressive/PY +reprieve/DSMG +reprimand/GSMD +reprisal/SM +reprise/SMG +reproach/GMDSB +reproachful/Y +reprobate/MS +reproductive +reprogramming +reproving/Y +reptile/SM +reptilian/MS +republic/S +republicanism/M +repudiate/XGNDS +repudiation/M +repudiator/MS +repugnance/M +repugnant +repulsion/M +repulsive/YP +repulsiveness/M +repurchase/GDS +reputability/M +reputably/E +reputation/MS +repute/DSMGB +reputed/Y +request/GDR +requiem/SM +require/LDG +requirement/MS +requisite/XMNS +requisition/GMD +requital/M +requite/DRSZG +requited/U +requiter/M +reread/SG +rerecord/GDS +rerunning +resat +rescind/SDG +rescission/M +rescue/DRSMZG +rescuer/M +reseal/B +resell/SG +resemble/DSG +resend +resent/LSDG +resentful/YP +resentfulness/M +resentment/MS +reserpine/M +reservation/MS +reserved/UY +reservedness/M +reservist/SM +reservoir/SM +resetting +reshipping +residence/SM +residency/SM +resident/MS +residential +residua +residual/MS +residue/SM +residuum/M +resignation/SM +resigned/Y +resilience/M +resiliency/M +resilient/Y +resinous +resist/SMDRZG +resistance/SM +resistant/U +resistible +resistless +resistor/MS +resit/S +resitting +resold +resole/DSG +resolute/PY +resoluteness/M +resolve/RBM +resolved/U +resonance/SM +resonant/Y +resonate/GDS +resonator/SM +resorption/M +resound/SGD +resounding/Y +resourceful/YP +resourcefulness/M +resp +respect/ESGVMD +respectability/M +respectable +respectably +respectful/EY +respectfulness/M +respective/Y +respell/SGD +respiration/M +respirator/SM +respiratory +respire/DG +resplendence/M +resplendent/Y +respond/SGD +respondent/SM +response/MS +responsibility/SM +responsible +responsibly +responsive/UYP +responsiveness/UM +rest/GVMDS +restate/GDS +restaurant/SM +restaurateur/MS +restful/YP +restfuller +restfullest +restfulness/M +restitution/M +restive/YP +restiveness/M +restless/PY +restlessness/M +restoration/SM +restorative/SM +restorer/SM +restrained/U +restraint/MS +restrict/SDGV +restricted/U +restriction/MS +restrictive/YP +restrictiveness/M +restring/SG +restroom/SM +restructuring/SM +result/GSMD +resultant/SM +resume/DSMG +resumption/MS +resupply/DSG +resurgence/MS +resurgent +resurrect/GSD +resurrection/MS +resuscitate/GNDS +resuscitation/M +resuscitator/SM +retailer/MS +retain/SDRZG +retainer/M +retake/G +retaliate/DSGNVX +retaliation/M +retaliatory +retard/SMDRZG +retardant/SM +retardation/M +retarder/M +retch/DSG +reteach/GS +retention/M +retentive/YP +retentiveness/M +rethink/SGM +rethought +reticence/M +reticent/Y +reticulated +reticulation/MS +retina/SM +retinal +retinue/SM +retiree/SM +retirement/MS +retort/GMD +retrace/GDS +retract/DBG +retractile +retraction/S +retrain/DGS +retread/D +retrenchment/MS +retribution/MS +retributive +retrieval/SM +retrieve/DRSMZGB +retriever/M +retro/MS +retroactive/Y +retrofire/GDS +retrofit/SM +retrofitted +retrofitting +retrograde/DSG +retrogress/GVDS +retrogression/M +retrorocket/MS +retrospect/MDSGV +retrospection/M +retrospective/MYS +retrovirus/MS +retsina/M +returnable/SM +returnee/SM +rev/ZVM +revamping/M +reveal/GJSD +revealed/U +revealing/Y +reveille/M +revel/JMDRSZG +revelation/SM +reveler/M +revelry/SM +revenge/MGDS +revenuer/SM +reverb +reverberate/DSGNX +reverberation/M +revere/DSG +reverence/DSMG +reverend/SM +reverent/Y +reverential/Y +reverie/MS +revers/M +reversal/SM +reverse/Y +reversibility +reversible +reversibly +revert/GSD +revertible +revetment/SM +revile/DRSLZG +revilement/M +reviler/M +reviser/MS +revision/SM +revisionism/M +revisionist/SM +revival/MS +revivalism/M +revivalist/SM +revive/DSG +revivification/M +revocable +revoke/DSG +revolt/GD +revolting/Y +revolution/SM +revolutionary/SM +revolutionist/SM +revolutionize/DSG +revolve/BZGDRS +revolver/M +revue/MS +revulsion/M +revved +revving +rewarded/U +rewarding/U +rewarm/GSD +rewash/GDS +reweave/GS +rewedding +rewind/MB +rewound +rewrite/MGS +rhapsodic +rhapsodical +rhapsodize/GDS +rhapsody/SM +rhea/MS +rhenium/M +rheostat/SM +rhesus/MS +rhetoric/M +rhetorical/Y +rhetorician/SM +rheum/M +rheumatic/MS +rheumatically +rheumatism/M +rheumatoid +rheumy +rhinestone/SM +rhinitis/M +rhino/MS +rhinoceros/MS +rhinoplasty +rhinovirus/MS +rhizome/MS +rho/SM +rhodium/M +rhododendron/SM +rhomboid/SM +rhomboidal +rhombus/MS +rhubarb/MS +rhyme/MZGDRS +rhymer/M +rhymester/MS +rhythm/SM +rhythmic +rhythmical/Y +rial/MS +rib/SM +ribald +ribaldry/M +ribbed +ribber/SM +ribbing +ribbon/SM +riboflavin/M +rice/MZGDRS +ricer/M +rich/TMRSYP +richness/M +rick/GMDS +rickets/M +rickety/RT +rickrack/M +rickshaw/MS +ricochet/GMDS +ricotta/M +rid/S +riddance/M +ridden +ridding +riddle/DSMG +ride/MZGRS +rider/M +riderless +ridership/M +ridge/MGDS +ridgepole/SM +ridgy +ridicule/MGDS +ridiculous/YP +ridiculousness/M +riding/M +rife/TR +riff/GMDS +riffle/DSMG +riffraff/M +rifle/MZGDRS +rifleman/M +riflemen +rifler/M +rifling/M +rift/GMDS +rig/SM +rigatoni/M +rigged +rigger/SM +rigging/M +right/MDRYSPTG +righteous/UP +righteously +righteousness/UM +rightful/PY +rightfulness/M +rightism/M +rightist/SM +rightmost +rightness/M +righto +rightsize/DSG +rightward/S +rigid/YP +rigidity/M +rigidness/M +rigmarole/MS +rigor/MS +rigorous/YP +rigorousness/M +rile/GDS +rill/MS +rim/SGMD +rime/MS +rimless +rimmed +rimming +rind/MS +ring/ZGMDRJ +ringer/M +ringgit/MS +ringleader/MS +ringlet/MS +ringlike +ringmaster/MS +ringside/M +ringtone/SM +ringworm/M +rink/MS +rinse/MGDS +riot/ZGMDRS +rioter/M +rioting/M +riotous/PY +rip/SXTMNR +riparian +ripcord/MS +ripe/YP +ripen/DG +ripened/U +ripeness/M +ripoff/SM +riposte/MGDS +ripped +ripper/SM +ripping +ripple/DSMG +ripply +ripsaw/SM +riptide/MS +rise/JMZGRS +risen +riser/M +risibility/M +risible +rising/M +risk/GMDS +riskily +riskiness/M +risky/RPT +risotto/MS +risque +rissole/S +rite/MS +ritual/SMY +ritualism/M +ritualistic +ritualistically +ritualized +ritzy/RT +riv/ZNR +rival/MDSG +rivaled/U +rivalry/SM +rive/CGDS +river/M +riverbank/SM +riverbed/MS +riverboat/SM +riverfront +riverside/MS +rivet/MDRSZG +riveter/M +riviera/S +rivulet/MS +riyal/MS +rm +roach/GMDS +road/IMS +roadbed/SM +roadblock/MDSG +roadhouse/SM +roadie/MS +roadkill/M +roadrunner/SM +roadshow/SM +roadside/SM +roadster/SM +roadway/SM +roadwork/SM +roadworthy +roam/ZGDRS +roamer/M +roaming/M +roan/MS +roar/ZGMDRS +roarer/M +roaring/M +roast/ZGMDRSJ +roaster/M +roasting/M +rob/S +robbed +robber/MS +robbery/SM +robbing +robe's +robe/EGDS +robin/MS +robocall/SGMD +robot/MS +robotic/S +robotics/M +robotize/GDS +robust/RYPT +robustness/M +rock/ZGMDRS +rockabilly/M +rockbound +rocker/M +rockery/S +rocket/MDSG +rocketry/M +rockfall/SM +rockiness/M +rocky/TRP +rococo/M +rod/SM +rode +rodent/MS +rodeo/MS +roe/SM +roebuck/SM +roentgen/MS +roger/GDS +rogue's +rogue/KS +roguery/M +roguish/YP +roguishness/M +roil/GDS +roister/ZGDRS +roisterer/M +role/MS +roll/MDRZGJS +rollback/SM +roller/M +rollerblading +rollerskating/M +rollick/SDG +rollicking/M +rollmop/S +rollover/SM +romaine/MS +roman/M +romance/MZGDRS +romancer/M +romantic/MS +romantically +romanticism/M +romanticist/SM +romanticize/DSG +romeo/MS +romp/MDRZGS +romper/M +rondo/SM +rood/MS +roof/MDRZGS +roofer/M +roofing/M +roofless +rooftop/SM +rook/MDGS +rookery/SM +rookie/SM +room/MDRZGS +roomer/M +roomette/SM +roomful/SM +roominess/M +roommate/SM +roomy/RTP +roost/SMDRZG +rooster/M +root/MDRZGS +rooter/M +rootkit/SM +rootless/P +rootlet/SM +rope/MZGDRS +roper/M +ropy/RT +rosary/SM +rose/MS +roseate +rosebud/SM +rosebush/MS +rosemary/M +rosette/SM +rosewater/M +rosewood/MS +rosily +rosin/SMDG +rosiness/M +roster/SM +rostrum/MS +rosy/RTP +rot/SM +rota/S +rotary/SM +rotate/DSGNX +rotation/M +rotational +rotatory +rote/M +rotgut/M +rotisserie/SM +rotogravure/MS +rotor/SM +rototiller/MS +rotted +rotten/TPRY +rottenness/M +rotter/S +rotting +rottweiler/S +rotund/P +rotunda/MS +rotundity/M +rotundness/M +roue/MS +rouge/DSMG +rough/MDNRYXTGP +roughage/M +roughcast +roughen/GD +roughhouse/MGDS +roughneck/GMDS +roughness/M +roughs +roughshod +roulette/M +round/PSMDRYZTG +roundabout/SM +roundel/S +roundelay/MS +roundhouse/SM +roundish +roundness/M +roundup/MS +roundworm/SM +rouse/DSG +roust/SDG +roustabout/SM +rout/MRZS +route's +route/ADSG +routeing +router/M +routine/MYS +routinize/GDS +roux +rove/ZGDRS +rover/M +row/SZGMDR +rowan/S +rowboat/MS +rowdily +rowdiness/M +rowdy/PRSMT +rowdyism/M +rowel/SMDG +rower/M +rowing/M +rowlock/S +royal/SMY +royalist/SM +royalties/M +royalty/SM +rpm +rps +rt +rte +rub/SM +rubato/SM +rubbed +rubber/SM +rubberize/GDS +rubberneck/MDRSZG +rubbernecker/M +rubbery +rubbing/S +rubbish/MDSG +rubbishy +rubble/M +rubdown/SM +rube/MS +rubella/M +rubicund +rubidium/M +ruble/SM +rubric/SM +ruby/RSMT +ruched +ruck/DGS +rucksack/MS +ruckus/MS +ructions +rudder/SM +rudderless +ruddiness/M +ruddy/RTP +rude/YTRP +rudeness/M +rudiment/SM +rudimentary +rue/DSMG +rueful/PY +ruefulness/M +ruff/MDYGS +ruffian/MYS +ruffle/DSMG +ruffled/U +rug/SM +rugby/M +rugged/PTRY +ruggedness/M +rugger +rugrat/SM +ruin/MDGS +ruination/M +ruinous/Y +rule/MZGJDRS +ruler/M +ruling/M +rum/SM +rumba/SMDG +rumble/DSJMG +rumbling/M +rumbustious +ruminant/MS +ruminate/XGNVDS +rumination/M +ruminative/Y +rummage/DSMG +rummer +rummest +rummy/M +rumor/SMDG +rumormonger/SM +rump/MYS +rumple/DSMG +rumpus/MS +run/ASM +runabout/MS +runaround/SM +runaway/MS +rundown/SM +rune/MS +rung/MS +runic +runlet/SM +runnel/SM +runner/SM +running/M +runny/RT +runoff/SM +runt/MS +runty/RT +runway/SM +rupee/SM +rupiah/M +rupiahs +rupture/MGDS +rural +ruse/MS +rush/MDRSZG +rusher/M +rushy +rusk/MS +russet/SM +rust/MDGS +rustic/SM +rustically +rusticate/GDS +rustication/M +rusticity/M +rustiness/M +rustle/DRSJMZG +rustler/M +rustproof/SDG +rusty/RPNT +rut/SM +rutabaga/SM +ruthenium/M +rutherfordium/M +ruthless/YP +ruthlessness/M +rutted +rutting +rutty/RT +rye/M +s/NYXB +sabbath/M +sabbaths +sabbatical/SM +saber/MS +sable/MS +sabot/MS +sabotage/DSMG +saboteur/SM +sabra/MS +sac/SM +saccharin/M +saccharine +sacerdotal +sachem/SM +sachet/SM +sack/ZGMDRJS +sackcloth/M +sacker/M +sackful/MS +sacking/M +sacra +sacrament/MS +sacramental +sacred/YP +sacredness/M +sacrifice/DSMG +sacrificial/Y +sacrilege/MS +sacrilegious/Y +sacristan/MS +sacristy/SM +sacroiliac/MS +sacrosanct/P +sacrosanctness/M +sacrum/M +sad/PY +sadden/SDG +sadder +saddest +saddle's +saddle/UDSG +saddlebag/MS +saddler/S +saddlery +sades +sadhu/S +sadism/M +sadist/SM +sadistic +sadistically +sadness/M +sadomasochism/M +sadomasochist/MS +sadomasochistic +safari/SGMD +safe/MYTPRS +safeguard/SMDG +safekeeping/M +safeness/M +safety/SM +safflower/MS +saffron/MS +sag/SM +saga/MS +sagacious/Y +sagacity/M +sage/MYTRS +sagebrush/M +sagged +sagging +saggy/RT +sago/M +saguaro/MS +sahib/MS +said/U +sail/GMDSJ +sailboard/MRZGS +sailboarder/M +sailboarding/M +sailboat/MS +sailcloth/M +sailfish/MS +sailing/M +sailor/SM +sailplane/MS +saint/MDYS +sainthood/M +saintlike +saintliness/M +saintly/PRT +saith +sake/M +salaam/SMDG +salable/U +salacious/PY +salaciousness/M +salacity/M +salad/MS +salamander/SM +salami/SM +salary/DSM +sale/ABMS +saleroom/S +salesclerk/SM +salesgirl/SM +saleslady/SM +salesman/M +salesmanship/M +salesmen +salespeople/M +salesperson/MS +salesroom/S +saleswoman/M +saleswomen +salience/M +salient/SMY +saline/SM +salinity/M +saliva/M +salivary +salivate/GNDS +salivation/M +sallow/RTP +sallowness/M +sally/DSMG +salmon/SM +salmonella/M +salmonellae +salon/MS +saloon/SM +salsa/MS +salt's +salt/CTGDS +saltbox/MS +saltcellar/SM +salted/U +salter +saltine/SM +saltiness/M +saltpeter/M +saltshaker/SM +saltwater/M +salty/RTP +salubrious/I +salutary +salutation/MS +salutatorian/MS +salutatory +salute/DSMG +salvage/DSMG +salvageable +salvation/M +salve/MZGDRS +salver/M +salvo/MS +samarium/M +samba/MDSG +same/SP +sameness/M +samey +samizdat/S +samosa/S +samovar/SM +sampan/SM +sample/DRSMZGJ +sampler/M +sampling/M +samurai/SM +sanatorium/SM +sanctification/M +sanctify/GDSN +sanctimonious/YP +sanctimoniousness/M +sanctimony/M +sanction/GSMD +sanctioned/U +sanctity/M +sanctuary/SM +sanctum/SM +sand/ZGMDRS +sandal/SM +sandalwood/M +sandbag/SM +sandbagged +sandbagger/SM +sandbagging +sandbank/MS +sandbar/SM +sandblast/ZGMDRS +sandblaster/M +sandbox/MS +sandcastle/MS +sander/M +sandhog/SM +sandiness/M +sandlot/SM +sandlotter/MS +sandman/M +sandmen +sandpaper/GMDS +sandpiper/MS +sandpit/S +sandstone/M +sandstorm/SM +sandwich/MDSG +sandy/RTP +sane/IYTR +saneness/M +sang/S +sangfroid/M +sangria/M +sanguinary +sanguine/Y +sanitarian/SM +sanitarium/SM +sanitary/IU +sanitation/M +sanitize/GDS +sanity/IM +sank +sans +sanserif +sap/SM +sapience/M +sapiens +sapient +sapless +sapling/MS +sapped +sapper/S +sapphire/SM +sappiness/M +sapping +sappy/PRT +saprophyte/SM +saprophytic +sapsucker/SM +sapwood/M +saran/M +sarcasm/MS +sarcastic +sarcastically +sarcoma/MS +sarcophagi +sarcophagus/M +sardine/MS +sardonic +sardonically +sarge/MS +sari/MS +sarky +sarnie/S +sarong/SM +sarsaparilla/MS +sartorial/Y +sash/MS +sashay/SGMD +sass/GMDS +sassafras/MS +sassy/RT +sat +satanic +satanical/Y +satanism/M +satanist/MS +satay +satchel/MS +sate/GDS +sateen/M +satellite/DSMG +satiable/I +satiate/GNDS +satiation/M +satiety/M +satin/M +satinwood/SM +satiny +satire/SM +satiric +satirical/Y +satirist/SM +satirize/DSG +satisfaction/EM +satisfactions +satisfactorily/U +satisfactory/U +satisfied/U +satisfy/EDSG +satisfying/U +satisfyingly +satori/M +satrap/SM +satsuma/S +saturate/DSGN +saturated/U +saturation/M +saturnine +satyr/MS +satyriasis/M +satyric +sauce/MZGDRS +saucepan/SM +saucer/M +saucily +sauciness/M +saucy/RPT +sauerkraut/M +sauna/MDSG +saunter/MDGS +saurian +sauropod/SM +sausage/MS +saute/MS +sauteed +sauteing +savage/DRSMYTGP +savageness/M +savagery/SM +savanna/MS +savant/SM +save/BJMZGDRS +saved/U +saver/M +saving/M +savings/M +savior/SM +savor/MDSG +savoriness/M +savory/PTRSM +savoy/MS +savvy/DRSMTG +saw/SGMD +sawbones/M +sawbuck/MS +sawdust/M +sawfly/SM +sawhorse/SM +sawmill/MS +sawyer/SM +sax/MS +saxifrage/SM +saxophone/MS +saxophonist/SM +say's +say/USG +saying/SM +scab/MS +scabbard/MS +scabbed +scabbiness/M +scabbing +scabby/PTR +scabies/M +scabrous +scad/MS +scaffold/SMG +scaffolding/M +scag/S +scagged +scalar/S +scalawag/MS +scald/MDSG +scale's +scale/CGDS +scaleless +scalene +scaliness/M +scallion/MS +scallop/GSMD +scalp/MDRSZG +scalpel/SM +scalper/M +scaly/RTP +scam/MS +scammed +scammer/S +scamming +scamp/MRSZ +scamper/GMD +scampi/M +scan/MS +scandal/SM +scandalize/DSG +scandalmonger/SM +scandalous/Y +scandium/M +scanned +scanner/SM +scanning +scansion/M +scant/CDSTG +scanter +scantily +scantiness/M +scantly +scantness/M +scanty/RSPT +scapegoat/SGMD +scapegrace/MS +scapula/M +scapulae +scapular/SM +scar/GMDS +scarab/SM +scarce/RYTP +scarceness/M +scarcity/SM +scare/MS +scarecrow/MS +scaremonger/SMG +scarf/MDSG +scarification/M +scarify/NDSG +scarily +scariness/M +scarlatina/M +scarlet/M +scarp/MDRSZG +scarper/DG +scarred +scarring +scarves +scary/RTP +scat/MS +scathing/Y +scatological +scatology/M +scatted +scatter/GJSMD +scatterbrain/SMD +scattering/M +scattershot +scatting +scatty +scavenge/ZGDRS +scavenger/M +scenario/MS +scenarist/MS +scene/MS +scenery/M +scenic +scenically +scent/CMS +scented/U +scenting +scentless +scepter/MS +sch +schadenfreude +schedule's +schedule/ADSG +scheduled/U +scheduler/S +schema +schemata +schematic/SM +schematically +schematize/GDS +scheme/DRSMZG +schemer/M +scherzo/MS +schilling/MS +schism/SM +schismatic/SM +schist/M +schizo/SM +schizoid/MS +schizophrenia/M +schizophrenic/SM +schlemiel/SM +schlep/SM +schlepped +schlepping +schlock/M +schmaltz/M +schmaltzy/TR +schmo/M +schmoes +schmooze/DRSZG +schmuck/MS +schnapps/M +schnauzer/SM +schnitzel/SM +schnook/MS +schnoz/MS +schnozzle/SM +scholar/MYS +scholarship/MS +scholastic +scholastically +scholasticism +school/SGMD +schoolbag/MS +schoolbook/SM +schoolboy/MS +schoolchild/M +schoolchildren/M +schooldays +schooled/U +schoolfellow/SM +schoolgirl/SM +schoolhouse/SM +schooling/M +schoolkid/S +schoolmarm/SM +schoolmarmish +schoolmaster/MS +schoolmate/SM +schoolmistress/MS +schoolroom/SM +schoolteacher/MS +schoolwork/M +schoolyard/SM +schooner/SM +schuss/GMDS +schussboomer/MS +schwa/MS +sci +sciatic +sciatica/M +science/FMS +scientific/U +scientifically/U +scientist/SM +scimitar/SM +scintilla/MS +scintillate/DSGN +scintillation/M +scion/MS +scissor/GDS +scleroses +sclerosis/M +sclerotic +scoff/MDRSZG +scoffer/M +scofflaw/MS +scold/MDSGJ +scolding/M +scoliosis/M +sconce/SM +scone/MS +scoop/MDSG +scoopful/MS +scoot/DRSZG +scooter/M +scope/MGDS +scorbutic +scorch/MDRSZG +scorcher/M +score/MZGDRS +scoreboard/SM +scorecard/MS +scorekeeper/MS +scoreless +scoreline/S +scorer/M +scorn/MDRSZG +scorner/M +scornful/Y +scorpion/MS +scotch/MDSG +scotchs +scoundrel/MS +scour/DRSZG +scourer/M +scourge/DSMG +scout/MDRSZG +scouting/M +scoutmaster/MS +scow/MS +scowl/MDSG +scrabble/MZGDRS +scrabbler/M +scrag/MS +scraggly/RT +scraggy/TR +scram/S +scramble's +scramble/UGDS +scrambler/MS +scrammed +scramming +scrap/MDRSZGJ +scrapbook/SM +scrape/SM +scraper/M +scrapheap/SM +scrapie +scrapped +scrapper/MS +scrapping +scrappy/TR +scrapyard/SM +scratch/GMDS +scratchcard/S +scratched/U +scratchily +scratchiness/M +scratchpad/S +scratchy/PRT +scrawl/SMDG +scrawly +scrawniness/M +scrawny/PTR +scream/SMDRZG +screamer/M +screaming/Y +scree/MDS +screech/GMDS +screechy/TR +screed/S +screen/SJMDG +screening/M +screenplay/SM +screensaver/SM +screenshot/S +screenwriter/SM +screenwriting/M +screw's +screw/UDSG +screwball/MS +screwdriver/MS +screwiness/M +screwworm/SM +screwy/PRT +scribal +scribble/MZGDRS +scribbler/M +scribe's +scribe/CKIS +scrim/MS +scrimmage/MGDS +scrimp/SDG +scrimshaw/MDGS +scrip/MS +script/FSMDG +scripted/U +scriptural +scripture/MS +scriptwriter/SM +scrivener/SM +scrod/M +scrofula/M +scrofulous +scrog/S +scroll/GSMD +scrooge/MS +scrota +scrotal +scrotum/M +scrounge/DRSZG +scrounger/M +scroungy/TR +scrub/MS +scrubbed +scrubber/SM +scrubbing +scrubby/RT +scruff/SM +scruffily +scruffiness/M +scruffy/RPT +scrum/S +scrumhalf +scrumhalves +scrummage/S +scrummed +scrumming +scrump/SGD +scrumptious/Y +scrumpy +scrunch/MDSG +scrunchy/SM +scruple/MGDS +scrupulosity/M +scrupulous/UPY +scrupulousness/UM +scrutineer/S +scrutinize/GDS +scrutiny/M +scuba/MDSG +scud/MS +scudded +scudding +scuff/MDSG +scuffle/MGDS +scull/MDRSZG +sculler/M +scullery/SM +scullion/SM +sculpt/SGD +sculptor/SM +sculptress/MS +sculptural +sculpture/DSMG +scum/MS +scumbag/MS +scummed +scumming +scummy/TR +scupper/MDGS +scurf/M +scurfy +scurrility/M +scurrilous/PY +scurrilousness/M +scurry/GDSM +scurvily +scurvy/TRM +scutcheon/SM +scuttle/MGDS +scuttlebutt/M +scuzzy/TR +scythe/DSMG +sea/SM +seabed/SM +seabird/MS +seaboard/SM +seaborne +seacoast/SM +seafarer/SM +seafaring/M +seafloor/SM +seafood/M +seafront/SM +seagoing +seagull/MS +seahorse/MS +seal's +seal/AUSDG +sealant/MS +sealer/SM +sealskin/M +seam/GMDNS +seaman/M +seamanship/M +seamless/Y +seamount/MS +seamstress/MS +seamy/RT +seance/SM +seaplane/SM +seaport/MS +sear/GMDS +search/AZGMDRS +searcher/AM +searching/Y +searchlight/MS +searing/Y +seascape/SM +seashell/SM +seashore/SM +seasick/P +seasickness/M +seaside/MS +season/SGMDBJ +seasonable/U +seasonably/U +seasonal/Y +seasonality +seasoned/U +seasoning/M +seat's +seat/UGDS +seating/M +seatmate/SM +seawall/MS +seaward/MS +seawater/M +seaway/SM +seaweed/MS +seaworthiness/M +seaworthy/P +sebaceous +seborrhea/M +sebum +sec'y +sec/SM +secant/SM +secateurs +secede/DSG +secession/M +secessionist/MS +seclude/GDS +seclusion/M +seclusive +second/SLZGMDRY +secondarily +secondary/SM +seconder/M +secondhand +secondment/S +secrecy/M +secret/SGVMDY +secretarial +secretariat/MS +secretary/SM +secretaryship/M +secrete/XNS +secretion/M +secretive/PY +secretiveness/M +secretory +sect/IMS +sectarian/MS +sectarianism/M +sectary/SM +section/AESM +sectional/MS +sectionalism/M +sectioned +sectioning +sector/ESM +secular +secularism/M +secularist/SM +secularization/M +secularize/DSG +secure/DRSYTG +secured/U +security/ISM +secy +sedan/MS +sedate/DRSYTGNVP +sedateness/M +sedation/M +sedative/SM +sedentary +sedge/M +sedgy +sediment/MS +sedimentary +sedimentation/M +sedition/M +seditious +seduce/DRSZG +seducer/M +seduction/SM +seductive/YP +seductiveness/M +seductress/MS +sedulous/Y +see/RSMZ +seed's +seed/AGDS +seedbed/MS +seedcase/MS +seeded/U +seeder/SM +seediness/M +seedless +seedling/MS +seedpod/MS +seedy/RPT +seeing/S +seek/ZGRS +seeker/M +seem/GDS +seeming/Y +seemliness/UM +seemly/URTP +seen/U +seep/GDS +seepage/M +seer/M +seersucker/M +seesaw/SMDG +seethe/DSG +segfault/S +segment/GSMD +segmentation/M +segmented/U +segregate/CDSGN +segregated/U +segregation/CM +segregationist/MS +segue/MGDS +segueing +seigneur/SM +seignior/SM +seine/MZGDRS +seiner/M +seismic +seismically +seismograph/ZMR +seismographer/M +seismographic +seismographs +seismography/M +seismologic +seismological +seismologist/MS +seismology/M +seize/GDS +seizure/MS +seldom +select/CSGVD +selection/SM +selective/Y +selectivity/M +selectman/M +selectmen +selectness/M +selector/MS +selenium/M +selenographer/MS +selenography/M +self/M +selfie/SM +selfish/UYP +selfishness/UM +selfless/PY +selflessness/M +selfsame +sell/ZGMRS +seller/M +selloff/MS +sellotape/DSG +sellout/MS +seltzer/MS +selvage/MS +selves +semantic/S +semantically +semanticist/MS +semantics/M +semaphore/DSMG +semblance/ASM +semen/M +semester/SM +semi/MS +semiannual/Y +semiarid +semiautomatic/MS +semibreve/S +semicircle/SM +semicircular +semicolon/MS +semiconducting +semiconductor/MS +semiconscious +semidarkness/M +semidetached +semifinal/SM +semifinalist/MS +semigloss/S +semimonthly/SM +seminal +seminar/MS +seminarian/SM +seminary/SM +semiofficial +semiotic/S +semiotics/M +semipermeable +semiprecious +semiprivate +semipro/S +semiprofessional/SM +semiquaver/S +semiretired +semiskilled +semisolid +semisweet +semitone/SM +semitrailer/MS +semitransparent +semitropical +semivowel/SM +semiweekly/SM +semiyearly +semolina/M +sempstress/MS +senate/SM +senator/MS +senatorial +send/ZGRS +sender/M +sendoff/MS +senescence/M +senescent +senile +senility/M +senior/SM +seniority/M +senna/M +senor/MS +senora/SM +senorita/SM +sensation/MS +sensational/Y +sensationalism/M +sensationalist/MS +sensationalize/GDS +sense/MGDS +senseless/PY +senselessness/M +sensibilities +sensibility/IM +sensible/P +sensibleness/M +sensibly/I +sensitive/SMYP +sensitiveness/M +sensitivities +sensitivity/IM +sensitization/CM +sensitize/CDSG +sensor/SM +sensory +sensual/Y +sensualist/SM +sensuality/M +sensuous/YP +sensuousness/M +sent/FAU +sentence/MGDS +sententious/Y +sentience/IM +sentient/I +sentiment/SM +sentimental/Y +sentimentalism/M +sentimentalist/MS +sentimentality/M +sentimentalization/M +sentimentalize/GDS +sentinel/MS +sentry/SM +sepal/MS +separability/IM +separable +separably/I +separate/XMYGNVDSP +separateness/M +separation/M +separatism/M +separatist/MS +separator/MS +sepia/M +sepsis/M +septa +septal +septet/SM +septic +septicemia/M +septicemic +septuagenarian/MS +septum/M +sepulcher/GMDS +sepulchral +seq +sequel/SM +sequence/MZGDRS +sequencing/M +sequential/FY +sequester/SDG +sequestrate/XGNDS +sequestration/M +sequin/SMD +sequinned +sequitur +sequoia/MS +seraglio/MS +serape/SM +seraph/M +seraphic +seraphs +sere/TR +serenade/MGDS +serendipitous +serendipity/M +serene/RPYT +sereneness/M +serenity/M +serf/MS +serfdom/M +serge/M +sergeant/MS +serial/SMY +serialization/SM +serialize/GDS +series/M +serif/MS +serigraph/M +serigraphs +serine +serious/PY +seriousness/M +sermon/SM +sermonize/GDS +serology/M +serotonin +serous +serpent/MS +serpentine/M +serrate/XND +serration/M +serried +serum/MS +servant/MS +serve's/AF +serve/FACGDS +server/SM +servery/S +service/EMS +serviceability/M +serviceable +serviced +serviceman/M +servicemen +servicewoman/M +servicewomen +servicing +serviette/MS +servile +servility/M +serving's +servings +servitor/MS +servitude/M +servo/MS +servomechanism/SM +servomotor/MS +sesame/SM +sesquicentennial/MS +session/MS +set/AISM +setback/MS +setscrew/SM +setsquare/S +sett/BJZGRS +settee/MS +setter/M +setting/M +settle's +settle/AUGDS +settlement/AM +settlements +settler/SM +setup/MS +seven/MHS +seventeen/SMH +seventeenth/M +seventeenths +seventh/M +sevenths +seventieth/M +seventieths +seventy/SMH +sever/ETGDS +several/MY +severance/SM +severe/YPR +severeness/M +severity/M +sew/ASGD +sewage/M +sewer/MS +sewerage/M +sewing/M +sewn/A +sex/GMDS +sexagenarian/SM +sexily +sexiness/M +sexism/M +sexist/MS +sexless +sexologist/SM +sexology/M +sexpot/MS +sextant/SM +sextet/MS +sexting +sexton/MS +sextuplet/SM +sexual/Y +sexuality/M +sexy/PTR +sf +sh +shabbily +shabbiness/M +shabby/PTR +shack/MDSG +shackle's +shackle/UGDS +shad/GMDSJ +shade/MS +shadily +shadiness/M +shading/M +shadow/SGMD +shadowbox/GDS +shadowy/RT +shady/RPT +shaft/MDSG +shag/MS +shagged +shagginess/M +shagging +shaggy/TPR +shah/M +shahs +shake/MZGRS +shakedown/SM +shaken/U +shakeout/MS +shaker/M +shakeup/MS +shakily +shakiness/M +shaky/RPT +shale/M +shall +shallot/MS +shallow/TPMRYS +shallowness/M +shalom +shalt +sham/GMDS +shaman/SM +shamanic +shamanism +shamanistic +shamble/MGDS +shambles/M +shambolic +shame/MS +shamefaced/Y +shameful/PY +shamefulness/M +shameless/YP +shamelessness/M +shammed +shamming +shampoo/ZGMDRS +shampooer/M +shamrock/MS +shan't +shandy/S +shanghai/DSG +shank/MS +shantung/M +shanty/SM +shantytown/SM +shape's +shape/AGDS +shaped/U +shapeless/YP +shapelessness/M +shapeliness/M +shapely/PTR +shard/MS +share/MZGDRS +shareable +sharecrop/S +sharecropped +sharecropper/MS +sharecropping +shareholder/SM +shareholding/S +sharer/M +shareware/M +sharia/M +shariah +shark/MDSG +sharkskin/M +sharp/MDNRYSPXZTG +sharpen/ADGS +sharpener/MS +sharper/M +sharpie/MS +sharpish +sharpness/M +sharpshooter/SM +sharpshooting/M +shatter/GMDS +shatterproof +shave/MZGDRSJ +shaven/U +shaver/M +shaving/M +shawl/MS +shay/MS +she'd +she'll +she/DSM +sheaf/M +shear/MDRSZG +shearer/M +sheath/JM +sheathe/UGDS +sheathing/M +sheaths +sheave/DSMG +shebang/MS +shebeen/S +shed/MS +shedding +sheen/M +sheeny/TR +sheep/M +sheepdog/MS +sheepfold/SM +sheepherder/MS +sheepish/YP +sheepishness/M +sheepskin/MS +sheer/MDRSPTG +sheerness/M +sheet/MSG +sheeting/M +sheetlike +sheikdom/MS +sheikh/M +sheikhs +sheila/S +shekel/SM +shelf/M +shell/MDRSG +shellac/MS +shellacked +shellacking/MS +shellfire/M +shellfish/MS +shelter/GMDS +shelve/GDS +shelving/M +shenanigan/SM +shepherd/SMDG +shepherdess/MS +sherbet/SM +sheriff/SM +sherry/SM +shew/GDS +shewn +shh +shiatsu/M +shibboleth/M +shibboleths +shield/MDGS +shift/GMDS +shiftily +shiftiness/M +shiftless/PY +shiftlessness/M +shifty/RPT +shiitake/SM +shill/GMDSJ +shillelagh/M +shillelaghs +shilling/M +shim/MS +shimmed +shimmer/SMDG +shimmery +shimming +shimmy/DSMG +shin/ZGMDRS +shinbone/SM +shindig/SM +shine/MS +shiner/M +shingle/DSMG +shinguard/M +shininess/M +shinned +shinning +shinny/DSG +shinsplints/M +shiny/TRP +ship's +ship/ALS +shipboard/MS +shipbuilder/SM +shipbuilding/M +shipload/SM +shipmate/SM +shipment/AM +shipments +shipowner/MS +shipped/A +shipper/SM +shipping/M +shipshape +shipwreck/GMDS +shipwright/MS +shipyard/SM +shire/MS +shirk/ZGDRS +shirker/M +shirr/GMDSJ +shirring/M +shirt/GMDS +shirtfront/SM +shirting/M +shirtless +shirtsleeve/SM +shirttail/SM +shirtwaist/MS +shirty +shit/SM! +shitfaced/! +shithead/S! +shitload/! +shitted/! +shitting/! +shitty/RT! +shiv/ZMRS +shiver/MDG +shivery +shoal/GMDS +shoat/MS +shock/ZGMDRS +shocker/M +shocking/Y +shockproof +shod/U +shoddily +shoddiness/M +shoddy/PRMT +shoe/MS +shoehorn/GMDS +shoeing +shoelace/MS +shoemaker/SM +shoeshine/SM +shoestring/SM +shoetree/MS +shogun/MS +shogunate/M +shone +shoo/GDS +shook +shoot/ZGMRSJ +shooter/M +shooting/M +shootout/MS +shop/MS +shopaholic/MS +shopfitter/S +shopfitting +shopfront/S +shopkeeper/MS +shoplift/DRZGS +shoplifter/M +shoplifting/M +shoppe/MZGDRS +shopper/M +shopping/M +shoptalk/M +shopworn +shore/MGDS +shorebird/SM +shoreline/MS +shoring/M +short/XTGMDNRYSP +shortage/MS +shortbread/M +shortcake/MS +shortchange/DSG +shortcoming/MS +shortcrust +shortcut/MS +shorten/JGD +shortening/M +shortfall/MS +shorthand/MD +shorthorn/MS +shortish +shortlist/DGS +shortness/M +shortsighted/PY +shortsightedness/M +shortstop/MS +shortwave/MS +shorty/SM +shot/MS +shotgun/SM +shotgunned +shotgunning +should +should've +shoulder/MDGS +shouldn't +shout/ZGMDRS +shouter/M +shove/MGDS +shovel/MDSG +shovelful/SM +show/JZGMDRS +showbiz/M +showboat/MDGS +showcase/MGDS +showdown/MS +shower/MDG +showerproof +showery +showgirl/MS +showground/S +showily +showiness/M +showing/M +showjumping +showman/M +showmanship/M +showmen +shown +showoff/SM +showpiece/SM +showplace/SM +showroom/MS +showstopper/MS +showstopping +showtime +showy/TRP +shpt +shrank +shrapnel/M +shred/MS +shredded +shredder/MS +shredding +shrew/MS +shrewd/RYPT +shrewdness/M +shrewish +shriek/MDSG +shrift/M +shrike/MS +shrill/DRSPTG +shrillness/M +shrilly +shrimp/MDRSZG +shrine/MS +shrink/MSBG +shrinkage/M +shrive/GDS +shrivel/SGD +shriven +shroud/GMDS +shrub/MS +shrubbery/SM +shrubby/RT +shrug/MS +shrugged +shrugging +shrunk/N +shtick/MS +shuck/GMDS +shucks/S +shudder/MDSG +shuffle/AMGDS +shuffleboard/SM +shuffler/SM +shun/S +shunned +shunning +shunt/MSDG +shush/DSG +shut/S +shutdown/SM +shuteye/M +shutoff/SM +shutout/SM +shutter/SMDG +shutterbug/MS +shutting +shuttle/DSMG +shuttlecock/GMDS +shy/TGDRSMY +shyer +shyest +shyness/M +shyster/SM +sibilant/SM +sibling/SM +sibyl/MS +sibylline +sic/S +sicced +siccing +sick/PXTGDNRYS +sickbay/S +sickbed/SM +sicken/DG +sickening/Y +sickie/MS +sickish +sickle/MS +sickly/RT +sickness/MS +sicko/MS +sickout/SM +sickroom/MS +side's +side/AGDS +sidearm/SM +sidebar/SM +sideboard/SM +sideburns/M +sidecar/SM +sidekick/SM +sidelight/MS +sideline/DSMG +sidelong +sideman/M +sidemen +sidepiece/MS +sidereal +sidesaddle/MS +sideshow/MS +sidesplitting +sidestep/MS +sidestepped +sidestepping +sidestroke/DSMG +sideswipe/DSMG +sidetrack/SMDG +sidewalk/MS +sidewall/MS +sideways +sidewinder/SM +siding/MS +sidle/MGDS +siege/MS +sienna/M +sierra/MS +siesta/MS +sieve/MGDS +sift/ZGDRS +sifted/U +sifter/M +sigh/GMD +sighs +sight/GMDYSJ +sighting/M +sightless +sightly/UTR +sightread +sightseeing/M +sightseer/MS +sigma/MS +sign's/C +sign/AFCGDS +signage/M +signal/MDRYSZG +signaler/M +signalization/M +signalize/GDS +signalman/M +signalmen +signatory/SM +signature/MS +signboard/MS +signed/U +signer/CMS +signet/MS +significance/IM +significant/IY +signification/M +signify/XDSNG +signing's/C +signings +signor/FMS +signora/SM +signore +signori +signorina/MS +signorine +signpost/GSMD +silage/M +silence/DRSMZG +silencer/M +silent/MRYST +silhouette/DSMG +silica/M +silicate/MS +siliceous +silicon/SM +silicone/M +silicosis/M +silk/MNS +silkily +silkiness/M +silkscreen/SM +silkworm/MS +silky/TRP +sill/MS +silliness/M +silly/TRSMP +silo/MS +silt/GMDS +silty/TR +silver/GMDS +silverfish/MS +silversmith/M +silversmiths +silverware/M +silvery +sim/SM +simian/MS +similar/Y +similarity/ESM +simile/MS +similitude/EM +simmer/GMDS +simonize/DSG +simony/M +simpatico +simper/GMDS +simpering/Y +simple/TRP +simpleminded +simpleness/M +simpleton/SM +simplex +simplicity/M +simplification/M +simplify/DSXNG +simplistic +simplistically +simply +simulacra +simulacrum/S +simulate/EDSGN +simulation/EM +simulations +simulator/EMS +simulcast/GMDS +simultaneity/M +simultaneous/Y +sin/ASM +since +sincere/IYT +sincerer +sincerity/IM +sine/MS +sinecure/MS +sinew/MS +sinewy +sinful/PY +sinfulness/M +sing/BZGMDRYS +singalong/S +singe/MS +singeing +singer/M +singing/M +single/PMGDS +singleness/M +singles/M +singlet/S +singleton/SM +singletree/SM +singsong/SMDG +singular/SMY +singularity/SM +sinister +sink/BZGMRS +sinkable/U +sinker/M +sinkhole/SM +sinless +sinned +sinner/MS +sinning +sinology +sinuosity/M +sinuous/Y +sinus/MS +sinusitis/M +sinusoidal +sip/SM +siphon/GMDS +sipped +sipper/SM +sipping +sir/SXMN +sire/CMGDS +siren/M +sirloin/SM +sirocco/SM +sirrah +sirree/M +sis/MS +sisal/M +sissified +sissy/RSMT +sister/ASM +sisterhood/MS +sisterliness/M +sisterly/P +sit/S +sitar/SM +sitarist/MS +sitcom/SM +site/MGDS +sitemap/SM +sitter/SM +sitting/SM +situate/DSXGN +situation/M +situational +six/MSH +sixfold +sixpence/MS +sixshooter/M +sixteen/SMH +sixteenth/M +sixteenths +sixth/M +sixths +sixtieth/M +sixtieths +sixty/SMH +sizable +size's +size/AGDS +sizer +sizing/M +sizzle/DRSMZG +ska/M +skate/MZGDRS +skateboard/MDRSZG +skateboarder/M +skateboarding/M +skater/M +skating/M +skedaddle/MGDS +skeet/ZMR +skein/MS +skeletal +skeleton/SM +skeptic/SM +skeptical/Y +skepticism/M +sketch/MDRSZG +sketchbook/S +sketcher/M +sketchily +sketchiness/M +sketchpad/S +sketchy/RTP +skew/MDRZGS +skewbald/S +skewer/MDG +ski/SZGMDR +skibob/S +skid/MS +skidded +skidding +skidpan/S +skier/M +skiff/SM +skiffle +skiing/M +skill's +skill/CSD +skilled/U +skillet/SM +skillful/UY +skillfulness/M +skim/MS +skimmed +skimmer/SM +skimming +skimp/SDG +skimpily +skimpiness/M +skimpy/RTP +skin/MS +skincare/M +skinflint/MS +skinful +skinhead/MS +skinless +skinned +skinniness/M +skinning +skinny/RMTP +skint +skintight +skip/MS +skipped +skipper/SMDG +skipping +skirmish/ZGMDRS +skirt/SMDG +skit/MS +skitter/GSD +skittish/YP +skittishness/M +skittle/S +skive/DRSZG +skivvy/DSMG +skoal/SM +skua/S +skulduggery/M +skulk/SDRZG +skulker/M +skull/SM +skullcap/MS +skunk/SMDG +sky/GSM +skycap/SM +skydive/DRSZG +skydiver/M +skydiving/M +skyjack/JZGSDR +skyjacker/M +skyjacking/M +skylark/SGMD +skylight/MS +skyline/SM +skyrocket/GSMD +skyscraper/SM +skyward/S +skywriter/SM +skywriting/M +slab/MS +slabbed +slabbing +slack/PXZTGMDNRYS +slacken/DG +slacker/M +slackness/M +slacks/M +slag/MS +slagged +slagging +slagheap/S +slain +slake/GDS +slalom/MSDG +slam/MS +slammed +slammer/SM +slamming +slander/MZGDRS +slanderer/M +slanderous +slang/M +slangy/RT +slant/MSDG +slanting/Y +slantwise +slap/MS +slapdash +slaphappy +slapped +slapper/S +slapping +slapstick/M +slash/MDRSZG +slasher/M +slat/MDGS +slate/SM +slather/SDG +slatted +slattern/SMY +slaughter/MDRZGS +slaughterer/M +slaughterhouse/MS +slave/DRSMZG +slaveholder/MS +slaver/MDG +slavery/M +slavish/PY +slavishness/M +slaw/M +slay/DRZGJS +slayer/M +slaying/M +sleaze/SM +sleazebag/S +sleazeball/S +sleazily +sleaziness/M +sleazy/PRT +sled/MS +sledded +sledder/SM +sledding +sledge/DSMG +sledgehammer/GSMD +sleek/SDRYTGP +sleekness/M +sleep/SMRZG +sleeper/M +sleepily +sleepiness/M +sleepless/PY +sleeplessness/M +sleepover/SM +sleepwalk/ZGSDR +sleepwalker/M +sleepwalking/M +sleepwear/M +sleepy/RPT +sleepyhead/MS +sleet/SMDG +sleety +sleeve/DSM +sleeveless +sleigh/MDG +sleighs +sleight/SM +slender/PRT +slenderize/DSG +slenderness/M +slept +sleuth/MG +sleuths +slew/MDGS +slice/DRSMZG +slicer/M +slick/SMDRYZTGP +slicker/M +slickness/M +slid +slide/RSMZG +slider/M +slideshow/MS +slight/SMDRYTGP +slightness/M +slim/PS +slime/M +sliminess/M +slimline +slimmed +slimmer/S +slimmest +slimming/M +slimness/M +slimy/RTP +sling/SMG +slingback/S +slingshot/SM +slink/SG +slinky/RT +slip/MS +slipcase/MS +slipcover/MS +slipknot/MS +slippage/MS +slipped +slipper/SM +slipperiness/M +slippery/PRT +slipping +slippy +slipshod +slipstream/SM +slipway/SM +slit/MS +slither/SGMD +slithery +slitter +slitting +sliver/GSMD +slob/MS +slobbed +slobber/MDSG +slobbery +slobbing +sloe/MS +slog/MS +slogan/SM +sloganeering +slogged +slogging +sloop/SM +slop/MDGS +slope/SM +slopped +sloppily +sloppiness/M +slopping +sloppy/PTR +slops/M +slosh/DSG +slot/MS +sloth/M +slothful/YP +slothfulness/M +sloths +slotted +slotting +slouch/ZGMDRS +sloucher/M +slouchy/TR +slough/GMD +sloughs +sloven/SMY +slovenliness/M +slovenly/PTR +slow/DRYTGSP +slowcoach/S +slowdown/SM +slowness/M +slowpoke/SM +sludge/M +sludgy/RT +slue/MGDS +slug/MS +sluggard/MS +slugged +slugger/SM +slugging +sluggish/PY +sluggishness/M +sluice/DSMG +slum/MS +slumber/GSMD +slumberous +slumdog/SM +slumlord/MS +slummed +slummer +slumming +slummy/RT +slump/SMDG +slung +slunk +slur/MS +slurp/SMDG +slurred +slurring +slurry/M +slush/M +slushiness/M +slushy/RPT +slut/MS +sluttish +slutty/RT +sly/TRY +slyness/M +smack/SMDRZG +smacker/M +small/SMRTP +smallholder/S +smallholding/S +smallish +smallness/M +smallpox/M +smarmy/RT +smart/SMDNRYXTGP +smarten/DG +smartness/M +smartphone/SM +smarts/M +smartwatch/MS +smarty/SM +smartypants/M +smash/MDRSZG +smasher/M +smashup/SM +smattering/MS +smear/SMDG +smeary/RT +smell/SMDG +smelliness/M +smelly/RPT +smelt/SMDRZG +smelter/M +smidgen/MS +smilax/M +smile/DSMG +smiley/SM +smiling/Y +smirch/GMDS +smirk/SMDG +smite/SG +smith/M +smithereens/M +smiths +smithy/SM +smitten +smock/SMDG +smocking/M +smog/MS +smoggy/RT +smoke/DRSMZG +smokehouse/MS +smokeless +smoker/M +smokescreen/SM +smokestack/SM +smokey +smokiness/M +smoking/M +smoky/RTP +smolder/SGMD +smooch/MDSG +smoochy +smooth/PDRYTG +smoothie/MS +smoothness/M +smooths +smorgasbord/SM +smote +smother/GSMD +smudge/DSMG +smudgy/TR +smug/YP +smugger +smuggest +smuggle/ZGDRS +smuggler/M +smuggling/M +smugness/M +smurf/S +smut/MS +smuttiness/M +smutty/TRP +snack/SMDG +snaffle/DSMG +snafu/SM +snag/MS +snagged +snagging +snail/SMDG +snake/DSMG +snakebite/MS +snakelike +snakeskin +snaky/RT +snap's +snap/US +snapdragon/SM +snapped/U +snapper/MS +snappily +snappiness/M +snapping/U +snappish/YP +snappishness/M +snappy/TRP +snapshot/SM +snare/DSMG +snarf/SDG +snark/S +snarky/TR +snarl's +snarl/USDG +snarling/Y +snarly/TR +snatch/ZGMDRS +snatcher/M +snazzily +snazzy/TR +sneak/SMDRZG +sneaker/M +sneakily +sneakiness/M +sneaking/Y +sneaky/TRP +sneer/SJMDG +sneering/Y +sneeze/DSMG +snick/SDRZG +snicker/MDG +snide/RYT +sniff/SMDRZG +sniffer/M +sniffle/DSMG +sniffy/RT +snifter/SM +snip/MDRZGS +snipe/SM +sniper/M +snipped +snippet/SM +snipping +snippy/RT +snips/M +snit/MS +snitch/MDSG +snivel/SMDRZG +sniveler/M +snob/MS +snobbery/M +snobbish/PY +snobbishness/M +snobby/RT +snog/S +snogged +snogging +snood/SM +snooker/MDSG +snoop/SMDRZG +snooper/M +snoopy/TR +snoot/SM +snootily +snootiness/M +snooty/PTR +snooze/DSMG +snore/DRSMZG +snorer/M +snorkel/ZGMDRS +snorkeler/M +snorkeling/M +snort/SMDRZG +snorter/M +snot/MS +snottily +snottiness/M +snotty/TPR +snout/SM +snow/MDGS +snowball/GSMD +snowbank/SM +snowbird/SM +snowblower/MS +snowboard/ZGMDRS +snowboarder/M +snowboarding/M +snowbound +snowdrift/SM +snowdrop/SM +snowfall/SM +snowfield/SM +snowflake/SM +snowiness/M +snowline +snowman/M +snowmen +snowmobile/DSMG +snowplow/SGMD +snowshed +snowshoe/SM +snowshoeing +snowstorm/SM +snowsuit/SM +snowy/PRT +snub/MS +snubbed +snubbing +snuff/SMDRYZG +snuffbox/MS +snuffer/M +snuffle/MGDS +snug/MYSP +snugged +snugger +snuggest +snugging +snuggle/MGDS +snugness/M +so +soak/MDGSJ +soaking/M +soap/MDGS +soapbox/MS +soapiness/M +soapstone/M +soapsuds/M +soapy/RPT +soar/MDGS +sob/SM +sobbed +sobbing/Y +sober/SDRYPTG +soberness/M +sobriety/IM +sobriquet/SM +soc +soccer/M +sociability/M +sociable/SM +sociably +social/SMY +socialism/M +socialist/SM +socialistic +socialite/SM +socialization/M +socialize/DSG +societal +society/SM +socioeconomic +socioeconomically +sociological/Y +sociologist/SM +sociology/M +sociopath/M +sociopaths +sociopolitical +sock/MDGS +socket/SM +sockeye/SM +sod/SM +soda/MS +sodded +sodden/Y +sodding +sodium/M +sodomite/MS +sodomize/GDS +sodomy/M +soever +sofa/MS +soft/NRYXTP +softback +softball/MS +softbound +softcover +soften/DRZG +softener/M +softhearted +softness/M +software/M +softwood/SM +softy/SM +soggily +sogginess/M +soggy/RTP +soigne +soignee +soil/MDGS +soiled/U +soiree/SM +sojourn/ZGMDRS +sojourner/M +sol/SM +solace/DSMG +solar +solaria +solarium/M +sold +solder/ZGSMDR +solderer/M +soldier/MDYSG +soldiery/M +sole/FSDGM +solecism/SM +solely +solemn/PTRY +solemness/M +solemnify/DSG +solemnity/SM +solemnization/M +solemnize/DSG +solemnness/M +solenoid/MS +solicit/GDS +solicitation/SM +solicited/U +solicitor/SM +solicitous/PY +solicitousness/M +solicitude/M +solid/PSMRYT +solidarity/M +solidi +solidification/M +solidify/DSNG +solidity/M +solidness/M +solidus/M +soliloquies +soliloquize/DSG +soliloquy/M +solipsism/M +solipsistic +solitaire/MS +solitariness/M +solitary/SMP +solitude/M +solo/MDGS +soloist/MS +solstice/MS +solubility/IM +soluble/MS +solute's +solute/AXN +solutes +solution's/AE +solvable/IU +solve/EADSG +solved/U +solvency/IM +solvent/IMS +solver/SM +somatic +somber/PY +somberness/M +sombrero/MS +some +somebody/SM +someday +somehow +someone/MS +someplace +somersault/MDGS +somerset/SM +somersetted +somersetting +something/SM +sometime/S +someway/S +somewhat/S +somewhere +somnambulism/M +somnambulist/SM +somnolence/M +somnolent +son/SM +sonar/SM +sonata/SM +sonatina/SM +song/MS +songbird/SM +songbook/SM +songfest/SM +songster/MS +songstress/MS +songwriter/SM +songwriting +sonic +sonnet/SM +sonny/SM +sonogram/SM +sonority/M +sonorous/YP +sonorousness/M +sonsofbitches +soon/RT +soot/M +sooth/MDRSZG +soothe +soother/M +soothing/Y +soothsayer/MS +soothsaying/M +sooty/RT +sop/SM +soph +sophism/M +sophist/MS +sophistic +sophistical +sophisticate/DSMGN +sophisticated/U +sophistication/M +sophistry/SM +sophomore/MS +sophomoric +soporific/MS +soporifically +sopped +sopping +soppy/RT +soprano/MS +sorbet/SM +sorcerer/MS +sorceress/MS +sorcery/M +sordid/PY +sordidness/M +sore/MYTRSP +sorehead/MS +soreness/M +sorghum/M +sorority/SM +sorrel/SM +sorrily +sorriness/M +sorrow/SMDG +sorrowful/YP +sorrowfulness/M +sorry/RTP +sort/FASGDM +sorta +sorted/U +sorter/SM +sortie/DSM +sortieing +sot/SM +sottish +sou'wester +sou/SMH +souffle/SM +sough/MDG +soughs +sought/U +souk/S +soul/MS +soulful/YP +soulfulness/M +soulless/YP +soulmate/SM +sound/JPSMDRYZTG +soundalike/S +soundbar/S +soundbite/S +soundboard/MS +soundcheck/S +sounder/M +sounding/M +soundless/Y +soundness/UM +soundproof/GDS +soundproofing/M +soundscape/S +soundtrack/SM +soup/MDGS +soupcon/MS +soupy/RT +sour/MDRYTGSP +source/ADSMG +sourdough/M +sourdoughs +sourish +sourness/M +sourpuss/MS +sousaphone/MS +souse/DSMG +south/M +southbound +southeast/ZMR +southeaster/MY +southeastern +southeastward/S +southerly/SM +southern/SZMR +southerner/M +southernmost +southpaw/SM +southward/MS +southwest/ZMR +southwester/MY +southwestern +southwestward/S +souvenir/SM +sovereign/SM +sovereignty/M +soviet/SM +sow's +sow/ASGD +sower/SM +sown/A +soy/M +soybean/MS +sozzled +spa/SM +space/DRSMZG +spacecraft/MS +spaceflight/MS +spaceman/M +spacemen +spaceport/SM +spacer/M +spaceship/SM +spacesuit/SM +spacewalk/SGMD +spacewoman/M +spacewomen +spacey +spacial +spacier +spaciest +spaciness/M +spacing/M +spacious/YP +spaciousness/M +spade/DSMG +spadeful/MS +spadework/M +spadices +spadix/M +spaghetti/M +spake +spam/MS +spammed +spammer/SM +spamming +span/MS +spandex/M +spangle/DSMG +spangly +spaniel/SM +spank/SMDGJ +spanking/M +spanned +spanner/SM +spanning +spar/MS +spare/DRSMYTGP +spareness/M +spareribs/M +sparing/UY +spark/SMDYG +sparkle/DRSMZG +sparkler/M +sparky/RT +sparred +sparring +sparrow/SM +sparrowhawk/S +sparse/RYTP +sparseness/M +sparsity/M +spartan +spasm/SM +spasmodic +spasmodically +spastic/SM +spat/MS +spate/SM +spathe/SM +spatial/Y +spatted +spatter/SGMD +spatting +spatula/SM +spavin/MD +spawn/SMDG +spay/DGS +speak/SRZGJ +speakeasy/SM +speaker/M +speakerphone/S +spear/SMDG +spearfish/GMDS +speargun +spearhead/GMDS +spearmint/M +spec/MS +special/SMY +specialism/S +specialist/MS +specialization/MS +specialize/GDS +specialty/SM +specie/SM +species/M +specif +specifiable +specific/MS +specifically +specification/M +specificity/M +specified/U +specify/XNZDRSG +specimen/SM +specious/YP +speciousness/M +speck/SMDG +speckle/MGDS +specs/M +spectacle/SM +spectacles/M +spectacular/MYS +spectate/DSG +spectator/SM +specter/AMS +spectra +spectral +spectrometer/MS +spectroscope/MS +spectroscopic +spectroscopy/M +spectrum/M +speculate/DSXGNV +speculation/M +speculative/Y +speculator/MS +sped +speech/MS +speechify/DSG +speechless/YP +speechlessness/M +speechwriter/S +speed/SMRZG +speedboat/SM +speeder/M +speedily +speediness/M +speeding/M +speedometer/MS +speedster/SM +speedup/MS +speedway/SM +speedwell/M +speedy/TPR +speleological +speleologist/MS +speleology/M +spell/JSMDRZG +spellbind/ZGRS +spellbinder/M +spellbound +spellcheck/MDRZGS +spellchecker/M +spelldown/SM +speller/M +spelling/M +spelunker/MS +spelunking/M +spend/BSRZG +spender/M +spending/M +spendthrift/MS +spent/U +sperm/SM +spermatozoa +spermatozoon/M +spermicidal +spermicide/MS +spew/MDRZGS +spewer/M +sphagnum/MS +sphere/SM +spherical/Y +spheroid/SM +spheroidal +sphincter/MS +sphinx/MS +spic/S +spice/DSMG +spicily +spiciness/M +spicule/MS +spicy/PRT +spider/SM +spiderweb/MS +spidery +spiel/SMDG +spiff/SDG +spiffy/TR +spigot/SM +spike/DSMG +spikiness/M +spiky/RPT +spill/SMDG +spillage/MS +spillover/SM +spillway/MS +spin/MS +spinach/M +spinal/SMY +spindle/MGDS +spindly/TR +spine/SM +spineless/YP +spinet/SM +spinnaker/SM +spinner/MS +spinneret/SM +spinney/S +spinning/M +spinster/SM +spinsterhood/M +spinsterish +spiny/RT +spiracle/SM +spiral/SGMDY +spire's +spire/IFAS +spirea/SM +spirit's +spirit/ISGD +spirited/Y +spiritless +spiritual/MYS +spiritualism/M +spiritualist/MS +spiritualistic +spirituality/M +spirituous +spirochete/SM +spiry +spit/MDGS +spitball/SM +spite/ASM +spiteful/PY +spitefuller +spitefullest +spitefulness/M +spitfire/SM +spitted +spitting +spittle/M +spittoon/MS +spiv/S +splash/GMDS +splashdown/MS +splashily +splashiness/M +splashy/RTP +splat/SM +splatted +splatter/GSMD +splatting +splay/SMDG +splayfeet +splayfoot/MD +spleen/SM +splendid/RYT +splendor/MS +splendorous +splenectomy +splenetic +splice/DRSMZG +splicer/M +spliff/S +spline/S +splint/SZGMDR +splinter/MDG +splintery +split/SM +splitting/MS +splodge/S +splosh/DSG +splotch/MDSG +splotchy/TR +splurge/DSMG +splutter/GMDS +spoil's +spoil/CSDRZG +spoilage/M +spoiled/U +spoiler/CM +spoilsport/MS +spoke/SM +spoken/U +spokesman/M +spokesmen +spokespeople +spokesperson/MS +spokeswoman/M +spokeswomen +spoliation/CM +sponge/DRSMZG +spongecake/M +sponger/M +sponginess/M +spongy/RPT +sponsor/MDGS +sponsorship/M +spontaneity/M +spontaneous/Y +spoof/SMDG +spook/SMDG +spookiness/M +spooky/RPT +spool/SMDG +spoon/SMDG +spoonbill/MS +spoonerism/MS +spoonful/SM +spoor/SMDG +sporadic +sporadically +spore/DSMG +sporran/S +sport/SMDGV +sportiness/M +sporting/Y +sportive/Y +sportscast/MRZGS +sportscaster/M +sportsman/M +sportsmanlike/U +sportsmanship/M +sportsmen +sportspeople +sportsperson +sportswear/M +sportswoman/M +sportswomen +sportswriter/SM +sporty/TPR +spot/CMS +spotless/PY +spotlessness/M +spotlight/GSMD +spotlit +spotted +spotter/MS +spottily +spottiness/M +spotting +spotty/TPR +spousal/MS +spouse/SM +spout/SMDG +sprain/GSMD +sprang +sprat/SM +sprawl/GSMD +spray's +spray/ASDG +sprayer/MS +spread/ZGBSMR +spreadeagled +spreader/M +spreadsheet/MS +spree/DSM +spreeing +sprig/SM +sprigged +sprightliness/M +sprightly/RTP +spring/GSM +springboard/MS +springbok/MS +springily +springiness/M +springlike +springtime/M +springy/RPT +sprinkle/DRSJMZG +sprinkler/M +sprinkling/M +sprint/ZGSMDR +sprinter/M +sprite/SM +spritz/ZGMDRS +spritzer/M +sprocket/MS +sprog/S +sprout/GSMD +spruce/DRSPMYTG +spruceness/M +sprung +spry/RYT +spryness/M +spud/MS +spume/DSMG +spumoni/M +spumy +spun +spunk/SM +spunky/TR +spur/MS +spurge/M +spurious/PY +spuriousness/M +spurn/SDG +spurred +spurring +spurt/SMDG +sputa +sputnik/MS +sputter/MDGS +sputum/M +spy/GDSM +spyglass/MS +spymaster/S +spyware/M +sq +sqq +squab/SM +squabble/MZGDRS +squabbler/M +squad/SM +squadron/MS +squalid/PTRY +squalidness/M +squall/SGMD +squally +squalor/M +squamous +squander/GDS +square/PDRSMYTG +squareness/M +squarish +squash/GMDS +squashy/TR +squat/SMP +squatness/M +squatted +squatter/MS +squattest +squatting +squaw/SM +squawk/SZGMDR +squawker/M +squeak/SZGMDR +squeaker/M +squeakily +squeakiness/M +squeaky/TRP +squeal/SZGMDR +squealer/M +squeamish/PY +squeamishness/M +squeegee/MDS +squeegeeing +squeeze/BMZGDRS +squeezebox/S +squeezer/M +squelch/GMDS +squelchy +squib/SM +squid/SM +squidgy +squiffy +squiggle/DSMG +squiggly +squint/STGMDR +squire/DSMG +squirm/SGMD +squirmy/RT +squirrel/SGMD +squirt/SGMD +squish/GMDS +squishy/RT +sriracha +ssh +st +stab/MYS +stabbed +stabber/MS +stabbing/MS +stability/IM +stabilization/CM +stabilize/CDSG +stabilizer/MS +stable/DRSMTG +stableman/M +stablemate/S +stablemen +stably/U +staccato/MS +stack/SMDG +stadium/MS +staff's +staff/ASDG +staffer/MS +staffing/M +stag/MDGSJ +stage/SM +stagecoach/MS +stagecraft/M +stagehand/MS +stagestruck +stagflation/M +stagger/MDGS +staggering/Y +staging/M +stagnancy/M +stagnant/Y +stagnate/DSGN +stagnation/M +stagy/RT +staid/PRYT +staidness/M +stain/SMDG +stained/U +stainless/M +stair/SM +staircase/MS +stairway/MS +stairwell/SM +stake/DSMG +stakeholder/MS +stakeout/SM +stalactite/MS +stalagmite/MS +stale/DRSTGP +stalemate/DSMG +staleness/M +stalk/SMDRJZG +stalker/M +stalking/M +stall's +stall/ISDG +stallholder/S +stallion/MS +stalwart/MYS +stamen/SM +stamina/M +stammer/ZGMDRS +stammerer/M +stammering/Y +stamp/SMDRZG +stampede/MGDS +stamper/M +stance/ISM +stanch/TGDRS +stanchion/SM +stand/SMRJZG +standalone +standard/MS +standardization/M +standardize/DSG +standby/M +standbys +standee/MS +stander/M +standing/M +standoff/MS +standoffish +standout/MS +standpipe/SM +standpoint/MS +standstill/MS +stank +stanza/SM +staph/M +staphylococcal +staphylococci +staphylococcus/M +staple/DRSMZG +stapler/M +star/MDRZGS +starboard/M +starburst/S +starch/GMDS +starchily +starchiness/M +starchy/PTR +stardom/M +stardust/M +stare/SM +starer/M +starfish/MS +starfruit +stargaze/DRSZG +stargazer/M +stark/RYPZT +starkness/M +starless +starlet/MS +starlight/M +starling/SM +starlit +starred +starring +starry/TR +starstruck +start/ASMDG +starter/MS +startle/GDS +startling/Y +startup/MS +starvation/M +starve/DSJG +starveling/MS +stash/MDSG +stasis +stat/MS +state/DRSMYGNLX +statecraft/M +stated/U +statehood/M +statehouse/MS +stateless/P +statelessness/M +stateliness/M +stately/PRT +statement/AMS +statemented +statementing +stateroom/MS +stateside +statesman/M +statesmanlike +statesmanship/M +statesmen +stateswoman/M +stateswomen +statewide +static/SM +statically +station/MDRZG +stationary +stationer/M +stationery/M +stationmaster/S +statistic/MS +statistical/Y +statistician/SM +statuary/M +statue/SM +statuesque +statuette/MS +stature/MS +status/MS +statute/MS +statutorily +statutory +staunch/PDRSYTG +staunchness/M +stave/DSMG +stay/MDRZGS +std +stdio +stead/SM +steadfast/YP +steadfastness/M +steadily/U +steadiness/UM +steady/TGPDRSM +steak/SM +steakhouse/SM +steal/SMHG +stealth/M +stealthily +stealthiness/M +stealthy/TPR +steam/SMDRZG +steamboat/MS +steamer/M +steamfitter/SM +steamfitting/M +steaminess/M +steampunk +steamroll/ZGDRS +steamroller/MDG +steamship/MS +steamy/TPR +steed/SM +steel/SMDG +steeliness/M +steelmaker/S +steelworker/SM +steelworks/M +steely/PTR +steelyard/SM +steep/SMDNRYPXTG +steepen/GD +steeple/MS +steeplechase/MS +steeplejack/SM +steepness/M +steer/SMDBG +steerage/M +steering/M +steersman/M +steersmen +stegosauri +stegosaurus/MS +stein/SM +stellar +stem/MS +stemless +stemmed +stemming +stemware/M +stench/MS +stencil/GMDS +steno/SM +stenographer/SM +stenographic +stenography/M +stenosis +stent/SM +stentorian +step/IMS +stepbrother/SM +stepchild/M +stepchildren/M +stepdad/MS +stepdaughter/SM +stepfather/SM +stepladder/MS +stepmom/MS +stepmother/SM +stepparent/SM +steppe/DRSMZG +stepper/M +steppingstone/SM +stepsister/MS +stepson/MS +stereo/SM +stereophonic +stereoscope/MS +stereoscopic +stereotype/DSMG +stereotypical +sterile +sterility/M +sterilization/SM +sterilize/DRSZG +sterilizer/M +sterling/M +stern/SMRYPT +sternness/M +sternum/MS +steroid/MS +steroidal +stertorous +stet/S +stethoscope/MS +stetson/MS +stetted +stetting +stevedore/SM +stew/MDGS +steward/GMDS +stewardess/MS +stewardship/M +stick/SMRZG +sticker/M +stickily +stickiness/M +stickleback/SM +stickler/MS +stickpin/MS +stickup/MS +sticky/PTRSM +stiff/SMDNRYPXTG +stiffen/ZGDR +stiffener/M +stiffening/M +stiffness/M +stifle/DSJG +stifling/Y +stigma/SM +stigmata +stigmatic +stigmatization/M +stigmatize/GDS +stile/SM +stiletto/SM +still's +still/ITGSD +stillbirth/M +stillbirths +stillborn +stiller +stillness/M +stilt/SMD +stilted/Y +stimulant/SM +stimulate/DSGNV +stimulation/M +stimuli +stimulus/M +sting/ZGSMR +stinger/M +stingily +stinginess/M +stingray/SM +stingy/RTP +stink/ZGSMR +stinkbug/SM +stinker/M +stinky/RT +stint/GSMD +stipend/SM +stipendiary/S +stipple/DSMG +stippling/M +stipulate/XDSGN +stipulation/M +stir/MS +stirred +stirrer/SM +stirring/SY +stirrup/SM +stitch's +stitch/ADSG +stitchery/M +stitching/M +stoat/SM +stochastic +stock's +stock/AGSD +stockade/DSMG +stockbreeder/MS +stockbroker/SM +stockbroking/M +stockholder/SM +stockily +stockiness/M +stockinette/M +stocking/SM +stockist/S +stockpile/MGDS +stockpot/SM +stockroom/MS +stocktaking/M +stocky/RTP +stockyard/MS +stodge +stodgily +stodginess/M +stodgy/RTP +stogie/MS +stoic/SM +stoical/Y +stoicism/M +stoke/DRSZG +stoker/M +stole/SM +stolen +stolid/RYTP +stolidity/M +stolidness/M +stolon/MS +stomach/MDRZG +stomachache/SM +stomacher/M +stomachs +stomp/GSMD +stone/DRSMZG +stonemason/MS +stoner/M +stonewall/GSD +stoneware/M +stonewashed +stonework/M +stonily +stoniness/M +stonkered +stonking +stony/TRP +stood +stooge/MS +stool/SM +stoop/GSMD +stop's +stop/US +stopcock/SM +stopgap/SM +stoplight/MS +stopover/MS +stoppable/U +stoppage/MS +stopped/U +stopper/GSMD +stopping/U +stopple/DSMG +stopwatch/MS +storage/M +store's +store/ADSG +storefront/MS +storehouse/MS +storekeeper/SM +storeroom/SM +stork/SM +storm/GSMD +stormily +storminess/M +stormy/RPT +story/DSM +storyboard/MS +storybook/SM +storyteller/MS +storytelling/M +stoup/SM +stout/TSMRYP +stouthearted +stoutness/M +stove/SM +stovepipe/SM +stow/DGS +stowage/M +stowaway/MS +straddle/DRSMZG +straddler/M +strafe/MGDS +straggle/DRSZG +straggler/M +straggly/TR +straight/SPXTMNRY +straightaway/SM +straightedge/SM +straighten/ZGDR +straightener/M +straightforward/YPS +straightforwardness/M +straightness/M +straightway +strain's +strain/FADSG +strainer/ASM +strait/MNSX +straiten/GD +straitjacket/SGMD +straitlaced +strand/MDSG +strange/PRYZT +strangeness/M +stranger/M +strangle/ZGDRS +stranglehold/SM +strangler/M +strangulate/GNDS +strangulation/M +strap's +strap/US +strapless/MS +strapped/U +strapping/M +strata +stratagem/SM +strategic/S +strategical/Y +strategics/M +strategist/SM +strategy/SM +strati +stratification/M +stratify/DSGN +stratosphere/SM +stratospheric +stratum/M +stratus/M +straw/GSMD +strawberry/SM +stray/GSMD +streak/MDRSZG +streaker/M +streaky/TR +stream/MDRSZG +streamer/M +streamline/DSG +street/MS +streetcar/MS +streetlamp/S +streetlight/SM +streetwalker/SM +streetwise +strength/M +strengthen/AGDS +strengthener/MS +strengths +strenuous/PY +strenuousness/M +strep/M +streptococcal +streptococci +streptococcus/M +streptomycin/M +stress/MDSG +stressed/U +stressful +stretch/BZGMDRS +stretcher/MDG +stretchmarks +stretchy/TR +strew/GSDH +strewn +stria/M +striae +striated +striation/MS +stricken +strict/RYPT +strictness/M +stricture/SM +stridden +stride/MGS +stridency/M +strident/Y +strife/M +strike/MZGRSJ +strikebound +strikebreaker/SM +strikebreaking +strikeout/MS +striker/M +striking/Y +string/MDRSZG +stringency/M +stringent/Y +stringer/M +stringiness/M +stringy/PTR +strip/GSMD +stripe/MS +stripey +stripling/MS +stripped +stripper/MS +stripping +striptease/MZGDRS +stripteaser/M +stripy +strive/GS +striven +strobe/MS +stroboscope/MS +stroboscopic +strode +stroke/MGDS +stroll/MDRSZG +stroller/M +strong/RYT +strongbox/MS +stronghold/MS +strongman/M +strongmen +strongroom/S +strontium/M +strop/SM +strophe/SM +strophic +stropped +stroppily +stropping +stroppy/TRP +strove +struck +structural/Y +structuralism +structuralist/S +structure's +structure/AGDS +structured/U +strudel/SM +struggle/MGDS +strum/SM +strummed +strumming +strumpet/MS +strung/UA +strut/SM +strutted +strutting +strychnine/M +stub/MS +stubbed +stubbing +stubble/M +stubbly +stubborn/RYPT +stubbornness/M +stubby/RT +stucco/MDG +stuccoes +stuck/U +stud/MYS +studbook/MS +studded +studding/M +student/SM +studentship/S +studied/U +studiedly +studio/MS +studious/PY +studiousness/M +studly/RT +study's +study/AGDS +stuff/GSMDJ +stuffily +stuffiness/M +stuffing/M +stuffy/RPT +stultification/M +stultify/DSNG +stumble/DRSMZG +stumbler/M +stump/GSMD +stumpy/TR +stun/S +stung +stunk +stunned +stunner/S +stunning/Y +stunt/GSMD +stuntman +stuntmen +stupefaction/M +stupefy/DSG +stupendous/Y +stupid/TMRYS +stupidity/SM +stupor/MS +sturdily +sturdiness/M +sturdy/TRP +sturgeon/SM +stutter/MDRSZG +stutterer/M +sty/SM +style's +style/ADSG +styli +stylish/PY +stylishness/M +stylist/SM +stylistic/S +stylistically +stylize/DSG +stylus/MS +stymie/MDS +stymieing +styptic/SM +suasion/EM +suave/RYTP +suaveness/M +suavity/M +sub/SM +subaltern/MS +subaqua +subarctic +subarea/MS +subatomic +subbasement/SM +subbed +subbing +subbranch/MS +subcategory/SM +subclass +subcommittee/SM +subcompact/SM +subconscious/PMY +subconsciousness/M +subcontinent/SM +subcontinental +subcontract/MDSG +subcontractor/MS +subculture/MS +subcutaneous/Y +subdivide/GDS +subdivision/SM +subdominant +subdue/DSG +subeditor/S +subfamily/SM +subfreezing +subgroup/MS +subhead/GJMS +subheading/M +subhuman/MS +subj +subject/GVMDS +subjection/M +subjective/Y +subjectivity/M +subjoin/GDS +subjugate/GNDS +subjugation/M +subjunctive/SM +sublease/MGDS +sublet/SM +subletting +sublieutenant/S +sublimate/GNDS +sublimation/M +sublime/YTGDRS +subliminal/Y +sublimity/M +sublingual +submarginal +submarine/MZRS +submariner/M +submerge/GDS +submergence/M +submerse/GNDS +submersible/MS +submersion/M +submicroscopic +submission/MS +submissive/PY +submissiveness/M +submit/AS +submitted/A +submitter +submitting/A +subnormal +suborbital +suborder/MS +subordinate/DSMGN +subordination/IM +suborn/SGD +subornation/M +subparagraph +subplot/MS +subpoena/GMDS +subprime +subprofessional/SM +subprogram/S +subroutine/SM +subscribe/UASDG +subscriber/MS +subscript/MS +subscription/MS +subsection/MS +subsequent/Y +subservience/M +subservient/Y +subset/SM +subside/GDS +subsidence/M +subsidiarity +subsidiary/SM +subsidization/M +subsidize/ZGDRS +subsidizer/M +subsidy/SM +subsist/SDG +subsistence/M +subsoil/M +subsonic +subspace +subspecies/M +substance/SM +substandard +substantial/IY +substantiate/GNDSX +substantiated/U +substantiation/FM +substantive/SMY +substation/MS +substituent +substitute/XMGNDS +substitution/M +substrata +substrate/MS +substratum/M +substructure/SM +subsume/DSG +subsumption +subsurface/M +subsystem/SM +subteen/SM +subtenancy/M +subtenant/SM +subtend/SDG +subterfuge/SM +subterranean +subtext/SM +subtitle/DSMG +subtle/TR +subtlety/SM +subtly +subtopic/SM +subtotal/SGMD +subtract/GSD +subtraction/SM +subtrahend/SM +subtropic/S +subtropical +subtropics/M +suburb/MS +suburban/SM +suburbanite/SM +suburbia/M +subvention/SM +subversion/M +subversive/SPMY +subversiveness/M +subvert/SDG +subway/MS +subzero +succeed/GDS +success/VMS +successful/UY +succession/SM +successive/Y +successor/SM +succinct/RYTP +succinctness/M +succor/SGMD +succotash/M +succubi +succubus +succulence/M +succulency/M +succulent/SM +succumb/GDS +such +suchlike +suck/MDRZGS +sucker/GMD +suckle/DSJG +suckling/M +sucrose/M +suction/SMDG +sudden/PY +suddenness/M +suds/M +sudsy/TR +sue/DSG +suede/M +suet/M +suety +suffer/DRZGSJ +sufferance/M +sufferer/M +suffering/M +suffice/DSG +sufficiency/IM +sufficient/IY +suffix/MDSG +suffixation/M +suffocate/GNDS +suffocation/M +suffragan/MS +suffrage/M +suffragette/SM +suffragist/MS +suffuse/DSGN +suffusion/M +sugar/GSMD +sugarcane/M +sugarcoat/GDS +sugarless +sugarplum/MS +sugary/RT +suggest/GVSDR +suggestibility/M +suggestible +suggestion/SM +suggestive/YP +suggestiveness/M +suicidal +suicide/SM +suit/BMDGS +suitability/UM +suitableness/M +suitably/U +suitcase/SM +suite/SM +suited/U +suiting/M +suitor/MS +sukiyaki/M +sulfa/M +sulfate/SM +sulfide/SM +sulfonamides +sulfur/MDSG +sulfuric +sulfurous +sulk/MDGS +sulkily +sulkiness/M +sulky/TRSMP +sullen/RYPT +sullenness/M +sullied/U +sully/GDS +sultan/MS +sultana/SM +sultanate/MS +sultrily +sultriness/M +sultry/RPT +sum/SM +sumac/M +summarily +summarize/GDS +summary/SM +summat +summation/FMS +summed +summer/MDSG +summerhouse/SM +summertime/M +summery +summing +summit/MS +summitry/M +summon/DRSZG +summoner/M +summons/GMDS +sumo/M +sump/MS +sumptuous/PY +sumptuousness/M +sun/SM +sunbath/ZGMDRS +sunbathe +sunbather/M +sunbathing/M +sunbaths +sunbeam/SM +sunbed/S +sunbelt/SM +sunblock/MS +sunbonnet/SM +sunburn/SGMD +sunburst/MS +sundae/MS +sundeck/S +sunder/DSG +sundial/SM +sundown/SM +sundress/S +sundries/M +sundry/S +sunfish/MS +sunflower/MS +sung/U +sunglasses/M +sunhat/S +sunk/N +sunlamp/SM +sunless +sunlight/M +sunlit +sunned +sunniness/M +sunning +sunny/TRP +sunrise/SM +sunroof/SM +sunscreen/MS +sunset/MS +sunshade/MS +sunshine/M +sunshiny +sunspot/SM +sunstroke/M +suntan/MS +suntanned +suntanning +suntrap/S +sunup/M +sup/SZMR +super/M +superabundance/MS +superabundant +superannuate/GNDS +superannuation/M +superb/RYT +supercargo/M +supercargoes +supercharge/ZGDRS +supercharger/M +supercilious/PY +superciliousness/M +supercity/SM +supercomputer/MS +superconducting +superconductive +superconductivity/M +superconductor/SM +superego/MS +supererogation/M +supererogatory +superficial/Y +superficiality/M +superfine +superfluity/M +superfluous/YP +superfluousness/M +superglue +supergrass/S +superhero/MS +superheroes +superhighway/SM +superhuman +superimpose/GDS +superimposition/M +superintend/DSG +superintendence/M +superintendency/M +superintendent/SM +superior/MS +superiority/M +superlative/SMY +superman/M +supermarket/SM +supermen +supermodel/SM +supermom/MS +supernal +supernatural/SY +supernova/MS +supernovae +supernumerary/SM +superpose/GDS +superposition/M +superpower/SM +supersaturate/GNDS +supersaturation/M +superscribe/GDS +superscript/MS +superscription/M +supersede/GDS +supersize/GDS +supersonic +superstar/MS +superstate/S +superstition/MS +superstitious/Y +superstore/MS +superstructure/MS +supertanker/MS +superuser/S +supervene/GDS +supervention/M +supervise/XGNDS +supervised/U +supervision/M +supervisor/MS +supervisory +superwoman/M +superwomen +supine/Y +supp/DRZG +supper/M +suppertime +suppl +supplant/SDG +supple/TLPR +supplement/MDGS +supplemental +supplementary +supplementation/M +suppleness/M +suppliant/SM +supplicant/MS +supplicate/GDS +supplication/M +supplier/M +supply/ZGDRSMXN +support/MDRSBZGV +supportable/UI +supported/U +supporter/M +suppose/GDS +supposed/Y +supposition/MS +suppository/SM +suppress/GDS +suppressant/MS +suppressible +suppression/M +suppressor/SM +suppurate/DSGN +suppuration/M +supra +supranational +supremacist/MS +supremacy/M +supreme/Y +supremo/S +supt +surcease/DSMG +surcharge/DSMG +surcingle/SM +sure/PYTR +surefire +surefooted +sureness/M +surety/SM +surf/MDRZGS +surface's +surface/AGDS +surfboard/MDSG +surfeit/MDSG +surfer/M +surfing/M +surge/DSMG +surgeon/MS +surgery/SM +surgical/Y +surliness/M +surly/PTR +surmise/MGDS +surmount/DGSB +surmountable/I +surname/MS +surpass/GDS +surpassed/U +surplice/MS +surplus/MS +surplussed +surplussing +surprise/DSMGJ +surprising/UY +surreal +surrealism/M +surrealist/SM +surrealistic +surrealistically +surrender/MDSG +surreptitious/PY +surreptitiousness/M +surrey/MS +surrogacy/M +surrogate/SM +surround/GSDJ +surrounding/M +surroundings/M +surtax/MDSG +surtitle/S +surveillance/M +survey's +survey/ADGS +surveying/M +surveyor/SM +survival/SM +survivalist/SM +survive/DSGB +survivor/SM +susceptibility/SM +susceptible/I +sushi/M +suspect/SMDG +suspected/U +suspend/SDRZG +suspender/M +suspense/XMN +suspenseful +suspension/M +suspicion/SM +suspicious/Y +suss/DSG +sustain/SDBG +sustainability +sustainable/U +sustenance/M +sutler/MS +suttee +suture/MGDS +suzerain/MS +suzerainty/M +svelte/TR +swab/MS +swabbed +swabbing +swaddle/DSG +swag/MS +swagged +swagger/SMDRG +swagging +swain/SM +swallow/GSMD +swallowtail/MS +swam +swami/SM +swamp/GSMD +swampland/M +swampy/RT +swan/MS +swank/TGSMDR +swankily +swankiness/M +swanky/RPT +swanned +swanning +swansong/S +swap/MS +swapped +swapping +sward/SM +swarm/GSMD +swarthy/TR +swash/GMDS +swashbuckler/SM +swashbuckling/M +swastika/SM +swat/MS +swatch/MS +swath/GMDS +swathe/M +swaths +swatted +swatter/SMDG +swatting +sway/MDGS +swayback/MD +swayed/U +swear/ZGSR +swearer/M +swearword/MS +sweat/ZGSMDR +sweatband/MS +sweater/M +sweatpants/M +sweats/M +sweatshirt/SM +sweatshop/MS +sweatsuit/S +sweaty/RT +swede/SM +sweep/ZGSMRJ +sweeper/M +sweeping/MY +sweepings/M +sweepstakes/M +sweet/XTSMNRYP +sweetbread/SM +sweetbrier/SM +sweetcorn +sweetened/U +sweetener/MS +sweetening/M +sweetheart/SM +sweetie/SM +sweetish +sweetmeat/MS +sweetness/M +swell/TGSMDRJ +swellhead/MDS +swelling/M +swelter/SGMD +swept +sweptback +swerve/MGDS +swerving/U +swift/PTSMRY +swiftness/M +swig/MS +swigged +swigging +swill/GSMD +swim/MS +swimmer/SM +swimming/MY +swimsuit/SM +swimwear +swindle/DRSMZG +swindler/M +swine/SM +swineherd/SM +swing/ZGSMR +swingeing +swinger/M +swinish +swipe/DSMG +swirl/GSMD +swirly +swish/TGMDRS +switch/MDRSZGB +switchback/MS +switchblade/SM +switchboard/SM +switcher/M +swivel/MDGS +swiz +swizz +swizzle/DSG +swollen +swoon/SGMD +swoop/SGMD +swoosh/MDSG +sword/SM +swordfish/MS +swordplay/M +swordsman/M +swordsmanship/M +swordsmen +swore +sworn +swot/S +swotted +swotting +swum +swung +sybarite/SM +sybaritic +sycamore/MS +sycophancy/M +sycophant/SM +sycophantic +syllabic +syllabicate/GNDS +syllabication/M +syllabification/M +syllabify/DSNG +syllable/MS +syllabub/S +syllabus/MS +syllogism/MS +syllogistic +sylph/M +sylphic +sylphlike +sylphs +sylvan +symbioses +symbiosis/M +symbiotic +symbiotically +symbol/MS +symbolic +symbolical/Y +symbolism/M +symbolization/M +symbolize/DSG +symmetric +symmetrical/Y +symmetry/SM +sympathetic/U +sympathetically/U +sympathies/M +sympathize/ZGDRS +sympathizer/M +sympathy/SM +symphonic +symphony/SM +symposium/MS +symptom/MS +symptomatic +symptomatically +syn/H +synagogal +synagogue/SM +synapse/MS +synaptic +sync/MDSG +synchronicity +synchronization/SM +synchronize/GDS +synchronous/Y +syncopate/DSGN +syncopation/M +syncope/M +syndicalism +syndicalist/S +syndicate/DSMGN +syndication/M +syndrome/SM +synergism/M +synergistic +synergy/SM +synfuel/MS +synod/SM +synonym/SM +synonymous +synonymy/M +synopses +synopsis/M +synoptic +synovial +syntactic +syntactical/Y +syntax/M +syntheses +synthesis/M +synthesize/ZGDRS +synthesizer/M +synthetic/SM +synthetically +synths +syphilis/M +syphilitic/SM +syringe/DSMG +syrup/SM +syrupy +sysadmin/S +sysop/S +system/SM +systematic/U +systematical/Y +systematization/M +systematize/GDS +systemic/MS +systemically +systole/SM +systolic +t/SDNXGBJ +ta +tab/SM +tabbed +tabbing +tabbouleh/M +tabby/SM +tabernacle/SM +tabla/MS +table/MGDS +tableau/M +tableaux +tablecloth/M +tablecloths +tableland/SM +tablespoon/SM +tablespoonful/SM +tablet/SM +tabletop/MS +tableware/M +tabloid/SM +taboo/MDSG +tabor/MS +tabular +tabulate/DSGNX +tabulation/M +tabulator/SM +tachograph +tachographs +tachometer/SM +tachycardia/M +tachyon +tacit/PY +tacitness/M +taciturn/Y +taciturnity/M +tack/ZGMDRS +tacker/M +tackiness/M +tackle/DRSMZG +tackler/M +tacky/RTP +taco/MS +tact/FM +tactful/YP +tactfulness/M +tactic/SM +tactical/Y +tactician/MS +tactile +tactility/M +tactless/PY +tactlessness/M +tad/SM +tadpole/MS +taffeta/M +taffrail/SM +taffy/SM +tag/SM +tagged +tagger/SM +tagging +tagliatelle +tagline/MS +taiga/MS +tail/ACSDMG +tailback/MS +tailboard/S +tailbone/S +tailcoat/MS +tailgate/MZGDRS +tailgater/M +tailless +taillight/MS +tailor/SGMD +tailoring/M +tailpiece/S +tailpipe/SM +tailspin/SM +tailwind/SM +taint/MDSG +tainted/U +take/AIMS +takeaway/S +taken/A +takeoff/MS +takeout/MS +takeover/SM +taker/MS +taking/SM +takings/M +talc/M +talcum/M +tale/MS +talebearer/MS +talent/SMD +talented/U +tali +talisman/MS +talk/ZGMDRS +talkative/PY +talkativeness/M +talker/M +talkie/RSMT +talky +tall/TRP +tallboy/MS +tallier/M +tallish +tallness/M +tallow/M +tallowy +tally/DRSMZG +tallyho/MDGS +talon/MS +talus/MS +tam/SM +tamale/SM +tamarack/MS +tamarind/MS +tambourine/MS +tame/BYZTGDRSP +tamed/U +tameness/M +tamer/M +tamoxifen +tamp/ZGDRS +tamper/ZGDR +tamperer/M +tampon/SM +tan/SM +tanager/MS +tanbark/M +tandem/SM +tandoori/M +tang/MS +tangelo/MS +tangent/MS +tangential/Y +tangerine/MS +tangibility/IM +tangible/IMS +tangibleness/M +tangibly/I +tangle's +tangle/UDSG +tango/MDSG +tangy/RT +tank/ZGMDRS +tankard/MS +tanker/M +tankful/MS +tanned/U +tanner/SM +tannery/SM +tannest +tannin/M +tanning/M +tansy/M +tantalization/M +tantalize/ZGDRS +tantalizer/M +tantalizing/Y +tantalum/M +tantamount +tantra/M +tantrum/SM +tap/SZGMDR +tapas +tape/MS +tapeline/MS +taper/MDG +tapestry/SM +tapeworm/MS +tapioca/M +tapir/MS +tapped/U +tapper/MS +tappet/MS +tapping +taproom/SM +taproot/SM +tar/SGMD +taramasalata +tarantella/MS +tarantula/SM +tarball/S +tardily +tardiness/M +tardy/TPR +tare/MS +target/MDGS +tariff/MS +tarmac/MS +tarmacadam +tarmacked +tarmacking +tarn/MS +tarnish/GMDS +tarnished/U +taro/MS +tarot/MS +tarp/MS +tarpaulin/MS +tarpon/MS +tarragon/SM +tarred +tarring +tarry/TGDRS +tarsal/MS +tarsi +tarsus/M +tart/PTGMDRYS +tartan/MS +tartar/MS +tartaric +tartness/M +tarty/T +taser/GMDS +task/GMDS +taskmaster/MS +taskmistress/MS +tassel/MDSG +taste/JMZGDRS +tasted/U +tasteful/EPY +tastefulness/EM +tasteless/PY +tastelessness/M +taster/M +tastily +tastiness/M +tasting/M +tasty/TRP +tat/SZR +tatami/MS +tater/M +tatted +tatter/MDSG +tatterdemalion/MS +tattie +tatting/M +tattle/MZGDRS +tattler/M +tattletale/MS +tattoo/MDRSZG +tattooer/M +tattooist/SM +tatty/TRS +tau/SM +taught/UA +taunt/ZGMDRS +taunter/M +taunting/Y +taupe/M +taut/PXTNRY +tauten/DG +tautness/M +tautological/Y +tautologous +tautology/SM +tavern/MS +tawdrily +tawdriness/M +tawdry/RTP +tawny/TRM +tax/BZGMDRS +taxa +taxation/M +taxer/M +taxi/GMDS +taxicab/SM +taxidermist/SM +taxidermy/M +taximeter/MS +taxiway/S +taxman +taxmen +taxon +taxonomic +taxonomist/MS +taxonomy/SM +taxpayer/MS +taxpaying +tb/S +tbsp +tea/SM +teabag/S +teacake/SM +teach/ZGRSBJ +teachable/U +teacher/M +teaching/M +teacup/MS +teacupful/MS +teak/MS +teakettle/SM +teal/MS +tealight/MS +team/GMDS +teammate/MS +teamster/MS +teamwork/M +teapot/MS +tear/GMDS +tearaway/S +teardrop/SM +tearful/Y +teargas/MS +teargassed +teargassing +tearjerker/MS +tearoom/SM +teary/TR +tease/MZGDRS +teasel/MS +teaser/M +teasing/Y +teaspoon/SM +teaspoonful/SM +teat/MS +teatime/S +tech/M +techie/S +technetium/M +technical/Y +technicality/SM +technician/SM +technicolor +technique/SM +techno +technobabble +technocracy/SM +technocrat/MS +technocratic +technological/Y +technologist/MS +technology/SM +technophobe/S +techs +tectonic/S +tectonics/M +ted/S +teddy/S +tedious/PY +tediousness/M +tedium/M +tee/DSMH +teeing +teem/GDS +teen/MS +teenage/RZ +teenager/M +teeny/TR +teenybopper/MS +teeter/MDSG +teethe/GDS +teething/M +teetotal/RZ +teetotaler/M +teetotalism/M +tektite/SM +tel +telecast/SZGMR +telecaster/M +telecommunication/MS +telecommunications/M +telecommute/ZGDRS +telecommuter/M +telecommuting/M +teleconference/MGDS +teleconferencing/M +telegenic +telegram/MS +telegraph/MDRZG +telegrapher/M +telegraphese +telegraphic +telegraphically +telegraphist/SM +telegraphs +telegraphy/M +telekinesis/M +telekinetic +telemarketer/SM +telemarketing/M +telemeter/SM +telemetry/SM +teleological +teleology +telepathic +telepathically +telepathy/M +telephone/DRSMZG +telephoner/M +telephonic +telephonist/S +telephony/M +telephoto/SM +telephotography/M +teleplay/MS +teleport +teleportation +teleprinter/MS +teleprocessing/M +teleprompter/SM +telesales +telescope/DSMG +telescopic +telescopically +teletext/MS +telethon/MS +teletype/S +teletypewriter/MS +televangelism/M +televangelist/MS +televise/XGNDS +television/M +teleworker/S +teleworking +telex/MDSG +tell/AGS +teller/SM +telling/Y +telltale/SM +tellurium/M +telly/SM +telnet +temblor/MS +temerity/M +temp/MDRZTGS +temper/MDG +tempera/LSM +temperament/MS +temperamental/Y +temperance/IM +temperate/IY +temperateness/M +temperature/SM +tempest/SM +tempestuous/YP +tempestuousness/M +template's +template/S +temple/SM +tempo/SM +temporal/Y +temporarily +temporariness/M +temporary/FSM +temporize/ZGDRS +temporizer/M +tempt/SDRZG +temptation/MS +tempter/M +tempting/Y +temptress/MS +tempura/M +ten/BMH +tenability/M +tenable/U +tenably +tenacious/YP +tenaciousness/M +tenacity/M +tenancy/SM +tenant/SMDG +tenanted/U +tenantry/M +tench +tend/IEFDGS +tended/U +tendency/SM +tendentious/YP +tendentiousness/M +tender/SMDRYTGP +tenderfoot/MS +tenderhearted/P +tenderheartedness/M +tenderize/ZGDRS +tenderizer/M +tenderloin/SM +tenderness/M +tendinitis/M +tendon/SM +tendril/SM +tenement/SM +tenet/SM +tenfold +tenner/S +tennis/M +tenon/SMDG +tenor/SM +tenpin/SM +tenpins/M +tense/DRSMYTGNXP +tenseness/M +tensile +tension/ESM +tensity/IM +tensor/S +tent/DGSM +tentacle/DSM +tentative/PY +tentativeness/M +tenterhook/MS +tenth/MY +tenths +tenuity/M +tenuous/PY +tenuousness/M +tenure/DSMG +tepee/SM +tepid/YP +tepidity/M +tepidness/M +tequila/SM +terabit/SM +terabyte/MS +terahertz/M +terapixel/MS +terbium/M +tercentenary/SM +tercentennial/SM +teriyaki +term/MDYGS +termagant/MS +terminable/IC +terminal/MYS +terminate/DSGNX +termination/CSM +terminator/S +termini +terminological/Y +terminology/SM +terminus/M +termite/SM +tern/IMS +ternary/SM +terr +terrace/DSMG +terracotta/M +terrain/SM +terrapin/MS +terrarium/SM +terrazzo/MS +terrestrial/SMY +terrible/P +terribleness/M +terribly +terrier/M +terrific +terrifically +terrify/GDS +terrifying/Y +terrine/S +territorial/MS +territoriality +territory/SM +terror/SM +terrorism/M +terrorist/SM +terrorize/DSG +terry/RMZ +terrycloth/M +terse/RYTP +terseness/M +tertiary +tessellate/DSXGN +tessellation/M +test's/AFK +test/AKFCDGS +testable/CF +testament/MS +testamentary +testate/S +testator/MS +testatrices +testatrix/M +tested/U +tester/KSM +testes +testicle/MS +testicular +testifier/M +testify/ZGDRS +testily +testimonial/MS +testimony/SM +testiness/M +testings +testis/M +testosterone/M +testy/PRT +tetanus/M +tetchily +tetchy/PRT +tether/SMDG +tetra/SM +tetracycline/M +tetrahedral +tetrahedron/MS +tetrameter/SM +text/FMS +textbook/SM +texted +textile/MS +texting +textual/FY +textural +texture/MGDS +thalami +thalamus/M +thalidomide/M +thallium/M +than +thane/SM +thank/SDG +thankful/YP +thankfulness/M +thankless/PY +thanklessness/M +thanksgiving/SM +that'd +that'll +that/M +thatch/MDRSZG +thatcher/M +thatching/M +thaw/MDGS +the/JG +theater/SM +theatergoer/SM +theatrical/YS +theatricality/M +theatricals/M +theatrics/M +thee/S +theft/SM +their/S +theism/M +theist/SM +theistic +them +thematic +thematically +theme/DSM +themselves +then/M +thence +thenceforth +thenceforward +theocracy/SM +theocratic +theodolite/S +theologian/SM +theological/Y +theology/SM +theorem/MS +theoretic +theoretical/Y +theoretician/SM +theorist/SM +theorize/DSG +theory/SM +theosophic +theosophical +theosophist/SM +theosophy/M +therapeutic/S +therapeutically +therapeutics/M +therapist/SM +therapy/SM +there/M +thereabout/S +thereafter +thereat +thereby +therefor +therefore +therefrom +therein +theremin/SM +thereof +thereon +thereto +theretofore +thereunto +thereupon +therewith +therm/SM +thermal/MYS +thermionic +thermodynamic/S +thermodynamics/M +thermometer/MS +thermometric +thermonuclear +thermoplastic/SM +thermos/MS +thermostat/MS +thermostatic +thermostatically +thesauri +thesaurus/MS +these/S +thesis/M +thespian/SM +theta/SM +thew/MS +they +they'd +they'll +they're +they've +thiamine/M +thick/PMNRYXT +thicken/DRJZG +thickener/M +thickening/M +thicket/MS +thickheaded/M +thickness/MS +thicko/S +thickset +thief/M +thieve/DSG +thievery/M +thieving/M +thievish +thigh/M +thighbone/MS +thighs +thimble/MS +thimbleful/SM +thin/YSP +thine +thing/M +thingamabob/SM +thingamajig/SM +thingumabob/S +thingummy/S +thingy/S +think/SRBZG +thinkable/U +thinker/M +thinking's +thinned +thinner/MS +thinness/M +thinnest +thinning +third/SMY +thirst/SGMD +thirstily +thirstiness/M +thirsty/TPR +thirteen/SMH +thirteenth/M +thirteenths +thirtieth/M +thirtieths +thirty/HSM +this +thistle/MS +thistledown/M +thither +tho +thole/SM +thong/SM +thoracic +thorax/MS +thorium/M +thorn/SM +thorniness/M +thorny/PRT +thorough/RYPT +thoroughbred/MS +thoroughfare/MS +thoroughgoing +thoroughness/M +those +thou/MS +though +thought/SM +thoughtful/YP +thoughtfulness/M +thoughtless/PY +thoughtlessness/M +thousand/MHS +thousandfold +thousandth/M +thousandths +thrall/SMDG +thralldom/M +thrash/JMDRSZG +thrasher/M +thrashing/M +thread/SMDRZG +threadbare +threader/M +threadlike +thready/TR +threat/SMNX +threaten/DG +threatening/Y +three/SM +threefold +threepence/M +threescore/MS +threesome/SM +threnody/SM +thresh/MDRSZG +thresher/M +threshold/SM +threw +thrice +thrift/SM +thriftily +thriftiness/M +thriftless +thrifty/PTR +thrill/SMDRZG +thriller/M +thrilling/Y +thrive/DSG +throat/SM +throatily +throatiness/M +throaty/RTP +throb/SM +throbbed +throbbing +throe/SM +thrombi +thrombolytic +thromboses +thrombosis/M +thrombotic +thrombus/M +throne's +throne/S +throng/GSMD +throttle/DRSMZG +throttler/M +through +throughout +throughput/M +throw/SMRZG +throwaway/SM +throwback/SM +thrower/M +thrown +thru +thrum/SM +thrummed +thrumming +thrush/MS +thrust/GSM +thruway/MS +thud/MS +thudded +thudding +thug/MS +thuggery/M +thuggish +thulium/M +thumb/SMDG +thumbnail/SM +thumbprint/SM +thumbscrew/SM +thumbtack/SM +thump/SMDG +thumping/M +thunder/ZGMDRS +thunderbolt/SM +thunderclap/SM +thundercloud/MS +thunderer/M +thunderhead/SM +thunderous/Y +thundershower/SM +thunderstorm/SM +thunderstruck +thundery +thunk/S +thus +thwack/ZGSMDR +thwacker/M +thwart/GSMD +thy +thyme/M +thymine/M +thymus/MS +thyroid/MS +thyroidal +thyself +ti/MRZ +tiara/SM +tibia/M +tibiae +tibial +tic/SM +tick/MDRZGS +ticker/M +ticket/GSMD +ticking/M +tickle/DRSMZG +tickler/M +ticklish/YP +ticklishness/M +ticktacktoe/M +ticktock/MS +tidal/Y +tidbit/SM +tiddler/S +tiddly +tiddlywink/S +tiddlywinks/M +tide/MGJDS +tideland/SM +tidemark/S +tidewater/MS +tideway/MS +tidily/U +tidiness/UM +tidings/M +tidy/DRSMTGP +tie's +tie/AUSD +tieback/MS +tiebreak/RSZ +tiebreaker/M +tiepin/S +tier/MD +tiff/MDGS +tiger/SM +tigerish +tight/SNRYPXT +tighten/ZGDR +tightener/M +tightfisted +tightness/M +tightrope/MS +tights/M +tightwad/MS +tigress/MS +til +tilapia +tilde/SM +tile/MZGDRS +tiler/M +tiling/M +till's +till/EDRZGS +tillable +tillage/M +tiller/EM +tilt/MDGS +timber/SMDG +timberland/M +timberline/MS +timbre/SM +timbrel/SM +time/MYZGJDRS +timekeeper/MS +timekeeping/M +timeless/PY +timelessness/M +timeline/MS +timeliness/UM +timely/UPRT +timeout/SM +timepiece/MS +timer/M +timescale/S +timeserver/SM +timeserving/M +timeshare/S +timestamp/SMD +timetable/DSMG +timeworn +timezone +timid/RYTP +timidity/M +timidness/M +timing/M +timorous/PY +timorousness/M +timothy/M +timpani/M +timpanist/SM +tin/SM +tincture/MGDS +tinder/M +tinderbox/MS +tine/MS +tinfoil/M +ting/MDYG +tinge/SM +tingeing +tingle/DSMGJ +tingling/M +tininess/M +tinker/ZGSMDR +tinkerer/M +tinkle/DSMG +tinned +tinniness/M +tinning +tinnitus/M +tinny/PRT +tinplate/M +tinpot +tinsel/GSMD +tinsmith/M +tinsmiths +tint/MDGS +tintinnabulation/MS +tintype/MS +tinware/M +tiny/RTP +tip/SM +tipped +tipper/SM +tippet/SM +tippex/GDS +tipping +tipple/DRSMZG +tippler/M +tipsily +tipsiness/M +tipster/MS +tipsy/RPT +tiptoe/DSM +tiptoeing +tiptop/SM +tirade/SM +tiramisu/MS +tire's +tire/AGDS +tired/PRYT +tiredness/M +tireless/YP +tirelessness/M +tiresome/PY +tiresomeness/M +tissue/SM +tit/SM +titan/SM +titanic +titanium/M +titch/S +titchy +tithe/DRSMZG +tither/M +titian/M +titillate/DSGN +titillating/Y +titillation/M +titivate/DSGN +titivation/M +title/DSMG +titled/U +titleholder/MS +titlist/MS +titmice +titmouse/M +titter/SGMD +tittle/SM +titty/S +titular +tizz +tizzy/SM +tn +tnpk +to/IU +toad/MS +toadstool/MS +toady/DSMG +toadyism/M +toast/SMDRZG +toaster/M +toastmaster/SM +toastmistress/MS +toasty/TRS +tobacco/MS +tobacconist/SM +toboggan/ZGSMDR +tobogganer/M +tobogganing/M +toccata/S +tocsin/SM +today/M +toddle/DRSMZG +toddler/M +toddy/SM +toe/DSM +toecap/SM +toehold/MS +toeing +toenail/MS +toerag/S +toff/S +toffee/SM +tofu/M +tog/SM +toga/MDS +together/P +togetherness/M +togged +togging +toggle/DSMG +togs/M +toil/MDRZGS +toiler/M +toilet/MDGS +toiletry/SM +toilette/M +toilsome +toke/MGDS +token/SM +tokenism/M +told/AU +tole/M +tolerable/I +tolerably/I +tolerance/IM +tolerances +tolerant/IY +tolerate/GNDS +toleration/M +toll/MDGS +tollbooth/M +tollbooths +tollgate/SM +tollway/SM +toluene/M +tom/SM +tomahawk/SGMD +tomato/M +tomatoes +tomb/MDGS +tombola/S +tomboy/MS +tomboyish +tombstone/MS +tomcat/MS +tome/MS +tomfoolery/SM +tomographic +tomography/M +tomorrow/MS +tomtit/MS +ton/SM +tonal/Y +tonality/SM +tone's +tone/IZGDRS +tonearm/SM +toneless/Y +toner/IM +tong/MDGS +tongue/MGDS +tongueless +tonic/SM +tonight/M +tonnage/SM +tonne/SM +tonsil/MS +tonsillectomy/SM +tonsillitis/M +tonsorial +tonsure/DSMG +tony/RT +too +took/A +tool's +tool/ADGS +toolbar/SM +toolbox/MS +toolkit +toolmaker/MS +toot/MDRZGS +tooter/M +tooth/MD +toothache/MS +toothbrush/MS +toothily +toothless +toothpaste/SM +toothpick/SM +toothsome +toothy/RT +tootle/GDS +tootsie/S +top/SM +topaz/MS +topcoat/SM +topdressing/SM +topee/S +topflight +topi +topiary/M +topic/SM +topical/Y +topicality/M +topknot/SM +topless +topmast/SM +topmost +topnotch +topographer/SM +topographic +topographical/Y +topography/SM +topological/Y +topology +topped +topper/MS +topping/SM +topple/GDS +topsail/SM +topside/SM +topsoil/M +topspin/M +toque/SM +tor/SM +torch/GMDS +torchbearer/MS +torchlight/M +tore +toreador/MS +torment/SMDG +tormenting/Y +tormentor/MS +torn +tornado/M +tornadoes +torpedo/GMD +torpedoes +torpid/Y +torpidity/M +torpor/M +torque/MGDS +torrent/SM +torrential +torrid/YP +torridity/M +torridness/M +torsion/M +torsional +torso/SM +tort's +tort/FEAS +torte/SM +tortellini/M +tortilla/MS +tortoise/MS +tortoiseshell/SM +tortoni/M +tortuous/PY +tortuousness/M +torture/DRSMZG +torturer/M +torturous +torus +tosh +toss/MDRSZG +tossup/MS +tot/SGMD +total/GSMDY +totalitarian/SM +totalitarianism/M +totality/SM +totalizator/SM +tote/MS +totem/SM +totemic +totted +totter/ZGMDRS +totterer/M +totting +toucan/MS +touch/AGMDS +touchdown/SM +touche/BJ +touched/U +touchily +touchiness/M +touching/Y +touchline/S +touchpaper/S +touchscreen/MS +touchstone/MS +touchy/RPT +tough/XTGMDNRYP +toughen/ZGDR +toughener/M +toughie/SM +toughness/M +toughs +toupee/MS +tour/CFSGDM +tourism/M +tourist/MS +touristic +touristy +tourmaline/M +tournament/SM +tourney/MS +tourniquet/MS +tousle/GDS +tout/MDGS +tow/SZGMDR +toward/S +towboat/MS +towel/JGSMD +towelette/SM +toweling/M +tower/GMD +towhead/MDS +towhee/MS +towline/MS +town/MS +townee/S +townhouse/MS +townie/MS +townsfolk/M +township/MS +townsman/M +townsmen +townspeople/M +townswoman/M +townswomen +towpath/M +towpaths +towrope/SM +toxemia/M +toxic +toxicity/SM +toxicological +toxicologist/SM +toxicology/M +toxin/SM +toy/SGMD +toyboy/S +tr +trabecula +trabecular +trabecule +trace/JDRSMZG +traceable/U +tracer/M +tracery/SM +trachea/M +tracheae +tracheal +tracheotomy/SM +tracing/M +track/ZGSMDR +trackball/SM +tracker/M +trackless +tracksuit/S +tract's +tract/CEKFAS +tractability/IM +tractable/I +tractably/I +traction/EFACKM +tractor/FCKMS +trad +trade/JDRSMZG +trademark/SGMD +trader/M +tradesman/M +tradesmen +tradespeople/M +tradeswoman/M +tradeswomen +trading/M +tradition/MS +traditional/Y +traditionalism/M +traditionalist/SM +traduce/DRSZG +traducer/M +traffic/SM +trafficked +trafficker/SM +trafficking/M +tragedian/SM +tragedienne/MS +tragedy/SM +tragic +tragically +tragicomedy/SM +tragicomic +trail/ZGSMDR +trailblazer/MS +trailblazing/M +trailer/M +train/ZGSMDRB +trained/U +trainee/SM +trainer/M +training/M +trainload/MS +trainman/M +trainmen +trainspotter/S +trainspotting +traipse/DSMG +trait/SM +traitor/SM +traitorous/Y +trajectory/SM +tram/MS +tramcar/S +tramlines +trammed +trammel/SGMD +trammeled/U +tramming +tramp/ZGSMDR +tramper/M +trample/DRSMZG +trampler/M +trampoline/MGDS +tramway/S +trance/MS +tranche/S +tranquil/RYT +tranquility/M +tranquilize/ZGDRS +tranquilizer/M +trans/I +transact/DGS +transaction/SM +transactor/MS +transatlantic +transceiver/SM +transcend/GSD +transcendence/M +transcendent +transcendental/Y +transcendentalism/M +transcendentalist/SM +transcontinental +transcribe/ZGDRS +transcriber/M +transcript/MS +transcription/SM +transducer/MS +transect/DSG +transept/MS +transfer/MBS +transferal/MS +transference/M +transferred +transferring +transfiguration/M +transfigure/GDS +transfinite +transfix/DSG +transform/BSZGMDR +transformation/SM +transformer/M +transfuse/DSXGN +transfusion/M +transgender/S +transgenic +transgress/GDS +transgression/SM +transgressor/SM +transience/M +transiency/M +transient/SMY +transistor/SM +transistorize/DSG +transit/SGMD +transition/GSMD +transitional/Y +transitive/ISMY +transitiveness/M +transitivity/M +transitory +transl +translatable/U +translate/DSGNBX +translated/U +translation/M +translator/SM +transliterate/DSGNX +transliteration/M +translocation +translucence/M +translucency/M +translucent/Y +transmigrate/GNDS +transmigration/M +transmissible +transmission/MS +transmit/S +transmittable +transmittal/M +transmittance/M +transmitted +transmitter/SM +transmitting +transmogrification/M +transmogrify/DSNG +transmutation/SM +transmute/BDSG +transnational/MS +transoceanic +transom/SM +transpacific +transparency/SM +transparent/Y +transpiration/M +transpire/DSG +transplant/MDGS +transplantation/M +transpolar +transponder/SM +transport/BSZGMDR +transportation/M +transporter/M +transpose/DSG +transposition/MS +transsexual/SM +transsexualism/M +transship/SL +transshipment/M +transshipped +transshipping +transubstantiation/M +transverse/MYS +transvestism/M +transvestite/MS +trap/MS +trapdoor/MS +trapeze/SM +trapezium/SM +trapezoid/SM +trapezoidal +trappable +trapped +trapper/SM +trapping/S +trappings/M +trapshooting/M +trash/GMDS +trashcan/MS +trashiness/M +trashy/RPT +trauma/MS +traumatic +traumatically +traumatize/GDS +travail/SGMD +travel/MDRSZGJ +traveled/U +traveler/M +traveling/M +travelogue/MS +traversal/SM +traverse/DSMG +travesty/GDSM +trawl/ZGSMDR +trawler/M +tray/MS +treacherous/PY +treacherousness/M +treachery/SM +treacle/M +treacly +tread/AGSM +treadle/DSMG +treadmill/MS +treas +treason/BM +treasonous +treasure/DRSMZG +treasurer/M +treasury/SM +treat/AGSMD +treatable +treated/U +treatise/SM +treatment/MS +treaty/SM +treble/MGDS +tree/MDS +treeing +treeless +treelike +treeline +treetop/SM +trefoil/SM +trek/MS +trekked +trekker/SM +trekking +trellis/GMDS +trematode/MS +tremble/DSMG +tremendous/Y +tremolo/SM +tremor/MS +tremulous/PY +tremulousness/M +trench's +trench/ADSG +trenchancy/M +trenchant/Y +trencher/MS +trencherman/M +trenchermen +trend/GSMD +trendily +trendiness/M +trendsetter/S +trendsetting +trendy/RSMPT +trepidation/M +trespass/MDRSZG +trespasser/M +tress/EMS +trestle/MS +trews +trey/MS +triad/SM +triage/M +trial/ASM +trialed +trialing +triangle/SM +triangular/Y +triangulate/GNDS +triangulation/M +triathlete/S +triathlon/SM +tribal +tribalism/M +tribe/SM +tribesman/M +tribesmen +tribeswoman/M +tribeswomen +tribulation/SM +tribunal/SM +tribune/MS +tributary/SM +tribute's +tribute/FS +trice/M +tricentennial/MS +triceps/MS +triceratops/M +trichina/M +trichinae +trichinosis/M +trick/GSMD +trickery/M +trickily +trickiness/M +trickle/MGDS +trickster/SM +tricky/TRP +tricolor/SM +tricycle/SM +trident/MS +tried/U +triennial/MYS +trier/SM +trifecta/SM +trifle/MZGDRS +trifler/M +trifocals/M +trig/M +trigger/MDSG +triglyceride/MS +trigonometric +trigonometrical +trigonometry/M +trike/SM +trilateral/S +trilby/SM +trill/GSMD +trillion/SMH +trillionth/M +trillionths +trillium/M +trilobite/SM +trilogy/SM +trim/PMYS +trimaran/MS +trimester/SM +trimmed/U +trimmer/SM +trimmest +trimming/SM +trimmings/M +trimness/M +trimonthly +trinitrotoluene/M +trinity/SM +trinket/SM +trio/MS +trip/MYS +tripartite +tripe/M +triple/MGDS +triplet/SM +triplex/MS +triplicate/MGDS +tripod/MS +tripodal +tripos +tripped +tripper/SM +tripping +triptych/M +triptychs +tripwire/S +trireme/SM +trisect/SDG +trisection/M +trite/FPYT +triteness/FM +triter +tritium/M +triumph/GMD +triumphal +triumphalism +triumphalist +triumphant/Y +triumphs +triumvir/MS +triumvirate/SM +trivalent +trivet/MS +trivia/M +trivial/Y +triviality/SM +trivialization/M +trivialize/GDS +trivium/M +trochaic +trochee/SM +trod/AU +trodden/A +troglodyte/SM +troika/MS +troll/SGMD +trolley/SM +trolleybus/MS +trollop/SM +trombone/MS +trombonist/MS +tromp/SGD +tron/S +troop/SZGMDR +trooper/M +troopship/MS +trope/SM +trophy/SM +tropic/MS +tropical/Y +tropics/M +tropism/SM +troposphere/SM +trot/MS +troth/M +trotted +trotter/SM +trotting +troubadour/MS +trouble/DSMG +troubled/U +troublemaker/MS +troubleshoot/DRZGS +troubleshooter/M +troubleshooting/M +troubleshot +troublesome/Y +trough/M +troughs +trounce/DRSZG +trouncer/M +troupe/MZGDRS +trouper/M +trouser/SM +trousers/M +trousseau/M +trousseaux +trout/SM +trove/SM +trow/DSG +trowel/MDSG +troy/S +truancy/M +truant/GMDS +truce/SM +truck/SZGMDR +trucker/M +trucking/M +truckle/MGDS +truckload/SM +truculence/M +truculent/Y +trudge/MGDS +true/MTGDRS +truelove/SM +truffle/MS +trug/S +truism/MS +truly/U +trump/SGMD +trumpery/M +trumpet/ZGMDRS +trumpeter/M +truncate/GNDS +truncation/M +truncheon/SM +trundle/MZGDRS +trundler/M +trunk/SGM +truss/GMDS +trust/ESGMD +trustee/MS +trusteeship/SM +trustful/EY +trustfulness/M +trusting/Y +trustworthiness/M +trustworthy/TPR +trusty/TRSM +truth/ZMR +truther/M +truthful/UYP +truthfulness/UM +truthiness +truths/U +try's +try/AGDS +trying/Y +tryout/SM +tryptophan +tryst/SMDG +tsarists +tsetse/MS +tsp +tsunami/SM +ttys +tub/SZGMDR +tuba/MS +tubal +tubby/TR +tube/MS +tubeless/M +tuber/M +tubercle/SM +tubercular +tuberculin/M +tuberculosis/M +tuberculous +tuberose/M +tuberous +tubful/MS +tubing/M +tubular +tubule/MS +tuck/MDRSZG +tucker/MDG +tuft/MDRSZG +tufter/M +tug/SM +tugboat/MS +tugged +tugging +tuition/IM +tularemia/M +tulip/SM +tulle/M +tum/S +tumble/DRSMZG +tumbledown +tumbler/M +tumbleweed/SM +tumbling/M +tumbrel/SM +tumescence/M +tumescent +tumid +tumidity/M +tummy/SM +tumor/SM +tumorous +tumult/SM +tumultuous/Y +tun/SZGMDR +tuna/MS +tundra/SM +tune/MS +tuneful/YP +tunefulness/M +tuneless/Y +tuner/M +tuneup/SM +tungsten/M +tunic/SM +tunnel/JSMDRZG +tunneler/M +tunny/SM +tuple/S +tuppence +tuppenny +tuque/SM +turban/SMD +turbid +turbidity/M +turbine/SM +turbo/SM +turbocharge/ZGDRS +turbocharger/M +turbofan/SM +turbojet/SM +turboprop/SM +turbot/SM +turbulence/M +turbulent/Y +turd/MS +turducken/SM +tureen/SM +turf/MDSG +turfy +turgid/Y +turgidity/M +turkey/SM +turmeric/SM +turmoil/MS +turn/AMDRSZG +turnabout/SM +turnaround/SM +turnbuckle/SM +turncoat/SM +turner/AM +turning/MS +turnip/SM +turnkey/MS +turnoff/MS +turnout/MS +turnover/MS +turnpike/MS +turnstile/SM +turntable/SM +turpentine/M +turpitude/M +turps +turquoise/SM +turret/SMD +turtle/SM +turtledove/SM +turtleneck/SMD +tush/MS +tusk/MDS +tussle/DSMG +tussock/MS +tussocky +tut/SM +tutelage/M +tutelary +tutor/SMDG +tutored/U +tutorial/SM +tutorship/M +tutted +tutti/SM +tutting +tutu/MS +tux/MS +tuxedo/SM +twaddle/MZGDRS +twaddler/M +twain/M +twang/SMDG +twangy/RT +twas +twat/S +tweak/SMDG +twee +tweed/SM +tweeds/M +tweedy/RT +tween +tweet's +tweet/ASDG +tweeter/SM +tweezers/M +twelfth/M +twelfths +twelve/SM +twelvemonth/M +twelvemonths +twentieth/M +twentieths +twenty/SMH +twerk/SDG +twerp/SM +twice +twiddle/MGDS +twiddly +twig/MS +twigged +twigging +twiggy/TR +twilight/M +twilit +twill/MD +twin/MDRSZG +twine/SM +twiner/M +twinge/DSMG +twink/SY +twinkle/MGJDS +twinkling/M +twinned +twinning +twinset/S +twirl/SMDRZG +twirler/M +twirly +twist's +twist/USDG +twister/MS +twisty/TR +twit/MS +twitch/GMDS +twitchy/RT +twitted +twitter/MDSG +twittery +twitting +twixt +two/SM +twofer/SM +twofold +twopence/SM +twopenny +twosome/SM +twp +tycoon/SM +tying/AU +tyke/MS +tympani/M +tympanic +tympanist/MS +tympanum/SM +type's +type/AGDS +typecast/GS +typeface/MS +typescript/MS +typeset/S +typesetter/MS +typesetting/M +typewrite/RSZG +typewriter/M +typewriting/M +typewritten +typewrote +typhoid/M +typhoon/MS +typhus/M +typical/UY +typicality/M +typification/M +typify/NGDS +typing/M +typist/SM +typo/MS +typographer/SM +typographic +typographical/Y +typography/M +typology/SM +tyrannic +tyrannical/Y +tyrannize/GDS +tyrannosaur/MS +tyrannosaurus/MS +tyrannous +tyranny/SM +tyrant/SM +tyro/MS +u/S +ubiquitous/Y +ubiquity/M +udder/SM +ufologist/SM +ufology/M +ugh +ugliness/M +ugly/RTP +uh +uhf +ukase/SM +ukulele/SM +ulcer/SM +ulcerate/XDSGN +ulceration/M +ulcerous +ulna/M +ulnae +ulnar +ulster/MS +ult +ulterior +ultimate/MY +ultimatum/MS +ultimo +ultra/SM +ultraconservative/SM +ultrahigh +ultralight/SM +ultramarine/M +ultramodern +ultrasonic +ultrasonically +ultrasound/MS +ultraviolet/M +ululate/DSGNX +ululation/M +um +umbel/SM +umber/M +umbilical +umbilici +umbilicus/M +umbra/SM +umbrage/M +umbrella/SM +umiak/SM +umlaut/MS +ump/SGMD +umpire/MGDS +umpteen/H +unabridged/MS +unacceptability +unacceptable +unaccommodating +unaccountably +unadventurous +unaesthetic +unalterably +unambitious +unanimity/M +unanimous/Y +unapparent +unappetizing +unappreciative +unassertive +unassuming/Y +unavailing/Y +unaware/S +unbeknownst +unbend/SG +unbent +unbid +unblinking/Y +unblushing/Y +unbosom/DG +unbound/D +unbreakable +unbroken +uncanny/T +uncap/S +uncaring +uncatalogued +unceasing/Y +unchangeable +uncharacteristic +uncharitable +unchaste/RT +uncial/M +uncle/SM +unclean/DRPT +uncleanly/T +unclear/DRT +uncomfortable +uncommon/T +uncomplaining/Y +uncomplicated +uncomprehending/Y +uncompromising/Y +unconditional/Y +uncongenial +unconscionable +unconscionably +unconscious/M +unconstitutional/Y +uncontrollably +uncontroversial +uncool +uncooperative +uncouth/Y +uncrushable +unction/SM +unctuous/YP +unctuousness/M +uncut +undaunted/Y +undecided/SM +undemonstrative/Y +undeniably +under +underachieve/LZGDRS +underachiever/M +underact/SDG +underage +underappreciated +underarm/SM +underbelly/SM +underbid/S +underbidding +underbrush/M +undercarriage/MS +undercharge/MGDS +underclass/MS +underclassman/M +underclassmen +underclothes/M +underclothing/M +undercoat/GJSMD +undercoating/M +undercover +undercurrent/SM +undercut/SM +undercutting +underdeveloped +underdevelopment/M +underdog/SM +underdone +underemployed +underemployment/M +underestimate/DSMGNX +underestimation/M +underexpose/GDS +underexposure/MS +underfed +underfeed/GS +underfloor +underflow +underfoot +underfunded +underfur/M +undergarment/SM +undergo/G +undergoes +undergone +undergrad/S +undergraduate/SM +underground/MS +undergrowth/M +underhand +underhanded/PY +underhandedness/M +underlain +underlay/SM +underlie/S +underline/MGDS +underling/MS +underlip/SM +underlying +undermanned +undermentioned +undermine/GDS +undermost +underneath/M +underneaths +undernourished +undernourishment/M +underpaid +underpants/M +underpart/MS +underpass/MS +underpay/GSL +underpayment/SM +underpin/S +underpinned +underpinning/MS +underplay/DGS +underpopulated +underprivileged +underproduction/M +underrate/GDS +underrepresented +underscore/DSMG +undersea/S +undersecretary/SM +undersell/GS +undersexed +undershirt/SM +undershoot/SG +undershorts/M +undershot +underside/MS +undersign/DGS +undersigned/M +undersized +underskirt/SM +undersold +understaffed +understand/SGBJ +understandably +understanding/MY +understate/DSLG +understatement/SM +understood +understudy/GDSM +undertake/ZGJRS +undertaken +undertaker/M +undertaking/M +underthings/M +undertone/MS +undertook +undertow/SM +underused +underutilized +undervaluation/M +undervalue/DSG +underwater +underway +underwear/M +underweight/M +underwent +underwhelm/DGS +underwire/DS +underworld/MS +underwrite/ZGRS +underwriter/M +underwritten +underwrote +undesirable/MS +undies/M +undo +undoubted/Y +undramatic +undue +undulant +undulate/DSXGN +undulation/M +undying +unearthliness/M +unease/M +uneasy/T +uneatable +uneconomic +unemployed/M +unending +unenterprising +unequal/DY +unerring/Y +unessential +uneven/Y +unexceptionably +unexcited +unexciting +unexpected/YP +unexpectedness/M +unfailing/Y +unfair/PTRY +unfaltering +unfamiliar +unfathomably +unfed +unfeeling/Y +unfeminine +unfit/S +unfitting +unfix/GDS +unflagging/Y +unflappability/M +unflappable +unflappably +unflattering +unflinching/Y +unforgettably +unforgivably +unfortunate/MS +unfriendly/T +unfrock/DG +unfruitful +unfunny +ungainliness/M +ungainly/RPT +ungenerous +ungentle +ungodly/T +ungraceful/Y +ungrudging +unguarded +unguent/SM +ungulate/MS +unhandy/T +unhappy/T +unhealthful +unhealthy/T +unhistorical +unholy/T +unhurt +unicameral +unicellular +unicorn/SM +unicycle/SM +unidirectional +unification/AM +uniform/SMDYG +uniformity/M +unify/AGDSN +unilateral/Y +unilateralism +unimportant +unimpressive +uninformative +uninhibited/Y +uninstall/BSZGDR +uninsured +unintelligent +unintended +uninteresting +uninterrupted/Y +uninterruptible +uninviting +union/ASM +unionism/M +unionist/MS +unique/YTRP +uniqueness/M +unisex/M +unison/M +unitary +unite/AEGSD +unitedly +unities +unitize/DSG +unity/EM +univalent +univalve/SM +universal/MYS +universality/M +universalize/DSG +universe/SM +university/SM +unjust/Y +unkempt +unkind/T +unkindly/T +unknowable/M +unknown/SM +unleaded/M +unless +unlike/PB +unlikely/T +unlit +unlock/DSG +unlovable +unlovely/TR +unloving +unlucky/T +unmanly/T +unmarried +unmeaning +unmentionable/MS +unmentionables/M +unmet +unmindful +unmissable +unmistakably +unmoral +unmovable +unmusical +unnecessary +unnerving/Y +unobservant +unoffensive +unofficial/Y +unoriginal +unpeople +unperceptive +unpersuasive +unpick/GDS +unpin/S +unpleasing +unpolitical +unpopular +unpractical +unprecedented/Y +unprofessional/Y +unpromising +unpropitious +unquestioning/Y +unquiet/TR +unread/B +unready +unreal +unreasoning +unregenerate +unrelated +unrelenting/Y +unrelieved/Y +unremarkable +unremitting/Y +unrepentant +unreported +unrepresentative +unrest/M +unripe/TR +unroll/GDS +unromantic +unruliness/M +unruly/RTP +unsafe/YTR +unsaleable +unsavory +unscathed +unsearchable +unseeing/Y +unseemly/T +unseen/M +unsentimental +unset +unshakable +unshakably +unshapely +unshockable +unshorn +unsightliness/M +unsightly/PT +unsmiling +unsociable +unsocial +unsold +unsound/PRYT +unspeakable +unspeakably +unspecific +unspectacular +unsporting +unstable +unsteady/TRP +unstinting/Y +unstrapping +unsubstantial +unsubtle +unsuitable +unsure +unsuspecting/Y +unsymmetrical +untactful +unthinkably +unthinking/Y +untidy/PTR +until +untimely/T +untiring/Y +untouchable/MS +untoward +untrue/RT +untrustworthy +untruth/M +unutterable +unutterably +unwarrantable +unwary/T +unwavering +unwed +unwelcome/G +unwell +unwieldiness/M +unwieldy/TRP +unwise/RYT +unworried +unworthy/T +unwound +unwrapping +unyielding +up/S +upbeat/MS +upbraid/SGD +upbringing/MS +upchuck/SGD +upcoming +upcountry/M +update/MGDRS +updraft/MS +upend/SGD +upfront +upgrade/MGDS +upheaval/MS +upheld +uphill/MS +uphold/ZGRS +upholder/M +upholster/ASGD +upholsterer/MS +upholstery/M +upkeep/M +upland/MS +uplift/JSMDG +upload/SDG +upmarket +upmost +upon +upped +upper/SM +uppercase/M +upperclassman/M +upperclassmen +upperclasswoman +upperclasswomen +uppercut/MS +uppercutting +uppermost +upping +uppish +uppity +upraise/DSG +uprear/GSD +upright/MYPS +uprightness/M +uprising/SM +upriver +uproar/SM +uproarious/Y +uproot/GSD +upscale +upset/SM +upsetting +upshot/SM +upside/SM +upsilon/MS +upstage/GDS +upstairs +upstanding +upstart/MDSG +upstate/M +upstream +upstroke/SM +upsurge/MGDS +upswing/MS +uptake/SM +uptempo +upthrust/GSM +uptick/SM +uptight +uptown/M +uptrend +upturn/GSMD +upward/SY +upwind +uracil/M +uranium/M +urban +urbane/RYT +urbanity/M +urbanization/M +urbanize/DSG +urbanologist/MS +urbanology/M +urchin/SM +urea/M +uremia/M +uremic +ureter/SM +urethane/M +urethra/M +urethrae +urethral +urge/MGDS +urgency/M +urgent/Y +uric +urinal/SM +urinalyses +urinalysis/M +urinary +urinate/GNDS +urination/M +urine/M +urn/SM +urogenital +urological +urologist/MS +urology/M +ursine +urticaria/M +usability/M +usable/UA +usage/SM +use/AEDSMG +used/U +useful/PY +usefulness/M +useless/YP +uselessness/M +user/MS +username/MS +usher/SMDG +usherette/SM +usu +usual's +usual/UY +usurer/SM +usurious +usurp/SDRZG +usurpation/M +usurper/M +usury/M +utensil/SM +uteri +uterine +uterus/M +utilitarian/MS +utilitarianism/M +utility/SM +utilization/M +utilize/GBDS +utmost/M +utopia/SM +utter/SDYG +utterance/SM +uttermost/M +uveitis +uvula/SM +uvular/MS +uxorious +v/AS +vac/S +vacancy/SM +vacant/Y +vacate/DSG +vacation/ZGMDRS +vacationer/M +vacationist/SM +vaccinate/GNDSX +vaccination/M +vaccine/SM +vacillate/XGNDS +vacillation/M +vacuity/M +vacuole/MS +vacuous/YP +vacuousness/M +vacuum/GSMD +vagabond/SMDG +vagabondage/M +vagarious +vagary/SM +vagina/SM +vaginae +vaginal/Y +vagrancy/M +vagrant/MS +vague/RYTP +vagueness/M +vagus +vain/RYT +vainglorious/Y +vainglory/M +val +valance/MS +vale/MS +valediction/MS +valedictorian/SM +valedictory/SM +valence/MS +valency/SM +valentine/SM +valet/SMDG +valetudinarian/MS +valetudinarianism/M +valiance/M +valiant/Y +valid/Y +validate/IGNDS +validation/IM +validations +validity/IM +validness/M +valise/SM +valley/SM +valor/M +valorous/Y +valuable/MS +valuate/DSG +valuation/CAMS +value's +value/CAGSD +valueless +valuer/SM +valve/DSMG +valveless +valvular +vamoose/DSG +vamp/AMDGS +vampire/SM +van/SM +vanadium/M +vandal/SM +vandalism/M +vandalize/DSG +vane/MS +vanguard/MS +vanilla/SM +vanish/JDSG +vanity/SM +vanned +vanning +vanquish/ZGDRS +vanquisher/M +vantage/SM +vape/GDS +vapid/YP +vapidity/M +vapidness/M +vapor/SM +vaporization/M +vaporize/DRSZG +vaporizer/M +vaporous +vaporware +vapory +vaquero/MS +var/S +variability/IM +variable/ISM +variably/I +variance/SM +variant/MS +variate/NX +variation/M +varicolored +varicose +varied/U +variegate/DSGN +variegation/M +varietal/SM +variety/SM +various/Y +varlet/SM +varmint/MS +varnish/GMDS +varnished/U +varsity/SM +vary/DSG +varying/U +vascular +vase/MS +vasectomy/SM +vasoconstriction +vasomotor +vassal/SM +vassalage/M +vast/MRYTSP +vastness/M +vat/SM +vatted +vatting +vaudeville/M +vaudevillian/MS +vault/SMDRZG +vaulter/M +vaulting/M +vaunt/SMDG +vb +veal/M +vector/SGMD +veejay/SM +veep/MS +veer/MDGS +veg/M +vegan/SM +veganism +vegeburger/S +veges +vegetable/SM +vegetarian/SM +vegetarianism/M +vegetate/GNVDS +vegetation/M +vegged +vegges +veggie/SM +veggieburger/S +vegging +vehemence/M +vehemency/M +vehement/Y +vehicle/MS +vehicular +veil's +veil/UDGS +vein/MDGS +vela +velar/SM +veld/MS +vellum/M +velocipede/MS +velocity/SM +velodrome/S +velour/MS +velum/M +velvet/M +velveteen/M +velvety +venal/Y +venality/M +venation/M +vend/DGS +vendetta/SM +vendible +vendor/MS +veneer/MDGS +venerability/M +venerable +venerate/DSGN +veneration/M +venereal +vengeance/M +vengeful/AY +venial +venireman/M +veniremen +venison/M +venom/M +venomous/Y +venous +vent's +vent/DGS +ventilate/GNDS +ventilation/M +ventilator/SM +ventral +ventricle/SM +ventricular +ventriloquism/M +ventriloquist/SM +ventriloquy/M +venture/DSMG +venturesome/PY +venturesomeness/M +venturous/PY +venturousness/M +venue/ASM +veracious/Y +veracity/M +veranda/SM +verb/KMS +verbal/MYS +verbalization/M +verbalize/GDS +verbatim +verbena/SM +verbiage/MS +verbose/Y +verbosity/M +verboten +verdant/Y +verdict/SM +verdigris/GMDS +verdure/M +verge's +verge/FDSG +verger/MS +verifiable/U +verification/M +verified/U +verify/DSNG +verily +verisimilitude/M +veritable +veritably +verity/SM +vermicelli/M +vermiculite/M +vermiform +vermilion/M +vermin/M +verminous +vermouth/M +vernacular/MS +vernal +vernier/SM +veronica/M +verruca/SM +verrucae +versa +versatile +versatility/M +verse/AFNGMSDX +versed/U +versification/M +versifier/M +versify/ZGNDRS +version/AFIMS +versioned +versioning +verso/SM +versus +vert/A +vertebra/M +vertebrae +vertebral +vertebrate/IMS +vertex/MS +vertical/MYS +vertices +vertiginous +vertigo/M +verve/M +very/RT +vesicle/SM +vesicular +vesiculate +vesper/MS +vessel/MS +vest's +vest/ILDGS +vestal/MS +vestibule/MS +vestige/SM +vestigial/Y +vesting/M +vestment/IMS +vestry/SM +vestryman/M +vestrymen +vet/SM +vetch/MS +veteran/SM +veterinarian/MS +veterinary/SM +veto/MDG +vetoes +vetted +vetting +vex/GDS +vexation/SM +vexatious/Y +vhf +vi +via +viability/M +viable +viably +viaduct/SM +vial/MS +viand/SM +vibe/MS +vibes/M +vibraharp/SM +vibrancy/M +vibrant/Y +vibraphone/MS +vibraphonist/MS +vibrate/GNDSX +vibration/M +vibrato/MS +vibrator/SM +vibratory +viburnum/SM +vicar/SM +vicarage/SM +vicarious/YP +vicariousness/M +vice/CMS +viced +vicegerent/SM +vicennial +viceregal +viceroy/MS +vichyssoise/M +vicing +vicinity/M +vicious/YP +viciousness/M +vicissitude/SM +victim/MS +victimization/M +victimize/GDS +victor/MS +victorious/Y +victory/SM +victual/SMDG +vicuna/MS +videlicet +video/GSMD +videocassette/SM +videoconferencing +videodisc/MS +videophone/MS +videotape/DSMG +videotex +vie/DS +view/AMDRSZG +viewer/AM +viewership/M +viewfinder/SM +viewing/SM +viewpoint/MS +vigesimal +vigil/SM +vigilance/M +vigilant/Y +vigilante/SM +vigilantism/M +vigilantist/M +vignette/DSMG +vignettist/MS +vigor/M +vigorous/Y +vii +viii +viking/MS +vile/YTPR +vileness/M +vilification/M +vilify/DSNG +villa/SM +village/RSMZ +villager/M +villain/SM +villainous +villainy/SM +villein/SM +villeinage/M +villi +villus/M +vim/M +vinaigrette/M +vincible/I +vindicate/XDSGN +vindication/M +vindicator/MS +vindictive/PY +vindictiveness/M +vine/MS +vinegar/M +vinegary +vineyard/MS +vino/M +vinous +vintage/MS +vintner/MS +vinyl/SM +viol/MBS +viola/SM +violable/I +violate/GNDSX +violation/M +violator/SM +violence/M +violent/Y +violet/MS +violin/MS +violincello/S +violinist/SM +violist/MS +violoncellist/SM +violoncello/MS +viper/SM +viperous +virago/M +viragoes +viral +vireo/SM +virgin/MS +virginal/SM +virginity/M +virgule/MS +virile +virility/M +virologist/SM +virology/M +virtual/Y +virtualization +virtue/SM +virtuosity/M +virtuoso/M +virtuous/YP +virtuousness/M +virulence/M +virulent/Y +virus/MS +visa/MDSG +visage/MS +viscera +visceral/Y +viscid +viscose/M +viscosity/M +viscount/SM +viscountcy/SM +viscountess/MS +viscous +viscus/M +vise/ACMGDS +visibility/IM +visible/I +visibly/I +vision/KGDSM +visionary/SM +visit's +visit/ASGD +visitant/MS +visitation/MS +visitor/MS +visor/SM +vista/SM +visual/SMY +visualization/SM +visualize/DRSZG +visualizer/M +vita/M +vitae +vital/SY +vitality/M +vitalization/AM +vitalize/CAGSD +vitals/M +vitamin/MS +vitiate/GNDS +vitiation/M +viticulture/M +viticulturist/MS +vitreous +vitrifaction/M +vitrification/M +vitrify/GNDS +vitrine/SM +vitriol/M +vitriolic +vitriolically +vittles/M +vituperate/GNVDS +vituperation/M +viva/MS +vivace +vivacious/PY +vivaciousness/M +vivacity/M +vivaria +vivarium/SM +vivid/RYTP +vividness/M +vivify/ADSG +viviparous +vivisect/DGS +vivisection/M +vivisectional +vivisectionist/SM +vixen/SM +vixenish/Y +viz +vizier/SM +vlf +vocab +vocable/MS +vocabulary/SM +vocal/SMY +vocalic +vocalist/SM +vocalization/MS +vocalize/DSG +vocation/FIKASM +vocational/Y +vocative/MS +vociferate/DSGN +vociferation/M +vociferous/YP +vociferousness/M +vodka/SM +vogue/SM +voguish +voice/IDSMG +voiced/U +voiceless/PY +voicelessness/M +voicemail/SM +void/MDSGB +voila +voile/M +vol/S +volatile +volatility/M +volatilize/DSG +volcanic +volcano/M +volcanoes +vole/MS +volition/M +volitional +volley/GSMD +volleyball/MS +volt/AMS +voltage/MS +voltaic +voltmeter/SM +volubility/M +voluble +volubly +volume/SM +voluminous/YP +voluminousness/M +voluntarily/I +voluntarism/M +voluntary/SM +volunteer/SGMD +volunteerism/M +voluptuary/SM +voluptuous/PY +voluptuousness/M +volute/SM +vomit/SMDG +voodoo/GSMD +voodooism/M +voracious/PY +voraciousness/M +voracity/M +vortex/MS +votary/SM +vote's +vote/CGVDS +voter/SM +vouch/DRSZG +voucher/M +vouchsafe/DSG +vow/SGMD +vowel/SM +voyage/MZGDRS +voyager/M +voyageur/SM +voyeur/MS +voyeurism/M +voyeuristic +vulcanization/M +vulcanize/GDS +vulgar/RYT +vulgarian/MS +vulgarism/MS +vulgarity/SM +vulgarization/M +vulgarize/ZGDRS +vulgarizer/M +vulnerabilities +vulnerability/IM +vulnerable/I +vulnerably/I +vulpine +vulture/SM +vulturous +vulva/M +vulvae +vuvuzela/MS +vying +w/DNXTGVJ +wabbit/S +wack/MRTS +wackiness/M +wacko/SM +wacky/RPT +wad/SZGMDR +wadded +wadding/M +waddle/DSMG +wade/MS +wader/M +waders/M +wadge/S +wadi/MS +wafer/SM +waffle/MZGDRS +waffler/M +waft/MDGS +wag/SZGMDR +wage/MS +waged/U +wager/ZGMDR +wagerer/M +wagged +waggery/SM +wagging +waggish/YP +waggishness/M +waggle/MGDS +wagon/ZSMR +wagoner/M +wagtail/SM +waif/MS +wail/MDRZGS +wailer/M +wailing/M +wain/MS +wainscot/SJMDG +wainscoting/M +wainwright/MS +waist/SM +waistband/MS +waistcoat/MS +waistline/MS +wait/MDRZGS +waiter/M +waiting/M +waitperson/MS +waitress/MS +waitstaff/M +waive/DRSZG +waiver/M +wake/MGJDS +wakeful/PY +wakefulness/M +waken/GSD +waldo/S +waldoes +wale/MGDS +walk/MDRZGS +walkabout/S +walkaway/MS +walker/M +walkies +walking/M +walkout/SM +walkover/MS +walkway/SM +wall/MDGS +wallaby/SM +wallah +wallahs +wallboard/M +wallet/MS +walleye/DSM +wallflower/MS +wallop/MDSJG +walloping/M +wallow/MDSG +wallpaper/SMDG +wally/S +walnut/MS +walrus/MS +waltz/ZGMDRS +waltzer/M +wampum/M +wan/GPDY +wand/MS +wander/DRSJZG +wanderer/M +wanderings/M +wanderlust/SM +wane/MS +wangle/MZGDRS +wangler/M +wank/DRZGS +wanna +wannabe/SM +wannabee/S +wanner +wanness/M +wannest +want/MDGS +wanted/U +wanton/MDYSPG +wantonness/M +wapiti/MS +war/SM +warble/MZGDRS +warbler/M +warbonnet/SM +ward/AMDGS +warden/MS +warder/MS +wardress/S +wardrobe/SM +wardroom/SM +ware/MS +warehouse/DSMG +warez +warfare/M +warhead/MS +warhorse/SM +warily/U +wariness/UM +warlike +warlock/MS +warlord/MS +warm/PDRYHZTGS +warmblooded +warmer/M +warmhearted/P +warmheartedness/M +warmish +warmness/M +warmonger/SMG +warmongering/M +warmth/M +warn/JDGS +warning/M +warp/MDGS +warpaint +warpath/M +warpaths +warplane/MS +warrant/GMDS +warranted/U +warranty/DSMG +warred +warren/MS +warring +warrior/SM +warship/SM +wart/MS +warthog/SM +wartime/M +warty/TR +wary/UPRT +was +wasabi +wash/BJMDRSZG +washable/SM +washbasin/SM +washboard/SM +washbowl/SM +washcloth/M +washcloths +washed/U +washer/M +washerwoman/M +washerwomen +washing/M +washout/MS +washrag/MS +washroom/MS +washstand/SM +washtub/MS +washy/TR +wasn't +wasp/MS +waspish/YP +waspishness/M +wassail/SMDG +wast +wastage/M +waste/DRSMZG +wastebasket/MS +wasteful/PY +wastefulness/M +wasteland/SM +wastepaper/M +waster/M +wastewater +wastrel/SM +watch/BZGMDRS +watchable/U +watchband/MS +watchdog/SM +watcher/M +watchful/YP +watchfulness/M +watchmaker/MS +watchmaking/M +watchman/M +watchmen +watchstrap/S +watchtower/SM +watchword/MS +water/GSMD +waterbed/MS +waterbird/SM +waterboard/MDJSG +waterboarding/M +waterborne +watercolor/MS +watercourse/SM +watercraft/M +watercress/M +waterfall/SM +waterfowl/SM +waterfront/MS +waterhole/SM +wateriness/M +waterlily/SM +waterline/MS +waterlogged +watermark/MDGS +watermelon/SM +watermill/MS +waterproof/SMDG +waterproofing/M +waters/M +watershed/MS +waterside/MS +waterspout/SM +watertight +waterway/MS +waterwheel/SM +waterworks/M +watery/PTR +watt/MS +wattage/M +wattle/MGDS +wave/MZGDRS +waveband/S +waveform +wavelength/M +wavelengths +wavelet/SM +wavelike +waver/ZGMDR +waverer/M +wavering/Y +waviness/M +wavy/PRT +wax/GMDNS +waxiness/M +waxwing/SM +waxwork/SM +waxy/RPT +way/SM +waybill/SM +wayfarer/MS +wayfaring/SM +waylaid +waylay/RSZG +waylayer/M +wayside/SM +wayward/PY +waywardness/M +wazoo/S +we +we'd +we'll +we're +we've +weak/PNRYXT +weaken/DRZG +weakener/M +weakfish/MS +weakish +weakling/SM +weakness/MS +weal/MHS +wealth/M +wealthiness/M +wealthy/TRP +wean/DGS +weapon/MS +weaponize/GDS +weaponless +weaponry/M +wear/MRBJSZG +wearable/U +wearer/M +wearied/U +wearily +weariness/M +wearisome/Y +weary/TGDRSP +weasel/MDYSG +weather/SMDG +weatherboard/SG +weathercock/MS +weathering/M +weatherization/M +weatherize/DSG +weatherman/M +weathermen +weatherperson/MS +weatherproof/GSD +weatherstrip/S +weatherstripped +weatherstripping/M +weave/DRSMZG +weaver/M +weaving/M +web/SM +webbed +webbing/M +webcam/MS +webcast/SMG +webfeet +webfoot/M +webinar/SM +webisode/MS +weblog/MS +webmaster/SM +webmistress/MS +website/SM +wed/AS +wedded/A +wedder +wedding/SM +wedge/DSMG +wedgie/MS +wedlock/M +wee/RSMT +weed/MDRSZG +weeder/M +weedkiller/S +weedless +weedy/TR +weeing +week/MYS +weekday/SM +weekend/SZGMDR +weekly/SM +weeknight/SM +ween/DSG +weenie/MTRS +weensy/RT +weeny +weep/MRJSZG +weeper/M +weepie +weepy/TRSM +weevil/MS +weft/MS +weigh's +weigh/AGD +weighbridge/S +weighs/A +weight/MDSJG +weighted/U +weightily +weightiness/M +weightless/YP +weightlessness/M +weightlifter/MS +weightlifting/M +weighty/PTR +weir/MS +weird/PTRY +weirdie/MS +weirdness/M +weirdo/MS +welcome/MGDS +weld/MDRBSZG +welder/M +welfare/M +welkin/M +well/MDPSG +wellhead/SM +wellie +wellington/MS +wellness/M +wellspring/MS +welly/S +welsh/ZGDRS +welsher/M +welt/MDRSZG +welter/GMD +welterweight/SM +wen/M +wench/MS +wend/DSG +went +wept +were +weren't +werewolf/M +werewolves +west/M +westbound +westerly/SM +western/SZMR +westerner/M +westernization/M +westernize/GDS +westernmost +westward/S +wet/SMYP +wetback/SM +wetland/SM +wetness/M +wetter/SM +wettest +wetting +wetware/S +whack/SJZGMDR +whacker/M +whale/DRSMZG +whaleboat/MS +whalebone/M +whaler/M +whaling/M +wham/MS +whammed +whamming +whammy/SM +wharf/M +wharves +what/MS +whatchamacallit/MS +whatever +whatnot/M +whatshername +whatshisname +whatsit/S +whatsoever +wheal/SM +wheat/MN +wheatgerm +wheatmeal +whee +wheedle/DRSZG +wheedler/M +wheel/SMDRG +wheelbarrow/SM +wheelbase/SM +wheelchair/SM +wheelhouse/MS +wheelie/SM +wheelwright/MS +wheeze/DSMG +wheezily +wheeziness/M +wheezy/PRT +whelk/SMD +whelm/SDG +whelp/SMDG +when/MS +whence +whenever +whensoever +where/SM +whereabouts/M +whereas +whereat +whereby +wherefore/MS +wherein +whereof +whereon +wheresoever +whereto +whereupon +wherever +wherewith +wherewithal/M +wherry/SM +whet/S +whether +whetstone/SM +whetted +whetting +whew +whey/M +which +whichever +whiff/SMDG +whiffletree/MS +while/DSMG +whilom +whilst +whim/MS +whimper/MDGS +whimsical/Y +whimsicality/M +whimsy/SM +whine/DRSMZG +whiner/M +whinge/DRSZG +whingeing +whinny/GDSM +whiny/RT +whip/MS +whipcord/M +whiplash/MS +whipped +whipper/MS +whippersnapper/MS +whippet/MS +whipping/SM +whippletree/SM +whippoorwill/MS +whipsaw/MDGS +whir/MS +whirl/SMDG +whirligig/MS +whirlpool/MS +whirlwind/MS +whirlybird/SM +whirred +whirring +whisk/SMDRZG +whisker/MD +whiskery +whiskey/MS +whiskys +whisper/MDRSZG +whisperer/M +whist/M +whistle/MZGDRS +whistler/M +whit/MDNRSXTGJ +white/SPM +whitebait +whiteboard/S +whitecap/SM +whitefish/MS +whitehead/MS +whiten/ZGDRJ +whitener/M +whiteness/M +whitening/M +whiteout/SM +whitetail/MS +whitewall/SM +whitewash/MDSG +whitewater/M +whitey/SM +whither +whiting/M +whitish +whittle/ZGDRS +whittler/M +whiz/M +whizkid/M +whizzbang/MS +whizzed +whizzes +whizzing +who'd +who'll +who're +who've +who/M +whoa +whodunit/MS +whoever +whole/SMP +wholefood/S +wholegrain +wholehearted/YP +wholeheartedness/M +wholemeal +wholeness/M +wholesale/MZGDRS +wholesaler/M +wholesome/UP +wholesomely +wholesomeness/UM +wholewheat +wholly +whom +whomever +whomsoever +whoop/SMDRZG +whoopee/S +whooper/M +whoosh/MDSG +whop/S +whopped +whopper/SM +whopping +whore/SMG +whorehouse/MS +whoreish +whorish +whorl/SMD +whose +whoso +whosoever +whup/S +whupped +whupping +why'd +why/M +whys +wick/MDRSZ +wicked/TPRY +wickedness/M +wicker/M +wickerwork/M +wicket/SM +wide/YTRP +widemouthed +widen/SDRZG +widener/M +wideness/M +widescreen/MS +widespread +widget/S +widow/SMDRZG +widower/M +widowhood/M +width/M +widths +wield/SDRZG +wielder/M +wiener/SM +wienie/SM +wife/MY +wifeless +wig/SM +wigeon/M +wigged +wigging +wiggle/DRSMZG +wiggler/M +wiggly/TR +wight/SM +wiglet/SM +wigwag/SM +wigwagged +wigwagging +wigwam/SM +wiki/MS +wild/MRYSTP +wildcard/MS +wildcat/MS +wildcatted +wildcatter/MS +wildcatting +wildebeest/MS +wilderness/MS +wildfire/MS +wildflower/SM +wildfowl/M +wildlife/M +wildness/M +wilds/M +wile/MGDS +wiliness/M +will/MDS +willful/PY +willfulness/M +willies/M +willing/UPY +willingness/UM +williwaw/MS +willow/SM +willowy +willpower/M +willy/S +wilt/MDSG +wily/RTP +wimp/MDSG +wimpish +wimple/DSMG +wimpy/RT +win/SGMD +wince/DSMG +winch/MDSG +wind's +wind/UASG +windbag/SM +windblown +windbreak/SZMR +windbreaker/M +windburn/MD +windcheater/S +windchill/M +winded +winder/SM +windfall/MS +windflower/MS +windily +windiness/M +winding's +windjammer/SM +windlass/MS +windless +windmill/MDGS +window/SMDG +windowless +windowpane/SM +windowsill/SM +windpipe/MS +windproof +windrow/SM +windscreen/SM +windshield/SM +windsock/MS +windstorm/MS +windsurf/ZGDRS +windsurfer/M +windsurfing/M +windswept +windup/SM +windward/M +windy/RTP +wine/MS +wineglass/MS +winegrower/MS +winemaker/MS +winery/SM +wing/MDRZG +wingding/MS +wingless +winglike +wingnut/SM +wingspan/MS +wingspread/SM +wingtip/SM +wink/MDRSZG +winker/M +winkle/DSMG +winnable/U +winner/SM +winning/MYS +winnow/ZGSDR +winnower/M +wino/MS +winsome/YTRP +winsomeness/M +winter/GSMD +wintergreen/M +winterize/GDS +wintertime/M +wintry/TR +winy/RT +wipe/MZGDRS +wiper/M +wire's +wire/AGDS +wired/S +wirehair/MS +wireless/MS +wiretap/MS +wiretapped +wiretapper/SM +wiretapping/M +wiriness/M +wiring/M +wiry/RTP +wisdom/M +wise/MYTGDRS +wiseacre/SM +wisecrack/MDSG +wiseguy/S +wish/MDRSZG +wishbone/SM +wisher/M +wishful/Y +wishlist's +wisp/MS +wispy/RT +wist +wisteria/SM +wistful/YP +wistfulness/M +wit/SM +witch/MDSG +witchcraft/M +witchery/M +with +withal +withdraw/SG +withdrawal/MS +withdrawn +withdrew +withe/DRSMZG +wither/JGD +withering/Y +withers/M +withheld +withhold/SG +withholding/M +within/M +without +withstand/GS +withstood +witless/PY +witlessness/M +witness/MDSG +wits/M +witted +witter/SGD +witticism/SM +wittily +wittiness/M +witting/UY +witty/RPT +wive/GDS +wiz +wizard/SMY +wizardry/M +wizened +wk/Y +woad/M +wobble/MGDS +wobbliness/M +wobbly/RTP +wodge/S +woe/SM +woebegone +woeful/YP +woefuller +woefullest +woefulness/M +wog/S +wok/SMN +woke +wold/MS +wolf/MDSG +wolfhound/SM +wolfish +wolfram/M +wolverine/SM +wolves +woman/M +womanhood/M +womanish +womanize/DRSZG +womanizer/M +womankind/M +womanlike/M +womanliness/M +womanly/RPT +womb/MS +wombat/MS +womble/S +women/M +womenfolk/SM +womenfolks/M +won't +won/M +wonder/MDGLS +wonderful/YP +wonderfulness/M +wondering/Y +wonderland/MS +wonderment/M +wondrous/Y +wonk/MS +wonky/TR +wont/MD +wonted/U +woo/SZGDR +wood/MDNSG +woodbine/M +woodblock/MS +woodcarver/MS +woodcarving/SM +woodchuck/MS +woodcock/SM +woodcraft/M +woodcut/SM +woodcutter/SM +woodcutting/M +wooden/RYTP +woodenness/M +woodiness/M +woodland/SM +woodlice +woodlot/SM +woodlouse +woodman/M +woodmen +woodpecker/MS +woodpile/SM +woods/M +woodshed/SM +woodsiness/M +woodsman/M +woodsmen +woodsy/RTP +woodwind/MS +woodwork/MRZG +woodworker/M +woodworking/M +woodworm/S +woody/TPRSM +wooer/M +woof/MDRSZG +woofer/M +wool/MNX +woolen/M +woolgathering/M +wooliness +woolliness/M +woolly/RSMPT +woozily +wooziness/M +woozy/TRP +wop/S! +word's +word/ADSG +wordage/M +wordbook/SM +wordily +wordiness/M +wording/SM +wordless/Y +wordplay/M +wordsmith +wordsmiths +wordy/TPR +wore +work's +work/ADJSG +workable/U +workaday +workaholic/SM +workaround/S +workbasket/S +workbench/MS +workbook/MS +workday/SM +worker/MS +workfare/M +workflow/MS +workforce/M +workhorse/SM +workhouse/SM +working's +workingman/M +workingmen +workings/M +workingwoman/M +workingwomen +workload/MS +workman/M +workmanlike +workmanship/M +workmate/S +workmen +workout/SM +workplace/MS +workroom/MS +works/M +worksheet/MS +workshop/MS +workshy +workstation/MS +worktable/MS +worktop/S +workup/MS +workweek/SM +world/SM +worldlier +worldliness/UM +worldly/UTP +worldview/SM +worldwide +worm/MDSG +wormhole/MS +wormwood/M +wormy/TR +worn/U +worried/Y +worrier/M +worriment/M +worrisome +worry/ZGDRSMJ +worrying/Y +worrywart/SM +worse/M +worsen/DSG +worship/ZGSMDR +worshiper/M +worshipful +worst/SGMD +worsted/M +wort/M +worth/M +worthies +worthily/U +worthiness/UM +worthless/PY +worthlessness/M +worthwhile +worthy's +worthy/UPRT +wot +wotcha +would've +would/S +wouldn't +wouldst +wound/SGMDR +wove/A +woven/AU +wow/SGMD +wpm +wrack/GSMD +wraith/M +wraiths +wrangle/DRSMZGJ +wrangler/M +wrap's +wrap/US +wraparound/SM +wrapped/U +wrapper/SM +wrapping/MS +wrasse/MS +wrath/M +wrathful/Y +wreak/SGD +wreath/MDSG +wreathe +wreaths +wreck/SZGMDR +wreckage/M +wrecker/M +wren/MS +wrench/MDSG +wrest/SGMD +wrestle/MZGDRS +wrestler/M +wrestling/M +wretch/MS +wretched/TPRY +wretchedness/M +wriggle/MZGDRS +wriggler/M +wriggly +wright/MS +wring/SZGMR +wringer/M +wrinkle/MGDS +wrinkled/U +wrinkly/TRSM +wrist/SM +wristband/MS +wristwatch/MS +writ/MRBJSZG +write/S +writer/M +writhe/MGDS +writing/M +written/AU +wrong/STGMPDRY +wrongdoer/SM +wrongdoing/SM +wrongful/PY +wrongfulness/M +wrongheaded/YP +wrongheadedness/M +wrongness/M +wrote/A +wroth +wrought +wrung +wry/Y +wryer +wryest +wryness/M +wt +wunderkind/S +wurst/SM +wuss/MS +wussy/RSMT +x +xci +xcii +xciv +xcix +xcvi +xcvii +xenon/M +xenophobe/MS +xenophobia/M +xenophobic +xerographic +xerography/M +xerox/MDSG +xi/SM +xii +xiii +xiv +xix +xor +xref/S +xterm/M +xv +xvi +xvii +xviii +xx +xxi +xxii +xxiii +xxiv +xxix +xxv +xxvi +xxvii +xxviii +xxx +xxxi +xxxii +xxxiii +xxxiv +xxxix +xxxv +xxxvi +xxxvii +xxxviii +xylem/M +xylene +xylophone/SM +xylophonist/MS +y'all +y/F +ya +yacht/SMDG +yachting/M +yachtsman/M +yachtsmen +yachtswoman/M +yachtswomen +yahoo/SM +yak/SM +yakked +yakking +yam/SM +yammer/SZGMDR +yammerer/M +yang/M +yank/MDSG +yap/SM +yapped +yapping +yard/MS +yardage/MS +yardarm/MS +yardman/M +yardmaster/MS +yardmen +yardstick/MS +yarmulke/SM +yarn/MS +yarrow/M +yashmak/S +yaw/SGMD +yawl/MS +yawn/MDRSZG +yawner/M +yaws/M +yd +ye/RST +yea/SM +yeah/M +yeahs +year/MYS +yearbook/MS +yearling/MS +yearlong +yearly/SM +yearn/GSJD +yearning/M +yeast/SM +yeasty/RT +yegg/MS +yell/MDSG +yellow/MDRTGPS +yellowhammer/S +yellowish +yellowness/M +yellowy +yelp/MDSG +yen/SM +yeoman/M +yeomanry/M +yeomen +yep/SM +yes/MS +yeshiva/SM +yessed +yessing +yesterday/MS +yesteryear/M +yet +yeti/MS +yew/SM +yid/S +yield/JSGMD +yikes +yin/M +yip/SM +yipe +yipped +yippee +yipping +yo +yob/S +yobbo/S +yodel/SMDRZG +yodeler/M +yoga/M +yogi/MS +yogic +yogurt/SM +yoke's +yoke/UGDS +yokel/SM +yolk/MDS +yon +yonder +yonks +yore/M +you'd +you'll +you're +you've +you/SMH +young/TMR +youngish +youngster/MS +your/S +yourself +yourselves +youth/M +youthful/YP +youthfulness/M +youths +yow +yowl/MDSG +yr/S +ytterbium/M +yttrium/M +yuan/M +yucca/SM +yuck +yucky/TR +yuk/SM +yukked +yukking +yukky +yule/M +yuletide/M +yum +yummy/TR +yup/SM +yuppie/MS +yuppify/GDS +yurt/MS +z/DNXTGJ +zaniness/M +zany/RSMPT +zap/SM +zapped +zapper/MS +zapping +zappy +zeal/M +zealot/MS +zealotry/M +zealous/YP +zealousness/M +zebra/SM +zebu/MS +zed/SM +zeitgeist/SM +zenith/M +zeniths +zenned +zeolite/S +zephyr/MS +zeppelin/MS +zero/MDHSG +zeroes +zest/MS +zestful/YP +zestfulness/M +zesty/RT +zeta/MS +zigzag/SM +zigzagged +zigzagging +zilch/M +zillion/MS +zinc/MS +zincked +zincking +zine/S +zinfandel/M +zing/MDRZG +zinger/M +zingy/RT +zinnia/MS +zip's +zip/US +zipped/U +zipper/MDGS +zipping/U +zippy/TR +zircon/MS +zirconium/M +zit/SM +zither/MS +zloty/SM +zlotys +zodiac/MS +zodiacal +zombie/MS +zonal/Y +zone's +zone/AGDS +zoning/M +zonked +zoo/SM +zookeeper/SM +zoological/Y +zoologist/SM +zoology/M +zoom/MDSG +zoophyte/SM +zoophytic +zooplankton +zorch +zoster +zounds +zucchini/MS +zwieback/M +zydeco/M +zygote/SM +zygotic +zymurgy/M From 5f85ce0d813d10dd9f6c91cb58643b8b2d523713 Mon Sep 17 00:00:00 2001 From: mtail Date: Mon, 25 Feb 2019 22:23:09 -0800 Subject: [PATCH 15/34] Add a bunch of words to the custom dictionary. --- dictionaries/custom.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/dictionaries/custom.txt b/dictionaries/custom.txt index d8f0b3d0694..980ac6b1e01 100644 --- a/dictionaries/custom.txt +++ b/dictionaries/custom.txt @@ -1,11 +1,34 @@ +ACK +backend +CIDR DNS +FQDN +Grafana +HTTP +HTTP2 Istio +jitter +JWT Kubernetes MCP +multicluster +NACK namespace +namespaces +OIDC +RBAC RPC +runtime +scalability +SDS SNI +SPIFFE TCP TLS +UDP +undiscriminated +unresolved unterminated +URI URL + From 79b2e7481ab9855a8aff3c206a48756a8b4c27d2 Mon Sep 17 00:00:00 2001 From: Frank Budinsky Date: Tue, 26 Feb 2019 13:19:06 -0500 Subject: [PATCH 16/34] Document exportTo restrictions (#820) --- networking/v1alpha3/destination_rule.pb.go | 20 +++++++++++++++++--- networking/v1alpha3/destination_rule.pb.html | 20 +++++++++++++++++--- networking/v1alpha3/destination_rule.proto | 20 +++++++++++++++++--- networking/v1alpha3/service_entry.pb.go | 13 ++++++++----- networking/v1alpha3/service_entry.pb.html | 13 ++++++++----- networking/v1alpha3/service_entry.proto | 13 ++++++++----- networking/v1alpha3/virtual_service.pb.go | 7 +++++-- networking/v1alpha3/virtual_service.pb.html | 7 +++++-- networking/v1alpha3/virtual_service.proto | 7 +++++-- 9 files changed, 90 insertions(+), 30 deletions(-) diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index b3daf123578..b1de2f77b0d 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -206,9 +206,23 @@ type DestinationRule struct { // One or more named sets that represent individual versions of a // service. Traffic policies can be overridden at subset level. Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets,proto3" json:"subsets,omitempty"` - // The resolution of a DestinationRule to apply to a service occurs in the - // context of a hierarchy of namespaces. This rule controls whether those - // namespaces are allowed to select this rule. + // A list of namespaces to which this destination rule is exported. + // The resolution of a destination rule to apply to a service occurs in the + // context of a hierarchy of namespaces. Exporting a destination rule allows + // it to be included in the resolution hierarchy for services in + // other namespaces. This feature provides a mechanism for service owners + // and mesh administrators to control the visibility of destination rules + // across namespace boundaries. + // + // If no namespaces are specified then the destination rule is exported to all + // namespaces by default. + // + // The value "." is reserved and defines an export to the same namespace that + // the destination rule is declared in. Similarly, the value "*" is reserved and + // defines an export to all namespaces. + // + // NOTE: in the current release, the `exportTo` value is restricted to + // "." or "*" (i.e., the current namespace or all namespaces). ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` diff --git a/networking/v1alpha3/destination_rule.pb.html b/networking/v1alpha3/destination_rule.pb.html index 47bb4d3e92d..badb8ec90b0 100644 --- a/networking/v1alpha3/destination_rule.pb.html +++ b/networking/v1alpha3/destination_rule.pb.html @@ -321,9 +321,23 @@

DestinationRule

exportTo string[] -

The resolution of a DestinationRule to apply to a service occurs in the -context of a hierarchy of namespaces. This rule controls whether those -namespaces are allowed to select this rule.

+

A list of namespaces to which this destination rule is exported. +The resolution of a destination rule to apply to a service occurs in the +context of a hierarchy of namespaces. Exporting a destination rule allows +it to be included in the resolution hierarchy for services in +other namespaces. This feature provides a mechanism for service owners +and mesh administrators to control the visibility of destination rules +across namespace boundaries.

+ +

If no namespaces are specified then the destination rule is exported to all +namespaces by default.

+ +

The value “.” is reserved and defines an export to the same namespace that +the destination rule is declared in. Similarly, the value “*” is reserved and +defines an export to all namespaces.

+ +

NOTE: in the current release, the exportTo value is restricted to +“.” or “*” (i.e., the current namespace or all namespaces).

string[]

A list of namespaces to which this service is exported. Exporting a service -allows it to used by sidecars, gateways and virtual services defined in +allows it to be used by sidecars, gateways and virtual services defined in other namespaces. This feature provides a mechanism for service owners and mesh administrators to control the visibility of services across namespace boundaries.

@@ -398,13 +398,16 @@

ServiceEntry

namespaces by default.

The value “.” is reserved and defines an export to the same namespace that -the service is declared in, similarly the value “*” is reserved and +the service is declared in. Similarly the value “*” is reserved and defines an export to all namespaces.

-

For a Kubernetes Service the equivalent effect can be achieved by setting +

For a Kubernetes Service, the equivalent effect can be achieved by setting the annotation “networking.istio.io/exportTo” to a comma-separated list of namespace names.

+

NOTE: in the current release, the exportTo value is restricted to +“.” or “*” (i.e., the current namespace or all namespaces).

+
string[]

A list of namespaces to which this virtual service is exported. Exporting a -virtual service allows it to used by sidecars and gateways defined in +virtual service allows it to be used by sidecars and gateways defined in other namespaces. This feature provides a mechanism for service owners and mesh administrators to control the visibility of virtual services across namespace boundaries.

@@ -1749,9 +1749,12 @@

VirtualService

namespaces by default.

The value “.” is reserved and defines an export to the same namespace that -the virtual service is declared in, similarly the value “*” is reserved and +the virtual service is declared in. Similarly the value “*” is reserved and defines an export to all namespaces.

+

NOTE: in the current release, the exportTo value is restricted to +“.” or “*” (i.e., the current namespace or all namespaces).

+
istio.networking.v1alpha3.TLSSettings

Use the tlssettings to specify the tls mode to use. If the MCP server -uses Istio MTLS and shares the root CA with Pilot, specify the TLS +uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS mode as ISTIOMUTUAL.

Address of the server that will be used by the proxies for policy check calls. By using different names for mixerCheckServer and -mixerReportServer, it is possible to have one set of mixer servers handle -policy check calls while another set of mixer servers handle telemetry +mixerReportServer, it is possible to have one set of Mixer servers handle +policy check calls while another set of Mixer servers handle telemetry calls.

NOTE: Omitting mixerCheckServer while specifying mixerReportServer is @@ -297,8 +297,8 @@

MeshConfig

disablePolicyChecks bool -

Disable policy checks by the mixer service. Default -is false, i.e. mixer policy check is enabled by default.

+

Disable policy checks by the Mixer service. Default +is false, i.e. Mixer policy check is enabled by default.

policyCheckFailOpen bool -

Allow all traffic in cases when the mixer policy service cannot be reached. +

Allow all traffic in cases when the Mixer policy service cannot be reached. Default is false which means the traffic is denied when the client is unable to connect to Mixer.

@@ -316,8 +316,8 @@

MeshConfig

sidecarToTelemetrySessionAffinity bool -

Enable session affinity for envoy mixer reports so that calls from a proxy will -always target the same mixer instance.

+

Enable session affinity for Envoy Mixer reports so that calls from a proxy will +always target the same Mixer instance.

ingressService string -

Name of the kubernetes service used for the istio ingress controller.

+

Name of theKubernetes service used for the istio ingress controller.

sdsUdsPath string -

Unix Domain Socket through which envoy communicates with NodeAgent SDS to get key/cert for mTLS. +

Unix Domain Socket through which Envoy communicates with NodeAgent SDS to get key/cert for mTLS. Use secret-mount files instead of SDS if set to empty.

diff --git a/mixer/adapter/model/v1beta1/template.pb.go b/mixer/adapter/model/v1beta1/template.pb.go index 1e5424cd0d6..ac853940e78 100644 --- a/mixer/adapter/model/v1beta1/template.pb.go +++ b/mixer/adapter/model/v1beta1/template.pb.go @@ -23,7 +23,7 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -// Template provides the details of a mixer template. +// Template provides the details of a Mixer template. type Template struct { // Base64 encoded proto descriptor of the template. Descriptor_ string `protobuf:"bytes,1,opt,name=descriptor,proto3" json:"descriptor,omitempty"` diff --git a/mixer/adapter/model/v1beta1/template.proto b/mixer/adapter/model/v1beta1/template.proto index 59d2b7381dc..935e232b028 100644 --- a/mixer/adapter/model/v1beta1/template.proto +++ b/mixer/adapter/model/v1beta1/template.proto @@ -18,7 +18,7 @@ package istio.mixer.adapter.model.v1beta1; option go_package="istio.io/api/mixer/adapter/model/v1beta1"; -// Template provides the details of a mixer template. +// Template provides the details of a Mixer template. message Template { // Base64 encoded proto descriptor of the template. string descriptor = 1; diff --git a/mixer/v1/config/client/client_config.pb.go b/mixer/v1/config/client/client_config.pb.go index b6b85b74966..85f5b24cd49 100644 --- a/mixer/v1/config/client/client_config.pb.go +++ b/mixer/v1/config/client/client_config.pb.go @@ -176,13 +176,13 @@ type TransportConfig struct { // Specifies the behavior when the client is unable to connect to Mixer. // This is the mesh level policy. The default value for policy is FAIL_OPEN. NetworkFailPolicy *NetworkFailPolicy `protobuf:"bytes,4,opt,name=network_fail_policy,json=networkFailPolicy,proto3" json:"network_fail_policy,omitempty"` - // Specify refresh interval to write mixer client statistics to Envoy share + // Specify refresh interval to write Mixer client statistics to Envoy share // memory. If not specified, the interval is 10 seconds. StatsUpdateInterval *types.Duration `protobuf:"bytes,5,opt,name=stats_update_interval,json=statsUpdateInterval,proto3" json:"stats_update_interval,omitempty"` // Name of the cluster that will forward check calls to a pool of mixer // servers. Defaults to "mixer_server". By using different names for // checkCluster and reportCluster, it is possible to have one set of - // mixer servers handle check calls, while another set of mixer servers + // Mixer servers handle check calls, while another set of Mixer servers // handle report calls. // // NOTE: Any value other than the default "mixer_server" will require the @@ -191,13 +191,13 @@ type TransportConfig struct { // Name of the cluster that will forward report calls to a pool of mixer // servers. Defaults to "mixer_server". By using different names for // checkCluster and reportCluster, it is possible to have one set of - // mixer servers handle check calls, while another set of mixer servers + // Mixer servers handle check calls, while another set of Mixer servers // handle report calls. // // NOTE: Any value other than the default "mixer_server" will require the // Istio Grafana dashboards to be reconfigured to use the new name. ReportCluster string `protobuf:"bytes,7,opt,name=report_cluster,json=reportCluster,proto3" json:"report_cluster,omitempty"` - // Default attributes to forward to mixer upstream. This typically + // Default attributes to forward to Mixer upstream. This typically // includes the "source.ip" and "source.uid" attributes. These // attributes are consumed by the proxy in front of mixer. AttributesForMixerProxy *v1.Attributes `protobuf:"bytes,8,opt,name=attributes_for_mixer_proxy,json=attributesForMixerProxy,proto3" json:"attributes_for_mixer_proxy,omitempty"` @@ -295,9 +295,9 @@ type TcpClientConfig struct { // Report. This typically includes "destination.ip" and // "destination.uid" attributes. MixerAttributes *v1.Attributes `protobuf:"bytes,2,opt,name=mixer_attributes,json=mixerAttributes,proto3" json:"mixer_attributes,omitempty"` - // If set to true, disables mixer check calls. + // If set to true, disables Mixer check calls. DisableCheckCalls bool `protobuf:"varint,3,opt,name=disable_check_calls,json=disableCheckCalls,proto3" json:"disable_check_calls,omitempty"` - // If set to true, disables mixer check calls. + // If set to true, disables Mixer check calls. DisableReportCalls bool `protobuf:"varint,4,opt,name=disable_report_calls,json=disableReportCalls,proto3" json:"disable_report_calls,omitempty"` // Quota specifications to generate quota requirements. // It applies on the new TCP connections. diff --git a/mixer/v1/config/client/client_config.proto b/mixer/v1/config/client/client_config.proto index d5f0c603a98..27568888f20 100644 --- a/mixer/v1/config/client/client_config.proto +++ b/mixer/v1/config/client/client_config.proto @@ -114,14 +114,14 @@ message TransportConfig { // This is the mesh level policy. The default value for policy is FAIL_OPEN. NetworkFailPolicy network_fail_policy = 4; - // Specify refresh interval to write mixer client statistics to Envoy share + // Specify refresh interval to write Mixer client statistics to Envoy share // memory. If not specified, the interval is 10 seconds. google.protobuf.Duration stats_update_interval = 5; // Name of the cluster that will forward check calls to a pool of mixer // servers. Defaults to "mixer_server". By using different names for // checkCluster and reportCluster, it is possible to have one set of - // mixer servers handle check calls, while another set of mixer servers + // Mixer servers handle check calls, while another set of Mixer servers // handle report calls. // // NOTE: Any value other than the default "mixer_server" will require the @@ -131,14 +131,14 @@ message TransportConfig { // Name of the cluster that will forward report calls to a pool of mixer // servers. Defaults to "mixer_server". By using different names for // checkCluster and reportCluster, it is possible to have one set of - // mixer servers handle check calls, while another set of mixer servers + // Mixer servers handle check calls, while another set of Mixer servers // handle report calls. // // NOTE: Any value other than the default "mixer_server" will require the // Istio Grafana dashboards to be reconfigured to use the new name. string report_cluster = 7; - // Default attributes to forward to mixer upstream. This typically + // Default attributes to forward to Mixer upstream. This typically // includes the "source.ip" and "source.uid" attributes. These // attributes are consumed by the proxy in front of mixer. Attributes attributes_for_mixer_proxy = 8; @@ -178,10 +178,10 @@ message TcpClientConfig { // "destination.uid" attributes. Attributes mixer_attributes = 2; - // If set to true, disables mixer check calls. + // If set to true, disables Mixer check calls. bool disable_check_calls = 3; - // If set to true, disables mixer check calls. + // If set to true, disables Mixer check calls. bool disable_report_calls = 4; // Quota specifications to generate quota requirements. 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 adaa67a067d..90fdffac767 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 @@ -902,7 +902,7 @@

TcpClientConfig

@@ -910,7 +910,7 @@

TcpClientConfig

@@ -986,7 +986,7 @@

TransportConfig

@@ -998,7 +998,7 @@

TransportConfig

Name of the cluster that will forward check calls to a pool of mixer servers. Defaults to “mixer_server”. By using different names for checkCluster and reportCluster, it is possible to have one set of -mixer servers handle check calls, while another set of mixer servers +Mixer servers handle check calls, while another set of Mixer servers handle report calls.

NOTE: Any value other than the default “mixer_server” will require the @@ -1013,7 +1013,7 @@

TransportConfig

Name of the cluster that will forward report calls to a pool of mixer servers. Defaults to “mixer_server”. By using different names for checkCluster and reportCluster, it is possible to have one set of -mixer servers handle check calls, while another set of mixer servers +Mixer servers handle check calls, while another set of Mixer servers handle report calls.

NOTE: Any value other than the default “mixer_server” will require the @@ -1025,7 +1025,7 @@

TransportConfig

@@ -332,9 +332,9 @@

Server

diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index 4a5877cb952..04c81cf2c50 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -232,13 +232,13 @@ message Gateway { // ``` message Server { // REQUIRED: The Port on which the proxy should listen for incoming - // connections. If using unix domain socket, use 0 as the port number, + // connections. If using Unix domain socket, use 0 as the port number, // with a valid protocol and port name, along with the bind parameter. Port port = 1; // $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 + // 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). string bind = 4; @@ -361,9 +361,9 @@ message Server { // https, and the TLS modes to use. TLSOptions tls = 3; - // The loopback IP endpoint or unix domain socket to which traffic should - // be forwarded to by default. Format should be 127.0.0.1:PORT or - // unix:///path/to/socket or unix://@foobar (Linux abstract namespace). + // The loopback IP endpoint or Unix domain socket to which traffic should + // be forwarded to by default. Format should be `127.0.0.1:PORT` or + // `unix:///path/to/socket` or `unix://@foobar` (Linux abstract namespace). string default_endpoint = 5; } diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 12464c95134..b1f3d9d3a9f 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -441,7 +441,7 @@ type ServiceEntry struct { // addresses are not supported in this field. Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"` // REQUIRED. The ports associated with the external service. If the - // Endpoints are unix domain socket addresses, there must be exactly one + // Endpoints are Unix domain socket addresses, there must be exactly one // port. Ports []*Port `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"` // Specify whether the service should be considered external to the mesh @@ -580,7 +580,7 @@ type ServiceEntry_Endpoint struct { // REQUIRED: Address associated with the network endpoint without the // port. Domain names can be used if and only if the resolution is set // to DNS, and must be fully-qualified without wildcards. Use the form - // unix:///absolute/path/to/socket for unix domain socket endpoints. + // unix:///absolute/path/to/socket for Unix domain socket endpoints. 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 diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html index 3846c14e82d..486603eafa3 100644 --- a/networking/v1alpha3/service_entry.pb.html +++ b/networking/v1alpha3/service_entry.pb.html @@ -351,7 +351,7 @@

ServiceEntry

@@ -446,7 +446,7 @@

ServiceEntry.Endpoint

REQUIRED: Address associated with the network endpoint without the port. Domain names can be used if and only if the resolution is set to DNS, and must be fully-qualified without wildcards. Use the form -unix:///absolute/path/to/socket for unix domain socket endpoints.

+unix:///absolute/path/to/socket for Unix domain socket endpoints.

diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 13510f3c3ea..a9de02c6067 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -356,7 +356,7 @@ message ServiceEntry { repeated string addresses = 2; // REQUIRED. The ports associated with the external service. If the - // Endpoints are unix domain socket addresses, there must be exactly one + // Endpoints are Unix domain socket addresses, there must be exactly one // port. repeated Port ports = 3; @@ -426,7 +426,7 @@ message ServiceEntry { // REQUIRED: Address associated with the network endpoint without the // port. Domain names can be used if and only if the resolution is set // to DNS, and must be fully-qualified without wildcards. Use the form - // unix:///absolute/path/to/socket for unix domain socket endpoints. + // unix:///absolute/path/to/socket for Unix domain socket endpoints. string address = 1; // Set of ports associated with the endpoint. The ports must be diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index e520774c021..a098aa94e49 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -49,7 +49,7 @@ // // The example below declares a Sidecar resource in the prod-us1 namespace // that accepts inbound HTTP traffic on port 9080 and forwards -// it to the attached workload listening on a unix domain socket. In the +// it to the attached workload listening on a Unix domain socket. In the // egress direction, in addition to the istio-system namespace, the sidecar // proxies only HTTP traffic bound for port 9080 for services in the // prod-us1 namespace. @@ -144,13 +144,13 @@ type Sidecar struct { 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 - // autoconfigure the sidecar based on the information about the workload + // automatically configure the sidecar based on the information about the workload // obtained from the orchestration platform (e.g., exposed ports, services, // etc.). Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress,proto3" json:"ingress,omitempty"` // Egress specifies the configuration of the sidecar for processing // outbound traffic from the attached workload to other services in the - // mesh. If omitted, Istio will autoconfigure the sidecar to be able to + // mesh. If omitted, Istio will automatically configure the sidecar to be able to // reach every service in the mesh that is visible to this namespace. Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress,proto3" json:"egress,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -216,23 +216,23 @@ func (m *Sidecar) GetEgress() []*IstioEgressListener { // traffic listener on the sidecar proxy attached to a workload. type IstioIngressListener struct { // REQUIRED. The port associated with the listener. If using - // unix domain socket, use 0 as the port number, with a valid + // Unix domain socket, use 0 as the port number, with a valid // protocol. Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` - // 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). If omitted, Istio will autoconfigure the defaults + // 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). If omitted, Istio will automatically configure the defaults // based on imported services and the workload to which this // configuration is applied to. Bind string `protobuf:"bytes,2,opt,name=bind,proto3" json:"bind,omitempty"` // When the bind address is an IP, the captureMode option dictates // how traffic to the listener is expected to be captured (or not). - // captureMode must be DEFAULT or NONE for unix domain socket binds. + // captureMode must be DEFAULT or NONE for Unix domain socket binds. CaptureMode CaptureMode `protobuf:"varint,3,opt,name=capture_mode,json=captureMode,proto3,enum=istio.networking.v1alpha3.CaptureMode" json:"capture_mode,omitempty"` - // REQUIRED: The loopback IP endpoint or unix domain socket to which + // REQUIRED: The loopback IP endpoint or Unix domain socket to which // 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 + // 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 DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -304,7 +304,7 @@ func (m *IstioIngressListener) GetDefaultEndpoint() string { // IstioEgressListener specifies the properties of an outbound traffic // listener on the sidecar proxy attached to a workload. type IstioEgressListener struct { - // The port associated with the listener. If using unix domain socket, + // The port associated with the listener. If using Unix domain socket, // use 0 as the port number, with a valid protocol. The port if // specified, will be used as the default destination port associated // with the imported hosts. If the port is omitted, Istio will infer the @@ -314,23 +314,23 @@ type IstioEgressListener struct { // listener port will be based on the listener with the most specific // port. Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` - // The ip or the unix domain socket to which the listener should be bound - // to. Port MUST be specified if bind is not empty. Format: x.x.x.x or - // unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If - // omitted, Istio will autoconfigure the defaults based on imported + // The ip or the Unix domain socket to which the listener should be bound + // to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or + // `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If + // omitted, Istio will automatically configure the defaults based on imported // services, the workload to which this configuration is applied to and // the captureMode. If captureMode is NONE, bind will default to // 127.0.0.1. Bind string `protobuf:"bytes,2,opt,name=bind,proto3" json:"bind,omitempty"` // When the bind address is an IP, the captureMode option dictates // how traffic to the listener is expected to be captured (or not). - // captureMode must be DEFAULT or NONE for unix domain socket binds. + // captureMode must be DEFAULT or NONE for Unix domain socket binds. CaptureMode CaptureMode `protobuf:"varint,3,opt,name=capture_mode,json=captureMode,proto3,enum=istio.networking.v1alpha3.CaptureMode" json:"capture_mode,omitempty"` // REQUIRED: One or more services/virtualServices exposed by the listener // in namespace/dnsName format. Publicly scoped services and // VirtualServices from remote namespaces corresponding to the specified // hosts will be imported. The service in a namespace can be a service in - // the service registry (e.g., a kubernetes or cloud foundry service) or + // the service registry (e.g., a Kubernetes or cloud foundry service) or // a service specified via ServiceEntry configuration. In addition, any // publicly scoped DestinationRule associated with the imported services // will also be imported. diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html index 172162066fd..6c92d7d1f94 100644 --- a/networking/v1alpha3/sidecar.pb.html +++ b/networking/v1alpha3/sidecar.pb.html @@ -53,7 +53,7 @@

The example below declares a Sidecar resource in the prod-us1 namespace that accepts inbound HTTP traffic on port 9080 and forwards -it to the attached workload listening on a unix domain socket. In the +it to the attached workload listening on a Unix domain socket. In the egress direction, in addition to the istio-system namespace, the sidecar proxies only HTTP traffic bound for port 9080 for services in the prod-us1 namespace.

@@ -140,7 +140,7 @@

IstioEgressListener

@@ -184,7 +184,7 @@

IstioEgressListener

in namespace/dnsName format. Publicly scoped services and VirtualServices from remote namespaces corresponding to the specified hosts will be imported. The service in a namespace can be a service in -the service registry (e.g., a kubernetes or cloud foundry service) or +the service registry (e.g., a Kubernetes or cloud foundry service) or a service specified via ServiceEntry configuration. In addition, any publicly scoped DestinationRule associated with the imported services will also be imported.

@@ -223,7 +223,7 @@

IstioIngressListener

@@ -232,9 +232,9 @@

IstioIngressListener

@@ -254,10 +254,10 @@

IstioIngressListener

@@ -293,7 +293,7 @@

Sidecar

diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index 2db96f12a93..3fd1d7da743 100644 --- a/networking/v1alpha3/sidecar.proto +++ b/networking/v1alpha3/sidecar.proto @@ -68,7 +68,7 @@ import "networking/v1alpha3/gateway.proto"; // // The example below declares a Sidecar resource in the prod-us1 namespace // that accepts inbound HTTP traffic on port 9080 and forwards -// it to the attached workload listening on a unix domain socket. In the +// it to the attached workload listening on a Unix domain socket. In the // egress direction, in addition to the istio-system namespace, the sidecar // proxies only HTTP traffic bound for port 9080 for services in the // prod-us1 namespace. @@ -110,14 +110,14 @@ message Sidecar { // Ingress specifies the configuration of the sidecar for processing // inbound traffic to the attached workload. If omitted, Istio will - // autoconfigure the sidecar based on the information about the workload + // automatically configure the sidecar based on the information about the workload // obtained from the orchestration platform (e.g., exposed ports, services, // etc.). repeated IstioIngressListener ingress = 2; // Egress specifies the configuration of the sidecar for processing // outbound traffic from the attached workload to other services in the - // mesh. If omitted, Istio will autoconfigure the sidecar to be able to + // mesh. If omitted, Istio will automatically configure the sidecar to be able to // reach every service in the mesh that is visible to this namespace. repeated IstioEgressListener egress = 3; } @@ -126,26 +126,26 @@ message Sidecar { // traffic listener on the sidecar proxy attached to a workload. message IstioIngressListener { // REQUIRED. The port associated with the listener. If using - // unix domain socket, use 0 as the port number, with a valid + // Unix domain socket, use 0 as the port number, with a valid // protocol. Port port = 1; - // 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). If omitted, Istio will autoconfigure the defaults + // 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). If omitted, Istio will automatically configure the defaults // based on imported services and the workload to which this // configuration is applied to. string bind = 2; // When the bind address is an IP, the captureMode option dictates // how traffic to the listener is expected to be captured (or not). - // captureMode must be DEFAULT or NONE for unix domain socket binds. + // captureMode must be DEFAULT or NONE for Unix domain socket binds. CaptureMode capture_mode = 3; - // REQUIRED: The loopback IP endpoint or unix domain socket to which + // REQUIRED: The loopback IP endpoint or Unix domain socket to which // 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 + // 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 string default_endpoint = 4; } @@ -153,7 +153,7 @@ message IstioIngressListener { // IstioEgressListener specifies the properties of an outbound traffic // listener on the sidecar proxy attached to a workload. message IstioEgressListener { - // The port associated with the listener. If using unix domain socket, + // The port associated with the listener. If using Unix domain socket, // use 0 as the port number, with a valid protocol. The port if // specified, will be used as the default destination port associated // with the imported hosts. If the port is omitted, Istio will infer the @@ -164,10 +164,10 @@ message IstioEgressListener { // port. Port port = 1; - // The ip or the unix domain socket to which the listener should be bound - // to. Port MUST be specified if bind is not empty. Format: x.x.x.x or - // unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If - // omitted, Istio will autoconfigure the defaults based on imported + // The ip or the Unix domain socket to which the listener should be bound + // to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or + // `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If + // omitted, Istio will automatically configure the defaults based on imported // services, the workload to which this configuration is applied to and // the captureMode. If captureMode is NONE, bind will default to // 127.0.0.1. @@ -175,14 +175,14 @@ message IstioEgressListener { // When the bind address is an IP, the captureMode option dictates // how traffic to the listener is expected to be captured (or not). - // captureMode must be DEFAULT or NONE for unix domain socket binds. + // captureMode must be DEFAULT or NONE for Unix domain socket binds. CaptureMode capture_mode = 3; // REQUIRED: One or more services/virtualServices exposed by the listener // in namespace/dnsName format. Publicly scoped services and // VirtualServices from remote namespaces corresponding to the specified // hosts will be imported. The service in a namespace can be a service in - // the service registry (e.g., a kubernetes or cloud foundry service) or + // the service registry (e.g., a Kubernetes or cloud foundry service) or // a service specified via ServiceEntry configuration. In addition, any // publicly scoped DestinationRule associated with the imported services // will also be imported. diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index e8dbbba0fbd..dc79fdf24e0 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -284,7 +284,7 @@ func (m *VirtualService) GetExportTo() []string { // // The following Kubernetes example routes all traffic by default to pods // of the reviews service with label "version: v1" (i.e., subset v1), and -// some to subset v2, in a kubernetes environment. +// some to subset v2, in a Kubernetes environment. // // ```yaml // apiVersion: networking.istio.io/v1alpha3 diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html index ccb2621298e..c55e804f1fd 100644 --- a/networking/v1alpha3/virtual_service.pb.html +++ b/networking/v1alpha3/virtual_service.pb.html @@ -216,7 +216,7 @@

Destination

The following Kubernetes example routes all traffic by default to pods of the reviews service with label “version: v1” (i.e., subset v1), and -some to subset v2, in a kubernetes environment.

+some to subset v2, in a Kubernetes environment.

apiVersion: networking.istio.io/v1alpha3
 kind: VirtualService
diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto
index a05b190e76b..dadf6fe195f 100644
--- a/networking/v1alpha3/virtual_service.proto
+++ b/networking/v1alpha3/virtual_service.proto
@@ -212,7 +212,7 @@ message VirtualService {
 //
 // The following Kubernetes example routes all traffic by default to pods
 // of the reviews service with label "version: v1" (i.e., subset v1), and
-// some to subset v2, in a kubernetes environment.
+// some to subset v2, in a Kubernetes environment.
 //
 // ```yaml
 // apiVersion: networking.istio.io/v1alpha3
diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go
index 331e46b523c..1feea86699b 100644
--- a/policy/v1beta1/cfg.pb.go
+++ b/policy/v1beta1/cfg.pb.go
@@ -672,7 +672,7 @@ func (m *Instance) GetAttributeBindings() map[string]string {
 // Each adapter implementation defines its own `params` proto.
 //
 // In the following example we define a `metrics` handler for the `prometheus` adapter.
-// The example is in the form of a kubernetes resource:
+// The example is in the form of a Kubernetes resource:
 // * The `metadata.name` is the name of the handler
 // * The `kind` refers to the adapter name
 // * The `spec` block represents adapter-specific configuration as well as the connection information
@@ -720,7 +720,7 @@ func (m *Instance) GetAttributeBindings() map[string]string {
 // ---
 // ```
 type Handler struct {
-	// Required. Must be unique in the entire mixer configuration. Used by [Actions][istio.policy.v1beta1.Action.handler]
+	// Required. Must be unique in the entire Mixer configuration. Used by [Actions][istio.policy.v1beta1.Action.handler]
 	// to refer to this handler.
 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	// Required. The name of the compiled in adapter this handler instantiates. For referencing non compiled-in
@@ -1625,17 +1625,17 @@ func (m *OAuth) GetEndpointParams() map[string]string {
 	return nil
 }
 
-// Mutual let operator specify tls config for mixer as client if mtls is used to
+// Mutual let operator specify TLS configuration for Mixer as client if mutual TLS is used to
 // secure connection to adapter backend.
 type Mutual struct {
-	// The path to the file holding the private key for mtls. If omitted, the
-	// default mixer private key will be used.
+	// The path to the file holding the private key for mutual TLS. If omitted, the
+	// default Mixer private key will be used.
 	PrivateKey string `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
-	// The path to the file holding client certificate for mtls. If omitted, the
-	// default mixer certificates will be used.
+	// The path to the file holding client certificate for mutual TLS. If omitted, the
+	// default Mixer certificates will be used.
 	ClientCertificate string `protobuf:"bytes,2,opt,name=client_certificate,json=clientCertificate,proto3" json:"client_certificate,omitempty"`
 	// The path to the file holding additional CA certificates that are needed to
-	// verify the presented adapter certificates. By default mixer should already
+	// verify the presented adapter certificates. By default Mixer should already
 	// include Istio CA certificates and system certificates in cert pool.
 	CaCertificates string `protobuf:"bytes,3,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"`
 	// Indicates the name of adapter backend server which is useful for routing with
diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto
index f3ee542ee31..a32277c9eea 100644
--- a/policy/v1beta1/cfg.proto
+++ b/policy/v1beta1/cfg.proto
@@ -270,7 +270,7 @@ message Instance {
 // Each adapter implementation defines its own `params` proto.
 //
 // In the following example we define a `metrics` handler for the `prometheus` adapter.
-// The example is in the form of a kubernetes resource:
+// The example is in the form of a Kubernetes resource:
 // * The `metadata.name` is the name of the handler
 // * The `kind` refers to the adapter name
 // * The `spec` block represents adapter-specific configuration as well as the connection information
@@ -318,7 +318,7 @@ message Instance {
 // ---
 // ```
 message Handler {
-  // Required. Must be unique in the entire mixer configuration. Used by [Actions][istio.policy.v1beta1.Action.handler]
+  // Required. Must be unique in the entire Mixer configuration. Used by [Actions][istio.policy.v1beta1.Action.handler]
   // to refer to this handler.
   string name = 1;
 
@@ -514,19 +514,19 @@ message OAuth {
   map endpoint_params = 5;
 }
 
-// Mutual let operator specify tls config for mixer as client if mtls is used to
+// Mutual let operator specify TLS configuration for Mixer as client if mutual TLS is used to
 // secure connection to adapter backend.
 message Mutual {
-  // The path to the file holding the private key for mtls. If omitted, the
-  // default mixer private key will be used.
+  // The path to the file holding the private key for mutual TLS. If omitted, the
+  // default Mixer private key will be used.
   string private_key = 1;
 
-  // The path to the file holding client certificate for mtls. If omitted, the
-  // default mixer certificates will be used.
+  // The path to the file holding client certificate for mutual TLS. If omitted, the
+  // default Mixer certificates will be used.
   string client_certificate = 2;
 
   // The path to the file holding additional CA certificates that are needed to
-  // verify the presented adapter certificates. By default mixer should already
+  // verify the presented adapter certificates. By default Mixer should already
   // include Istio CA certificates and system certificates in cert pool.
   string ca_certificates = 3;
 
diff --git a/policy/v1beta1/istio.policy.v1beta1.pb.html b/policy/v1beta1/istio.policy.v1beta1.pb.html
index 945156d22ce..b5ad9f807d4 100644
--- a/policy/v1beta1/istio.policy.v1beta1.pb.html
+++ b/policy/v1beta1/istio.policy.v1beta1.pb.html
@@ -267,7 +267,7 @@ 

Connection

DNSName

-

An instance field of type DNSName denotes that the expression for the field must evalaute to +

An instance field of type DNSName denotes that the expression for the field must evaluate to ValueType.DNS_NAME

Objects of type DNSName are also passed to the adapters during request-time for the instance fields of @@ -336,7 +336,7 @@

DirectHttpResponse

Duration

-

An instance field of type Duration denotes that the expression for the field must evalaute to +

An instance field of type Duration denotes that the expression for the field must evaluate to ValueType.DURATION

Objects of type Duration are also passed to the adapters during request-time for the instance fields of @@ -365,7 +365,7 @@

Duration

EmailAddress

DO NOT USE !! Under Development -An instance field of type EmailAddress denotes that the expression for the field must evalaute to +An instance field of type EmailAddress denotes that the expression for the field must evaluate to ValueType.EMAIL_ADDRESS

Objects of type EmailAddress are also passed to the adapters during request-time for the instance fields of @@ -430,7 +430,7 @@

Handler

Each adapter implementation defines its own params proto.

In the following example we define a metrics handler for the prometheus adapter. -The example is in the form of a kubernetes resource: +The example is in the form of a Kubernetes resource: * The metadata.name is the name of the handler * The kind refers to the adapter name * The spec block represents adapter-specific configuration as well as the connection information

@@ -490,7 +490,7 @@

Handler

@@ -845,7 +845,7 @@

HttpStatusCode

IPAddress

-

An instance field of type IPAddress denotes that the expression for the field must evalaute to +

An instance field of type IPAddress denotes that the expression for the field must evaluate to ValueType.IP_ADDRESS

Objects of type IPAddress are also passed to the adapters during request-time for the instance fields of @@ -968,7 +968,7 @@

Instance

Mutual

-

Mutual let operator specify tls config for mixer as client if mtls is used to +

Mutual let operator specify TLS configuration for Mixer as client if mutual TLS is used to secure connection to adapter backend.

disableCheckCalls bool -

If set to true, disables mixer check calls.

+

If set to true, disables Mixer check calls.

disableReportCalls bool -

If set to true, disables mixer check calls.

+

If set to true, disables Mixer check calls.

statsUpdateInterval google.protobuf.Duration -

Specify refresh interval to write mixer client statistics to Envoy share +

Specify refresh interval to write Mixer client statistics to Envoy share memory. If not specified, the interval is 10 seconds.

attributesForMixerProxy istio.mixer.v1.Attributes -

Default attributes to forward to mixer upstream. This typically +

Default attributes to forward to Mixer upstream. This typically includes the “source.ip” and “source.uid” attributes. These attributes are consumed by the proxy in front of mixer.

diff --git a/networking/v1alpha3/envoy_filter.pb.html b/networking/v1alpha3/envoy_filter.pb.html index d9a36cb8523..3144a0d15d2 100644 --- a/networking/v1alpha3/envoy_filter.pb.html +++ b/networking/v1alpha3/envoy_filter.pb.html @@ -1,6 +1,6 @@ --- title: Envoy Filter -description: Configuration affecting insertion of custom envoy filters. +description: Configuration affecting insertion of custom Envoy filters. location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html layout: protoc-gen-docs generator: protoc-gen-docs diff --git a/networking/v1alpha3/envoy_filter.proto b/networking/v1alpha3/envoy_filter.proto index 4b9d040c11e..6f271d1f0a9 100644 --- a/networking/v1alpha3/envoy_filter.proto +++ b/networking/v1alpha3/envoy_filter.proto @@ -17,7 +17,7 @@ syntax = "proto3"; import "google/protobuf/struct.proto"; // $title: Envoy Filter -// $description: Configuration affecting insertion of custom envoy filters. +// $description: Configuration affecting insertion of custom Envoy filters. // $location: https://istio.io/docs/reference/config/networking/v1alpha3/envoy-filter.html // `EnvoyFilter` describes Envoy proxy-specific filters that can be used to diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 77785897fac..b66d6fca1c2 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -369,12 +369,12 @@ func (m *Gateway) GetSelector() map[string]string { // ``` type Server struct { // REQUIRED: The Port on which the proxy should listen for incoming - // connections. If using unix domain socket, use 0 as the port number, + // connections. If using Unix domain socket, use 0 as the port number, // with a valid protocol and port name, along with the bind parameter. Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // $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 + // 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). Bind string `protobuf:"bytes,4,opt,name=bind,proto3" json:"bind,omitempty"` // REQUIRED. A list of hosts exposed by this gateway. At least one @@ -396,9 +396,9 @@ type Server struct { // these options to control if all http requests should be redirected to // https, and the TLS modes to use. Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` - // The loopback IP endpoint or unix domain socket to which traffic should - // be forwarded to by default. Format should be 127.0.0.1:PORT or - // unix:///path/to/socket or unix://@foobar (Linux abstract namespace). + // The loopback IP endpoint or Unix domain socket to which traffic should + // be forwarded to by default. Format should be `127.0.0.1:PORT` or + // `unix:///path/to/socket` or `unix://@foobar` (Linux abstract namespace). DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html index b5cc69a3885..a01ff9d04cc 100644 --- a/networking/v1alpha3/gateway.pb.html +++ b/networking/v1alpha3/gateway.pb.html @@ -292,7 +292,7 @@

Server

Port

REQUIRED: The Port on which the proxy should listen for incoming -connections. If using unix domain socket, use 0 as the port number, +connections. If using Unix domain socket, use 0 as the port number, with a valid protocol and port name, along with the bind parameter.

defaultEndpoint string -

The loopback IP endpoint or unix domain socket to which traffic should -be forwarded to by default. Format should be 127.0.0.1:PORT or -unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

+

The loopback IP endpoint or Unix domain socket to which traffic should +be forwarded to by default. Format should be 127.0.0.1:PORT or +unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

Port[]

REQUIRED. The ports associated with the external service. If the -Endpoints are unix domain socket addresses, there must be exactly one +Endpoints are Unix domain socket addresses, there must be exactly one port.

port Port -

The port associated with the listener. If using unix domain socket, +

The port associated with the listener. If using Unix domain socket, use 0 as the port number, with a valid protocol. The port if specified, will be used as the default destination port associated with the imported hosts. If the port is omitted, Istio will infer the @@ -156,10 +156,10 @@

IstioEgressListener

bind string -

The ip or the unix domain socket to which the listener should be bound -to. Port MUST be specified if bind is not empty. Format: x.x.x.x or -unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If -omitted, Istio will autoconfigure the defaults based on imported +

The ip or the Unix domain socket to which the listener should be bound +to. Port MUST be specified if bind is not empty. Format: x.x.x.x or +unix:///path/to/uds or unix://@foobar (Linux abstract namespace). If +omitted, Istio will automatically configure the defaults based on imported services, the workload to which this configuration is applied to and the captureMode. If captureMode is NONE, bind will default to 127.0.0.1.

@@ -172,7 +172,7 @@

IstioEgressListener

When the bind address is an IP, the captureMode option dictates how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

+captureMode must be DEFAULT or NONE for Unix domain socket binds.

Port

REQUIRED. The port associated with the listener. If using -unix domain socket, use 0 as the port number, with a valid +Unix domain socket, use 0 as the port number, with a valid protocol.

bind string -

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). If omitted, Istio will autoconfigure the defaults +

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). If omitted, Istio will automatically configure the defaults based on imported services and the workload to which this configuration is applied to.

@@ -246,7 +246,7 @@

IstioIngressListener

When the bind address is an IP, the captureMode option dictates how traffic to the listener is expected to be captured (or not). -captureMode must be DEFAULT or NONE for unix domain socket binds.

+captureMode must be DEFAULT or NONE for Unix domain socket binds.

defaultEndpoint string -

REQUIRED: The loopback IP endpoint or unix domain socket to which +

REQUIRED: The loopback IP endpoint or Unix domain socket to which 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 +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

Ingress specifies the configuration of the sidecar for processing inbound traffic to the attached workload. If omitted, Istio will -autoconfigure the sidecar based on the information about the workload +automatically configure the sidecar based on the information about the workload obtained from the orchestration platform (e.g., exposed ports, services, etc.).

@@ -305,7 +305,7 @@

Sidecar

Egress specifies the configuration of the sidecar for processing outbound traffic from the attached workload to other services in the -mesh. If omitted, Istio will autoconfigure the sidecar to be able to +mesh. If omitted, Istio will automatically configure the sidecar to be able to reach every service in the mesh that is visible to this namespace.

name string -

Required. Must be unique in the entire mixer configuration. Used by Actions +

Required. Must be unique in the entire Mixer configuration. Used by Actions to refer to this handler.

@@ -984,8 +984,8 @@

Mutual

@@ -993,8 +993,8 @@

Mutual

@@ -1003,7 +1003,7 @@

Mutual

@@ -1241,7 +1241,7 @@

Rule.HeaderOperationTemplate.Ope

TimeStamp

-

An instance field of type TimeStamp denotes that the expression for the field must evalaute to +

An instance field of type TimeStamp denotes that the expression for the field must evaluate to ValueType.TIMESTAMP

Objects of type TimeStamp are also passed to the adapters during request-time for the instance fields of @@ -1370,7 +1370,7 @@

Tls.AuthHeader

Uri

DO NOT USE !! Under Development -An instance field of type Uri denotes that the expression for the field must evalaute to +An instance field of type Uri denotes that the expression for the field must evaluate to ValueType.URI

Objects of type Uri are also passed to the adapters during request-time for the instance fields of @@ -1398,7 +1398,7 @@

Uri

Value

-

An instance field of type Value denotes that the expression for the field is of dynamic type and can evalaute to any +

An instance field of type Value denotes that the expression for the field is of dynamic type and can evaluate to any ValueType enum values. For example, when authoring an instance configuration for a template that has a field data of type istio.policy.v1beta1.Value, both of the following expressions are valid data: source.ip | ip("0.0.0.0"), data: request.id | ""; diff --git a/policy/v1beta1/type.pb.go b/policy/v1beta1/type.pb.go index 41c9dfa9f84..bf965feec4e 100644 --- a/policy/v1beta1/type.pb.go +++ b/policy/v1beta1/type.pb.go @@ -28,7 +28,7 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -// An instance field of type Value denotes that the expression for the field is of dynamic type and can evalaute to any +// An instance field of type Value denotes that the expression for the field is of dynamic type and can evaluate to any // [ValueType][istio.policy.v1beta1.ValueType] enum values. For example, when // authoring an instance configuration for a template that has a field `data` of type `istio.policy.v1beta1.Value`, // both of the following expressions are valid `data: source.ip | ip("0.0.0.0")`, `data: request.id | ""`; @@ -421,7 +421,7 @@ func _Value_OneofSizer(msg proto.Message) (n int) { return n } -// An instance field of type IPAddress denotes that the expression for the field must evalaute to +// An instance field of type IPAddress denotes that the expression for the field must evaluate to // [ValueType.IP_ADDRESS][istio.policy.v1beta1.ValueType.IP_ADDRESS] // // Objects of type IPAddress are also passed to the adapters during request-time for the instance fields of @@ -470,7 +470,7 @@ func (m *IPAddress) GetValue() []byte { return nil } -// An instance field of type Duration denotes that the expression for the field must evalaute to +// An instance field of type Duration denotes that the expression for the field must evaluate to // [ValueType.DURATION][istio.policy.v1beta1.ValueType.DURATION] // // Objects of type Duration are also passed to the adapters during request-time for the instance fields of @@ -519,7 +519,7 @@ func (m *Duration) GetValue() *types.Duration { return nil } -// An instance field of type TimeStamp denotes that the expression for the field must evalaute to +// An instance field of type TimeStamp denotes that the expression for the field must evaluate to // [ValueType.TIMESTAMP][istio.policy.v1beta1.ValueType.TIMESTAMP] // // Objects of type TimeStamp are also passed to the adapters during request-time for the instance fields of @@ -568,7 +568,7 @@ func (m *TimeStamp) GetValue() *types.Timestamp { return nil } -// An instance field of type DNSName denotes that the expression for the field must evalaute to +// An instance field of type DNSName denotes that the expression for the field must evaluate to // [ValueType.DNS_NAME][istio.policy.v1beta1.ValueType.DNS_NAME] // // Objects of type DNSName are also passed to the adapters during request-time for the instance fields of @@ -618,7 +618,7 @@ func (m *DNSName) GetValue() string { } // DO NOT USE !! Under Development -// An instance field of type EmailAddress denotes that the expression for the field must evalaute to +// An instance field of type EmailAddress denotes that the expression for the field must evaluate to // [ValueType.EMAIL_ADDRESS][istio.policy.v1beta1.ValueType.EMAIL_ADDRESS] // // Objects of type EmailAddress are also passed to the adapters during request-time for the instance fields of @@ -668,7 +668,7 @@ func (m *EmailAddress) GetValue() string { } // DO NOT USE !! Under Development -// An instance field of type Uri denotes that the expression for the field must evalaute to +// An instance field of type Uri denotes that the expression for the field must evaluate to // [ValueType.URI][istio.policy.v1beta1.ValueType.URI] // // Objects of type Uri are also passed to the adapters during request-time for the instance fields of diff --git a/policy/v1beta1/type.proto b/policy/v1beta1/type.proto index d6027d1ca4d..3f7161eeec7 100644 --- a/policy/v1beta1/type.proto +++ b/policy/v1beta1/type.proto @@ -26,7 +26,7 @@ option go_package="istio.io/api/policy/v1beta1"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; -// An instance field of type Value denotes that the expression for the field is of dynamic type and can evalaute to any +// An instance field of type Value denotes that the expression for the field is of dynamic type and can evaluate to any // [ValueType][istio.policy.v1beta1.ValueType] enum values. For example, when // authoring an instance configuration for a template that has a field `data` of type `istio.policy.v1beta1.Value`, // both of the following expressions are valid `data: source.ip | ip("0.0.0.0")`, `data: request.id | ""`; @@ -69,7 +69,7 @@ message Value { } } -// An instance field of type IPAddress denotes that the expression for the field must evalaute to +// An instance field of type IPAddress denotes that the expression for the field must evaluate to // [ValueType.IP_ADDRESS][istio.policy.v1beta1.ValueType.IP_ADDRESS] // // Objects of type IPAddress are also passed to the adapters during request-time for the instance fields of @@ -79,7 +79,7 @@ message IPAddress { bytes value = 1; } -// An instance field of type Duration denotes that the expression for the field must evalaute to +// An instance field of type Duration denotes that the expression for the field must evaluate to // [ValueType.DURATION][istio.policy.v1beta1.ValueType.DURATION] // // Objects of type Duration are also passed to the adapters during request-time for the instance fields of @@ -89,7 +89,7 @@ message Duration { google.protobuf.Duration value = 1; } -// An instance field of type TimeStamp denotes that the expression for the field must evalaute to +// An instance field of type TimeStamp denotes that the expression for the field must evaluate to // [ValueType.TIMESTAMP][istio.policy.v1beta1.ValueType.TIMESTAMP] // // Objects of type TimeStamp are also passed to the adapters during request-time for the instance fields of @@ -99,7 +99,7 @@ message TimeStamp { google.protobuf.Timestamp value = 1; } -// An instance field of type DNSName denotes that the expression for the field must evalaute to +// An instance field of type DNSName denotes that the expression for the field must evaluate to // [ValueType.DNS_NAME][istio.policy.v1beta1.ValueType.DNS_NAME] // // Objects of type DNSName are also passed to the adapters during request-time for the instance fields of @@ -110,7 +110,7 @@ message DNSName { } // DO NOT USE !! Under Development -// An instance field of type EmailAddress denotes that the expression for the field must evalaute to +// An instance field of type EmailAddress denotes that the expression for the field must evaluate to // [ValueType.EMAIL_ADDRESS][istio.policy.v1beta1.ValueType.EMAIL_ADDRESS] // // Objects of type EmailAddress are also passed to the adapters during request-time for the instance fields of @@ -121,7 +121,7 @@ message EmailAddress { } // DO NOT USE !! Under Development -// An instance field of type Uri denotes that the expression for the field must evalaute to +// An instance field of type Uri denotes that the expression for the field must evaluate to // [ValueType.URI][istio.policy.v1beta1.ValueType.URI] // // Objects of type Uri are also passed to the adapters during request-time for the instance fields of From e613e358ae8d4f331dd48904b0a2b176e11bf7f5 Mon Sep 17 00:00:00 2001 From: Dan Richelson Date: Thu, 28 Feb 2019 07:25:01 -0800 Subject: [PATCH 18/34] Proxy config: Add tls_certs_to_watch field (#824) * Proxy config: Add tls_certs_to_watch field * Address PR comment --- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 9 + mesh/v1alpha1/proxy.pb.go | 183 +++++++++++++------- mesh/v1alpha1/proxy.proto | 4 + proto.lock | 6 + python/istio_api/mesh/v1alpha1/proxy_pb2.py | 19 +- 5 files changed, 157 insertions(+), 64 deletions(-) diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 9be1af96825..081c136ba0e 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -974,6 +974,15 @@

ProxyConfig

+ + + + + diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index 0056c3caf6c..e3b8a29849c 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -440,7 +440,10 @@ type ProxyConfig struct { // The mode used to redirect inbound traffic to Envoy. InterceptionMode ProxyConfig_InboundInterceptionMode `protobuf:"varint,18,opt,name=interception_mode,json=interceptionMode,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode" json:"interception_mode,omitempty"` // Tracing configuration to be used by the proxy. - Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"` + Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"` + // Absolute path to certs/key files used for istio mTLS. If omitted, defaults to + // /etc/certs/cert-chain.pem,/etc/certs/key.pem,/etc/certs/root-cert.pem + TlsCertsToWatch []string `protobuf:"bytes,21,rep,name=tls_certs_to_watch,json=tlsCertsToWatch,proto3" json:"tls_certs_to_watch,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -622,6 +625,13 @@ func (m *ProxyConfig) GetTracing() *Tracing { return nil } +func (m *ProxyConfig) GetTlsCertsToWatch() []string { + if m != nil { + return m.TlsCertsToWatch + } + return nil +} + func init() { proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) @@ -634,63 +644,65 @@ func init() { func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptor_5efecd978cf3d28d) } var fileDescriptor_5efecd978cf3d28d = []byte{ - // 890 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xe3, 0xc4, - 0x17, 0xad, 0xfb, 0xdb, 0xcd, 0x9f, 0x9b, 0x36, 0x75, 0x67, 0xf7, 0xd7, 0x75, 0x23, 0x28, 0xa1, - 0x48, 0x90, 0x05, 0xe4, 0x68, 0xbb, 0x12, 0xe2, 0x05, 0x44, 0xd2, 0x76, 0xd5, 0x48, 0x6d, 0x37, - 0x72, 0x53, 0x09, 0xfa, 0x32, 0x9a, 0xd8, 0xb7, 0xf1, 0x68, 0x9d, 0x19, 0x6b, 0x3c, 0x0e, 0x64, - 0xdf, 0xf8, 0x6a, 0x48, 0x48, 0x3c, 0xf2, 0x11, 0x50, 0x9f, 0xf8, 0x18, 0xc8, 0x33, 0x76, 0x36, - 0xa0, 0xee, 0xf6, 0x2d, 0x73, 0xee, 0x39, 0x67, 0xee, 0x1f, 0xdf, 0x09, 0xec, 0xcf, 0x31, 0x8b, - 0xfb, 0x8b, 0x17, 0x2c, 0x49, 0x63, 0xf6, 0xa2, 0x9f, 0x2a, 0xf9, 0xcb, 0xd2, 0x4f, 0x95, 0xd4, - 0x92, 0x3c, 0xe1, 0x99, 0xe6, 0xd2, 0x2f, 0x08, 0x7e, 0x45, 0xe8, 0x1c, 0xcc, 0xa4, 0x9c, 0x25, - 0xd8, 0x37, 0x94, 0x69, 0x7e, 0xdb, 0x8f, 0x72, 0xc5, 0x34, 0x97, 0xc2, 0x8a, 0x0e, 0x7f, 0xdb, - 0x84, 0xfa, 0x44, 0xb1, 0x90, 0x8b, 0x19, 0xf9, 0x0e, 0x6a, 0x6f, 0x79, 0xfa, 0x86, 0x0b, 0xcf, - 0xe9, 0x3a, 0xbd, 0xd6, 0xd1, 0x67, 0xfe, 0x3d, 0x8e, 0x7e, 0xc9, 0xf6, 0x6f, 0x0c, 0xf5, 0x6c, - 0x23, 0x28, 0x45, 0xe4, 0x15, 0x34, 0x13, 0x3e, 0x8b, 0x75, 0xa6, 0x31, 0xf5, 0x36, 0x8d, 0xc3, - 0xe7, 0x1f, 0x74, 0x38, 0xaf, 0xd8, 0x67, 0x1b, 0xc1, 0x3b, 0x69, 0xe7, 0x10, 0x6a, 0xd6, 0x9b, - 0x78, 0x50, 0x67, 0x51, 0xa4, 0x30, 0xcb, 0x4c, 0x46, 0xcd, 0xa0, 0x3a, 0x76, 0x7e, 0x75, 0xa0, - 0xb9, 0x92, 0xbf, 0x9f, 0x47, 0x3e, 0x85, 0x2d, 0x16, 0x86, 0x98, 0x65, 0x54, 0xcb, 0x37, 0x28, - 0x4c, 0x5a, 0xcd, 0xa0, 0x65, 0xb1, 0x49, 0x01, 0x91, 0x3d, 0xa8, 0x65, 0x18, 0xe6, 0x0a, 0xbd, - 0xff, 0x75, 0x9d, 0x5e, 0x23, 0x28, 0x4f, 0xe4, 0x13, 0x68, 0x85, 0x2c, 0x44, 0xa5, 0x69, 0xca, - 0x74, 0xec, 0x3d, 0x32, 0x4a, 0xb0, 0xd0, 0x98, 0xe9, 0x78, 0xd8, 0x80, 0x9a, 0x56, 0xc5, 0xf1, - 0xf0, 0xf7, 0x26, 0xb4, 0xc6, 0xc5, 0x24, 0x8e, 0xa5, 0xb8, 0xe5, 0x33, 0x23, 0x35, 0xbf, 0xac, - 0xd4, 0x29, 0xa5, 0x06, 0x2a, 0xa4, 0x05, 0x61, 0xca, 0x05, 0x53, 0x4b, 0x4b, 0xb0, 0x59, 0x81, - 0x85, 0x0c, 0xe1, 0x0b, 0xd8, 0xc9, 0x50, 0x2d, 0x78, 0x88, 0x34, 0x4c, 0xf2, 0x4c, 0xa3, 0x32, - 0xd9, 0x35, 0x83, 0x76, 0x09, 0x1f, 0x5b, 0x94, 0xfc, 0x00, 0xed, 0x48, 0x31, 0x2e, 0x68, 0x35, - 0x57, 0x93, 0x68, 0xeb, 0x68, 0xdf, 0xb7, 0x83, 0xf7, 0xab, 0xc1, 0xfb, 0x27, 0x25, 0x21, 0xd8, - 0x36, 0x82, 0xea, 0x48, 0xae, 0xc0, 0x4b, 0x99, 0x42, 0xa1, 0x69, 0x16, 0xe7, 0x3a, 0x92, 0x3f, - 0xaf, 0x79, 0x3d, 0x7e, 0xc8, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xca, 0xf4, 0x2b, 0xd8, 0x8d, - 0x78, 0x16, 0xca, 0x05, 0xaa, 0x25, 0xad, 0x66, 0x53, 0x33, 0x15, 0xb8, 0xab, 0xc0, 0xa0, 0x1c, - 0xd2, 0x35, 0x3c, 0x7b, 0x47, 0x56, 0x78, 0xab, 0x30, 0x8b, 0x69, 0x84, 0x09, 0x5b, 0x7a, 0xf5, - 0x07, 0x12, 0x18, 0x6e, 0x7a, 0x4e, 0xf0, 0xff, 0x95, 0x3a, 0xb0, 0xe2, 0x93, 0x42, 0x4b, 0x9e, - 0x43, 0xdb, 0x7e, 0x99, 0xab, 0x04, 0x1a, 0x45, 0x02, 0x46, 0xb2, 0x6d, 0x23, 0x55, 0x06, 0x43, - 0xd8, 0x09, 0xa5, 0x10, 0x18, 0x6a, 0xaa, 0xf9, 0x1c, 0x65, 0xae, 0xbd, 0xe6, 0x43, 0xa5, 0xb7, - 0x4b, 0xc5, 0xc4, 0x0a, 0xc8, 0xd7, 0x40, 0x32, 0xcd, 0x74, 0x16, 0xd1, 0x3c, 0x4a, 0x57, 0x57, - 0x82, 0xad, 0xd9, 0x46, 0xae, 0xa3, 0xb4, 0xba, 0x71, 0x00, 0x1f, 0xa3, 0x58, 0xc8, 0x25, 0x9d, - 0xa3, 0x56, 0x3c, 0xcc, 0x68, 0x35, 0xee, 0x4a, 0xf8, 0xd4, 0x08, 0x3b, 0x86, 0x74, 0x61, 0x39, - 0x57, 0x96, 0x52, 0x59, 0xf4, 0xc0, 0x35, 0xeb, 0x4f, 0x59, 0x34, 0xe7, 0x82, 0xa6, 0x52, 0x69, - 0xaf, 0xd5, 0x75, 0x7a, 0x8f, 0x83, 0xb6, 0xc1, 0x07, 0x05, 0x3c, 0x96, 0x4a, 0x93, 0x3e, 0xec, - 0xb2, 0x05, 0xe3, 0x09, 0x9b, 0xf2, 0x84, 0xeb, 0x25, 0x7d, 0x2b, 0x05, 0x7a, 0x5b, 0xab, 0x66, - 0xb8, 0xeb, 0xc1, 0x1b, 0x29, 0x90, 0x44, 0xb0, 0x1f, 0x4a, 0xa1, 0x95, 0x4c, 0x68, 0x9a, 0x30, - 0x81, 0x94, 0xe5, 0x3a, 0xa6, 0xa9, 0x4c, 0x78, 0xb8, 0xf4, 0xb6, 0xbb, 0x4e, 0xaf, 0x7d, 0xf4, - 0xfc, 0xde, 0xd5, 0x1e, 0xe4, 0x3a, 0x46, 0xa1, 0x79, 0x68, 0x7a, 0x34, 0x36, 0x82, 0x60, 0xaf, - 0xf4, 0x1a, 0x17, 0x56, 0x05, 0xc3, 0xe2, 0x45, 0xc7, 0xc2, 0x3c, 0xd3, 0x72, 0x4e, 0xcb, 0x6d, - 0xb9, 0xe5, 0x09, 0x7a, 0x6d, 0xdb, 0x31, 0x1b, 0xb1, 0x0b, 0xf5, 0x8a, 0x27, 0x58, 0x94, 0x5b, - 0x74, 0x91, 0x0a, 0x36, 0x47, 0x9a, 0xa0, 0x98, 0xe9, 0xd8, 0xdb, 0xb1, 0xe5, 0x16, 0xf8, 0x25, - 0x9b, 0xe3, 0xb9, 0x41, 0x49, 0xd7, 0xac, 0x5f, 0x98, 0x2b, 0x85, 0x22, 0x5c, 0x7a, 0xae, 0x21, - 0xad, 0x43, 0x45, 0xf7, 0x6d, 0xeb, 0xa6, 0x52, 0xea, 0x4c, 0x2b, 0x96, 0x52, 0x8d, 0xf3, 0x34, - 0x61, 0x1a, 0xed, 0x46, 0xee, 0xda, 0xee, 0x1b, 0xd2, 0xb0, 0xe2, 0x4c, 0x4a, 0x8a, 0xd9, 0x50, - 0x84, 0x5d, 0x2e, 0x34, 0xaa, 0x10, 0xd3, 0xa2, 0x54, 0x3a, 0x97, 0x11, 0x7a, 0xc4, 0xb4, 0xe6, - 0xdb, 0x7b, 0x5b, 0xb3, 0xf6, 0x40, 0xf8, 0x23, 0x31, 0x95, 0xb9, 0x88, 0x46, 0x6b, 0x06, 0x17, - 0x32, 0xc2, 0xc0, 0xe5, 0xff, 0x41, 0xc8, 0x37, 0x50, 0xd7, 0xf6, 0xb9, 0xf4, 0x9e, 0x98, 0x2f, - 0xf2, 0xa3, 0x0f, 0x3d, 0xa9, 0x41, 0x45, 0x3e, 0x7c, 0x09, 0xcf, 0xde, 0x73, 0x09, 0xd9, 0x82, - 0x46, 0x70, 0x7a, 0x32, 0x0a, 0x4e, 0x8f, 0x27, 0xee, 0x06, 0x01, 0xa8, 0x4d, 0xc6, 0xc1, 0xeb, - 0x1f, 0x7f, 0x72, 0x9d, 0x2f, 0xbf, 0x87, 0xa7, 0xf7, 0x0d, 0x90, 0x34, 0xe0, 0xd1, 0xe5, 0xeb, - 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, 0xbf, 0x72, - 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, 0xbd, 0x3f, - 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0x4d, 0x94, 0xcb, - 0x3e, 0x4b, 0x79, 0xff, 0x5f, 0xff, 0x5b, 0xd3, 0x9a, 0xd9, 0xa7, 0x97, 0xff, 0x04, 0x00, 0x00, - 0xff, 0xff, 0x92, 0x7b, 0x1a, 0x92, 0xcf, 0x06, 0x00, 0x00, + // 920 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x4d, 0x6f, 0xdb, 0x36, + 0x18, 0x8e, 0xd2, 0xd6, 0x1f, 0x74, 0xe2, 0x28, 0x6c, 0x9b, 0x2a, 0xc6, 0x96, 0x79, 0x19, 0xb0, + 0xb9, 0xeb, 0x20, 0xa3, 0x29, 0x30, 0xec, 0xb2, 0x61, 0x76, 0x92, 0x22, 0x06, 0x92, 0xd4, 0x50, + 0x14, 0x6c, 0xcb, 0x85, 0xa0, 0x29, 0xc6, 0x22, 0x2a, 0x93, 0x02, 0x49, 0xb9, 0x73, 0x6f, 0xfb, + 0x6b, 0x3b, 0xed, 0xb8, 0x9f, 0x30, 0xe4, 0xb4, 0xf3, 0x7e, 0xc1, 0x40, 0x52, 0x72, 0xbd, 0x21, + 0x4d, 0x6e, 0xe6, 0xf3, 0x3e, 0xcf, 0xa3, 0xf7, 0x83, 0x2f, 0x0d, 0x76, 0x67, 0x54, 0xa5, 0xfd, + 0xf9, 0x4b, 0x9c, 0xe5, 0x29, 0x7e, 0xd9, 0xcf, 0xa5, 0xf8, 0x75, 0x11, 0xe6, 0x52, 0x68, 0x01, + 0x1f, 0x33, 0xa5, 0x99, 0x08, 0x0d, 0x21, 0xac, 0x08, 0x9d, 0xbd, 0xa9, 0x10, 0xd3, 0x8c, 0xf6, + 0x2d, 0x65, 0x52, 0x5c, 0xf7, 0x93, 0x42, 0x62, 0xcd, 0x04, 0x77, 0xa2, 0xfd, 0xdf, 0xd7, 0x41, + 0x3d, 0x96, 0x98, 0x30, 0x3e, 0x85, 0xdf, 0x83, 0xda, 0x7b, 0x96, 0xbf, 0x65, 0x3c, 0xf0, 0xba, + 0x5e, 0xaf, 0x75, 0xf0, 0x45, 0x78, 0x8b, 0x63, 0x58, 0xb2, 0xc3, 0x2b, 0x4b, 0x3d, 0x59, 0x8b, + 0x4a, 0x11, 0x7c, 0x0d, 0x9a, 0x19, 0x9b, 0xa6, 0x5a, 0x69, 0x9a, 0x07, 0xeb, 0xd6, 0xe1, 0xcb, + 0x3b, 0x1d, 0x4e, 0x2b, 0xf6, 0xc9, 0x5a, 0xf4, 0x41, 0xda, 0xd9, 0x07, 0x35, 0xe7, 0x0d, 0x03, + 0x50, 0xc7, 0x49, 0x22, 0xa9, 0x52, 0x36, 0xa3, 0x66, 0x54, 0x1d, 0x3b, 0xbf, 0x79, 0xa0, 0xb9, + 0x94, 0x7f, 0x9c, 0x07, 0x3f, 0x07, 0x1b, 0x98, 0x10, 0xaa, 0x14, 0xd2, 0xe2, 0x2d, 0xe5, 0x36, + 0xad, 0x66, 0xd4, 0x72, 0x58, 0x6c, 0x20, 0xb8, 0x03, 0x6a, 0x8a, 0x92, 0x42, 0xd2, 0xe0, 0x41, + 0xd7, 0xeb, 0x35, 0xa2, 0xf2, 0x04, 0x3f, 0x03, 0x2d, 0x82, 0x09, 0x95, 0x1a, 0xe5, 0x58, 0xa7, + 0xc1, 0x43, 0xab, 0x04, 0x0e, 0x1a, 0x63, 0x9d, 0x0e, 0x1b, 0xa0, 0xa6, 0xa5, 0x39, 0xee, 0xff, + 0xd3, 0x04, 0xad, 0xb1, 0x99, 0xc4, 0xa1, 0xe0, 0xd7, 0x6c, 0x6a, 0xa5, 0xf6, 0x97, 0x93, 0x7a, + 0xa5, 0xd4, 0x42, 0x46, 0x6a, 0x08, 0x13, 0xc6, 0xb1, 0x5c, 0x38, 0x82, 0xcb, 0x0a, 0x38, 0xc8, + 0x12, 0xbe, 0x02, 0x5b, 0x8a, 0xca, 0x39, 0x23, 0x14, 0x91, 0xac, 0x50, 0x9a, 0x4a, 0x9b, 0x5d, + 0x33, 0x6a, 0x97, 0xf0, 0xa1, 0x43, 0xe1, 0x8f, 0xa0, 0x9d, 0x48, 0xcc, 0x38, 0xaa, 0xe6, 0x6a, + 0x13, 0x6d, 0x1d, 0xec, 0x86, 0x6e, 0xf0, 0x61, 0x35, 0xf8, 0xf0, 0xa8, 0x24, 0x44, 0x9b, 0x56, + 0x50, 0x1d, 0xe1, 0x05, 0x08, 0x72, 0x2c, 0x29, 0xd7, 0x48, 0xa5, 0x85, 0x4e, 0xc4, 0xbb, 0x15, + 0xaf, 0x47, 0xf7, 0x79, 0xed, 0x38, 0xe9, 0x45, 0xa9, 0x5c, 0x9a, 0xbe, 0x00, 0xdb, 0x09, 0x53, + 0x44, 0xcc, 0xa9, 0x5c, 0xa0, 0x6a, 0x36, 0x35, 0x5b, 0x81, 0xbf, 0x0c, 0x0c, 0xca, 0x21, 0x5d, + 0x82, 0x67, 0x1f, 0xc8, 0x92, 0x5e, 0x4b, 0xaa, 0x52, 0x94, 0xd0, 0x0c, 0x2f, 0x82, 0xfa, 0x3d, + 0x09, 0x0c, 0xd7, 0x03, 0x2f, 0x7a, 0xba, 0x54, 0x47, 0x4e, 0x7c, 0x64, 0xb4, 0xf0, 0x39, 0x68, + 0xbb, 0x9b, 0xb9, 0x4c, 0xa0, 0x61, 0x12, 0xb0, 0x92, 0x4d, 0x17, 0xa9, 0x32, 0x18, 0x82, 0x2d, + 0x22, 0x38, 0xa7, 0x44, 0x23, 0xcd, 0x66, 0x54, 0x14, 0x3a, 0x68, 0xde, 0x57, 0x7a, 0xbb, 0x54, + 0xc4, 0x4e, 0x00, 0xbf, 0x01, 0x50, 0x69, 0xac, 0x55, 0x82, 0x8a, 0x24, 0x5f, 0x7e, 0x12, 0xb8, + 0x9a, 0x5d, 0xe4, 0x32, 0xc9, 0xab, 0x2f, 0x0e, 0xc0, 0xa7, 0x94, 0xcf, 0xc5, 0x02, 0xcd, 0xa8, + 0x96, 0x8c, 0x28, 0x54, 0x8d, 0xbb, 0x12, 0x3e, 0xb1, 0xc2, 0x8e, 0x25, 0x9d, 0x39, 0xce, 0x85, + 0xa3, 0x54, 0x16, 0x3d, 0xe0, 0xdb, 0xf5, 0x47, 0x38, 0x99, 0x31, 0x8e, 0x72, 0x21, 0x75, 0xd0, + 0xea, 0x7a, 0xbd, 0x47, 0x51, 0xdb, 0xe2, 0x03, 0x03, 0x8f, 0x85, 0xd4, 0xb0, 0x0f, 0xb6, 0xf1, + 0x1c, 0xb3, 0x0c, 0x4f, 0x58, 0xc6, 0xf4, 0x02, 0xbd, 0x17, 0x9c, 0x06, 0x1b, 0xcb, 0x66, 0xf8, + 0xab, 0xc1, 0x2b, 0xc1, 0x29, 0x4c, 0xc0, 0x2e, 0x11, 0x5c, 0x4b, 0x91, 0xa1, 0x3c, 0xc3, 0x9c, + 0x22, 0x5c, 0xe8, 0x14, 0xe5, 0x22, 0x63, 0x64, 0x11, 0x6c, 0x76, 0xbd, 0x5e, 0xfb, 0xe0, 0xf9, + 0xad, 0xab, 0x3d, 0x28, 0x74, 0x4a, 0xb9, 0x66, 0xc4, 0xf6, 0x68, 0x6c, 0x05, 0xd1, 0x4e, 0xe9, + 0x35, 0x36, 0x56, 0x86, 0xe1, 0x70, 0xd3, 0x31, 0x52, 0x28, 0x2d, 0x66, 0xa8, 0xdc, 0x96, 0x6b, + 0x96, 0xd1, 0xa0, 0xed, 0x3a, 0xe6, 0x22, 0x6e, 0xa1, 0x5e, 0xb3, 0x8c, 0x9a, 0x72, 0x4d, 0x17, + 0x11, 0xc7, 0x33, 0x8a, 0x32, 0xca, 0xa7, 0x3a, 0x0d, 0xb6, 0x5c, 0xb9, 0x06, 0x3f, 0xc7, 0x33, + 0x7a, 0x6a, 0x51, 0xd8, 0xb5, 0xeb, 0x47, 0x0a, 0x29, 0x29, 0x27, 0x8b, 0xc0, 0xb7, 0xa4, 0x55, + 0xc8, 0x74, 0xdf, 0xb5, 0x6e, 0x22, 0x84, 0x56, 0x5a, 0xe2, 0x1c, 0x69, 0x3a, 0xcb, 0x33, 0xac, + 0xa9, 0xdb, 0xc8, 0x6d, 0xd7, 0x7d, 0x4b, 0x1a, 0x56, 0x9c, 0xb8, 0xa4, 0xd8, 0x0d, 0xa5, 0x60, + 0x9b, 0x71, 0x4d, 0x25, 0xa1, 0xb9, 0x29, 0x15, 0xcd, 0x44, 0x42, 0x03, 0x68, 0x5b, 0xf3, 0xdd, + 0xad, 0xad, 0x59, 0x79, 0x20, 0xc2, 0x11, 0x9f, 0x88, 0x82, 0x27, 0xa3, 0x15, 0x83, 0x33, 0x91, + 0xd0, 0xc8, 0x67, 0xff, 0x43, 0xe0, 0xb7, 0xa0, 0xae, 0xdd, 0x73, 0x19, 0x3c, 0xb6, 0x37, 0xf2, + 0x93, 0xbb, 0x9e, 0xd4, 0xa8, 0x22, 0xc3, 0x17, 0x00, 0xea, 0x4c, 0x21, 0xf3, 0x58, 0x99, 0xb7, + 0x0f, 0xbd, 0xc3, 0x9a, 0xa4, 0xc1, 0xd3, 0xee, 0x83, 0x5e, 0x33, 0xda, 0xd2, 0x99, 0x3a, 0x34, + 0x81, 0x58, 0xfc, 0x64, 0xe0, 0xfd, 0x57, 0xe0, 0xd9, 0x47, 0x32, 0x82, 0x1b, 0xa0, 0x11, 0x1d, + 0x1f, 0x8d, 0xa2, 0xe3, 0xc3, 0xd8, 0x5f, 0x83, 0x00, 0xd4, 0xe2, 0x71, 0xf4, 0xe6, 0xe7, 0x5f, + 0x7c, 0xef, 0xeb, 0x1f, 0xc0, 0x93, 0xdb, 0xa6, 0x0d, 0x1b, 0xe0, 0xe1, 0xf9, 0x9b, 0xf3, 0x63, + 0x7f, 0x0d, 0xb6, 0x01, 0x38, 0xbb, 0x8c, 0x2f, 0x07, 0xa7, 0x28, 0x3e, 0xbd, 0xf0, 0x3d, 0xb8, + 0x01, 0xea, 0xa3, 0xf3, 0x93, 0xe3, 0x68, 0x14, 0xfb, 0x7f, 0xd7, 0x87, 0xbd, 0x3f, 0x6e, 0xf6, + 0xbc, 0x3f, 0x6f, 0xf6, 0xbc, 0xbf, 0x6e, 0xf6, 0xbc, 0xab, 0x8e, 0xab, 0x8a, 0x89, 0x3e, 0xce, + 0x59, 0xff, 0x3f, 0x7f, 0x72, 0x93, 0x9a, 0x5d, 0xbe, 0x57, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, + 0x65, 0x9b, 0x46, 0xaf, 0xfc, 0x06, 0x00, 0x00, } func (m *Tracing) Marshal() (dAtA []byte, err error) { @@ -985,6 +997,23 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.EnvoyMetricsServiceAddress))) i += copy(dAtA[i:], m.EnvoyMetricsServiceAddress) } + if len(m.TlsCertsToWatch) > 0 { + for _, s := range m.TlsCertsToWatch { + dAtA[i] = 0xaa + i++ + dAtA[i] = 0x1 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) } @@ -1163,6 +1192,12 @@ func (m *ProxyConfig) Size() (n int) { if l > 0 { n += 2 + l + sovProxy(uint64(l)) } + if len(m.TlsCertsToWatch) > 0 { + for _, s := range m.TlsCertsToWatch { + l = len(s) + n += 2 + l + sovProxy(uint64(l)) + } + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -2186,6 +2221,38 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } m.EnvoyMetricsServiceAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 21: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TlsCertsToWatch", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProxy + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProxy + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProxy + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TlsCertsToWatch = append(m.TlsCertsToWatch, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProxy(dAtA[iNdEx:]) diff --git a/mesh/v1alpha1/proxy.proto b/mesh/v1alpha1/proxy.proto index 576289c8add..26fbcda4c59 100644 --- a/mesh/v1alpha1/proxy.proto +++ b/mesh/v1alpha1/proxy.proto @@ -169,4 +169,8 @@ message ProxyConfig { // Tracing configuration to be used by the proxy. Tracing tracing = 19; + + // Absolute path to certs/key files used for istio mTLS. If omitted, defaults to + // /etc/certs/cert-chain.pem,/etc/certs/key.pem,/etc/certs/root-cert.pem + repeated string tls_certs_to_watch = 21; } diff --git a/proto.lock b/proto.lock index e928431dd2e..7e010444b3c 100644 --- a/proto.lock +++ b/proto.lock @@ -1360,6 +1360,12 @@ "id": 19, "name": "tracing", "type": "Tracing" + }, + { + "id": 21, + "name": "tls_certs_to_watch", + "type": "string", + "is_repeated": true } ] } diff --git a/python/istio_api/mesh/v1alpha1/proxy_pb2.py b/python/istio_api/mesh/v1alpha1/proxy_pb2.py index 00f6ff7741d..78137062c9a 100644 --- a/python/istio_api/mesh/v1alpha1/proxy_pb2.py +++ b/python/istio_api/mesh/v1alpha1/proxy_pb2.py @@ -21,7 +21,7 @@ name='mesh/v1alpha1/proxy.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xe0\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12%\n\x1d\x65nvoy_metrics_service_address\x18\x14 \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xfc\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12%\n\x1d\x65nvoy_metrics_service_address\x18\x14 \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\x12\x1a\n\x12tls_certs_to_watch\x18\x15 \x03(\t\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -46,8 +46,8 @@ ], containing_type=None, options=None, - serialized_start=1203, - serialized_end=1265, + serialized_start=1231, + serialized_end=1293, ) _sym_db.RegisterEnumDescriptor(_AUTHENTICATIONPOLICY) @@ -74,8 +74,8 @@ ], containing_type=None, options=None, - serialized_start=1150, - serialized_end=1201, + serialized_start=1178, + serialized_end=1229, ) _sym_db.RegisterEnumDescriptor(_PROXYCONFIG_INBOUNDINTERCEPTIONMODE) @@ -349,6 +349,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='tls_certs_to_watch', full_name='istio.mesh.v1alpha1.ProxyConfig.tls_certs_to_watch', index=20, + number=21, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -363,7 +370,7 @@ oneofs=[ ], serialized_start=337, - serialized_end=1201, + serialized_end=1229, ) _TRACING_ZIPKIN.containing_type = _TRACING From 4fd261a9ab87ff90521a0f1e0ab98cfc8dfb202d Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Thu, 28 Feb 2019 14:59:50 -0500 Subject: [PATCH 19/34] Revert "Proxy config: Add tls_certs_to_watch field (#824)" (#825) This reverts commit e613e358ae8d4f331dd48904b0a2b176e11bf7f5. --- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 9 - mesh/v1alpha1/proxy.pb.go | 183 +++++++------------- mesh/v1alpha1/proxy.proto | 4 - proto.lock | 6 - python/istio_api/mesh/v1alpha1/proxy_pb2.py | 19 +- 5 files changed, 64 insertions(+), 157 deletions(-) diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 081c136ba0e..9be1af96825 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -974,15 +974,6 @@

ProxyConfig

- - - - - diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index e3b8a29849c..0056c3caf6c 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -440,10 +440,7 @@ type ProxyConfig struct { // The mode used to redirect inbound traffic to Envoy. InterceptionMode ProxyConfig_InboundInterceptionMode `protobuf:"varint,18,opt,name=interception_mode,json=interceptionMode,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode" json:"interception_mode,omitempty"` // Tracing configuration to be used by the proxy. - Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"` - // Absolute path to certs/key files used for istio mTLS. If omitted, defaults to - // /etc/certs/cert-chain.pem,/etc/certs/key.pem,/etc/certs/root-cert.pem - TlsCertsToWatch []string `protobuf:"bytes,21,rep,name=tls_certs_to_watch,json=tlsCertsToWatch,proto3" json:"tls_certs_to_watch,omitempty"` + Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -625,13 +622,6 @@ func (m *ProxyConfig) GetTracing() *Tracing { return nil } -func (m *ProxyConfig) GetTlsCertsToWatch() []string { - if m != nil { - return m.TlsCertsToWatch - } - return nil -} - func init() { proto.RegisterEnum("istio.mesh.v1alpha1.AuthenticationPolicy", AuthenticationPolicy_name, AuthenticationPolicy_value) proto.RegisterEnum("istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode", ProxyConfig_InboundInterceptionMode_name, ProxyConfig_InboundInterceptionMode_value) @@ -644,65 +634,63 @@ func init() { func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptor_5efecd978cf3d28d) } var fileDescriptor_5efecd978cf3d28d = []byte{ - // 920 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x4d, 0x6f, 0xdb, 0x36, - 0x18, 0x8e, 0xd2, 0xd6, 0x1f, 0x74, 0xe2, 0x28, 0x6c, 0x9b, 0x2a, 0xc6, 0x96, 0x79, 0x19, 0xb0, - 0xb9, 0xeb, 0x20, 0xa3, 0x29, 0x30, 0xec, 0xb2, 0x61, 0x76, 0x92, 0x22, 0x06, 0x92, 0xd4, 0x50, - 0x14, 0x6c, 0xcb, 0x85, 0xa0, 0x29, 0xc6, 0x22, 0x2a, 0x93, 0x02, 0x49, 0xb9, 0x73, 0x6f, 0xfb, - 0x6b, 0x3b, 0xed, 0xb8, 0x9f, 0x30, 0xe4, 0xb4, 0xf3, 0x7e, 0xc1, 0x40, 0x52, 0x72, 0xbd, 0x21, - 0x4d, 0x6e, 0xe6, 0xf3, 0x3e, 0xcf, 0xa3, 0xf7, 0x83, 0x2f, 0x0d, 0x76, 0x67, 0x54, 0xa5, 0xfd, - 0xf9, 0x4b, 0x9c, 0xe5, 0x29, 0x7e, 0xd9, 0xcf, 0xa5, 0xf8, 0x75, 0x11, 0xe6, 0x52, 0x68, 0x01, - 0x1f, 0x33, 0xa5, 0x99, 0x08, 0x0d, 0x21, 0xac, 0x08, 0x9d, 0xbd, 0xa9, 0x10, 0xd3, 0x8c, 0xf6, - 0x2d, 0x65, 0x52, 0x5c, 0xf7, 0x93, 0x42, 0x62, 0xcd, 0x04, 0x77, 0xa2, 0xfd, 0xdf, 0xd7, 0x41, - 0x3d, 0x96, 0x98, 0x30, 0x3e, 0x85, 0xdf, 0x83, 0xda, 0x7b, 0x96, 0xbf, 0x65, 0x3c, 0xf0, 0xba, - 0x5e, 0xaf, 0x75, 0xf0, 0x45, 0x78, 0x8b, 0x63, 0x58, 0xb2, 0xc3, 0x2b, 0x4b, 0x3d, 0x59, 0x8b, - 0x4a, 0x11, 0x7c, 0x0d, 0x9a, 0x19, 0x9b, 0xa6, 0x5a, 0x69, 0x9a, 0x07, 0xeb, 0xd6, 0xe1, 0xcb, - 0x3b, 0x1d, 0x4e, 0x2b, 0xf6, 0xc9, 0x5a, 0xf4, 0x41, 0xda, 0xd9, 0x07, 0x35, 0xe7, 0x0d, 0x03, - 0x50, 0xc7, 0x49, 0x22, 0xa9, 0x52, 0x36, 0xa3, 0x66, 0x54, 0x1d, 0x3b, 0xbf, 0x79, 0xa0, 0xb9, - 0x94, 0x7f, 0x9c, 0x07, 0x3f, 0x07, 0x1b, 0x98, 0x10, 0xaa, 0x14, 0xd2, 0xe2, 0x2d, 0xe5, 0x36, - 0xad, 0x66, 0xd4, 0x72, 0x58, 0x6c, 0x20, 0xb8, 0x03, 0x6a, 0x8a, 0x92, 0x42, 0xd2, 0xe0, 0x41, - 0xd7, 0xeb, 0x35, 0xa2, 0xf2, 0x04, 0x3f, 0x03, 0x2d, 0x82, 0x09, 0x95, 0x1a, 0xe5, 0x58, 0xa7, - 0xc1, 0x43, 0xab, 0x04, 0x0e, 0x1a, 0x63, 0x9d, 0x0e, 0x1b, 0xa0, 0xa6, 0xa5, 0x39, 0xee, 0xff, - 0xd3, 0x04, 0xad, 0xb1, 0x99, 0xc4, 0xa1, 0xe0, 0xd7, 0x6c, 0x6a, 0xa5, 0xf6, 0x97, 0x93, 0x7a, - 0xa5, 0xd4, 0x42, 0x46, 0x6a, 0x08, 0x13, 0xc6, 0xb1, 0x5c, 0x38, 0x82, 0xcb, 0x0a, 0x38, 0xc8, - 0x12, 0xbe, 0x02, 0x5b, 0x8a, 0xca, 0x39, 0x23, 0x14, 0x91, 0xac, 0x50, 0x9a, 0x4a, 0x9b, 0x5d, - 0x33, 0x6a, 0x97, 0xf0, 0xa1, 0x43, 0xe1, 0x8f, 0xa0, 0x9d, 0x48, 0xcc, 0x38, 0xaa, 0xe6, 0x6a, - 0x13, 0x6d, 0x1d, 0xec, 0x86, 0x6e, 0xf0, 0x61, 0x35, 0xf8, 0xf0, 0xa8, 0x24, 0x44, 0x9b, 0x56, - 0x50, 0x1d, 0xe1, 0x05, 0x08, 0x72, 0x2c, 0x29, 0xd7, 0x48, 0xa5, 0x85, 0x4e, 0xc4, 0xbb, 0x15, - 0xaf, 0x47, 0xf7, 0x79, 0xed, 0x38, 0xe9, 0x45, 0xa9, 0x5c, 0x9a, 0xbe, 0x00, 0xdb, 0x09, 0x53, - 0x44, 0xcc, 0xa9, 0x5c, 0xa0, 0x6a, 0x36, 0x35, 0x5b, 0x81, 0xbf, 0x0c, 0x0c, 0xca, 0x21, 0x5d, - 0x82, 0x67, 0x1f, 0xc8, 0x92, 0x5e, 0x4b, 0xaa, 0x52, 0x94, 0xd0, 0x0c, 0x2f, 0x82, 0xfa, 0x3d, - 0x09, 0x0c, 0xd7, 0x03, 0x2f, 0x7a, 0xba, 0x54, 0x47, 0x4e, 0x7c, 0x64, 0xb4, 0xf0, 0x39, 0x68, - 0xbb, 0x9b, 0xb9, 0x4c, 0xa0, 0x61, 0x12, 0xb0, 0x92, 0x4d, 0x17, 0xa9, 0x32, 0x18, 0x82, 0x2d, - 0x22, 0x38, 0xa7, 0x44, 0x23, 0xcd, 0x66, 0x54, 0x14, 0x3a, 0x68, 0xde, 0x57, 0x7a, 0xbb, 0x54, - 0xc4, 0x4e, 0x00, 0xbf, 0x01, 0x50, 0x69, 0xac, 0x55, 0x82, 0x8a, 0x24, 0x5f, 0x7e, 0x12, 0xb8, - 0x9a, 0x5d, 0xe4, 0x32, 0xc9, 0xab, 0x2f, 0x0e, 0xc0, 0xa7, 0x94, 0xcf, 0xc5, 0x02, 0xcd, 0xa8, - 0x96, 0x8c, 0x28, 0x54, 0x8d, 0xbb, 0x12, 0x3e, 0xb1, 0xc2, 0x8e, 0x25, 0x9d, 0x39, 0xce, 0x85, - 0xa3, 0x54, 0x16, 0x3d, 0xe0, 0xdb, 0xf5, 0x47, 0x38, 0x99, 0x31, 0x8e, 0x72, 0x21, 0x75, 0xd0, - 0xea, 0x7a, 0xbd, 0x47, 0x51, 0xdb, 0xe2, 0x03, 0x03, 0x8f, 0x85, 0xd4, 0xb0, 0x0f, 0xb6, 0xf1, - 0x1c, 0xb3, 0x0c, 0x4f, 0x58, 0xc6, 0xf4, 0x02, 0xbd, 0x17, 0x9c, 0x06, 0x1b, 0xcb, 0x66, 0xf8, - 0xab, 0xc1, 0x2b, 0xc1, 0x29, 0x4c, 0xc0, 0x2e, 0x11, 0x5c, 0x4b, 0x91, 0xa1, 0x3c, 0xc3, 0x9c, - 0x22, 0x5c, 0xe8, 0x14, 0xe5, 0x22, 0x63, 0x64, 0x11, 0x6c, 0x76, 0xbd, 0x5e, 0xfb, 0xe0, 0xf9, - 0xad, 0xab, 0x3d, 0x28, 0x74, 0x4a, 0xb9, 0x66, 0xc4, 0xf6, 0x68, 0x6c, 0x05, 0xd1, 0x4e, 0xe9, - 0x35, 0x36, 0x56, 0x86, 0xe1, 0x70, 0xd3, 0x31, 0x52, 0x28, 0x2d, 0x66, 0xa8, 0xdc, 0x96, 0x6b, - 0x96, 0xd1, 0xa0, 0xed, 0x3a, 0xe6, 0x22, 0x6e, 0xa1, 0x5e, 0xb3, 0x8c, 0x9a, 0x72, 0x4d, 0x17, - 0x11, 0xc7, 0x33, 0x8a, 0x32, 0xca, 0xa7, 0x3a, 0x0d, 0xb6, 0x5c, 0xb9, 0x06, 0x3f, 0xc7, 0x33, - 0x7a, 0x6a, 0x51, 0xd8, 0xb5, 0xeb, 0x47, 0x0a, 0x29, 0x29, 0x27, 0x8b, 0xc0, 0xb7, 0xa4, 0x55, - 0xc8, 0x74, 0xdf, 0xb5, 0x6e, 0x22, 0x84, 0x56, 0x5a, 0xe2, 0x1c, 0x69, 0x3a, 0xcb, 0x33, 0xac, - 0xa9, 0xdb, 0xc8, 0x6d, 0xd7, 0x7d, 0x4b, 0x1a, 0x56, 0x9c, 0xb8, 0xa4, 0xd8, 0x0d, 0xa5, 0x60, - 0x9b, 0x71, 0x4d, 0x25, 0xa1, 0xb9, 0x29, 0x15, 0xcd, 0x44, 0x42, 0x03, 0x68, 0x5b, 0xf3, 0xdd, - 0xad, 0xad, 0x59, 0x79, 0x20, 0xc2, 0x11, 0x9f, 0x88, 0x82, 0x27, 0xa3, 0x15, 0x83, 0x33, 0x91, - 0xd0, 0xc8, 0x67, 0xff, 0x43, 0xe0, 0xb7, 0xa0, 0xae, 0xdd, 0x73, 0x19, 0x3c, 0xb6, 0x37, 0xf2, - 0x93, 0xbb, 0x9e, 0xd4, 0xa8, 0x22, 0xc3, 0x17, 0x00, 0xea, 0x4c, 0x21, 0xf3, 0x58, 0x99, 0xb7, - 0x0f, 0xbd, 0xc3, 0x9a, 0xa4, 0xc1, 0xd3, 0xee, 0x83, 0x5e, 0x33, 0xda, 0xd2, 0x99, 0x3a, 0x34, - 0x81, 0x58, 0xfc, 0x64, 0xe0, 0xfd, 0x57, 0xe0, 0xd9, 0x47, 0x32, 0x82, 0x1b, 0xa0, 0x11, 0x1d, - 0x1f, 0x8d, 0xa2, 0xe3, 0xc3, 0xd8, 0x5f, 0x83, 0x00, 0xd4, 0xe2, 0x71, 0xf4, 0xe6, 0xe7, 0x5f, - 0x7c, 0xef, 0xeb, 0x1f, 0xc0, 0x93, 0xdb, 0xa6, 0x0d, 0x1b, 0xe0, 0xe1, 0xf9, 0x9b, 0xf3, 0x63, - 0x7f, 0x0d, 0xb6, 0x01, 0x38, 0xbb, 0x8c, 0x2f, 0x07, 0xa7, 0x28, 0x3e, 0xbd, 0xf0, 0x3d, 0xb8, - 0x01, 0xea, 0xa3, 0xf3, 0x93, 0xe3, 0x68, 0x14, 0xfb, 0x7f, 0xd7, 0x87, 0xbd, 0x3f, 0x6e, 0xf6, - 0xbc, 0x3f, 0x6f, 0xf6, 0xbc, 0xbf, 0x6e, 0xf6, 0xbc, 0xab, 0x8e, 0xab, 0x8a, 0x89, 0x3e, 0xce, - 0x59, 0xff, 0x3f, 0x7f, 0x72, 0x93, 0x9a, 0x5d, 0xbe, 0x57, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, - 0x65, 0x9b, 0x46, 0xaf, 0xfc, 0x06, 0x00, 0x00, + // 890 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5f, 0x6f, 0xe3, 0xc4, + 0x17, 0xad, 0xfb, 0xdb, 0xcd, 0x9f, 0x9b, 0x36, 0x75, 0x67, 0xf7, 0xd7, 0x75, 0x23, 0x28, 0xa1, + 0x48, 0x90, 0x05, 0xe4, 0x68, 0xbb, 0x12, 0xe2, 0x05, 0x44, 0xd2, 0x76, 0xd5, 0x48, 0x6d, 0x37, + 0x72, 0x53, 0x09, 0xfa, 0x32, 0x9a, 0xd8, 0xb7, 0xf1, 0x68, 0x9d, 0x19, 0x6b, 0x3c, 0x0e, 0x64, + 0xdf, 0xf8, 0x6a, 0x48, 0x48, 0x3c, 0xf2, 0x11, 0x50, 0x9f, 0xf8, 0x18, 0xc8, 0x33, 0x76, 0x36, + 0xa0, 0xee, 0xf6, 0x2d, 0x73, 0xee, 0x39, 0x67, 0xee, 0x1f, 0xdf, 0x09, 0xec, 0xcf, 0x31, 0x8b, + 0xfb, 0x8b, 0x17, 0x2c, 0x49, 0x63, 0xf6, 0xa2, 0x9f, 0x2a, 0xf9, 0xcb, 0xd2, 0x4f, 0x95, 0xd4, + 0x92, 0x3c, 0xe1, 0x99, 0xe6, 0xd2, 0x2f, 0x08, 0x7e, 0x45, 0xe8, 0x1c, 0xcc, 0xa4, 0x9c, 0x25, + 0xd8, 0x37, 0x94, 0x69, 0x7e, 0xdb, 0x8f, 0x72, 0xc5, 0x34, 0x97, 0xc2, 0x8a, 0x0e, 0x7f, 0xdb, + 0x84, 0xfa, 0x44, 0xb1, 0x90, 0x8b, 0x19, 0xf9, 0x0e, 0x6a, 0x6f, 0x79, 0xfa, 0x86, 0x0b, 0xcf, + 0xe9, 0x3a, 0xbd, 0xd6, 0xd1, 0x67, 0xfe, 0x3d, 0x8e, 0x7e, 0xc9, 0xf6, 0x6f, 0x0c, 0xf5, 0x6c, + 0x23, 0x28, 0x45, 0xe4, 0x15, 0x34, 0x13, 0x3e, 0x8b, 0x75, 0xa6, 0x31, 0xf5, 0x36, 0x8d, 0xc3, + 0xe7, 0x1f, 0x74, 0x38, 0xaf, 0xd8, 0x67, 0x1b, 0xc1, 0x3b, 0x69, 0xe7, 0x10, 0x6a, 0xd6, 0x9b, + 0x78, 0x50, 0x67, 0x51, 0xa4, 0x30, 0xcb, 0x4c, 0x46, 0xcd, 0xa0, 0x3a, 0x76, 0x7e, 0x75, 0xa0, + 0xb9, 0x92, 0xbf, 0x9f, 0x47, 0x3e, 0x85, 0x2d, 0x16, 0x86, 0x98, 0x65, 0x54, 0xcb, 0x37, 0x28, + 0x4c, 0x5a, 0xcd, 0xa0, 0x65, 0xb1, 0x49, 0x01, 0x91, 0x3d, 0xa8, 0x65, 0x18, 0xe6, 0x0a, 0xbd, + 0xff, 0x75, 0x9d, 0x5e, 0x23, 0x28, 0x4f, 0xe4, 0x13, 0x68, 0x85, 0x2c, 0x44, 0xa5, 0x69, 0xca, + 0x74, 0xec, 0x3d, 0x32, 0x4a, 0xb0, 0xd0, 0x98, 0xe9, 0x78, 0xd8, 0x80, 0x9a, 0x56, 0xc5, 0xf1, + 0xf0, 0xf7, 0x26, 0xb4, 0xc6, 0xc5, 0x24, 0x8e, 0xa5, 0xb8, 0xe5, 0x33, 0x23, 0x35, 0xbf, 0xac, + 0xd4, 0x29, 0xa5, 0x06, 0x2a, 0xa4, 0x05, 0x61, 0xca, 0x05, 0x53, 0x4b, 0x4b, 0xb0, 0x59, 0x81, + 0x85, 0x0c, 0xe1, 0x0b, 0xd8, 0xc9, 0x50, 0x2d, 0x78, 0x88, 0x34, 0x4c, 0xf2, 0x4c, 0xa3, 0x32, + 0xd9, 0x35, 0x83, 0x76, 0x09, 0x1f, 0x5b, 0x94, 0xfc, 0x00, 0xed, 0x48, 0x31, 0x2e, 0x68, 0x35, + 0x57, 0x93, 0x68, 0xeb, 0x68, 0xdf, 0xb7, 0x83, 0xf7, 0xab, 0xc1, 0xfb, 0x27, 0x25, 0x21, 0xd8, + 0x36, 0x82, 0xea, 0x48, 0xae, 0xc0, 0x4b, 0x99, 0x42, 0xa1, 0x69, 0x16, 0xe7, 0x3a, 0x92, 0x3f, + 0xaf, 0x79, 0x3d, 0x7e, 0xc8, 0x6b, 0xcf, 0x4a, 0xaf, 0x4a, 0xe5, 0xca, 0xf4, 0x2b, 0xd8, 0x8d, + 0x78, 0x16, 0xca, 0x05, 0xaa, 0x25, 0xad, 0x66, 0x53, 0x33, 0x15, 0xb8, 0xab, 0xc0, 0xa0, 0x1c, + 0xd2, 0x35, 0x3c, 0x7b, 0x47, 0x56, 0x78, 0xab, 0x30, 0x8b, 0x69, 0x84, 0x09, 0x5b, 0x7a, 0xf5, + 0x07, 0x12, 0x18, 0x6e, 0x7a, 0x4e, 0xf0, 0xff, 0x95, 0x3a, 0xb0, 0xe2, 0x93, 0x42, 0x4b, 0x9e, + 0x43, 0xdb, 0x7e, 0x99, 0xab, 0x04, 0x1a, 0x45, 0x02, 0x46, 0xb2, 0x6d, 0x23, 0x55, 0x06, 0x43, + 0xd8, 0x09, 0xa5, 0x10, 0x18, 0x6a, 0xaa, 0xf9, 0x1c, 0x65, 0xae, 0xbd, 0xe6, 0x43, 0xa5, 0xb7, + 0x4b, 0xc5, 0xc4, 0x0a, 0xc8, 0xd7, 0x40, 0x32, 0xcd, 0x74, 0x16, 0xd1, 0x3c, 0x4a, 0x57, 0x57, + 0x82, 0xad, 0xd9, 0x46, 0xae, 0xa3, 0xb4, 0xba, 0x71, 0x00, 0x1f, 0xa3, 0x58, 0xc8, 0x25, 0x9d, + 0xa3, 0x56, 0x3c, 0xcc, 0x68, 0x35, 0xee, 0x4a, 0xf8, 0xd4, 0x08, 0x3b, 0x86, 0x74, 0x61, 0x39, + 0x57, 0x96, 0x52, 0x59, 0xf4, 0xc0, 0x35, 0xeb, 0x4f, 0x59, 0x34, 0xe7, 0x82, 0xa6, 0x52, 0x69, + 0xaf, 0xd5, 0x75, 0x7a, 0x8f, 0x83, 0xb6, 0xc1, 0x07, 0x05, 0x3c, 0x96, 0x4a, 0x93, 0x3e, 0xec, + 0xb2, 0x05, 0xe3, 0x09, 0x9b, 0xf2, 0x84, 0xeb, 0x25, 0x7d, 0x2b, 0x05, 0x7a, 0x5b, 0xab, 0x66, + 0xb8, 0xeb, 0xc1, 0x1b, 0x29, 0x90, 0x44, 0xb0, 0x1f, 0x4a, 0xa1, 0x95, 0x4c, 0x68, 0x9a, 0x30, + 0x81, 0x94, 0xe5, 0x3a, 0xa6, 0xa9, 0x4c, 0x78, 0xb8, 0xf4, 0xb6, 0xbb, 0x4e, 0xaf, 0x7d, 0xf4, + 0xfc, 0xde, 0xd5, 0x1e, 0xe4, 0x3a, 0x46, 0xa1, 0x79, 0x68, 0x7a, 0x34, 0x36, 0x82, 0x60, 0xaf, + 0xf4, 0x1a, 0x17, 0x56, 0x05, 0xc3, 0xe2, 0x45, 0xc7, 0xc2, 0x3c, 0xd3, 0x72, 0x4e, 0xcb, 0x6d, + 0xb9, 0xe5, 0x09, 0x7a, 0x6d, 0xdb, 0x31, 0x1b, 0xb1, 0x0b, 0xf5, 0x8a, 0x27, 0x58, 0x94, 0x5b, + 0x74, 0x91, 0x0a, 0x36, 0x47, 0x9a, 0xa0, 0x98, 0xe9, 0xd8, 0xdb, 0xb1, 0xe5, 0x16, 0xf8, 0x25, + 0x9b, 0xe3, 0xb9, 0x41, 0x49, 0xd7, 0xac, 0x5f, 0x98, 0x2b, 0x85, 0x22, 0x5c, 0x7a, 0xae, 0x21, + 0xad, 0x43, 0x45, 0xf7, 0x6d, 0xeb, 0xa6, 0x52, 0xea, 0x4c, 0x2b, 0x96, 0x52, 0x8d, 0xf3, 0x34, + 0x61, 0x1a, 0xed, 0x46, 0xee, 0xda, 0xee, 0x1b, 0xd2, 0xb0, 0xe2, 0x4c, 0x4a, 0x8a, 0xd9, 0x50, + 0x84, 0x5d, 0x2e, 0x34, 0xaa, 0x10, 0xd3, 0xa2, 0x54, 0x3a, 0x97, 0x11, 0x7a, 0xc4, 0xb4, 0xe6, + 0xdb, 0x7b, 0x5b, 0xb3, 0xf6, 0x40, 0xf8, 0x23, 0x31, 0x95, 0xb9, 0x88, 0x46, 0x6b, 0x06, 0x17, + 0x32, 0xc2, 0xc0, 0xe5, 0xff, 0x41, 0xc8, 0x37, 0x50, 0xd7, 0xf6, 0xb9, 0xf4, 0x9e, 0x98, 0x2f, + 0xf2, 0xa3, 0x0f, 0x3d, 0xa9, 0x41, 0x45, 0x3e, 0x7c, 0x09, 0xcf, 0xde, 0x73, 0x09, 0xd9, 0x82, + 0x46, 0x70, 0x7a, 0x32, 0x0a, 0x4e, 0x8f, 0x27, 0xee, 0x06, 0x01, 0xa8, 0x4d, 0xc6, 0xc1, 0xeb, + 0x1f, 0x7f, 0x72, 0x9d, 0x2f, 0xbf, 0x87, 0xa7, 0xf7, 0x0d, 0x90, 0x34, 0xe0, 0xd1, 0xe5, 0xeb, + 0xcb, 0x53, 0x77, 0x83, 0xb4, 0x01, 0x2e, 0xae, 0x27, 0xd7, 0x83, 0x73, 0x3a, 0x39, 0xbf, 0x72, + 0x1d, 0xb2, 0x05, 0xf5, 0xd1, 0xe5, 0xd9, 0x69, 0x30, 0x9a, 0xb8, 0x7f, 0xd7, 0x87, 0xbd, 0x3f, + 0xee, 0x0e, 0x9c, 0x3f, 0xef, 0x0e, 0x9c, 0xbf, 0xee, 0x0e, 0x9c, 0x9b, 0x8e, 0x4d, 0x94, 0xcb, + 0x3e, 0x4b, 0x79, 0xff, 0x5f, 0xff, 0x5b, 0xd3, 0x9a, 0xd9, 0xa7, 0x97, 0xff, 0x04, 0x00, 0x00, + 0xff, 0xff, 0x92, 0x7b, 0x1a, 0x92, 0xcf, 0x06, 0x00, 0x00, } func (m *Tracing) Marshal() (dAtA []byte, err error) { @@ -997,23 +985,6 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.EnvoyMetricsServiceAddress))) i += copy(dAtA[i:], m.EnvoyMetricsServiceAddress) } - if len(m.TlsCertsToWatch) > 0 { - for _, s := range m.TlsCertsToWatch { - dAtA[i] = 0xaa - i++ - dAtA[i] = 0x1 - i++ - l = len(s) - for l >= 1<<7 { - dAtA[i] = uint8(uint64(l)&0x7f | 0x80) - l >>= 7 - i++ - } - dAtA[i] = uint8(l) - i++ - i += copy(dAtA[i:], s) - } - } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) } @@ -1192,12 +1163,6 @@ func (m *ProxyConfig) Size() (n int) { if l > 0 { n += 2 + l + sovProxy(uint64(l)) } - if len(m.TlsCertsToWatch) > 0 { - for _, s := range m.TlsCertsToWatch { - l = len(s) - n += 2 + l + sovProxy(uint64(l)) - } - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -2221,38 +2186,6 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } m.EnvoyMetricsServiceAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 21: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TlsCertsToWatch", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProxy - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProxy - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProxy - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TlsCertsToWatch = append(m.TlsCertsToWatch, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProxy(dAtA[iNdEx:]) diff --git a/mesh/v1alpha1/proxy.proto b/mesh/v1alpha1/proxy.proto index 26fbcda4c59..576289c8add 100644 --- a/mesh/v1alpha1/proxy.proto +++ b/mesh/v1alpha1/proxy.proto @@ -169,8 +169,4 @@ message ProxyConfig { // Tracing configuration to be used by the proxy. Tracing tracing = 19; - - // Absolute path to certs/key files used for istio mTLS. If omitted, defaults to - // /etc/certs/cert-chain.pem,/etc/certs/key.pem,/etc/certs/root-cert.pem - repeated string tls_certs_to_watch = 21; } diff --git a/proto.lock b/proto.lock index 7e010444b3c..e928431dd2e 100644 --- a/proto.lock +++ b/proto.lock @@ -1360,12 +1360,6 @@ "id": 19, "name": "tracing", "type": "Tracing" - }, - { - "id": 21, - "name": "tls_certs_to_watch", - "type": "string", - "is_repeated": true } ] } diff --git a/python/istio_api/mesh/v1alpha1/proxy_pb2.py b/python/istio_api/mesh/v1alpha1/proxy_pb2.py index 78137062c9a..00f6ff7741d 100644 --- a/python/istio_api/mesh/v1alpha1/proxy_pb2.py +++ b/python/istio_api/mesh/v1alpha1/proxy_pb2.py @@ -21,7 +21,7 @@ name='mesh/v1alpha1/proxy.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xfc\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12%\n\x1d\x65nvoy_metrics_service_address\x18\x14 \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\x12\x1a\n\x12tls_certs_to_watch\x18\x15 \x03(\t\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xe0\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12%\n\x1d\x65nvoy_metrics_service_address\x18\x14 \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -46,8 +46,8 @@ ], containing_type=None, options=None, - serialized_start=1231, - serialized_end=1293, + serialized_start=1203, + serialized_end=1265, ) _sym_db.RegisterEnumDescriptor(_AUTHENTICATIONPOLICY) @@ -74,8 +74,8 @@ ], containing_type=None, options=None, - serialized_start=1178, - serialized_end=1229, + serialized_start=1150, + serialized_end=1201, ) _sym_db.RegisterEnumDescriptor(_PROXYCONFIG_INBOUNDINTERCEPTIONMODE) @@ -349,13 +349,6 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tls_certs_to_watch', full_name='istio.mesh.v1alpha1.ProxyConfig.tls_certs_to_watch', index=20, - number=21, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -370,7 +363,7 @@ oneofs=[ ], serialized_start=337, - serialized_end=1229, + serialized_end=1201, ) _TRACING_ZIPKIN.containing_type = _TRACING From ba50f678063af1a70ecb5da016c0f159eccd5e37 Mon Sep 17 00:00:00 2001 From: Frank Budinsky Date: Thu, 28 Feb 2019 21:23:28 -0500 Subject: [PATCH 20/34] Update gateway and sidecar hosts doc (#826) * Update gateway and sidecar hosts doc * regen * review comments --- networking/v1alpha3/gateway.pb.go | 34 +++++++++++++++++---------- networking/v1alpha3/gateway.pb.html | 36 ++++++++++++++++++----------- networking/v1alpha3/gateway.proto | 34 +++++++++++++++++---------- networking/v1alpha3/sidecar.pb.go | 33 +++++++++++++------------- networking/v1alpha3/sidecar.pb.html | 33 +++++++++++++------------- networking/v1alpha3/sidecar.proto | 33 +++++++++++++------------- 6 files changed, 118 insertions(+), 85 deletions(-) diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index b66d6fca1c2..bb744c66619 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -377,20 +377,30 @@ type Server struct { // to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar` (Linux // abstract namespace). Bind string `protobuf:"bytes,4,opt,name=bind,proto3" json:"bind,omitempty"` - // REQUIRED. A list of hosts exposed by this gateway. At least one - // host is required. While typically applicable to - // HTTP services, it can also be used for TCP services using TLS with - // SNI. May contain a wildcard prefix for the bottom-level component of - // a domain name. For example `*.foo.com` matches `bar.foo.com` - // and `*.com` matches `bar.foo.com`, `example.com`, and so on. + // 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 + // 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, + // the `VirtualService` hosts will be selected from any available namespace. + // Any associated `DestinationRule` in the same namespace will also be used. // - // **Note**: A `VirtualService` that is bound to a gateway must have one - // or more hosts that match the hosts specified in a server. The match + // A `VirtualService` must be bound to the gateway and must have one or + // more hosts that match the hosts specified in a server. The match // could be an exact match or a suffix match with the server's hosts. For - // example, if the server's hosts specifies "*.example.com", - // VirtualServices with hosts dev.example.com, prod.example.com will - // match. However, VirtualServices with hosts example.com or - // newexample.com will not match. + // example, if the server's hosts specifies `*.example.com`, a + // `VirtualService` with hosts `dev.example.com` or `prod.example.com` will + // match. However, a `VirtualService` with host `example.com` or + // `newexample.com` will not match. + // + // NOTE: Only virtual services exported to the gateway's namespace + // (e.g., `exportTo` value of `*`) can be referenced. + // Private configurations (e.g., `exportTo` set to `.`) will not be + // available. Refer to the `exportTo` setting in `VirtualService`, + // `DestinationRule`, and `ServiceEntry` configurations for details. Hosts []string `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // Set of TLS related options that govern the server's behavior. Use // these options to control if all http requests should be redirected to diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html index a01ff9d04cc..a497747de16 100644 --- a/networking/v1alpha3/gateway.pb.html +++ b/networking/v1alpha3/gateway.pb.html @@ -301,20 +301,30 @@

Server

diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index 04c81cf2c50..c943b3ff2ce 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -242,20 +242,30 @@ message Server { // abstract namespace). string bind = 4; - // REQUIRED. A list of hosts exposed by this gateway. At least one - // host is required. While typically applicable to - // HTTP services, it can also be used for TCP services using TLS with - // SNI. May contain a wildcard prefix for the bottom-level component of - // a domain name. For example `*.foo.com` matches `bar.foo.com` - // and `*.com` matches `bar.foo.com`, `example.com`, and so on. + // 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 + // 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, + // the `VirtualService` hosts will be selected from any available namespace. + // Any associated `DestinationRule` in the same namespace will also be used. // - // **Note**: A `VirtualService` that is bound to a gateway must have one - // or more hosts that match the hosts specified in a server. The match + // A `VirtualService` must be bound to the gateway and must have one or + // more hosts that match the hosts specified in a server. The match // could be an exact match or a suffix match with the server's hosts. For - // example, if the server's hosts specifies "*.example.com", - // VirtualServices with hosts dev.example.com, prod.example.com will - // match. However, VirtualServices with hosts example.com or - // newexample.com will not match. + // example, if the server's hosts specifies `*.example.com`, a + // `VirtualService` with hosts `dev.example.com` or `prod.example.com` will + // match. However, a `VirtualService` with host `example.com` or + // `newexample.com` will not match. + // + // NOTE: Only virtual services exported to the gateway's namespace + // (e.g., `exportTo` value of `*`) can be referenced. + // Private configurations (e.g., `exportTo` set to `.`) will not be + // available. Refer to the `exportTo` setting in `VirtualService`, + // `DestinationRule`, and `ServiceEntry` configurations for details. repeated string hosts = 2; message TLSOptions { diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index a098aa94e49..df36f1e0fd7 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -326,24 +326,25 @@ type IstioEgressListener struct { // how traffic to the listener is expected to be captured (or not). // captureMode must be DEFAULT or NONE for Unix domain socket binds. CaptureMode CaptureMode `protobuf:"varint,3,opt,name=capture_mode,json=captureMode,proto3,enum=istio.networking.v1alpha3.CaptureMode" json:"capture_mode,omitempty"` - // REQUIRED: One or more services/virtualServices exposed by the listener - // in namespace/dnsName format. Publicly scoped services and - // VirtualServices from remote namespaces corresponding to the specified - // hosts will be imported. The service in a namespace can be a service in - // the service registry (e.g., a Kubernetes or cloud foundry service) or - // a service specified via ServiceEntry configuration. In addition, any - // publicly scoped DestinationRule associated with the imported services - // will also be imported. + // REQUIRED: One or more service hosts exposed by the listener + // in `namespace/dnsName` format. Services in the specified namespace + // matching `dnsName` will be exposed. + // The corresponding service can be a service in the service registry + // (e.g., a Kubernetes or cloud foundry service) or a service specified + // using a `ServiceEntry` or `VirtualService` configuration. Any + // associated `DestinationRule` in the same namespace will also be used. // - // Set the namespace to * to import a particular service from any - // available namespace (e.g., "*/foo.example.com"). Set the dnsName field - // to * to import all services from the specified namespace (e.g., - // "prod/*"). The services should be specified using FQDN format. + // The `dnsName` should be specified using FQDN format, opionally 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 + // service from any available namespace (e.g., "*/foo.example.com"). // - // NOTE: Only exported services and configuration artifacts from a - // namespace can be imported. Private services/configuration will not be - // imported. Refer to the scope setting associated with VirtualService, - // DestinationRule, ServiceEntry, etc. for details. + // NOTE: Only services and configuration artifacts exported to the sidecar's + // namespace (e.g., `exportTo` value of `*`) can be referenced. + // Private configurations (e.g., `exportTo` set to `.`) will + // not be available. Refer to the `exportTo` setting in `VirtualService`, + // `DestinationRule`, and `ServiceEntry` configurations for details. Hosts []string `protobuf:"bytes,4,rep,name=hosts,proto3" json:"hosts,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html index 6c92d7d1f94..0fc965186e5 100644 --- a/networking/v1alpha3/sidecar.pb.html +++ b/networking/v1alpha3/sidecar.pb.html @@ -180,24 +180,25 @@

IstioEgressListener

diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index 3fd1d7da743..eb45b8b5be4 100644 --- a/networking/v1alpha3/sidecar.proto +++ b/networking/v1alpha3/sidecar.proto @@ -178,24 +178,25 @@ message IstioEgressListener { // captureMode must be DEFAULT or NONE for Unix domain socket binds. CaptureMode capture_mode = 3; - // REQUIRED: One or more services/virtualServices exposed by the listener - // in namespace/dnsName format. Publicly scoped services and - // VirtualServices from remote namespaces corresponding to the specified - // hosts will be imported. The service in a namespace can be a service in - // the service registry (e.g., a Kubernetes or cloud foundry service) or - // a service specified via ServiceEntry configuration. In addition, any - // publicly scoped DestinationRule associated with the imported services - // will also be imported. + // REQUIRED: One or more service hosts exposed by the listener + // in `namespace/dnsName` format. Services in the specified namespace + // matching `dnsName` will be exposed. + // The corresponding service can be a service in the service registry + // (e.g., a Kubernetes or cloud foundry service) or a service specified + // using a `ServiceEntry` or `VirtualService` configuration. Any + // associated `DestinationRule` in the same namespace will also be used. // - // Set the namespace to * to import a particular service from any - // available namespace (e.g., "*/foo.example.com"). Set the dnsName field - // to * to import all services from the specified namespace (e.g., - // "prod/*"). The services should be specified using FQDN format. + // The `dnsName` should be specified using FQDN format, opionally 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 + // service from any available namespace (e.g., "*/foo.example.com"). // - // NOTE: Only exported services and configuration artifacts from a - // namespace can be imported. Private services/configuration will not be - // imported. Refer to the scope setting associated with VirtualService, - // DestinationRule, ServiceEntry, etc. for details. + // NOTE: Only services and configuration artifacts exported to the sidecar's + // namespace (e.g., `exportTo` value of `*`) can be referenced. + // Private configurations (e.g., `exportTo` set to `.`) will + // not be available. Refer to the `exportTo` setting in `VirtualService`, + // `DestinationRule`, and `ServiceEntry` configurations for details. repeated string hosts = 4; } From c1daca859f5ef682f9fa8f45be20035ea50fc70a Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Tue, 5 Mar 2019 14:19:37 -0500 Subject: [PATCH 21/34] Update API docs (service entry, gateway, sidecar) (#831) * Update sidecar and gateway docs Signed-off-by: Shriram Rajagopalan * gen docs Signed-off-by: Shriram Rajagopalan * update service entry Signed-off-by: Shriram Rajagopalan * updates Signed-off-by: Shriram Rajagopalan --- networking/v1alpha3/gateway.pb.go | 81 ++++++++++++----- networking/v1alpha3/gateway.pb.html | 73 +++++++++++---- networking/v1alpha3/gateway.proto | 81 ++++++++++++----- networking/v1alpha3/service_entry.pb.go | 69 ++++++++------- networking/v1alpha3/service_entry.pb.html | 68 +++++++------- networking/v1alpha3/service_entry.proto | 69 ++++++++------- networking/v1alpha3/sidecar.pb.go | 103 +++++++++++++++++++++- networking/v1alpha3/sidecar.pb.html | 100 ++++++++++++++++++++- networking/v1alpha3/sidecar.proto | 103 +++++++++++++++++++++- 9 files changed, 590 insertions(+), 157 deletions(-) diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index bb744c66619..53ff90247ba 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -7,12 +7,12 @@ // use, SNI configuration for the load balancer, etc. // // For example, the following Gateway configuration sets up a proxy to act -// as a load balancer exposing port 80 and 9080 (http), 443 (https), and -// port 2379 (TCP) for ingress. The gateway will be applied to the proxy -// running on a pod with labels `app: my-gateway-controller`. While Istio -// will configure the proxy to listen on these ports, it is the -// responsibility of the user to ensure that external traffic to these -// ports are allowed into the mesh. +// as a load balancer exposing port 80 and 9080 (http), 443 (https), +// 9443(https) and port 2379 (TCP) for ingress. The gateway will be +// applied to the proxy running on a pod with labels `app: +// my-gateway-controller`. While Istio will configure the proxy to listen +// on these ports, it is the responsibility of the user to ensure that +// external traffic to these ports are allowed into the mesh. // // ```yaml // apiVersion: networking.istio.io/v1alpha3 @@ -45,6 +45,15 @@ // serverCertificate: /etc/certs/servercert.pem // privateKey: /etc/certs/privatekey.pem // - port: +// number: 9443 +// name: https +// protocol: HTTPS +// hosts: +// - "bookinfo-namespace/*.bookinfo.com" +// tls: +// mode: SIMPLE # enables HTTPS on this port +// credentialName: bookinfo-secret # fetches certs from kubernetes secret +// - port: // number: 9080 // name: http-wildcard // protocol: HTTP @@ -57,6 +66,7 @@ // hosts: // - "*" // ``` +// // The Gateway specification above describes the L4-L6 properties of a load // balancer. A `VirtualService` can then be bound to a gateway to control // the forwarding of traffic arriving at a particular host or gateway port. @@ -136,6 +146,32 @@ // port: // number: 5555 // ``` +// +// It is possible to restrict the set of virtual services that can bind to +// a gateway server using the namespace/hostname syntax in the hosts field. +// For example, the following Gateway allows any virtual service in the ns1 +// namespace to bind to it, while restricting only the virtual service with +// foo.bar.com host in the ns2 namespace to bind to it. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Gateway +// metadata: +// name: my-gateway +// namespace: some-config-namespace +// spec: +// selector: +// app: my-gateway-controller +// servers: +// - port: +// number: 80 +// name: http +// protocol: HTTP +// hosts: +// - "ns1/*" +// - "ns2/foo.bar.com" +// ``` +// package v1alpha3 @@ -369,13 +405,13 @@ func (m *Gateway) GetSelector() map[string]string { // ``` type Server struct { // REQUIRED: The Port on which the proxy should listen for incoming - // connections. If using Unix domain socket, use 0 as the port number, - // with a valid protocol and port name, along with the bind parameter. + // connections. Port *Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` // $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). + // to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar` + // (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 @@ -502,18 +538,21 @@ type Server_TLSOptions struct { // client side certificate. CaCertificates string `protobuf:"bytes,5,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"` // The credentialName stands for a unique identifier that can be used - // to identify the serverCertificate and the privateKey. The 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 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, + // to identify the serverCertificate and the privateKey. The + // 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 + // 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 - // credentialName-cacert. The semantics of the name are platform dependent. - // In Kubernetes, the default Istio supplied credential server expects the - // credentialName to match the name of the Kubernetes secret that holds the - // server certificate, the private key, and the CA certificate - // (if using mutual TLS). + // credentialName-cacert. The semantics of the name are platform + // dependent. In Kubernetes, the default Istio supplied credential + // server expects the credentialName to match the name of the + // Kubernetes secret that holds the server certificate, the private + // key, and the CA certificate (if using mutual TLS). Set the + // ISTIO_META_USER_SDS metadata variable in the gateway's proxy to + // enable the dynamic credential fetching feature. CredentialName string `protobuf:"bytes,10,opt,name=credential_name,json=credentialName,proto3" json:"credential_name,omitempty"` // A list of alternate names to verify the subject identity in the // certificate presented by the client. diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html index a497747de16..2e8bd131e75 100644 --- a/networking/v1alpha3/gateway.pb.html +++ b/networking/v1alpha3/gateway.pb.html @@ -12,12 +12,12 @@ use, SNI configuration for the load balancer, etc.

For example, the following Gateway configuration sets up a proxy to act -as a load balancer exposing port 80 and 9080 (http), 443 (https), and -port 2379 (TCP) for ingress. The gateway will be applied to the proxy -running on a pod with labels app: my-gateway-controller. While Istio -will configure the proxy to listen on these ports, it is the -responsibility of the user to ensure that external traffic to these -ports are allowed into the mesh.

+as a load balancer exposing port 80 and 9080 (http), 443 (https), +9443(https) and port 2379 (TCP) for ingress. The gateway will be +applied to the proxy running on a pod with labels app: +my-gateway-controller. While Istio will configure the proxy to listen +on these ports, it is the responsibility of the user to ensure that +external traffic to these ports are allowed into the mesh.

apiVersion: networking.istio.io/v1alpha3
 kind: Gateway
@@ -48,6 +48,15 @@
       mode: SIMPLE # enables HTTPS on this port
       serverCertificate: /etc/certs/servercert.pem
       privateKey: /etc/certs/privatekey.pem
+  - port:
+      number: 9443
+      name: https
+      protocol: HTTPS
+    hosts:
+    - "bookinfo-namespace/*.bookinfo.com"
+    tls:
+      mode: SIMPLE # enables HTTPS on this port
+      credentialName: bookinfo-secret # fetches certs from kubernetes secret
   - port:
       number: 9080
       name: http-wildcard
@@ -140,6 +149,30 @@
           number: 5555
 
+

It is possible to restrict the set of virtual services that can bind to +a gateway server using the namespace/hostname syntax in the hosts field. +For example, the following Gateway allows any virtual service in the ns1 +namespace to bind to it, while restricting only the virtual service with +foo.bar.com host in the ns2 namespace to bind to it.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: my-gateway
+  namespace: some-config-namespace
+spec:
+  selector:
+    app: my-gateway-controller
+  servers:
+  - port:
+      number: 80
+      name: http
+      protocol: HTTP
+    hosts:
+    - "ns1/*"
+    - "ns2/foo.bar.com"
+
+

Gateway

privateKey string -

The path to the file holding the private key for mtls. If omitted, the -default mixer private key will be used.

+

The path to the file holding the private key for mutual TLS. If omitted, the +default Mixer private key will be used.

clientCertificate string -

The path to the file holding client certificate for mtls. If omitted, the -default mixer certificates will be used.

+

The path to the file holding client certificate for mutual TLS. If omitted, the +default Mixer certificates will be used.

string

The path to the file holding additional CA certificates that are needed to -verify the presented adapter certificates. By default mixer should already +verify the presented adapter certificates. By default Mixer should already include Istio CA certificates and system certificates in cert pool.

Tracing configuration to be used by the proxy.

+
tlsCertsToWatchstring[] +

Absolute path to certs/key files used for istio mTLS. If omitted, defaults to +/etc/certs/cert-chain.pem,/etc/certs/key.pem,/etc/certs/root-cert.pem

+

Tracing configuration to be used by the proxy.

-
tlsCertsToWatchstring[] -

Absolute path to certs/key files used for istio mTLS. If omitted, defaults to -/etc/certs/cert-chain.pem,/etc/certs/key.pem,/etc/certs/root-cert.pem

-
hosts string[] -

REQUIRED. A list of hosts exposed by this gateway. At least one -host is required. While typically applicable to -HTTP services, it can also be used for TCP services using TLS with -SNI. May contain a wildcard prefix for the bottom-level component of -a domain name. For example *.foo.com matches bar.foo.com -and *.com matches bar.foo.com, example.com, and so on.

- -

Note: A VirtualService that is bound to a gateway must have one -or more hosts that match the hosts specified in a server. The match +

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 +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, +the VirtualService hosts will be selected from any available namespace. +Any associated DestinationRule in the same namespace will also be used.

+ +

A VirtualService must be bound to the gateway and must have one or +more hosts that match the hosts specified in a server. The match could be an exact match or a suffix match with the server’s hosts. For -example, if the server’s hosts specifies “*.example.com”, -VirtualServices with hosts dev.example.com, prod.example.com will -match. However, VirtualServices with hosts example.com or -newexample.com will not match.

+example, if the server’s hosts specifies *.example.com, a +VirtualService with hosts dev.example.com or prod.example.com will +match. However, a VirtualService with host example.com or +newexample.com will not match.

+ +

NOTE: Only virtual services exported to the gateway’s namespace +(e.g., exportTo value of *) can be referenced. +Private configurations (e.g., exportTo set to .) will not be +available. Refer to the exportTo setting in VirtualService, +DestinationRule, and ServiceEntry configurations for details.

hosts string[] -

REQUIRED: One or more services/virtualServices exposed by the listener -in namespace/dnsName format. Publicly scoped services and -VirtualServices from remote namespaces corresponding to the specified -hosts will be imported. The service in a namespace can be a service in -the service registry (e.g., a Kubernetes or cloud foundry service) or -a service specified via ServiceEntry configuration. In addition, any -publicly scoped DestinationRule associated with the imported services -will also be imported.

+

REQUIRED: One or more service hosts exposed by the listener +in namespace/dnsName format. Services in the specified namespace +matching dnsName will be exposed. +The corresponding service can be a service in the service registry +(e.g., a Kubernetes or cloud foundry service) or a service specified +using a ServiceEntry or VirtualService configuration. Any +associated DestinationRule in the same namespace will also be used.

-

Set the namespace to * to import a particular service from any -available namespace (e.g., “*/foo.example.com”). Set the dnsName field -to * to import all services from the specified namespace (e.g., -“prod/*”). The services should be specified using FQDN format.

+

The dnsName should be specified using FQDN format, opionally 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 +service from any available namespace (e.g., “*/foo.example.com”).

-

NOTE: Only exported services and configuration artifacts from a -namespace can be imported. Private services/configuration will not be -imported. Refer to the scope setting associated with VirtualService, -DestinationRule, ServiceEntry, etc. for details.

+

NOTE: Only services and configuration artifacts exported to the sidecar’s +namespace (e.g., exportTo value of *) can be referenced. +Private configurations (e.g., exportTo set to .) will +not be available. Refer to the exportTo setting in VirtualService, +DestinationRule, and ServiceEntry configurations for details.

@@ -292,8 +325,7 @@

Server

@@ -414,18 +446,21 @@

Server.TLSOptions

diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index c943b3ff2ce..ea314aa192c 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -24,12 +24,12 @@ syntax = "proto3"; // use, SNI configuration for the load balancer, etc. // // For example, the following Gateway configuration sets up a proxy to act -// as a load balancer exposing port 80 and 9080 (http), 443 (https), and -// port 2379 (TCP) for ingress. The gateway will be applied to the proxy -// running on a pod with labels `app: my-gateway-controller`. While Istio -// will configure the proxy to listen on these ports, it is the -// responsibility of the user to ensure that external traffic to these -// ports are allowed into the mesh. +// as a load balancer exposing port 80 and 9080 (http), 443 (https), +// 9443(https) and port 2379 (TCP) for ingress. The gateway will be +// applied to the proxy running on a pod with labels `app: +// my-gateway-controller`. While Istio will configure the proxy to listen +// on these ports, it is the responsibility of the user to ensure that +// external traffic to these ports are allowed into the mesh. // // ```yaml // apiVersion: networking.istio.io/v1alpha3 @@ -62,6 +62,15 @@ syntax = "proto3"; // serverCertificate: /etc/certs/servercert.pem // privateKey: /etc/certs/privatekey.pem // - port: +// number: 9443 +// name: https +// protocol: HTTPS +// hosts: +// - "bookinfo-namespace/*.bookinfo.com" +// tls: +// mode: SIMPLE # enables HTTPS on this port +// credentialName: bookinfo-secret # fetches certs from kubernetes secret +// - port: // number: 9080 // name: http-wildcard // protocol: HTTP @@ -74,6 +83,7 @@ syntax = "proto3"; // hosts: // - "*" // ``` +// // The Gateway specification above describes the L4-L6 properties of a load // balancer. A `VirtualService` can then be bound to a gateway to control // the forwarding of traffic arriving at a particular host or gateway port. @@ -153,6 +163,32 @@ syntax = "proto3"; // port: // number: 5555 // ``` +// +// It is possible to restrict the set of virtual services that can bind to +// a gateway server using the namespace/hostname syntax in the hosts field. +// For example, the following Gateway allows any virtual service in the ns1 +// namespace to bind to it, while restricting only the virtual service with +// foo.bar.com host in the ns2 namespace to bind to it. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Gateway +// metadata: +// name: my-gateway +// namespace: some-config-namespace +// spec: +// selector: +// app: my-gateway-controller +// servers: +// - port: +// number: 80 +// name: http +// protocol: HTTP +// hosts: +// - "ns1/*" +// - "ns2/foo.bar.com" +// ``` +// package istio.networking.v1alpha3; option go_package = "istio.io/api/networking/v1alpha3"; @@ -232,14 +268,14 @@ message Gateway { // ``` message Server { // REQUIRED: The Port on which the proxy should listen for incoming - // connections. If using Unix domain socket, use 0 as the port number, - // with a valid protocol and port name, along with the bind parameter. + // connections. Port port = 1; // $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). + // to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar` + // (Linux abstract namespace). When using unix domain sockets, the port + // number should be 0. string bind = 4; // REQUIRED. One or more hosts exposed by this gateway. @@ -319,18 +355,21 @@ message Server { string ca_certificates = 5; // The credentialName stands for a unique identifier that can be used - // to identify the serverCertificate and the privateKey. The 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 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, + // to identify the serverCertificate and the privateKey. The + // 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 + // 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 - // credentialName-cacert. The semantics of the name are platform dependent. - // In Kubernetes, the default Istio supplied credential server expects the - // credentialName to match the name of the Kubernetes secret that holds the - // server certificate, the private key, and the CA certificate - // (if using mutual TLS). + // credentialName-cacert. The semantics of the name are platform + // dependent. In Kubernetes, the default Istio supplied credential + // server expects the credentialName to match the name of the + // Kubernetes secret that holds the server certificate, the private + // key, and the CA certificate (if using mutual TLS). Set the + // ISTIO_META_USER_SDS metadata variable in the gateway's proxy to + // enable the dynamic credential fetching feature. string credential_name = 10; // A list of alternate names to verify the subject identity in the diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index b1f3d9d3a9f..97d37b99a75 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -9,6 +9,28 @@ // APIs) or mesh-internal services that are not part of the platform's // service registry (e.g., a set of VMs talking to services in Kubernetes). // +// The following example declares a few external APIs accessed by internal +// applications over HTTPS. The sidecar inspects the SNI value in the +// ClientHello message to route to the appropriate external service. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-https +// spec: +// hosts: +// - api.dropboxapi.com +// - www.googleapis.com +// - api.facebook.com +// location: MESH_EXTERNAL +// ports: +// - number: 443 +// name: https +// protocol: TLS +// resolution: DNS +// ``` +// // The following configuration adds a set of MongoDB instances running on // unmanaged VMs to Istio's registry, so that these services can be treated // as any other service in the mesh. The associated DestinationRule is used @@ -53,27 +75,24 @@ // ``` // // The following example uses a combination of service entry and TLS -// routing in virtual service to demonstrate the use of SNI routing to -// forward unterminated TLS traffic from the application to external -// services via the sidecar. The sidecar inspects the SNI value in the -// ClientHello message to route to the appropriate external service. +// routing in a virtual service to steer traffic based on the SNI value to +// an internal egress firewall. // // ```yaml // apiVersion: networking.istio.io/v1alpha3 // kind: ServiceEntry // metadata: -// name: external-svc-https +// name: external-svc-redirect // spec: // hosts: -// - api.dropboxapi.com -// - www.googleapis.com -// - api.facebook.com +// - wikipedia.org +// - "*.wikipedia.org" // location: MESH_EXTERNAL // ports: // - number: 443 // name: https // protocol: TLS -// resolution: DNS +// resolution: NONE // ``` // // And the associated VirtualService to route based on the SNI value. @@ -85,34 +104,22 @@ // name: tls-routing // spec: // hosts: -// - api.dropboxapi.com -// - www.googleapis.com -// - api.facebook.com +// - wikipedia.org +// - "*.wikipedia.org" // tls: // - match: -// - port: 443 -// sniHosts: -// - api.dropboxapi.com +// - sniHosts: +// - wikipedia.org +// - "*.wikipedia.org" // route: // - destination: -// host: api.dropboxapi.com -// - match: -// - port: 443 -// sniHosts: -// - www.googleapis.com -// route: -// - destination: -// host: www.googleapis.com -// - match: -// - port: 443 -// sniHosts: -// - api.facebook.com -// route: -// - destination: -// host: api.facebook.com -// +// host: internal-egress-firewall.ns1.svc.cluster.local // ``` // +// The virtual service with TLS match serves to override the default SNI +// match. In the absence of a virtual service, traffic will be forwarded to +// the wikipedia domains. +// // The following example demonstrates the use of a dedicated egress gateway // through which all external service traffic is forwarded. // The 'exportTo' field allows for control over the visibility of a service diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html index 486603eafa3..8aaf60b847f 100644 --- a/networking/v1alpha3/service_entry.pb.html +++ b/networking/v1alpha3/service_entry.pb.html @@ -14,6 +14,27 @@ APIs) or mesh-internal services that are not part of the platform’s service registry (e.g., a set of VMs talking to services in Kubernetes).

+

The following example declares a few external APIs accessed by internal +applications over HTTPS. The sidecar inspects the SNI value in the +ClientHello message to route to the appropriate external service.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-https
+spec:
+  hosts:
+  - api.dropboxapi.com
+  - www.googleapis.com
+  - api.facebook.com
+  location: MESH_EXTERNAL
+  ports:
+  - number: 443
+    name: https
+    protocol: TLS
+  resolution: DNS
+
+

The following configuration adds a set of MongoDB instances running on unmanaged VMs to Istio’s registry, so that these services can be treated as any other service in the mesh. The associated DestinationRule is used @@ -56,26 +77,23 @@

The following example uses a combination of service entry and TLS -routing in virtual service to demonstrate the use of SNI routing to -forward unterminated TLS traffic from the application to external -services via the sidecar. The sidecar inspects the SNI value in the -ClientHello message to route to the appropriate external service.

+routing in a virtual service to steer traffic based on the SNI value to +an internal egress firewall.

apiVersion: networking.istio.io/v1alpha3
 kind: ServiceEntry
 metadata:
-  name: external-svc-https
+  name: external-svc-redirect
 spec:
   hosts:
-  - api.dropboxapi.com
-  - www.googleapis.com
-  - api.facebook.com
+  - wikipedia.org
+  - "*.wikipedia.org"
   location: MESH_EXTERNAL
   ports:
   - number: 443
     name: https
     protocol: TLS
-  resolution: DNS
+  resolution: NONE
 

And the associated VirtualService to route based on the SNI value.

@@ -86,34 +104,22 @@ name: tls-routing spec: hosts: - - api.dropboxapi.com - - www.googleapis.com - - api.facebook.com + - wikipedia.org + - "*.wikipedia.org" tls: - match: - - port: 443 - sniHosts: - - api.dropboxapi.com + - sniHosts: + - wikipedia.org + - "*.wikipedia.org" route: - destination: - host: api.dropboxapi.com - - match: - - port: 443 - sniHosts: - - www.googleapis.com - route: - - destination: - host: www.googleapis.com - - match: - - port: 443 - sniHosts: - - api.facebook.com - route: - - destination: - host: api.facebook.com - + host: internal-egress-firewall.ns1.svc.cluster.local
+

The virtual service with TLS match serves to override the default SNI +match. In the absence of a virtual service, traffic will be forwarded to +the wikipedia domains.

+

The following example demonstrates the use of a dedicated egress gateway through which all external service traffic is forwarded. The ‘exportTo’ field allows for control over the visibility of a service diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index a9de02c6067..8db08dff8f4 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -28,6 +28,28 @@ import "networking/v1alpha3/gateway.proto"; // APIs) or mesh-internal services that are not part of the platform's // service registry (e.g., a set of VMs talking to services in Kubernetes). // +// The following example declares a few external APIs accessed by internal +// applications over HTTPS. The sidecar inspects the SNI value in the +// ClientHello message to route to the appropriate external service. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-https +// spec: +// hosts: +// - api.dropboxapi.com +// - www.googleapis.com +// - api.facebook.com +// location: MESH_EXTERNAL +// ports: +// - number: 443 +// name: https +// protocol: TLS +// resolution: DNS +// ``` +// // The following configuration adds a set of MongoDB instances running on // unmanaged VMs to Istio's registry, so that these services can be treated // as any other service in the mesh. The associated DestinationRule is used @@ -72,27 +94,24 @@ import "networking/v1alpha3/gateway.proto"; // ``` // // The following example uses a combination of service entry and TLS -// routing in virtual service to demonstrate the use of SNI routing to -// forward unterminated TLS traffic from the application to external -// services via the sidecar. The sidecar inspects the SNI value in the -// ClientHello message to route to the appropriate external service. +// routing in a virtual service to steer traffic based on the SNI value to +// an internal egress firewall. // // ```yaml // apiVersion: networking.istio.io/v1alpha3 // kind: ServiceEntry // metadata: -// name: external-svc-https +// name: external-svc-redirect // spec: // hosts: -// - api.dropboxapi.com -// - www.googleapis.com -// - api.facebook.com +// - wikipedia.org +// - "*.wikipedia.org" // location: MESH_EXTERNAL // ports: // - number: 443 // name: https // protocol: TLS -// resolution: DNS +// resolution: NONE // ``` // // And the associated VirtualService to route based on the SNI value. @@ -104,34 +123,22 @@ import "networking/v1alpha3/gateway.proto"; // name: tls-routing // spec: // hosts: -// - api.dropboxapi.com -// - www.googleapis.com -// - api.facebook.com +// - wikipedia.org +// - "*.wikipedia.org" // tls: // - match: -// - port: 443 -// sniHosts: -// - api.dropboxapi.com +// - sniHosts: +// - wikipedia.org +// - "*.wikipedia.org" // route: // - destination: -// host: api.dropboxapi.com -// - match: -// - port: 443 -// sniHosts: -// - www.googleapis.com -// route: -// - destination: -// host: www.googleapis.com -// - match: -// - port: 443 -// sniHosts: -// - api.facebook.com -// route: -// - destination: -// host: api.facebook.com -// +// host: internal-egress-firewall.ns1.svc.cluster.local // ``` // +// The virtual service with TLS match serves to override the default SNI +// match. In the absence of a virtual service, traffic will be forwarded to +// the wikipedia domains. +// // The following example demonstrates the use of a dedicated egress gateway // through which all external service traffic is forwarded. // The 'exportTo' field allows for control over the visibility of a service diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index df36f1e0fd7..9224c76070a 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -78,6 +78,106 @@ // - "prod-us1/*" // ``` // +// If the workload is deployed without IP tables based traffic capture, the +// Sidecar resource is the only way to configure the ports on the proxy +// attached to the workload. The following example declares a Sidecar +// 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 +// 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 +// backing MySQL database on 127.0.0.1:3306, that then gets proxied to the +// externally hosted MySQL service at mysql.foo.com:3306. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: no-ip-tables +// namespace: prod-us1 +// spec: +// workloadSelector: +// labels: +// app: productpage +// ingress: +// - port: +// number: 9080 # binds to 0.0.0.0:9080 +// protocol: HTTP +// name: somename +// defaultEndpoint: 127.0.0.1:8080 +// captureMode: NONE # not needed if metadata is set for entire proxy +// egress: +// - port: +// number: 3306 +// protocol: MYSQL +// name: egressmysql +// captureMode: NONE # not needed if metadata is set for entire proxy +// bind: 127.0.0.1 +// hosts: +// - "*/mysql.foo.com" +// ``` +// +// And the associated service entry for routing to mysql.foo.com:3306 +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-mysql +// namespace: ns1 +// spec: +// hosts: +// - mysql.foo.com +// ports: +// - number: 3306 +// name: mysql +// protocol: MYSQL +// location: MESH_EXTERNAL +// resolution: DNS +// ``` +// +// It is also possible to mix and match traffic capture modes in a single +// proxy. For example, consider a setup where internal services are on the +// 192.168.0.0/16 subnet. So, IP tables are setup on the VM to capture all +// outbound traffic on 192.168.0.0/16 subnet. Assume that the VM has an +// additional network interface on 172.16.0.0/16 subnet for inbound +// 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 +// contain "REDIRECT" or "TPROXY" as its value, implying that IP tables +// based traffic capture is active. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: partial-ip-tables +// namespace: prod-us1 +// spec: +// workloadSelector: +// labels: +// app: productpage +// ingress: +// - bind: 172.16.1.32 +// port: +// number: 80 # binds to 172.16.1.32:80 +// protocol: HTTP +// name: somename +// defaultEndpoint: 127.0.0.1:8080 +// captureMode: NONE +// egress: +// # use the system detected defaults +// # sets up configuration to handle outbound traffic to services +// # in 192.168.0.0/16 subnet, based on information provided by the +// # service registry +// - captureMode: IPTABLES +// hosts: +// - "*/*" +// ``` +// package v1alpha3 @@ -146,7 +246,8 @@ type Sidecar struct { // inbound traffic to the attached workload. If omitted, Istio will // automatically configure the sidecar based on the information about the workload // obtained from the orchestration platform (e.g., exposed ports, services, - // etc.). + // etc.). If specified, inbound ports are configured if and only if the + // workload is associated with a service. Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress,proto3" json:"ingress,omitempty"` // Egress specifies the configuration of the sidecar for processing // outbound traffic from the attached workload to other services in the diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html index 0fc965186e5..c7cbb3970f2 100644 --- a/networking/v1alpha3/sidecar.pb.html +++ b/networking/v1alpha3/sidecar.pb.html @@ -81,6 +81,103 @@ - "prod-us1/*" +

If the workload is deployed without IP tables based traffic capture, the +Sidecar resource is the only way to configure the ports on the proxy +attached to the workload. The following example declares a Sidecar +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 +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 +backing MySQL database on 127.0.0.1:3306, that then gets proxied to the +externally hosted MySQL service at mysql.foo.com:3306.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: no-ip-tables
+  namespace: prod-us1
+spec:
+  workloadSelector:
+    labels:
+      app: productpage
+  ingress:
+  - port:
+      number: 9080 # binds to 0.0.0.0:9080
+      protocol: HTTP
+      name: somename
+    defaultEndpoint: 127.0.0.1:8080
+    captureMode: NONE # not needed if metadata is set for entire proxy
+  egress:
+  - port:
+      number: 3306
+      protocol: MYSQL
+      name: egressmysql
+    captureMode: NONE # not needed if metadata is set for entire proxy
+    bind: 127.0.0.1
+    hosts:
+    - "*/mysql.foo.com"
+
+ +

And the associated service entry for routing to mysql.foo.com:3306

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: external-svc-mysql
+  namespace: ns1
+spec:
+  hosts:
+  - mysql.foo.com
+  ports:
+  - number: 3306
+    name: mysql
+    protocol: MYSQL
+  location: MESH_EXTERNAL
+  resolution: DNS
+
+ +

It is also possible to mix and match traffic capture modes in a single +proxy. For example, consider a setup where internal services are on the +192.168.0.0/16 subnet. So, IP tables are setup on the VM to capture all +outbound traffic on 192.168.0.0/16 subnet. Assume that the VM has an +additional network interface on 172.16.0.0/16 subnet for inbound +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 +contain “REDIRECT” or “TPROXY” as its value, implying that IP tables +based traffic capture is active.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: partial-ip-tables
+  namespace: prod-us1
+spec:
+  workloadSelector:
+    labels:
+      app: productpage
+  ingress:
+  - bind: 172.16.1.32
+    port:
+      number: 80 # binds to 172.16.1.32:80
+      protocol: HTTP
+      name: somename
+    defaultEndpoint: 127.0.0.1:8080
+    captureMode: NONE
+  egress:
+    # use the system detected defaults
+    # sets up configuration to handle outbound traffic to services
+    # in 192.168.0.0/16 subnet, based on information provided by the
+    # service registry
+  - captureMode: IPTABLES
+    hosts:
+    - "*/*"
+
+

CaptureMode

CaptureMode describes how traffic to a listener is expected to be @@ -296,7 +393,8 @@

Sidecar

inbound traffic to the attached workload. If omitted, Istio will automatically configure the sidecar based on the information about the workload obtained from the orchestration platform (e.g., exposed ports, services, -etc.).

+etc.). If specified, inbound ports are configured if and only if the +workload is associated with a service.

diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index eb45b8b5be4..e3a5be25453 100644 --- a/networking/v1alpha3/sidecar.proto +++ b/networking/v1alpha3/sidecar.proto @@ -97,6 +97,106 @@ import "networking/v1alpha3/gateway.proto"; // - "prod-us1/*" // ``` // +// If the workload is deployed without IP tables based traffic capture, the +// Sidecar resource is the only way to configure the ports on the proxy +// attached to the workload. The following example declares a Sidecar +// 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 +// 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 +// backing MySQL database on 127.0.0.1:3306, that then gets proxied to the +// externally hosted MySQL service at mysql.foo.com:3306. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: no-ip-tables +// namespace: prod-us1 +// spec: +// workloadSelector: +// labels: +// app: productpage +// ingress: +// - port: +// number: 9080 # binds to 0.0.0.0:9080 +// protocol: HTTP +// name: somename +// defaultEndpoint: 127.0.0.1:8080 +// captureMode: NONE # not needed if metadata is set for entire proxy +// egress: +// - port: +// number: 3306 +// protocol: MYSQL +// name: egressmysql +// captureMode: NONE # not needed if metadata is set for entire proxy +// bind: 127.0.0.1 +// hosts: +// - "*/mysql.foo.com" +// ``` +// +// And the associated service entry for routing to mysql.foo.com:3306 +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: ServiceEntry +// metadata: +// name: external-svc-mysql +// namespace: ns1 +// spec: +// hosts: +// - mysql.foo.com +// ports: +// - number: 3306 +// name: mysql +// protocol: MYSQL +// location: MESH_EXTERNAL +// resolution: DNS +// ``` +// +// It is also possible to mix and match traffic capture modes in a single +// proxy. For example, consider a setup where internal services are on the +// 192.168.0.0/16 subnet. So, IP tables are setup on the VM to capture all +// outbound traffic on 192.168.0.0/16 subnet. Assume that the VM has an +// additional network interface on 172.16.0.0/16 subnet for inbound +// 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 +// contain "REDIRECT" or "TPROXY" as its value, implying that IP tables +// based traffic capture is active. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: partial-ip-tables +// namespace: prod-us1 +// spec: +// workloadSelector: +// labels: +// app: productpage +// ingress: +// - bind: 172.16.1.32 +// port: +// number: 80 # binds to 172.16.1.32:80 +// protocol: HTTP +// name: somename +// defaultEndpoint: 127.0.0.1:8080 +// captureMode: NONE +// egress: +// # use the system detected defaults +// # sets up configuration to handle outbound traffic to services +// # in 192.168.0.0/16 subnet, based on information provided by the +// # service registry +// - captureMode: IPTABLES +// hosts: +// - "*/*" +// ``` +// package istio.networking.v1alpha3; option go_package = "istio.io/api/networking/v1alpha3"; @@ -112,7 +212,8 @@ message Sidecar { // inbound traffic to the attached workload. If omitted, Istio will // automatically configure the sidecar based on the information about the workload // obtained from the orchestration platform (e.g., exposed ports, services, - // etc.). + // etc.). If specified, inbound ports are configured if and only if the + // workload is associated with a service. repeated IstioIngressListener ingress = 2; // Egress specifies the configuration of the sidecar for processing From e1557ace81b4f794d65ae2b769ebfc153e22a662 Mon Sep 17 00:00:00 2001 From: Gregory Hanson Date: Tue, 5 Mar 2019 14:17:09 -0600 Subject: [PATCH 22/34] add configurable dns refresh rate to mesh for strict dns cluster, (#832) * add configurable dns refresh rate to mesh for strict dns cluster, issue #12181 * add lock file --- mesh/v1alpha1/config.pb.go | 260 ++++++++++++------- mesh/v1alpha1/config.proto | 4 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 8 + proto.lock | 5 + python/istio_api/mesh/v1alpha1/config_pb2.py | 52 ++-- 5 files changed, 207 insertions(+), 122 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index b8950e80436..2adfe66184f 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -313,10 +313,12 @@ type MeshConfig struct { // 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"` // Locality based load balancing distribution or failover settings. - LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"` + // Configures DNS refresh rate for Envoy clusters of type STRICT_DNS + DnsRefreshRate *types.Duration `protobuf:"bytes,36,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *MeshConfig) Reset() { *m = MeshConfig{} } @@ -587,6 +589,13 @@ func (m *MeshConfig) GetLocalityLbSetting() *LocalityLoadBalancerSetting { return nil } +func (m *MeshConfig) GetDnsRefreshRate() *types.Duration { + if m != nil { + return m.DnsRefreshRate + } + return nil +} + type MeshConfig_OutboundTrafficPolicy struct { Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -958,99 +967,100 @@ func init() { func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptor_b5c7ece76d5d5022) } var fileDescriptor_b5c7ece76d5d5022 = []byte{ - // 1461 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xb8, - 0x15, 0x36, 0x65, 0x25, 0x96, 0x8f, 0x7e, 0x4c, 0xc1, 0x71, 0x96, 0x56, 0xba, 0x5e, 0x59, 0x3b, - 0x49, 0x34, 0x9e, 0x0e, 0xdd, 0xd8, 0xb3, 0x33, 0xc9, 0xf6, 0xca, 0x96, 0xe4, 0x8d, 0xbd, 0xb2, - 0xe5, 0xa1, 0xe8, 0xb4, 0x69, 0x2f, 0x50, 0x98, 0x84, 0x24, 0xd4, 0x14, 0xc1, 0x21, 0x40, 0x27, - 0x7a, 0xa7, 0x76, 0xa6, 0x8f, 0xd1, 0xcb, 0x3e, 0x42, 0x27, 0x77, 0x7d, 0x8b, 0x0e, 0x01, 0xd2, - 0x52, 0xbc, 0x9a, 0xb8, 0xe9, 0xde, 0x11, 0xdf, 0xf9, 0xce, 0x07, 0xe2, 0x9c, 0x83, 0x8f, 0x84, - 0xc6, 0x94, 0x8a, 0xc9, 0xfe, 0xed, 0x2b, 0x12, 0x44, 0x13, 0xf2, 0x6a, 0xdf, 0xe3, 0xe1, 0x88, - 0x8d, 0xed, 0x28, 0xe6, 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x76, 0xca, 0xb0, 0x73, 0x46, 0x63, - 0x67, 0xcc, 0xf9, 0x38, 0xa0, 0xfb, 0x8a, 0x72, 0x9d, 0x8c, 0xf6, 0xfd, 0x24, 0x26, 0x92, 0xf1, - 0x50, 0x27, 0x35, 0xb6, 0x3f, 0x17, 0x8c, 0x62, 0xfe, 0x71, 0x96, 0x85, 0xf6, 0x42, 0x2a, 0x3f, - 0xf0, 0xf8, 0x86, 0x85, 0xe3, 0x9c, 0x70, 0xb8, 0xef, 0x53, 0x21, 0x59, 0xa8, 0x14, 0x70, 0x9c, - 0x04, 0x54, 0x73, 0x5b, 0xff, 0x41, 0x00, 0xe7, 0x54, 0x4c, 0x3a, 0xea, 0x85, 0xd0, 0x6f, 0x01, - 0x4d, 0xd9, 0x47, 0x1a, 0x63, 0x6f, 0x42, 0xbd, 0x1b, 0x2c, 0x68, 0x7c, 0x4b, 0x63, 0xcb, 0x68, - 0x1a, 0xed, 0x75, 0xc7, 0x54, 0x91, 0x4e, 0x1a, 0x18, 0x2a, 0x1c, 0xd9, 0xb0, 0xa9, 0xd9, 0x31, - 0x8d, 0x78, 0x2c, 0x73, 0x7a, 0x41, 0xd1, 0xeb, 0x2a, 0xe4, 0xa8, 0x48, 0xc6, 0x3f, 0x80, 0x2d, - 0x9f, 0x09, 0x72, 0x1d, 0x50, 0x1c, 0xf1, 0x80, 0x79, 0x33, 0xbd, 0x8d, 0xb0, 0x56, 0x9b, 0x46, - 0xbb, 0xe4, 0x6c, 0x66, 0xc1, 0x4b, 0x15, 0x53, 0x1b, 0x09, 0x74, 0x08, 0x4f, 0x17, 0xb9, 0x78, - 0x44, 0x58, 0x80, 0x79, 0x44, 0x43, 0x6b, 0x5b, 0x27, 0x45, 0x73, 0xf6, 0x09, 0x61, 0xc1, 0x20, - 0xa2, 0x21, 0xba, 0x84, 0xe7, 0x82, 0xf9, 0xd4, 0x23, 0x31, 0x96, 0x1c, 0x4b, 0x1a, 0xd0, 0x29, - 0x95, 0xf1, 0x0c, 0x0b, 0x2a, 0x44, 0x5a, 0x00, 0x32, 0x1a, 0xb1, 0x90, 0xc9, 0x99, 0xb5, 0xa3, - 0x34, 0x76, 0x33, 0xb2, 0xcb, 0xdd, 0x9c, 0x3a, 0xd4, 0xcc, 0xa3, 0x8c, 0x88, 0xf6, 0xa0, 0xae, - 0x4a, 0x8c, 0x03, 0x26, 0x24, 0x0d, 0x71, 0x7a, 0x2a, 0xab, 0xd8, 0x34, 0xda, 0x8f, 0x9c, 0x0d, - 0x15, 0xe8, 0x2b, 0xfc, 0x92, 0xc7, 0x12, 0xbd, 0x00, 0x0d, 0xe1, 0x89, 0x94, 0x91, 0x66, 0x3e, - 0x52, 0xcc, 0xaa, 0x82, 0xdf, 0x4a, 0x19, 0x29, 0xde, 0x31, 0x6c, 0x78, 0x3c, 0x0c, 0xa9, 0x27, - 0xb1, 0x64, 0x53, 0xca, 0x13, 0x69, 0x3d, 0x6e, 0x1a, 0xed, 0xf2, 0xc1, 0xb6, 0xad, 0x9b, 0x6f, - 0xe7, 0xcd, 0xb7, 0xbb, 0x59, 0xf3, 0x9d, 0x5a, 0x96, 0xe1, 0xea, 0x04, 0xc4, 0xa1, 0x2a, 0xbd, - 0x08, 0xdf, 0x50, 0x1a, 0x91, 0x80, 0xdd, 0x52, 0xeb, 0x37, 0x4a, 0xe1, 0xcc, 0xd6, 0x33, 0x35, - 0x9f, 0x84, 0x7c, 0xb2, 0x0e, 0xed, 0x8e, 0x56, 0x60, 0x3c, 0xbc, 0xe4, 0x3c, 0x18, 0x52, 0x29, - 0x59, 0x38, 0x16, 0xb6, 0xdb, 0xb9, 0x9c, 0x3f, 0x7b, 0xd1, 0xcf, 0xb9, 0xa2, 0x53, 0x91, 0x0b, - 0x2b, 0xf4, 0x3d, 0x54, 0x59, 0x38, 0x8e, 0xa9, 0x10, 0xd8, 0x0b, 0x88, 0x10, 0xd6, 0x9a, 0xea, - 0x76, 0x25, 0x03, 0x3b, 0x29, 0x86, 0x5e, 0xc2, 0x46, 0x4e, 0x4a, 0x67, 0x82, 0x79, 0xd4, 0x2a, - 0x29, 0x5a, 0x2d, 0x83, 0x87, 0x1a, 0x45, 0x53, 0xf8, 0xe6, 0x4e, 0x8d, 0x87, 0x32, 0xe6, 0x41, - 0x40, 0x63, 0x3c, 0xe5, 0x3e, 0xb5, 0xd6, 0x9b, 0x46, 0xbb, 0x76, 0xf0, 0x83, 0xbd, 0xe4, 0x72, - 0xd8, 0xf3, 0x89, 0xb5, 0x4f, 0xb3, 0x7d, 0xef, 0xb2, 0xcf, 0xb9, 0x4f, 0x9d, 0x2d, 0xb6, 0x0c, - 0x46, 0x03, 0x28, 0x93, 0x44, 0x4e, 0xb2, 0xe9, 0xb3, 0x40, 0x6d, 0xb1, 0xf7, 0xd0, 0x16, 0x47, - 0x89, 0x9c, 0xe8, 0x99, 0x3c, 0x2e, 0x58, 0x86, 0x03, 0xe4, 0x6e, 0x8d, 0x4e, 0xa1, 0x1e, 0xfb, - 0x02, 0xc7, 0x74, 0x14, 0x53, 0x31, 0xc1, 0x3e, 0x0d, 0xc8, 0xcc, 0x2a, 0x3f, 0xd0, 0x44, 0xa5, - 0xb2, 0x11, 0xfb, 0xc2, 0xd1, 0x69, 0xdd, 0x34, 0x0b, 0x3d, 0x87, 0x1a, 0x0d, 0xd5, 0xdd, 0x90, - 0x31, 0xf1, 0x58, 0x38, 0xb6, 0x2a, 0x6a, 0x38, 0xab, 0x1a, 0x75, 0x35, 0x98, 0x0e, 0x17, 0xf1, - 0xbc, 0xb4, 0x60, 0x01, 0x1f, 0xe3, 0x11, 0x0b, 0xa8, 0x55, 0x55, 0xa5, 0xad, 0x6a, 0xb8, 0xcf, - 0xc7, 0x27, 0x2c, 0xa0, 0xe9, 0xc0, 0x2e, 0xf2, 0x78, 0x3c, 0x25, 0xd2, 0xb2, 0x14, 0x73, 0x63, - 0xce, 0x54, 0x30, 0x22, 0xb0, 0xb9, 0xc0, 0xa5, 0xa1, 0xc7, 0xfd, 0x74, 0xff, 0x67, 0xaa, 0x3c, - 0xaf, 0x1e, 0x2c, 0x4f, 0xae, 0xd6, 0xcb, 0x12, 0x9d, 0x3a, 0xb9, 0x0f, 0xa1, 0x9f, 0xa0, 0xe6, - 0xd3, 0x11, 0x49, 0x02, 0x89, 0xb5, 0xf7, 0x59, 0x35, 0x55, 0xa5, 0xe6, 0x52, 0xf5, 0xcb, 0xf4, - 0x9e, 0x68, 0x79, 0xa7, 0x9a, 0xe5, 0x65, 0x0e, 0xf5, 0x12, 0xaa, 0xda, 0x73, 0x88, 0xef, 0xa7, - 0x1d, 0xb6, 0xcc, 0xf4, 0x4c, 0xaa, 0xa4, 0x15, 0x15, 0x38, 0xd2, 0x78, 0x3a, 0x5a, 0x3c, 0x91, - 0xd7, 0x3c, 0x09, 0xfd, 0xb4, 0xa2, 0xa3, 0x11, 0xf3, 0xf2, 0xbe, 0xd7, 0xd5, 0xd6, 0x0f, 0x8e, - 0xd6, 0x20, 0x4b, 0x77, 0x75, 0xb6, 0x6e, 0xb9, 0xb3, 0xc5, 0x97, 0xc1, 0xa8, 0x0b, 0xdf, 0x65, - 0xed, 0xf3, 0x02, 0x46, 0x43, 0x89, 0x53, 0x4f, 0xf9, 0xcc, 0xe6, 0xac, 0x4d, 0xd5, 0xcf, 0x67, - 0x9a, 0xd6, 0x51, 0xac, 0x21, 0xf3, 0x17, 0xed, 0x0e, 0x35, 0xa1, 0x22, 0x7c, 0x81, 0x13, 0x5f, - 0xe0, 0x88, 0xc8, 0x89, 0xf5, 0x44, 0x35, 0x0c, 0x84, 0x2f, 0xae, 0x7c, 0x71, 0x49, 0xe4, 0x24, - 0x9d, 0x38, 0xf1, 0x8b, 0x89, 0xdb, 0xfa, 0x9f, 0x26, 0x4e, 0xdc, 0x9b, 0xb8, 0xb7, 0x50, 0xd3, - 0xbd, 0xc0, 0x82, 0x27, 0xb1, 0x47, 0x85, 0xf5, 0xb4, 0xb9, 0xda, 0x2e, 0x1f, 0xec, 0x2e, 0x2d, - 0x8c, 0x2e, 0xca, 0x50, 0x31, 0x9d, 0xaa, 0xb7, 0xb0, 0x52, 0x26, 0x9d, 0x1d, 0x3e, 0x7d, 0x37, - 0xc9, 0x6f, 0x68, 0x88, 0xa7, 0x3c, 0x09, 0xa5, 0xf5, 0x8d, 0x36, 0x69, 0x1d, 0x1d, 0xfa, 0xc2, - 0x4d, 0x63, 0xe7, 0x69, 0x08, 0xed, 0x01, 0x52, 0x67, 0x15, 0x14, 0xdf, 0xbc, 0x16, 0x58, 0x10, - 0xfc, 0xd7, 0x0f, 0xd2, 0xfa, 0x56, 0x25, 0xd4, 0xd2, 0x13, 0x0b, 0xfa, 0xf3, 0x6b, 0x31, 0x24, - 0x67, 0x1f, 0x24, 0xda, 0x85, 0x8a, 0x8c, 0x13, 0x21, 0xb1, 0xcf, 0xa7, 0x84, 0x85, 0x56, 0x43, - 0xd5, 0xa5, 0xac, 0xb0, 0xae, 0x82, 0xd0, 0x1b, 0xd8, 0xce, 0x27, 0x2c, 0xf3, 0x1c, 0x4c, 0x3f, - 0xaa, 0xcf, 0x92, 0xe4, 0xd6, 0x77, 0xcd, 0xd5, 0xf6, 0xba, 0xf3, 0x34, 0x23, 0x64, 0xee, 0xd3, - 0x53, 0x61, 0x97, 0xa3, 0xb7, 0xb0, 0x9b, 0xa7, 0xde, 0xb2, 0x58, 0x26, 0x24, 0x58, 0x22, 0xd1, - 0x54, 0x12, 0xdf, 0x66, 0xc4, 0x77, 0x9a, 0x77, 0x5f, 0xe9, 0x0c, 0x5a, 0xb9, 0xd2, 0xfd, 0x0f, - 0xee, 0x82, 0xd4, 0xae, 0x92, 0xda, 0xc9, 0x98, 0xdd, 0x39, 0xd1, 0x49, 0x82, 0xb9, 0xd6, 0x73, - 0xa8, 0xc5, 0x9c, 0x4b, 0x1c, 0x92, 0x29, 0x15, 0x11, 0xf1, 0xa8, 0xd5, 0xd2, 0x17, 0x3d, 0x45, - 0x2f, 0x72, 0x10, 0xfd, 0x05, 0x36, 0x03, 0xee, 0x91, 0x80, 0xc9, 0x19, 0x0e, 0xae, 0xb1, 0xd0, - 0x1e, 0x6e, 0x7d, 0xaf, 0x46, 0xe2, 0x77, 0x4b, 0x5b, 0xd9, 0xcf, 0xf8, 0x7d, 0x4e, 0xfc, 0x63, - 0x12, 0x90, 0xd0, 0xa3, 0x71, 0xe6, 0xfd, 0x4e, 0x3d, 0x17, 0xeb, 0x5f, 0x67, 0x50, 0xe3, 0xef, - 0x06, 0x6c, 0x2d, 0xbd, 0x0b, 0xe8, 0x02, 0x8a, 0xca, 0xab, 0x0d, 0xe5, 0x14, 0x3f, 0xfe, 0x5f, - 0x17, 0xca, 0x56, 0x86, 0xad, 0x74, 0x5a, 0x5d, 0x28, 0x2a, 0x9f, 0xae, 0x43, 0xd5, 0xe9, 0xfd, - 0x74, 0x3a, 0x74, 0x9d, 0xf7, 0x78, 0x70, 0xd1, 0x7f, 0x6f, 0xae, 0xa0, 0x2a, 0xac, 0x1f, 0xf5, - 0xfb, 0x83, 0x3f, 0xe0, 0xa3, 0x8b, 0xf7, 0xa6, 0xd1, 0x2a, 0x96, 0x0a, 0x66, 0x61, 0xef, 0xc9, - 0xbb, 0x53, 0xc7, 0xbd, 0x3a, 0xea, 0xe3, 0x61, 0xcf, 0x79, 0x77, 0xda, 0xe9, 0x29, 0x72, 0xeb, - 0x0d, 0x6c, 0x2d, 0xfd, 0x2a, 0xa0, 0x35, 0x58, 0x1d, 0x9c, 0x9c, 0x98, 0x2b, 0xa8, 0x0c, 0x6b, - 0xdd, 0xde, 0xc9, 0xd1, 0x55, 0xdf, 0x35, 0x0d, 0x04, 0xf0, 0x78, 0xe8, 0x3a, 0xa7, 0x1d, 0xd7, - 0x2c, 0xb4, 0x5e, 0x00, 0xcc, 0xdd, 0x1e, 0x95, 0xa0, 0x78, 0x31, 0xb8, 0xe8, 0x99, 0x2b, 0xa8, - 0x06, 0x70, 0x7e, 0xa5, 0x76, 0x72, 0xfb, 0x43, 0xd3, 0x68, 0xbd, 0x84, 0xfa, 0x2f, 0x6c, 0x2f, - 0xa5, 0xbb, 0xbd, 0x3f, 0xba, 0xe6, 0x4a, 0xfa, 0x74, 0x36, 0x1c, 0x5c, 0x98, 0xc6, 0x59, 0xb1, - 0xb4, 0x61, 0x9a, 0x67, 0xc5, 0x12, 0x32, 0x37, 0x5b, 0x02, 0x2a, 0x8b, 0x97, 0x08, 0x59, 0xb0, - 0x96, 0x9b, 0x98, 0xfe, 0xc3, 0xca, 0x97, 0xe8, 0x14, 0x2a, 0x32, 0x10, 0x79, 0x2f, 0x85, 0xfa, - 0xa3, 0x2a, 0x1f, 0xbc, 0xf8, 0xc2, 0x47, 0xdd, 0xed, 0x0f, 0xf3, 0xaf, 0xb7, 0x53, 0x96, 0x81, - 0xc8, 0x17, 0xad, 0x7f, 0xac, 0xc2, 0xb3, 0x2f, 0xf4, 0x1b, 0xfd, 0x19, 0xc0, 0x67, 0x42, 0xc6, - 0xec, 0x3a, 0x91, 0x69, 0x23, 0x53, 0x03, 0xf8, 0xfd, 0xd7, 0x4e, 0x8d, 0xdd, 0xbd, 0x93, 0x70, - 0x16, 0xe4, 0xd0, 0x15, 0x94, 0xd2, 0xff, 0x35, 0xae, 0xff, 0x0a, 0x53, 0xe9, 0x37, 0x5f, 0x2d, - 0x7d, 0x92, 0x09, 0x38, 0x77, 0x52, 0x8d, 0xbf, 0x19, 0x00, 0xf3, 0x1d, 0x11, 0x82, 0xe2, 0x28, - 0xe6, 0xd3, 0xac, 0x88, 0xea, 0x19, 0x0d, 0xa1, 0x20, 0x79, 0xb6, 0x67, 0xe7, 0x57, 0x1c, 0xc7, - 0x76, 0x79, 0x2f, 0x94, 0xf1, 0xcc, 0x29, 0x48, 0xde, 0xf8, 0x01, 0xd6, 0xb2, 0x25, 0x32, 0x61, - 0xf5, 0x86, 0xce, 0xb2, 0x2d, 0xd3, 0x47, 0xf4, 0x04, 0x1e, 0xdd, 0x92, 0x20, 0xa1, 0xaa, 0x59, - 0x55, 0x47, 0x2f, 0x7e, 0x2c, 0xbc, 0x36, 0x1a, 0x36, 0x94, 0xf2, 0x43, 0x2c, 0x7d, 0xd7, 0x5a, - 0xf6, 0xae, 0x29, 0x52, 0x90, 0xfc, 0xb8, 0xfd, 0xcf, 0x4f, 0x3b, 0xc6, 0xbf, 0x3e, 0xed, 0x18, - 0xff, 0xfe, 0xb4, 0x63, 0xfc, 0xa9, 0xa1, 0x5f, 0x9e, 0xf1, 0x7d, 0x12, 0xb1, 0xfd, 0xcf, 0xfe, - 0xfa, 0xaf, 0x1f, 0x2b, 0xa7, 0x3f, 0xfc, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5b, 0xff, 0xe8, - 0x08, 0x5e, 0x0c, 0x00, 0x00, + // 1482 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xdd, 0x72, 0xdb, 0xb8, + 0x15, 0x0e, 0x65, 0x25, 0x96, 0x8f, 0x7e, 0x4c, 0x41, 0x71, 0x96, 0x56, 0xba, 0x5e, 0x59, 0xdb, + 0x24, 0x1a, 0x4f, 0x87, 0x6e, 0xec, 0xd9, 0x99, 0x64, 0x7b, 0x65, 0x4b, 0xf2, 0xc6, 0x5e, 0xd9, + 0xf2, 0x50, 0x74, 0xda, 0xb4, 0x17, 0x28, 0x4c, 0x42, 0x12, 0x6a, 0x8a, 0xe0, 0x10, 0xa0, 0x13, + 0xbd, 0x53, 0xdb, 0xe9, 0x63, 0xf4, 0xb2, 0x8f, 0xd0, 0xc9, 0x93, 0x74, 0x08, 0x90, 0x96, 0xe2, + 0xd5, 0xac, 0xbb, 0xed, 0x9d, 0xf0, 0x9d, 0xef, 0x7c, 0x20, 0xce, 0xf9, 0x70, 0x48, 0x41, 0x73, + 0x46, 0xc5, 0x74, 0xff, 0xf6, 0x35, 0x09, 0xa2, 0x29, 0x79, 0xbd, 0xef, 0xf1, 0x70, 0xcc, 0x26, + 0x76, 0x14, 0x73, 0xc9, 0x51, 0x83, 0x09, 0xc9, 0xb8, 0x9d, 0x32, 0xec, 0x9c, 0xd1, 0xdc, 0x99, + 0x70, 0x3e, 0x09, 0xe8, 0xbe, 0xa2, 0x5c, 0x27, 0xe3, 0x7d, 0x3f, 0x89, 0x89, 0x64, 0x3c, 0xd4, + 0x49, 0xcd, 0xed, 0x2f, 0x05, 0xa3, 0x98, 0x7f, 0x9a, 0x67, 0xa1, 0xbd, 0x90, 0xca, 0x8f, 0x3c, + 0xbe, 0x61, 0xe1, 0x24, 0x27, 0x1c, 0xee, 0xfb, 0x54, 0x48, 0x16, 0x2a, 0x05, 0x1c, 0x27, 0x01, + 0xd5, 0xdc, 0xf6, 0xdf, 0x1b, 0x00, 0xe7, 0x54, 0x4c, 0xbb, 0xea, 0x81, 0xd0, 0x6f, 0x00, 0xcd, + 0xd8, 0x27, 0x1a, 0x63, 0x6f, 0x4a, 0xbd, 0x1b, 0x2c, 0x68, 0x7c, 0x4b, 0x63, 0xcb, 0x68, 0x19, + 0x9d, 0x0d, 0xc7, 0x54, 0x91, 0x6e, 0x1a, 0x18, 0x29, 0x1c, 0xd9, 0xd0, 0xd0, 0xec, 0x98, 0x46, + 0x3c, 0x96, 0x39, 0xbd, 0xa0, 0xe8, 0x75, 0x15, 0x72, 0x54, 0x24, 0xe3, 0x1f, 0xc0, 0x96, 0xcf, + 0x04, 0xb9, 0x0e, 0x28, 0x8e, 0x78, 0xc0, 0xbc, 0xb9, 0xde, 0x46, 0x58, 0x6b, 0x2d, 0xa3, 0x53, + 0x72, 0x1a, 0x59, 0xf0, 0x52, 0xc5, 0xd4, 0x46, 0x02, 0x1d, 0xc2, 0xb3, 0x65, 0x2e, 0x1e, 0x13, + 0x16, 0x60, 0x1e, 0xd1, 0xd0, 0xda, 0xd6, 0x49, 0xd1, 0x82, 0x7d, 0x42, 0x58, 0x30, 0x8c, 0x68, + 0x88, 0x2e, 0xe1, 0x85, 0x60, 0x3e, 0xf5, 0x48, 0x8c, 0x25, 0xc7, 0x92, 0x06, 0x74, 0x46, 0x65, + 0x3c, 0xc7, 0x82, 0x0a, 0x91, 0x16, 0x80, 0x8c, 0xc7, 0x2c, 0x64, 0x72, 0x6e, 0xed, 0x28, 0x8d, + 0xdd, 0x8c, 0xec, 0x72, 0x37, 0xa7, 0x8e, 0x34, 0xf3, 0x28, 0x23, 0xa2, 0x3d, 0xa8, 0xab, 0x12, + 0xe3, 0x80, 0x09, 0x49, 0x43, 0x9c, 0x9e, 0xca, 0x2a, 0xb6, 0x8c, 0xce, 0x63, 0x67, 0x53, 0x05, + 0x06, 0x0a, 0xbf, 0xe4, 0xb1, 0x44, 0x2f, 0x41, 0x43, 0x78, 0x2a, 0x65, 0xa4, 0x99, 0x8f, 0x15, + 0xb3, 0xaa, 0xe0, 0x77, 0x52, 0x46, 0x8a, 0x77, 0x0c, 0x9b, 0x1e, 0x0f, 0x43, 0xea, 0x49, 0x2c, + 0xd9, 0x8c, 0xf2, 0x44, 0x5a, 0x4f, 0x5a, 0x46, 0xa7, 0x7c, 0xb0, 0x6d, 0xeb, 0xe6, 0xdb, 0x79, + 0xf3, 0xed, 0x5e, 0xd6, 0x7c, 0xa7, 0x96, 0x65, 0xb8, 0x3a, 0x01, 0x71, 0xa8, 0x4a, 0x2f, 0xc2, + 0x37, 0x94, 0x46, 0x24, 0x60, 0xb7, 0xd4, 0xfa, 0x95, 0x52, 0x38, 0xb3, 0xb5, 0xa7, 0x16, 0x4e, + 0xc8, 0x9d, 0x75, 0x68, 0x77, 0xb5, 0x02, 0xe3, 0xe1, 0x25, 0xe7, 0xc1, 0x88, 0x4a, 0xc9, 0xc2, + 0x89, 0xb0, 0xdd, 0xee, 0xe5, 0xe2, 0xb7, 0x17, 0xfd, 0x98, 0x2b, 0x3a, 0x15, 0xb9, 0xb4, 0x42, + 0xdf, 0x42, 0x95, 0x85, 0x93, 0x98, 0x0a, 0x81, 0xbd, 0x80, 0x08, 0x61, 0xad, 0xab, 0x6e, 0x57, + 0x32, 0xb0, 0x9b, 0x62, 0xe8, 0x15, 0x6c, 0xe6, 0xa4, 0xd4, 0x13, 0xcc, 0xa3, 0x56, 0x49, 0xd1, + 0x6a, 0x19, 0x3c, 0xd2, 0x28, 0x9a, 0xc1, 0x57, 0x77, 0x6a, 0x3c, 0x94, 0x31, 0x0f, 0x02, 0x1a, + 0xe3, 0x19, 0xf7, 0xa9, 0xb5, 0xd1, 0x32, 0x3a, 0xb5, 0x83, 0xef, 0xec, 0x15, 0x97, 0xc3, 0x5e, + 0x38, 0xd6, 0x3e, 0xcd, 0xf6, 0xbd, 0xcb, 0x3e, 0xe7, 0x3e, 0x75, 0xb6, 0xd8, 0x2a, 0x18, 0x0d, + 0xa1, 0x4c, 0x12, 0x39, 0xcd, 0xdc, 0x67, 0x81, 0xda, 0x62, 0xef, 0xa1, 0x2d, 0x8e, 0x12, 0x39, + 0xd5, 0x9e, 0x3c, 0x2e, 0x58, 0x86, 0x03, 0xe4, 0x6e, 0x8d, 0x4e, 0xa1, 0x1e, 0xfb, 0x02, 0xc7, + 0x74, 0x1c, 0x53, 0x31, 0xc5, 0x3e, 0x0d, 0xc8, 0xdc, 0x2a, 0x3f, 0xd0, 0x44, 0xa5, 0xb2, 0x19, + 0xfb, 0xc2, 0xd1, 0x69, 0xbd, 0x34, 0x0b, 0xbd, 0x80, 0x1a, 0x0d, 0xd5, 0xdd, 0x90, 0x31, 0xf1, + 0x58, 0x38, 0xb1, 0x2a, 0xca, 0x9c, 0x55, 0x8d, 0xba, 0x1a, 0x4c, 0xcd, 0x45, 0x3c, 0x2f, 0x2d, + 0x58, 0xc0, 0x27, 0x78, 0xcc, 0x02, 0x6a, 0x55, 0x55, 0x69, 0xab, 0x1a, 0x1e, 0xf0, 0xc9, 0x09, + 0x0b, 0x68, 0x6a, 0xd8, 0x65, 0x1e, 0x8f, 0x67, 0x44, 0x5a, 0x96, 0x62, 0x6e, 0x2e, 0x98, 0x0a, + 0x46, 0x04, 0x1a, 0x4b, 0x5c, 0x1a, 0x7a, 0xdc, 0x4f, 0xf7, 0x7f, 0xae, 0xca, 0xf3, 0xfa, 0xc1, + 0xf2, 0xe4, 0x6a, 0xfd, 0x2c, 0xd1, 0xa9, 0x93, 0xfb, 0x10, 0xfa, 0x01, 0x6a, 0x3e, 0x1d, 0x93, + 0x24, 0x90, 0x58, 0xcf, 0x3e, 0xab, 0xa6, 0xaa, 0xd4, 0x5a, 0xa9, 0x7e, 0x99, 0xde, 0x13, 0x2d, + 0xef, 0x54, 0xb3, 0xbc, 0x6c, 0x42, 0xbd, 0x82, 0xaa, 0x9e, 0x39, 0xc4, 0xf7, 0xd3, 0x0e, 0x5b, + 0x66, 0x7a, 0x26, 0x55, 0xd2, 0x8a, 0x0a, 0x1c, 0x69, 0x3c, 0xb5, 0x16, 0x4f, 0xe4, 0x35, 0x4f, + 0x42, 0x3f, 0xad, 0xe8, 0x78, 0xcc, 0xbc, 0xbc, 0xef, 0x75, 0xb5, 0xf5, 0x83, 0xd6, 0x1a, 0x66, + 0xe9, 0xae, 0xce, 0xd6, 0x2d, 0x77, 0xb6, 0xf8, 0x2a, 0x18, 0xf5, 0xe0, 0x9b, 0xac, 0x7d, 0x5e, + 0xc0, 0x68, 0x28, 0x71, 0x3a, 0x53, 0xbe, 0x18, 0x73, 0x56, 0x43, 0xf5, 0xf3, 0xb9, 0xa6, 0x75, + 0x15, 0x6b, 0xc4, 0xfc, 0xe5, 0x71, 0x87, 0x5a, 0x50, 0x11, 0xbe, 0xc0, 0x89, 0x2f, 0x70, 0x44, + 0xe4, 0xd4, 0x7a, 0xaa, 0x1a, 0x06, 0xc2, 0x17, 0x57, 0xbe, 0xb8, 0x24, 0x72, 0x9a, 0x3a, 0x4e, + 0xfc, 0xc4, 0x71, 0x5b, 0xff, 0x95, 0xe3, 0xc4, 0x3d, 0xc7, 0xbd, 0x83, 0x9a, 0xee, 0x05, 0x16, + 0x3c, 0x89, 0x3d, 0x2a, 0xac, 0x67, 0xad, 0xb5, 0x4e, 0xf9, 0x60, 0x77, 0x65, 0x61, 0x74, 0x51, + 0x46, 0x8a, 0xe9, 0x54, 0xbd, 0xa5, 0x95, 0x1a, 0xd2, 0xd9, 0xe1, 0xd3, 0x67, 0x93, 0xfc, 0x86, + 0x86, 0x78, 0xc6, 0x93, 0x50, 0x5a, 0x5f, 0xe9, 0x21, 0xad, 0xa3, 0x23, 0x5f, 0xb8, 0x69, 0xec, + 0x3c, 0x0d, 0xa1, 0x3d, 0x40, 0xea, 0xac, 0x82, 0xe2, 0x9b, 0x37, 0x02, 0x0b, 0x82, 0xff, 0xf2, + 0x51, 0x5a, 0x5f, 0xab, 0x84, 0x5a, 0x7a, 0x62, 0x41, 0x7f, 0x7c, 0x23, 0x46, 0xe4, 0xec, 0xa3, + 0x44, 0xbb, 0x50, 0x91, 0x71, 0x22, 0x24, 0xf6, 0xf9, 0x8c, 0xb0, 0xd0, 0x6a, 0xaa, 0xba, 0x94, + 0x15, 0xd6, 0x53, 0x10, 0x7a, 0x0b, 0xdb, 0xb9, 0xc3, 0xb2, 0x99, 0x83, 0xe9, 0x27, 0xf5, 0x5a, + 0x92, 0xdc, 0xfa, 0xa6, 0xb5, 0xd6, 0xd9, 0x70, 0x9e, 0x65, 0x84, 0x6c, 0xfa, 0xf4, 0x55, 0xd8, + 0xe5, 0xe8, 0x1d, 0xec, 0xe6, 0xa9, 0xb7, 0x2c, 0x96, 0x09, 0x09, 0x56, 0x48, 0xb4, 0x94, 0xc4, + 0xd7, 0x19, 0xf1, 0xbd, 0xe6, 0xdd, 0x57, 0x3a, 0x83, 0x76, 0xae, 0x74, 0xff, 0x85, 0xbb, 0x24, + 0xb5, 0xab, 0xa4, 0x76, 0x32, 0x66, 0x6f, 0x41, 0x74, 0x92, 0x60, 0xa1, 0xf5, 0x02, 0x6a, 0x31, + 0xe7, 0x12, 0x87, 0x64, 0x46, 0x45, 0x44, 0x3c, 0x6a, 0xb5, 0xf5, 0x45, 0x4f, 0xd1, 0x8b, 0x1c, + 0x44, 0x7f, 0x86, 0x46, 0xc0, 0x3d, 0x12, 0x30, 0x39, 0xc7, 0xc1, 0x35, 0x16, 0x7a, 0x86, 0x5b, + 0xdf, 0x2a, 0x4b, 0xfc, 0x76, 0x65, 0x2b, 0x07, 0x19, 0x7f, 0xc0, 0x89, 0x7f, 0x4c, 0x02, 0x12, + 0x7a, 0x34, 0xce, 0x66, 0xbf, 0x53, 0xcf, 0xc5, 0x06, 0xd7, 0x19, 0x84, 0xba, 0x60, 0xfa, 0xe1, + 0xc2, 0x72, 0x31, 0x91, 0xd4, 0xfa, 0xf5, 0x83, 0x2f, 0x2a, 0x3f, 0xcc, 0xdd, 0xe6, 0x10, 0x49, + 0x9b, 0x7f, 0x33, 0x60, 0x6b, 0xe5, 0x85, 0x42, 0x17, 0x50, 0x54, 0x03, 0xdf, 0x50, 0xe3, 0xe6, + 0xfb, 0xff, 0xe9, 0x56, 0xda, 0x6a, 0xea, 0x2b, 0x9d, 0x76, 0x0f, 0x8a, 0x6a, 0xd8, 0xd7, 0xa1, + 0xea, 0xf4, 0x7f, 0x38, 0x1d, 0xb9, 0xce, 0x07, 0x3c, 0xbc, 0x18, 0x7c, 0x30, 0x1f, 0xa1, 0x2a, + 0x6c, 0x1c, 0x0d, 0x06, 0xc3, 0xdf, 0xe3, 0xa3, 0x8b, 0x0f, 0xa6, 0xd1, 0x2e, 0x96, 0x0a, 0x66, + 0x61, 0xef, 0xe9, 0xfb, 0x53, 0xc7, 0xbd, 0x3a, 0x1a, 0xe0, 0x51, 0xdf, 0x79, 0x7f, 0xda, 0xed, + 0x2b, 0x72, 0xfb, 0x2d, 0x6c, 0xad, 0x7c, 0xb5, 0xa0, 0x75, 0x58, 0x1b, 0x9e, 0x9c, 0x98, 0x8f, + 0x50, 0x19, 0xd6, 0x7b, 0xfd, 0x93, 0xa3, 0xab, 0x81, 0x6b, 0x1a, 0x08, 0xe0, 0xc9, 0xc8, 0x75, + 0x4e, 0xbb, 0xae, 0x59, 0x68, 0xbf, 0x04, 0x58, 0xbc, 0x32, 0x50, 0x09, 0x8a, 0x17, 0xc3, 0x8b, + 0xbe, 0xf9, 0x08, 0xd5, 0x00, 0xce, 0xaf, 0xd4, 0x4e, 0xee, 0x60, 0x64, 0x1a, 0xed, 0x57, 0x50, + 0xff, 0xc9, 0xec, 0x4c, 0xe9, 0x6e, 0xff, 0x0f, 0xae, 0xf9, 0x28, 0xfd, 0x75, 0x36, 0x1a, 0x5e, + 0x98, 0xc6, 0x59, 0xb1, 0xb4, 0x69, 0x9a, 0x67, 0xc5, 0x12, 0x32, 0x1b, 0x6d, 0x01, 0x95, 0xe5, + 0x9b, 0x88, 0x2c, 0x58, 0xcf, 0x27, 0xa1, 0xfe, 0x4c, 0xcb, 0x97, 0xe8, 0x14, 0x2a, 0x32, 0x10, + 0xb9, 0x21, 0x84, 0xfa, 0x2c, 0x2b, 0x1f, 0xbc, 0xfc, 0x99, 0x2f, 0x03, 0x77, 0x30, 0xca, 0x3f, + 0x01, 0x9c, 0xb2, 0x0c, 0x44, 0xbe, 0x68, 0xff, 0x63, 0x0d, 0x9e, 0xff, 0x8c, 0x69, 0xd0, 0x9f, + 0x00, 0x7c, 0x26, 0x64, 0xcc, 0xae, 0x13, 0x99, 0x36, 0x32, 0x9d, 0x22, 0xbf, 0xfb, 0xa5, 0xd6, + 0xb3, 0x7b, 0x77, 0x12, 0xce, 0x92, 0x1c, 0xba, 0x82, 0x52, 0xfa, 0xd1, 0xc7, 0xf5, 0xa7, 0x65, + 0x2a, 0xfd, 0xf6, 0x17, 0x4b, 0x9f, 0x64, 0x02, 0xce, 0x9d, 0x54, 0xf3, 0xaf, 0x06, 0xc0, 0x62, + 0x47, 0x84, 0xa0, 0x38, 0x8e, 0xf9, 0x2c, 0x2b, 0xa2, 0xfa, 0x8d, 0x46, 0x50, 0x90, 0x3c, 0xdb, + 0xb3, 0xfb, 0x7f, 0x1c, 0xc7, 0x76, 0x79, 0x3f, 0x94, 0xf1, 0xdc, 0x29, 0x48, 0xde, 0xfc, 0x0e, + 0xd6, 0xb3, 0x25, 0x32, 0x61, 0xed, 0x86, 0xce, 0xb3, 0x2d, 0xd3, 0x9f, 0xe8, 0x29, 0x3c, 0xbe, + 0x25, 0x41, 0x42, 0x55, 0xb3, 0xaa, 0x8e, 0x5e, 0x7c, 0x5f, 0x78, 0x63, 0x34, 0x6d, 0x28, 0xe5, + 0x87, 0x58, 0xf9, 0xac, 0xb5, 0xec, 0x59, 0x53, 0xa4, 0x20, 0xf9, 0x71, 0xe7, 0x9f, 0x9f, 0x77, + 0x8c, 0x7f, 0x7d, 0xde, 0x31, 0xfe, 0xfd, 0x79, 0xc7, 0xf8, 0x63, 0x53, 0x3f, 0x3c, 0xe3, 0xfb, + 0x24, 0x62, 0xfb, 0x5f, 0xfc, 0x75, 0xb8, 0x7e, 0xa2, 0x2e, 0xef, 0xe1, 0x7f, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x33, 0x88, 0x4e, 0x58, 0xa3, 0x0c, 0x00, 0x00, } func (m *MeshConfig) Marshal() (dAtA []byte, err error) { @@ -1388,6 +1398,18 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n7 } + if m.DnsRefreshRate != nil { + dAtA[i] = 0xa2 + i++ + dAtA[i] = 0x2 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.DnsRefreshRate.Size())) + n8, err := m.DnsRefreshRate.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) } @@ -1445,11 +1467,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size())) - n8, err := m.TlsSettings.MarshalTo(dAtA[i:]) + n9, err := m.TlsSettings.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n8 + i += n9 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -1721,6 +1743,10 @@ func (m *MeshConfig) Size() (n int) { l = m.LocalityLbSetting.Size() n += 2 + l + sovConfig(uint64(l)) } + if m.DnsRefreshRate != nil { + l = m.DnsRefreshRate.Size() + n += 2 + l + sovConfig(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -2809,6 +2835,42 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 36: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DnsRefreshRate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthConfig + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthConfig + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DnsRefreshRate == nil { + m.DnsRefreshRate = &types.Duration{} + } + if err := m.DnsRefreshRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index f31c0d2c523..062e1e60e89 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -279,9 +279,11 @@ message MeshConfig { // Locality based load balancing distribution or failover settings. LocalityLoadBalancerSetting locality_lb_setting = 35; + // Configures DNS refresh rate for Envoy clusters of type STRICT_DNS + google.protobuf.Duration dns_refresh_rate = 36; // $hide_from_docs - // Next available field number: 36 + // Next available field number: 37 } // ConfigSource describes information about a configuration store inside a diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 9be1af96825..d4d0be852ae 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -486,6 +486,14 @@

MeshConfig

+ + + + + diff --git a/proto.lock b/proto.lock index e928431dd2e..6aeb94677d1 100644 --- a/proto.lock +++ b/proto.lock @@ -1000,6 +1000,11 @@ "id": 35, "name": "locality_lb_setting", "type": "LocalityLoadBalancerSetting" + }, + { + "id": 36, + "name": "dns_refresh_rate", + "type": "google.protobuf.Duration" } ], "reserved_ids": [ diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index b8d0290a1b3..27427a80009 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xf7\r\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12-\n%sidecar_to_telemetry_session_affinity\x18\x1e \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1d \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x12!\n\x19\x64\x65\x66\x61ult_service_export_to\x18\x1f \x03(\t\x12)\n!default_virtual_service_export_to\x18 \x03(\t\x12*\n\"default_destination_rule_export_to\x18! \x03(\t\x12\x16\n\x0eroot_namespace\x18\" \x01(\t\x12M\n\x13locality_lb_setting\x18# \x01(\x0b\x32\x30.istio.mesh.v1alpha1.LocalityLoadBalancerSetting\x1a\xa7\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"D\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\x01\"\x04\x08\x02\x10\x02*\x14VIRTUAL_SERVICE_ONLY\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xfa\x02\n\x1bLocalityLoadBalancerSetting\x12O\n\ndistribute\x18\x01 \x03(\x0b\x32;.istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute\x12K\n\x08\x66\x61ilover\x18\x02 \x03(\x0b\x32\x39.istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Failover\x1a\x96\x01\n\nDistribute\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12O\n\x02to\x18\x02 \x03(\x0b\x32\x43.istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute.ToEntry\x1a)\n\x07ToEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a$\n\x08\x46\x61ilover\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12\n\n\x02to\x18\x02 \x01(\tB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xac\x0e\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12-\n%sidecar_to_telemetry_session_affinity\x18\x1e \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1d \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x12!\n\x19\x64\x65\x66\x61ult_service_export_to\x18\x1f \x03(\t\x12)\n!default_virtual_service_export_to\x18 \x03(\t\x12*\n\"default_destination_rule_export_to\x18! \x03(\t\x12\x16\n\x0eroot_namespace\x18\" \x01(\t\x12M\n\x13locality_lb_setting\x18# \x01(\x0b\x32\x30.istio.mesh.v1alpha1.LocalityLoadBalancerSetting\x12\x33\n\x10\x64ns_refresh_rate\x18$ \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xa7\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"D\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\x01\"\x04\x08\x02\x10\x02*\x14VIRTUAL_SERVICE_ONLY\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xfa\x02\n\x1bLocalityLoadBalancerSetting\x12O\n\ndistribute\x18\x01 \x03(\x0b\x32;.istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute\x12K\n\x08\x66\x61ilover\x18\x02 \x03(\x0b\x32\x39.istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Failover\x1a\x96\x01\n\nDistribute\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12O\n\x02to\x18\x02 \x03(\x0b\x32\x43.istio.mesh.v1alpha1.LocalityLoadBalancerSetting.Distribute.ToEntry\x1a)\n\x07ToEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a$\n\x08\x46\x61ilover\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12\n\n\x02to\x18\x02 \x01(\tB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -45,8 +45,8 @@ ], containing_type=None, options=None, - serialized_start=1718, - serialized_end=1786, + serialized_start=1771, + serialized_end=1839, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -71,8 +71,8 @@ ], containing_type=None, options=None, - serialized_start=1788, - serialized_end=1845, + serialized_start=1841, + serialized_end=1898, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -93,8 +93,8 @@ ], containing_type=None, options=None, - serialized_start=1847, - serialized_end=1885, + serialized_start=1900, + serialized_end=1938, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -115,8 +115,8 @@ ], containing_type=None, options=None, - serialized_start=1887, - serialized_end=1926, + serialized_start=1940, + serialized_end=1979, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -148,8 +148,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1619, - serialized_end=1786, + serialized_start=1672, + serialized_end=1839, ) _MESHCONFIG = _descriptor.Descriptor( @@ -390,6 +390,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='dns_refresh_rate', full_name='istio.mesh.v1alpha1.MeshConfig.dns_refresh_rate', index=33, + number=36, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -406,7 +413,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1938, + serialized_end=1991, ) @@ -443,8 +450,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1940, - serialized_end=2033, + serialized_start=1993, + serialized_end=2086, ) @@ -481,8 +488,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2335, - serialized_end=2376, + serialized_start=2388, + serialized_end=2429, ) _LOCALITYLOADBALANCERSETTING_DISTRIBUTE = _descriptor.Descriptor( @@ -518,8 +525,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2226, - serialized_end=2376, + serialized_start=2279, + serialized_end=2429, ) _LOCALITYLOADBALANCERSETTING_FAILOVER = _descriptor.Descriptor( @@ -555,8 +562,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2378, - serialized_end=2414, + serialized_start=2431, + serialized_end=2467, ) _LOCALITYLOADBALANCERSETTING = _descriptor.Descriptor( @@ -592,8 +599,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2036, - serialized_end=2414, + serialized_start=2089, + serialized_end=2467, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE @@ -610,6 +617,7 @@ _MESHCONFIG.fields_by_name['sds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['config_sources'].message_type = _CONFIGSOURCE _MESHCONFIG.fields_by_name['locality_lb_setting'].message_type = _LOCALITYLOADBALANCERSETTING +_MESHCONFIG.fields_by_name['dns_refresh_rate'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG_INGRESSCONTROLLERMODE.containing_type = _MESHCONFIG _MESHCONFIG_AUTHPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_ACCESSLOGENCODING.containing_type = _MESHCONFIG From 924f1e099299ea8a53243e1098f328c55ef4d10b Mon Sep 17 00:00:00 2001 From: Andra Cismaru Date: Sun, 10 Mar 2019 09:12:20 -0700 Subject: [PATCH 23/34] Hosts are not ignored in ServiceEntry for HTTPs (#833) * Hosts are not ignored in ServiceEntry for HTTPs * Clarify * Reword * Generate protos * Address code review comments * Fix typo * generate --- networking/v1alpha3/service_entry.pb.go | 18 ++++++++++-------- networking/v1alpha3/service_entry.pb.html | 18 ++++++++++-------- networking/v1alpha3/service_entry.proto | 18 ++++++++++-------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 97d37b99a75..6168b16ee64 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -426,17 +426,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 diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html index 8aaf60b847f..419590bd635 100644 --- a/networking/v1alpha3/service_entry.pb.html +++ b/networking/v1alpha3/service_entry.pb.html @@ -323,11 +323,14 @@

ServiceEntry

@@ -336,10 +339,9 @@

ServiceEntry

diff --git a/authentication/v1alpha1/policy.pb.go b/authentication/v1alpha1/policy.pb.go index 0954be05da2..9dd5783f153 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. diff --git a/authentication/v1alpha1/policy.proto b/authentication/v1alpha1/policy.proto index 916270f9650..f9156eb75be 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. diff --git a/dictionaries/custom.txt b/dictionaries/custom.txt index 14c8b03d73f..f056b95fd06 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 87ce22a8f38..d05358fc7ea 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 477be41f756..ec4cb9200b9 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 2adfe66184f..9fdc0a9033b 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 062e1e60e89..c35e2b24346 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 d4d0be852ae..0a654fad296 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -77,9 +77,9 @@

ConfigSource

@@ -150,7 +150,7 @@

LocalityLoadBalancerSetting

@@ -755,7 +755,7 @@

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:

  • @@ -794,7 +794,7 @@

    Network.NetworkEndpoints

    @@ -909,7 +909,7 @@

    ProxyConfig

    diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go index 078d6a26104..ccd7f8e0b7d 100644 --- a/mesh/v1alpha1/network.pb.go +++ b/mesh/v1alpha1/network.pb.go @@ -92,7 +92,7 @@ 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: // diff --git a/mesh/v1alpha1/network.proto b/mesh/v1alpha1/network.proto index a55c416cfe5..8260072a342 100644 --- a/mesh/v1alpha1/network.proto +++ b/mesh/v1alpha1/network.proto @@ -31,7 +31,7 @@ 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: // @@ -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; } diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index 0056c3caf6c..10950ac4c8b 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 576289c8add..a08d122c59c 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/config/client/service.proto b/mixer/v1/config/client/service.proto index d00937a84a6..01de2e97376 100644 --- a/mixer/v1/config/client/service.proto +++ b/mixer/v1/config/client/service.proto @@ -30,7 +30,7 @@ option (gogoproto.stable_marshaler_all) = true; // // 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/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 53ff90247ba..5764c93c261 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -52,7 +52,7 @@ // - "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 @@ -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 2e8bd131e75..670df0918ea 100644 --- a/networking/v1alpha3/gateway.pb.html +++ b/networking/v1alpha3/gateway.pb.html @@ -56,7 +56,7 @@ - "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
    @@ -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 ea314aa192c..4ae5e7983c6 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -69,7 +69,7 @@ syntax = "proto3"; // - "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 @@ -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 6168b16ee64..4e6de8be9de 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 ) @@ -593,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 419590bd635..a0b6499949c 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
    @@ -464,7 +463,7 @@ 

    ServiceEntry.Endpoint

    @@ -613,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 7a61b47aaea..9fa05786251 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 @@ -418,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; }; @@ -440,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 9224c76070a..dfc84815f84 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. // @@ -334,7 +334,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 +435,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 c7cbb3970f2..a4a209a5bfb 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

    diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index e3a5be25453..3e05e714a23 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. // @@ -247,7 +247,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 +287,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 dc79fdf24e0..e6f416e3490 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -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 diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html index c55e804f1fd..553bd484ee6 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 @@ -829,9 +828,8 @@

    HTTPRetry

    diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index dadf6fe195f..f69937399ed 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -916,15 +916,13 @@ message HTTPRetry { // 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. string retry_on = 3; } // 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 diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go index 1feea86699b..5ddb5b75826 100644 --- a/policy/v1beta1/cfg.pb.go +++ b/policy/v1beta1/cfg.pb.go @@ -118,7 +118,7 @@ type AttributeManifest struct { // Optional. The revision of this document. Assigned by server. Revision string `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"` // Required. Name of the component producing these attributes. This can be - // the proxy (with the canonical name "istio-proxy") or the name of an + // the proxy (with the canonical name `istio-proxy`) or the name of an // `attributes` kind adapter in Mixer. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The set of attributes this Istio component will be responsible for producing at runtime. @@ -131,9 +131,9 @@ type AttributeManifest struct { // match the regular expression `[\.-]`. // // Attribute names must be unique within a single Istio deployment. The set of canonical - // attributes are described at https://istio.io/docs/reference/attribute-vocabulary.html. + // attributes are described at [here](https://istio.io/docs/reference/attribute-vocabulary.html). // Attributes not in that list should be named with a component-specific suffix such as - // request.count-my.component. + // `request.count-my.component`. Attributes map[string]*AttributeManifest_AttributeInfo `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -287,7 +287,7 @@ func (m *AttributeManifest_AttributeInfo) GetValueType() ValueType { // A Rule is a selector and a set of intentions to be executed when the // selector is `true` // -// The following example instructs Mixer to invoke 'prometheus-handler' handler for all services and pass it the +// The following example instructs Mixer to invoke `prometheus-handler` handler for all services and pass it the // instance constructed using the 'RequestCountByService' instance. // // ```yaml diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto index a32277c9eea..5175e4acc9a 100644 --- a/policy/v1beta1/cfg.proto +++ b/policy/v1beta1/cfg.proto @@ -29,7 +29,7 @@ message AttributeManifest { // Optional. The revision of this document. Assigned by server. string revision = 1; // Required. Name of the component producing these attributes. This can be - // the proxy (with the canonical name "istio-proxy") or the name of an + // the proxy (with the canonical name `istio-proxy`) or the name of an // `attributes` kind adapter in Mixer. string name = 2; @@ -91,16 +91,16 @@ message AttributeManifest { // match the regular expression `[\.-]`. // // Attribute names must be unique within a single Istio deployment. The set of canonical - // attributes are described at https://istio.io/docs/reference/attribute-vocabulary.html. + // attributes are described at [here](https://istio.io/docs/reference/attribute-vocabulary.html). // Attributes not in that list should be named with a component-specific suffix such as - // request.count-my.component. + // `request.count-my.component`. map attributes = 3; } // A Rule is a selector and a set of intentions to be executed when the // selector is `true` // -// The following example instructs Mixer to invoke 'prometheus-handler' handler for all services and pass it the +// The following example instructs Mixer to invoke `prometheus-handler` handler for all services and pass it the // instance constructed using the 'RequestCountByService' instance. // // ```yaml diff --git a/policy/v1beta1/istio.policy.v1beta1.pb.html b/policy/v1beta1/istio.policy.v1beta1.pb.html index b5ad9f807d4..147eda3f17c 100644 --- a/policy/v1beta1/istio.policy.v1beta1.pb.html +++ b/policy/v1beta1/istio.policy.v1beta1.pb.html @@ -87,7 +87,7 @@

    AttributeManifest

    @@ -107,9 +107,9 @@

    AttributeManifest

    match the regular expression [\.-].

    Attribute names must be unique within a single Istio deployment. The set of canonical -attributes are described at https://istio.io/docs/reference/attribute-vocabulary.html. +attributes are described at here. Attributes not in that list should be named with a component-specific suffix such as -request.count-my.component.

    +request.count-my.component.

    @@ -1082,7 +1082,7 @@

    Rule

    A Rule is a selector and a set of intentions to be executed when the selector is true

    -

    The following example instructs Mixer to invoke ‘prometheus-handler’ handler for all services and pass it the +

    The following example instructs Mixer to invoke prometheus-handler handler for all services and pass it the instance constructed using the ‘RequestCountByService’ instance.

    - match: match(destination.service.host, "*")
    diff --git a/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html b/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html
    index edc324f0e83..ed198265932 100644
    --- a/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html
    +++ b/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html
    @@ -173,11 +173,11 @@ 

    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 +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 +

    Below is an example of an RbacConfig resource called istio-rbac-config which enables Istio RBAC for all services in the default namespace.

    apiVersion: "rbac.istio.io/v1alpha1"
    diff --git a/rbac/v1alpha1/rbac.pb.go b/rbac/v1alpha1/rbac.pb.go
    index 297f24ca196..dc346f1214e 100644
    --- a/rbac/v1alpha1/rbac.pb.go
    +++ b/rbac/v1alpha1/rbac.pb.go
    @@ -836,11 +836,11 @@ func (m *RoleRef) GetName() string {
     
     // 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
    +// 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
    +// Below is an example of an `RbacConfig` resource called `istio-rbac-config` which enables Istio RBAC for all
     // services in the default namespace.
     //
     // ```yaml
    diff --git a/rbac/v1alpha1/rbac.proto b/rbac/v1alpha1/rbac.proto
    index 85ea2a666f2..a5a30608ec5 100644
    --- a/rbac/v1alpha1/rbac.proto
    +++ b/rbac/v1alpha1/rbac.proto
    @@ -296,11 +296,11 @@ message RoleRef {
     
     // 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
    +// 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
    +// Below is an example of an `RbacConfig` resource called `istio-rbac-config` which enables Istio RBAC for all
     // services in the default namespace.
     //
     // ```yaml
    @@ -355,7 +355,7 @@ message RbacConfig {
     
       // $hide_from_docs
       // Indicates enforcement mode of the RbacConfig, in ENFORCED mode by default.
    -  // It's used to verify new RbacConfig work as expected before rolling to production. 
    +  // It's used to verify new RbacConfig work as expected before rolling to production.
       // When setting as PERMISSIVE, RBAC isn't enforced and has no impact on users.
       // RBAC engine run RbacConfig in PERMISSIVE mode and logs stats.
       // Invalid to set RbacConfig in PERMISSIVE and ServiceRoleBinding in ENFORCED mode.
    
    From a68257e399a822e1797317563da8cc78edbde8c1 Mon Sep 17 00:00:00 2001
    From: Martin Taillefer 
    Date: Tue, 12 Mar 2019 07:00:59 -0700
    Subject: [PATCH 26/34] Fix two more broken links. (#856)
    
    ---
     mixer/v1/attributes.pb.go                                   | 2 +-
     mixer/v1/attributes.proto                                   | 2 +-
     mixer/v1/config/client/istio.mixer.v1.config.client.pb.html | 2 +-
     mixer/v1/istio.mixer.v1.pb.html                             | 2 +-
     policy/v1beta1/cfg.pb.go                                    | 2 +-
     policy/v1beta1/cfg.proto                                    | 2 +-
     policy/v1beta1/istio.policy.v1beta1.pb.html                 | 2 +-
     7 files changed, 7 insertions(+), 7 deletions(-)
    
    diff --git a/mixer/v1/attributes.pb.go b/mixer/v1/attributes.pb.go
    index 00bad919e62..4b772b82d7d 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).
    diff --git a/mixer/v1/attributes.proto b/mixer/v1/attributes.proto
    index b2eb970280f..32fa4fc8a52 100644
    --- a/mixer/v1/attributes.proto
    +++ b/mixer/v1/attributes.proto
    @@ -51,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/istio.mixer.v1.config.client.pb.html b/mixer/v1/config/client/istio.mixer.v1.config.client.pb.html
    index 90fdffac767..bd25751a325 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/istio.mixer.v1.pb.html b/mixer/v1/istio.mixer.v1.pb.html index e2d446ab964..1caee7a896a 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/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go index 5ddb5b75826..54816031613 100644 --- a/policy/v1beta1/cfg.pb.go +++ b/policy/v1beta1/cfg.pb.go @@ -131,7 +131,7 @@ type AttributeManifest struct { // match the regular expression `[\.-]`. // // Attribute names must be unique within a single Istio deployment. The set of canonical - // attributes are described at [here](https://istio.io/docs/reference/attribute-vocabulary.html). + // attributes are described at [here](https://istio.io/docs/reference/config/policy-and-telemetry/attribute-vocabulary/). // Attributes not in that list should be named with a component-specific suffix such as // `request.count-my.component`. Attributes map[string]*AttributeManifest_AttributeInfo `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto index 5175e4acc9a..1bdfbba7886 100644 --- a/policy/v1beta1/cfg.proto +++ b/policy/v1beta1/cfg.proto @@ -91,7 +91,7 @@ message AttributeManifest { // match the regular expression `[\.-]`. // // Attribute names must be unique within a single Istio deployment. The set of canonical - // attributes are described at [here](https://istio.io/docs/reference/attribute-vocabulary.html). + // attributes are described at [here](https://istio.io/docs/reference/config/policy-and-telemetry/attribute-vocabulary/). // Attributes not in that list should be named with a component-specific suffix such as // `request.count-my.component`. map attributes = 3; diff --git a/policy/v1beta1/istio.policy.v1beta1.pb.html b/policy/v1beta1/istio.policy.v1beta1.pb.html index 147eda3f17c..f92ca16ff66 100644 --- a/policy/v1beta1/istio.policy.v1beta1.pb.html +++ b/policy/v1beta1/istio.policy.v1beta1.pb.html @@ -107,7 +107,7 @@

    AttributeManifest

    match the regular expression [\.-].

    Attribute names must be unique within a single Istio deployment. The set of canonical -attributes are described at here. +attributes are described at here. Attributes not in that list should be named with a component-specific suffix such as request.count-my.component.

    From 9dca77f8a66a3ac67eeae2e758baa288eb396bc7 Mon Sep 17 00:00:00 2001 From: Ed Snible Date: Thu, 14 Mar 2019 10:59:11 -0400 Subject: [PATCH 27/34] Fix CRD examples for release-1.1 (#859) --- .../istio.authentication.v1alpha1.pb.html | 4 +- authentication/v1alpha1/policy.pb.go | 4 +- authentication/v1alpha1/policy.proto | 4 +- networking/v1alpha3/gateway.pb.go | 10 +-- networking/v1alpha3/gateway.pb.html | 10 +-- networking/v1alpha3/gateway.proto | 10 +-- networking/v1alpha3/virtual_service.pb.go | 2 +- networking/v1alpha3/virtual_service.pb.html | 2 +- networking/v1alpha3/virtual_service.proto | 2 +- rbac/v1alpha1/istio.rbac.v1alpha1.pb.html | 64 +------------------ rbac/v1alpha1/rbac.pb.go | 5 +- rbac/v1alpha1/rbac.proto | 5 +- 12 files changed, 32 insertions(+), 90 deletions(-) diff --git a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html index 4d144436f4a..3afec5755f8 100644 --- a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html +++ b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html @@ -353,7 +353,7 @@

    Policy

    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 9dd5783f153..d9d92c3f200 100644
    --- a/authentication/v1alpha1/policy.pb.go
    +++ b/authentication/v1alpha1/policy.pb.go
    @@ -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 f9156eb75be..42638a542d2 100644
    --- a/authentication/v1alpha1/policy.proto
    +++ b/authentication/v1alpha1/policy.proto
    @@ -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/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go
    index 5764c93c261..16a2c07e4b7 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,7 +46,7 @@
     //       privateKey: /etc/certs/privatekey.pem
     //   - port:
     //       number: 9443
    -//       name: https
    +//       name: https-9443
     //       protocol: HTTPS
     //     hosts:
     //     - "bookinfo-namespace/*.bookinfo.com"
    @@ -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:
    diff --git a/networking/v1alpha3/gateway.pb.html b/networking/v1alpha3/gateway.pb.html
    index 670df0918ea..d47131deaf7 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,7 +50,7 @@
           privateKey: /etc/certs/privatekey.pem
       - port:
           number: 9443
    -      name: https
    +      name: https-9443
           protocol: HTTPS
         hosts:
         - "bookinfo-namespace/*.bookinfo.com"
    @@ -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:
    diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto
    index 4ae5e7983c6..838863d60db 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,7 +63,7 @@ syntax = "proto3";
     //       privateKey: /etc/certs/privatekey.pem
     //   - port:
     //       number: 9443
    -//       name: https
    +//       name: https-9443
     //       protocol: HTTPS
     //     hosts:
     //     - "bookinfo-namespace/*.bookinfo.com"
    @@ -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:
    diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go
    index e6f416e3490..e6e308c54c4 100644
    --- a/networking/v1alpha3/virtual_service.pb.go
    +++ b/networking/v1alpha3/virtual_service.pb.go
    @@ -2090,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 553bd484ee6..ab9cb8215c5 100644
    --- a/networking/v1alpha3/virtual_service.pb.html
    +++ b/networking/v1alpha3/virtual_service.pb.html
    @@ -123,7 +123,7 @@ 

    CorsPolicy

    allowCredentials: false allowHeaders: - X-Foo-Bar - maxAge: "1d" + maxAge: "24h"
    Port

    REQUIRED: The Port on which the proxy should listen for incoming -connections. If using Unix domain socket, use 0 as the port number, -with a valid protocol and port name, along with the bind parameter.

    +connections.

    string

    The credentialName stands for a unique identifier that can be used -to identify the serverCertificate and the privateKey. The 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 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, +to identify the serverCertificate and the privateKey. The +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 +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 -credentialName-cacert. The semantics of the name are platform dependent. -In Kubernetes, the default Istio supplied credential server expects the -credentialName to match the name of the Kubernetes secret that holds the -server certificate, the private key, and the CA certificate -(if using mutual TLS).

    +credentialName-cacert. The semantics of the name are platform +dependent. In Kubernetes, the default Istio supplied credential +server expects the credentialName to match the name of the +Kubernetes secret that holds the server certificate, the private +key, and the CA certificate (if using mutual TLS). Set the +ISTIOMETAUSER_SDS metadata variable in the gateway’s proxy to +enable the dynamic credential fetching feature.

    Locality based load balancing distribution or failover settings.

    +
    dnsRefreshRategoogle.protobuf.Duration +

    Configures DNS refresh rate for Envoy clusters of type STRICT_DNS

    +
    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.

    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 diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 8db08dff8f4..7a61b47aaea 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -339,18 +339,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 From 0791ae64224c0c50dad4899d94c6d2e3f35d8d4a Mon Sep 17 00:00:00 2001 From: Kuat Date: Mon, 11 Mar 2019 10:48:19 -0700 Subject: [PATCH 24/34] make mixer config marshal deterministic (#846) Signed-off-by: Kuat Yessenov --- mixer/v1/attributes.pb.go | 251 ++++++++++-------- mixer/v1/attributes.proto | 1 + mixer/v1/config/client/api_spec.pb.go | 138 ++++------ mixer/v1/config/client/api_spec.proto | 1 + mixer/v1/config/client/client_config.pb.go | 197 +++++++------- mixer/v1/config/client/client_config.proto | 1 + mixer/v1/config/client/quota.pb.go | 173 ++++++------ mixer/v1/config/client/quota.proto | 1 + mixer/v1/config/client/service.pb.go | 63 ++--- mixer/v1/config/client/service.proto | 1 + python/istio_api/mixer/v1/attributes_pb2.py | 4 +- .../mixer/v1/config/client/api_spec_pb2.py | 4 +- .../v1/config/client/client_config_pb2.py | 4 +- .../mixer/v1/config/client/quota_pb2.py | 4 +- .../mixer/v1/config/client/service_pb2.py | 4 +- 15 files changed, 415 insertions(+), 432 deletions(-) diff --git a/mixer/v1/attributes.pb.go b/mixer/v1/attributes.pb.go index af3a17af5bf..00bad919e62 100644 --- a/mixer/v1/attributes.pb.go +++ b/mixer/v1/attributes.pb.go @@ -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 f04a5830891..b2eb970280f 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 diff --git a/mixer/v1/config/client/api_spec.pb.go b/mixer/v1/config/client/api_spec.pb.go index ad6be4e7592..479e8e3c52d 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 27fafee8275..92dfefc067a 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 85f5b24cd49..7984e9a4fd8 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 27568888f20..8dd8853341f 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/quota.pb.go b/mixer/v1/config/client/quota.pb.go index 02e71e22b1c..39fe9ff3118 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 3894fcd18dc..5ea594c8384 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 11e541be687..34e237910f4 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 958a4cb2c9c..d00937a84a6 100644 --- a/mixer/v1/config/client/service.proto +++ b/mixer/v1/config/client/service.proto @@ -23,6 +23,7 @@ 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. diff --git a/python/istio_api/mixer/v1/attributes_pb2.py b/python/istio_api/mixer/v1/attributes_pb2.py index 9d37998e421..5f94c4c8832 100644 --- a/python/istio_api/mixer/v1/attributes_pb2.py +++ b/python/istio_api/mixer/v1/attributes_pb2.py @@ -22,7 +22,7 @@ name='mixer/v1/attributes.proto', package='istio.mixer.v1', syntax='proto3', - serialized_pb=_b('\n\x19mixer/v1/attributes.proto\x12\x0eistio.mixer.v1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe9\x04\n\nAttributes\x12>\n\nattributes\x18\x01 \x03(\x0b\x32*.istio.mixer.v1.Attributes.AttributesEntry\x1a\\\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).istio.mixer.v1.Attributes.AttributeValue:\x02\x38\x01\x1a\xbb\x02\n\x0e\x41ttributeValue\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x15\n\x0bint64_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x05 \x01(\x08H\x00\x12\x15\n\x0b\x62ytes_value\x18\x06 \x01(\x0cH\x00\x12\x35\n\x0ftimestamp_value\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x33\n\x0e\x64uration_value\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12@\n\x10string_map_value\x18\t \x01(\x0b\x32$.istio.mixer.v1.Attributes.StringMapH\x00\x42\x07\n\x05value\x1a\x7f\n\tStringMap\x12\x42\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x31.istio.mixer.v1.Attributes.StringMap.EntriesEntry\x1a.\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbb\x08\n\x14\x43ompressedAttributes\x12\r\n\x05words\x18\x01 \x03(\t\x12\x42\n\x07strings\x18\x02 \x03(\x0b\x32\x31.istio.mixer.v1.CompressedAttributes.StringsEntry\x12@\n\x06int64s\x18\x03 \x03(\x0b\x32\x30.istio.mixer.v1.CompressedAttributes.Int64sEntry\x12\x42\n\x07\x64oubles\x18\x04 \x03(\x0b\x32\x31.istio.mixer.v1.CompressedAttributes.DoublesEntry\x12>\n\x05\x62ools\x18\x05 \x03(\x0b\x32/.istio.mixer.v1.CompressedAttributes.BoolsEntry\x12R\n\ntimestamps\x18\x06 \x03(\x0b\x32\x34.istio.mixer.v1.CompressedAttributes.TimestampsEntryB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01\x12P\n\tdurations\x18\x07 \x03(\x0b\x32\x33.istio.mixer.v1.CompressedAttributes.DurationsEntryB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12>\n\x05\x62ytes\x18\x08 \x03(\x0b\x32/.istio.mixer.v1.CompressedAttributes.BytesEntry\x12O\n\x0bstring_maps\x18\t \x03(\x0b\x32\x34.istio.mixer.v1.CompressedAttributes.StringMapsEntryB\x04\xc8\xde\x1f\x00\x1a.\n\x0cStringsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x1a-\n\x0bInt64sEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a.\n\x0c\x44oublesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a,\n\nBoolsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1aM\n\x0fTimestampsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\x02\x38\x01\x1aK\n\x0e\x44urationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration:\x02\x38\x01\x1a,\n\nBytesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1aL\n\x0fStringMapsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.istio.mixer.v1.StringMap:\x02\x38\x01\"t\n\tStringMap\x12\x37\n\x07\x65ntries\x18\x01 \x03(\x0b\x32&.istio.mixer.v1.StringMap.EntriesEntry\x1a.\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x42&Z\x15istio.io/api/mixer/v1\xf8\x01\x01\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3') + serialized_pb=_b('\n\x19mixer/v1/attributes.proto\x12\x0eistio.mixer.v1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe9\x04\n\nAttributes\x12>\n\nattributes\x18\x01 \x03(\x0b\x32*.istio.mixer.v1.Attributes.AttributesEntry\x1a\\\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).istio.mixer.v1.Attributes.AttributeValue:\x02\x38\x01\x1a\xbb\x02\n\x0e\x41ttributeValue\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x15\n\x0bint64_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x05 \x01(\x08H\x00\x12\x15\n\x0b\x62ytes_value\x18\x06 \x01(\x0cH\x00\x12\x35\n\x0ftimestamp_value\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x33\n\x0e\x64uration_value\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12@\n\x10string_map_value\x18\t \x01(\x0b\x32$.istio.mixer.v1.Attributes.StringMapH\x00\x42\x07\n\x05value\x1a\x7f\n\tStringMap\x12\x42\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x31.istio.mixer.v1.Attributes.StringMap.EntriesEntry\x1a.\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbb\x08\n\x14\x43ompressedAttributes\x12\r\n\x05words\x18\x01 \x03(\t\x12\x42\n\x07strings\x18\x02 \x03(\x0b\x32\x31.istio.mixer.v1.CompressedAttributes.StringsEntry\x12@\n\x06int64s\x18\x03 \x03(\x0b\x32\x30.istio.mixer.v1.CompressedAttributes.Int64sEntry\x12\x42\n\x07\x64oubles\x18\x04 \x03(\x0b\x32\x31.istio.mixer.v1.CompressedAttributes.DoublesEntry\x12>\n\x05\x62ools\x18\x05 \x03(\x0b\x32/.istio.mixer.v1.CompressedAttributes.BoolsEntry\x12R\n\ntimestamps\x18\x06 \x03(\x0b\x32\x34.istio.mixer.v1.CompressedAttributes.TimestampsEntryB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01\x12P\n\tdurations\x18\x07 \x03(\x0b\x32\x33.istio.mixer.v1.CompressedAttributes.DurationsEntryB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12>\n\x05\x62ytes\x18\x08 \x03(\x0b\x32/.istio.mixer.v1.CompressedAttributes.BytesEntry\x12O\n\x0bstring_maps\x18\t \x03(\x0b\x32\x34.istio.mixer.v1.CompressedAttributes.StringMapsEntryB\x04\xc8\xde\x1f\x00\x1a.\n\x0cStringsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x1a-\n\x0bInt64sEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a.\n\x0c\x44oublesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a,\n\nBoolsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1aM\n\x0fTimestampsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\x02\x38\x01\x1aK\n\x0e\x44urationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration:\x02\x38\x01\x1a,\n\nBytesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1aL\n\x0fStringMapsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.istio.mixer.v1.StringMap:\x02\x38\x01\"t\n\tStringMap\x12\x37\n\x07\x65ntries\x18\x01 \x03(\x0b\x32&.istio.mixer.v1.StringMap.EntriesEntry\x1a.\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x42*Z\x15istio.io/api/mixer/v1\xf8\x01\x01\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\xd8\xe2\x1e\x01\x62\x06proto3') , dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) @@ -883,7 +883,7 @@ DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\025istio.io/api/mixer/v1\370\001\001\310\341\036\000\250\342\036\000\360\341\036\000')) +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\025istio.io/api/mixer/v1\370\001\001\310\341\036\000\250\342\036\000\360\341\036\000\330\342\036\001')) _ATTRIBUTES_ATTRIBUTESENTRY.has_options = True _ATTRIBUTES_ATTRIBUTESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _ATTRIBUTES_STRINGMAP_ENTRIESENTRY.has_options = True diff --git a/python/istio_api/mixer/v1/config/client/api_spec_pb2.py b/python/istio_api/mixer/v1/config/client/api_spec_pb2.py index f71baa78a75..09acbb24046 100644 --- a/python/istio_api/mixer/v1/config/client/api_spec_pb2.py +++ b/python/istio_api/mixer/v1/config/client/api_spec_pb2.py @@ -22,7 +22,7 @@ name='mixer/v1/config/client/api_spec.proto', package='istio.mixer.v1.config.client', syntax='proto3', - serialized_pb=_b('\n%mixer/v1/config/client/api_spec.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\x1a\x19mixer/v1/attributes.proto\x1a$mixer/v1/config/client/service.proto\"\xb9\x01\n\x0bHTTPAPISpec\x12.\n\nattributes\x18\x01 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x42\n\x08patterns\x18\x02 \x03(\x0b\x32\x30.istio.mixer.v1.config.client.HTTPAPISpecPattern\x12\x36\n\x08\x61pi_keys\x18\x03 \x03(\x0b\x32$.istio.mixer.v1.config.client.APIKey\"\x8d\x01\n\x12HTTPAPISpecPattern\x12.\n\nattributes\x18\x01 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x13\n\x0bhttp_method\x18\x02 \x01(\t\x12\x16\n\x0curi_template\x18\x03 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x04 \x01(\tH\x00\x42\t\n\x07pattern\"D\n\x06\x41PIKey\x12\x0f\n\x05query\x18\x01 \x01(\tH\x00\x12\x10\n\x06header\x18\x02 \x01(\tH\x00\x12\x10\n\x06\x63ookie\x18\x03 \x01(\tH\x00\x42\x05\n\x03key\"7\n\x14HTTPAPISpecReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\"\x99\x01\n\x12HTTPAPISpecBinding\x12<\n\x08services\x18\x01 \x03(\x0b\x32*.istio.mixer.v1.config.client.IstioService\x12\x45\n\tapi_specs\x18\x02 \x03(\x0b\x32\x32.istio.mixer.v1.config.client.HTTPAPISpecReferenceB1Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3') + serialized_pb=_b('\n%mixer/v1/config/client/api_spec.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\x1a\x19mixer/v1/attributes.proto\x1a$mixer/v1/config/client/service.proto\"\xb9\x01\n\x0bHTTPAPISpec\x12.\n\nattributes\x18\x01 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x42\n\x08patterns\x18\x02 \x03(\x0b\x32\x30.istio.mixer.v1.config.client.HTTPAPISpecPattern\x12\x36\n\x08\x61pi_keys\x18\x03 \x03(\x0b\x32$.istio.mixer.v1.config.client.APIKey\"\x8d\x01\n\x12HTTPAPISpecPattern\x12.\n\nattributes\x18\x01 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x13\n\x0bhttp_method\x18\x02 \x01(\t\x12\x16\n\x0curi_template\x18\x03 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x04 \x01(\tH\x00\x42\t\n\x07pattern\"D\n\x06\x41PIKey\x12\x0f\n\x05query\x18\x01 \x01(\tH\x00\x12\x10\n\x06header\x18\x02 \x01(\tH\x00\x12\x10\n\x06\x63ookie\x18\x03 \x01(\tH\x00\x42\x05\n\x03key\"7\n\x14HTTPAPISpecReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\"\x99\x01\n\x12HTTPAPISpecBinding\x12<\n\x08services\x18\x01 \x03(\x0b\x32*.istio.mixer.v1.config.client.IstioService\x12\x45\n\tapi_specs\x18\x02 \x03(\x0b\x32\x32.istio.mixer.v1.config.client.HTTPAPISpecReferenceB5Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\xd8\xe2\x1e\x01\x62\x06proto3') , dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,mixer_dot_v1_dot_attributes__pb2.DESCRIPTOR,mixer_dot_v1_dot_config_dot_client_dot_service__pb2.DESCRIPTOR,]) @@ -317,5 +317,5 @@ DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000')) +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000\330\342\036\001')) # @@protoc_insertion_point(module_scope) diff --git a/python/istio_api/mixer/v1/config/client/client_config_pb2.py b/python/istio_api/mixer/v1/config/client/client_config_pb2.py index d384b645e1f..f9646b5cb96 100644 --- a/python/istio_api/mixer/v1/config/client/client_config_pb2.py +++ b/python/istio_api/mixer/v1/config/client/client_config_pb2.py @@ -24,7 +24,7 @@ name='mixer/v1/config/client/client_config.proto', package='istio.mixer.v1.config.client', syntax='proto3', - serialized_pb=_b('\n*mixer/v1/config/client/client_config.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mixer/v1/attributes.proto\x1a%mixer/v1/config/client/api_spec.proto\x1a\"mixer/v1/config/client/quota.proto\"\x86\x02\n\x11NetworkFailPolicy\x12J\n\x06policy\x18\x01 \x01(\x0e\x32:.istio.mixer.v1.config.client.NetworkFailPolicy.FailPolicy\x12\x11\n\tmax_retry\x18\x02 \x01(\r\x12\x32\n\x0f\x62\x61se_retry_wait\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0emax_retry_wait\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"+\n\nFailPolicy\x12\r\n\tFAIL_OPEN\x10\x00\x12\x0e\n\nFAIL_CLOSE\x10\x01\"\x85\x03\n\rServiceConfig\x12\x1b\n\x13\x64isable_check_calls\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_report_calls\x18\x02 \x01(\x08\x12\x34\n\x10mixer_attributes\x18\x03 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12@\n\rhttp_api_spec\x18\x04 \x03(\x0b\x32).istio.mixer.v1.config.client.HTTPAPISpec\x12;\n\nquota_spec\x18\x05 \x03(\x0b\x32\'.istio.mixer.v1.config.client.QuotaSpec\x12L\n\x13network_fail_policy\x18\x07 \x01(\x0b\x32/.istio.mixer.v1.config.client.NetworkFailPolicy\x12\x36\n\x12\x66orward_attributes\x18\x08 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\"\xe0\x02\n\x0fTransportConfig\x12\x1b\n\x13\x64isable_check_cache\x18\x01 \x01(\x08\x12\x1b\n\x13\x64isable_quota_cache\x18\x02 \x01(\x08\x12\x1c\n\x14\x64isable_report_batch\x18\x03 \x01(\x08\x12L\n\x13network_fail_policy\x18\x04 \x01(\x0b\x32/.istio.mixer.v1.config.client.NetworkFailPolicy\x12\x38\n\x15stats_update_interval\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rcheck_cluster\x18\x06 \x01(\t\x12\x16\n\x0ereport_cluster\x18\x07 \x01(\t\x12>\n\x1a\x61ttributes_for_mixer_proxy\x18\x08 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\"\xa8\x03\n\x10HttpClientConfig\x12@\n\ttransport\x18\x01 \x01(\x0b\x32-.istio.mixer.v1.config.client.TransportConfig\x12[\n\x0fservice_configs\x18\x02 \x03(\x0b\x32\x42.istio.mixer.v1.config.client.HttpClientConfig.ServiceConfigsEntry\x12#\n\x1b\x64\x65\x66\x61ult_destination_service\x18\x03 \x01(\t\x12\x34\n\x10mixer_attributes\x18\x04 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x36\n\x12\x66orward_attributes\x18\x05 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x1a\x62\n\x13ServiceConfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.istio.mixer.v1.config.client.ServiceConfig:\x02\x38\x01\"\xc0\x02\n\x0fTcpClientConfig\x12@\n\ttransport\x18\x01 \x01(\x0b\x32-.istio.mixer.v1.config.client.TransportConfig\x12\x34\n\x10mixer_attributes\x18\x02 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x1b\n\x13\x64isable_check_calls\x18\x03 \x01(\x08\x12\x1c\n\x14\x64isable_report_calls\x18\x04 \x01(\x08\x12\x46\n\x15\x63onnection_quota_spec\x18\x05 \x01(\x0b\x32\'.istio.mixer.v1.config.client.QuotaSpec\x12\x32\n\x0freport_interval\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB1Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3') + serialized_pb=_b('\n*mixer/v1/config/client/client_config.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mixer/v1/attributes.proto\x1a%mixer/v1/config/client/api_spec.proto\x1a\"mixer/v1/config/client/quota.proto\"\x86\x02\n\x11NetworkFailPolicy\x12J\n\x06policy\x18\x01 \x01(\x0e\x32:.istio.mixer.v1.config.client.NetworkFailPolicy.FailPolicy\x12\x11\n\tmax_retry\x18\x02 \x01(\r\x12\x32\n\x0f\x62\x61se_retry_wait\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0emax_retry_wait\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"+\n\nFailPolicy\x12\r\n\tFAIL_OPEN\x10\x00\x12\x0e\n\nFAIL_CLOSE\x10\x01\"\x85\x03\n\rServiceConfig\x12\x1b\n\x13\x64isable_check_calls\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_report_calls\x18\x02 \x01(\x08\x12\x34\n\x10mixer_attributes\x18\x03 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12@\n\rhttp_api_spec\x18\x04 \x03(\x0b\x32).istio.mixer.v1.config.client.HTTPAPISpec\x12;\n\nquota_spec\x18\x05 \x03(\x0b\x32\'.istio.mixer.v1.config.client.QuotaSpec\x12L\n\x13network_fail_policy\x18\x07 \x01(\x0b\x32/.istio.mixer.v1.config.client.NetworkFailPolicy\x12\x36\n\x12\x66orward_attributes\x18\x08 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\"\xe0\x02\n\x0fTransportConfig\x12\x1b\n\x13\x64isable_check_cache\x18\x01 \x01(\x08\x12\x1b\n\x13\x64isable_quota_cache\x18\x02 \x01(\x08\x12\x1c\n\x14\x64isable_report_batch\x18\x03 \x01(\x08\x12L\n\x13network_fail_policy\x18\x04 \x01(\x0b\x32/.istio.mixer.v1.config.client.NetworkFailPolicy\x12\x38\n\x15stats_update_interval\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rcheck_cluster\x18\x06 \x01(\t\x12\x16\n\x0ereport_cluster\x18\x07 \x01(\t\x12>\n\x1a\x61ttributes_for_mixer_proxy\x18\x08 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\"\xa8\x03\n\x10HttpClientConfig\x12@\n\ttransport\x18\x01 \x01(\x0b\x32-.istio.mixer.v1.config.client.TransportConfig\x12[\n\x0fservice_configs\x18\x02 \x03(\x0b\x32\x42.istio.mixer.v1.config.client.HttpClientConfig.ServiceConfigsEntry\x12#\n\x1b\x64\x65\x66\x61ult_destination_service\x18\x03 \x01(\t\x12\x34\n\x10mixer_attributes\x18\x04 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x36\n\x12\x66orward_attributes\x18\x05 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x1a\x62\n\x13ServiceConfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.istio.mixer.v1.config.client.ServiceConfig:\x02\x38\x01\"\xc0\x02\n\x0fTcpClientConfig\x12@\n\ttransport\x18\x01 \x01(\x0b\x32-.istio.mixer.v1.config.client.TransportConfig\x12\x34\n\x10mixer_attributes\x18\x02 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x1b\n\x13\x64isable_check_calls\x18\x03 \x01(\x08\x12\x1c\n\x14\x64isable_report_calls\x18\x04 \x01(\x08\x12\x46\n\x15\x63onnection_quota_spec\x18\x05 \x01(\x0b\x32\'.istio.mixer.v1.config.client.QuotaSpec\x12\x32\n\x0freport_interval\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB5Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\xd8\xe2\x1e\x01\x62\x06proto3') , dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mixer_dot_v1_dot_attributes__pb2.DESCRIPTOR,mixer_dot_v1_dot_config_dot_client_dot_api__spec__pb2.DESCRIPTOR,mixer_dot_v1_dot_config_dot_client_dot_quota__pb2.DESCRIPTOR,]) @@ -494,7 +494,7 @@ DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000')) +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000\330\342\036\001')) _HTTPCLIENTCONFIG_SERVICECONFIGSENTRY.has_options = True _HTTPCLIENTCONFIG_SERVICECONFIGSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) diff --git a/python/istio_api/mixer/v1/config/client/quota_pb2.py b/python/istio_api/mixer/v1/config/client/quota_pb2.py index 074868bb1ab..d3e74703c38 100644 --- a/python/istio_api/mixer/v1/config/client/quota_pb2.py +++ b/python/istio_api/mixer/v1/config/client/quota_pb2.py @@ -21,7 +21,7 @@ name='mixer/v1/config/client/quota.proto', package='istio.mixer.v1.config.client', syntax='proto3', - serialized_pb=_b('\n\"mixer/v1/config/client/quota.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\x1a$mixer/v1/config/client/service.proto\"C\n\tQuotaSpec\x12\x36\n\x05rules\x18\x01 \x03(\x0b\x32\'.istio.mixer.v1.config.client.QuotaRule\"}\n\tQuotaRule\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.mixer.v1.config.client.AttributeMatch\x12\x33\n\x06quotas\x18\x02 \x03(\x0b\x32#.istio.mixer.v1.config.client.Quota\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"\xb4\x01\n\x0e\x41ttributeMatch\x12H\n\x06\x63lause\x18\x01 \x03(\x0b\x32\x38.istio.mixer.v1.config.client.AttributeMatch.ClauseEntry\x1aX\n\x0b\x43lauseEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).istio.mixer.v1.config.client.StringMatch:\x02\x38\x01\"&\n\x05Quota\x12\r\n\x05quota\x18\x01 \x01(\t\x12\x0e\n\x06\x63harge\x18\x02 \x01(\x03\"\xdf\x01\n\x10QuotaSpecBinding\x12<\n\x08services\x18\x01 \x03(\x0b\x32*.istio.mixer.v1.config.client.IstioService\x12V\n\x0bquota_specs\x18\x02 \x03(\x0b\x32\x41.istio.mixer.v1.config.client.QuotaSpecBinding.QuotaSpecReference\x1a\x35\n\x12QuotaSpecReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\tB1Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3') + serialized_pb=_b('\n\"mixer/v1/config/client/quota.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\x1a$mixer/v1/config/client/service.proto\"C\n\tQuotaSpec\x12\x36\n\x05rules\x18\x01 \x03(\x0b\x32\'.istio.mixer.v1.config.client.QuotaRule\"}\n\tQuotaRule\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.mixer.v1.config.client.AttributeMatch\x12\x33\n\x06quotas\x18\x02 \x03(\x0b\x32#.istio.mixer.v1.config.client.Quota\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"\xb4\x01\n\x0e\x41ttributeMatch\x12H\n\x06\x63lause\x18\x01 \x03(\x0b\x32\x38.istio.mixer.v1.config.client.AttributeMatch.ClauseEntry\x1aX\n\x0b\x43lauseEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).istio.mixer.v1.config.client.StringMatch:\x02\x38\x01\"&\n\x05Quota\x12\r\n\x05quota\x18\x01 \x01(\t\x12\x0e\n\x06\x63harge\x18\x02 \x01(\x03\"\xdf\x01\n\x10QuotaSpecBinding\x12<\n\x08services\x18\x01 \x03(\x0b\x32*.istio.mixer.v1.config.client.IstioService\x12V\n\x0bquota_specs\x18\x02 \x03(\x0b\x32\x41.istio.mixer.v1.config.client.QuotaSpecBinding.QuotaSpecReference\x1a\x35\n\x12QuotaSpecReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\tB5Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\xd8\xe2\x1e\x01\x62\x06proto3') , dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,mixer_dot_v1_dot_config_dot_client_dot_service__pb2.DESCRIPTOR,]) @@ -411,7 +411,7 @@ DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000')) +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000\330\342\036\001')) _ATTRIBUTEMATCH_CLAUSEENTRY.has_options = True _ATTRIBUTEMATCH_CLAUSEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) diff --git a/python/istio_api/mixer/v1/config/client/service_pb2.py b/python/istio_api/mixer/v1/config/client/service_pb2.py index 59fd4f42165..f1e5dfed544 100644 --- a/python/istio_api/mixer/v1/config/client/service_pb2.py +++ b/python/istio_api/mixer/v1/config/client/service_pb2.py @@ -20,7 +20,7 @@ name='mixer/v1/config/client/service.proto', package='istio.mixer.v1.config.client', syntax='proto3', - serialized_pb=_b('\n$mixer/v1/config/client/service.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\"\xc7\x01\n\x0cIstioService\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0f\n\x07service\x18\x04 \x01(\t\x12\x46\n\x06labels\x18\x05 \x03(\x0b\x32\x36.istio.mixer.v1.config.client.IstioService.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x31Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3') + serialized_pb=_b('\n$mixer/v1/config/client/service.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\"\xc7\x01\n\x0cIstioService\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0f\n\x07service\x18\x04 \x01(\t\x12\x46\n\x06labels\x18\x05 \x03(\x0b\x32\x36.istio.mixer.v1.config.client.IstioService.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x35Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\xd8\xe2\x1e\x01\x62\x06proto3') , dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -144,7 +144,7 @@ DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000')) +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000\330\342\036\001')) _ISTIOSERVICE_LABELSENTRY.has_options = True _ISTIOSERVICE_LABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) From 7e7d6afc2632344224bf8a164d2b3aad4b9adbd8 Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Tue, 12 Mar 2019 05:37:41 -0700 Subject: [PATCH 25/34] Fix some doc errors. (#854) This started out to just fix a bad link to unblock work on istio.io, but I ended up fixing a bunch of typos/incorrect format throughout. --- .../istio.authentication.v1alpha1.pb.html | 2 +- authentication/v1alpha1/policy.pb.go | 2 +- authentication/v1alpha1/policy.proto | 2 +- dictionaries/custom.txt | 4 ++++ .../http/jwt_auth/v2alpha1/config.pb.go | 12 +++++------ .../http/jwt_auth/v2alpha1/config.proto | 12 +++++------ mesh/v1alpha1/config.pb.go | 12 +++++------ mesh/v1alpha1/config.proto | 12 +++++------ mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 12 +++++------ mesh/v1alpha1/network.pb.go | 2 +- mesh/v1alpha1/network.proto | 4 ++-- mesh/v1alpha1/proxy.pb.go | 2 +- mesh/v1alpha1/proxy.proto | 4 ++-- mixer/v1/config/client/service.proto | 2 +- networking/v1alpha3/gateway.pb.go | 18 ++++++++-------- networking/v1alpha3/gateway.pb.html | 16 +++++++------- networking/v1alpha3/gateway.proto | 18 ++++++++-------- networking/v1alpha3/service_entry.pb.go | 21 +++++++++---------- networking/v1alpha3/service_entry.pb.html | 21 +++++++++---------- networking/v1alpha3/service_entry.proto | 21 +++++++++---------- networking/v1alpha3/sidecar.pb.go | 8 +++---- networking/v1alpha3/sidecar.pb.html | 8 +++---- networking/v1alpha3/sidecar.proto | 8 +++---- networking/v1alpha3/virtual_service.pb.go | 8 +++---- networking/v1alpha3/virtual_service.pb.html | 8 +++---- networking/v1alpha3/virtual_service.proto | 8 +++---- policy/v1beta1/cfg.pb.go | 8 +++---- policy/v1beta1/cfg.proto | 8 +++---- policy/v1beta1/istio.policy.v1beta1.pb.html | 8 +++---- rbac/v1alpha1/istio.rbac.v1alpha1.pb.html | 6 +++--- rbac/v1alpha1/rbac.pb.go | 6 +++--- rbac/v1alpha1/rbac.proto | 8 +++---- 32 files changed, 141 insertions(+), 150 deletions(-) diff --git a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html index 65acfb5a370..4d144436f4a 100644 --- a/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html +++ b/authentication/v1alpha1/istio.authentication.v1alpha1.pb.html @@ -118,7 +118,7 @@

    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

    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 ISTIOMUTUAL.

    +mode as ISTIO_MUTUAL.

    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.

    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

    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.

    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.

    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 -https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on -and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

    +See the supported policies +and here for more details.

    string

    Required. Name of the component producing these attributes. This can be -the proxy (with the canonical name “istio-proxy”) or the name of an +the proxy (with the canonical name istio-proxy) or the name of an attributes kind adapter in Mixer.

    diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index f69937399ed..29562447e49 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -951,7 +951,7 @@ message HTTPRetry { // allowCredentials: false // allowHeaders: // - X-Foo-Bar -// maxAge: "1d" +// maxAge: "24h" // ``` // message CorsPolicy { diff --git a/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html b/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html index ed198265932..a7ef8cbbbef 100644 --- a/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html +++ b/rbac/v1alpha1/istio.rbac.v1alpha1.pb.html @@ -4,7 +4,7 @@ location: https://istio.io/docs/reference/config/authorization/istio.rbac.v1alpha1.html layout: protoc-gen-docs generator: protoc-gen-docs -number_of_entries: 9 +number_of_entries: 8 ---

    Istio RBAC (Role Based Access Control) defines ServiceRole and ServiceRoleBinding objects.

    @@ -37,7 +37,7 @@ methods: ["GET", "HEAD"] constraints: - key: "destination.labels[version]" - value: ["v1", "v2"] + values: ["v1", "v2"]

    A ServiceRoleBinding specification includes two parts:

    @@ -164,66 +164,6 @@

    AccessRule.Constraint

    For example, the value “v1alpha2” matches “v1alpha2” (exact match), or “v1” (prefix match), or “alpha2” (suffix match).

    - - - -
    -
    -

    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 an RbacConfig resource called 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" ]
    -
    - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/rbac/v1alpha1/rbac.pb.go b/rbac/v1alpha1/rbac.pb.go index dc346f1214e..cce0b6f94b6 100644 --- a/rbac/v1alpha1/rbac.pb.go +++ b/rbac/v1alpha1/rbac.pb.go @@ -31,7 +31,7 @@ // methods: ["GET", "HEAD"] // constraints: // - key: "destination.labels[version]" -// value: ["v1", "v2"] +// values: ["v1", "v2"] // ``` // // A ServiceRoleBinding specification includes two parts: @@ -834,7 +834,8 @@ func (m *RoleRef) GetName() string { return "" } -// RbacConfig defines the global config to control Istio RBAC behavior. +// $hide_from_docs +// RbacConfig is deprecated. RbacConfig defined 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 diff --git a/rbac/v1alpha1/rbac.proto b/rbac/v1alpha1/rbac.proto index a5a30608ec5..292e9b8a47e 100644 --- a/rbac/v1alpha1/rbac.proto +++ b/rbac/v1alpha1/rbac.proto @@ -48,7 +48,7 @@ syntax = "proto3"; // methods: ["GET", "HEAD"] // constraints: // - key: "destination.labels[version]" -// value: ["v1", "v2"] +// values: ["v1", "v2"] // ``` // // A ServiceRoleBinding specification includes two parts: @@ -294,7 +294,8 @@ message RoleRef { string name = 2; } -// RbacConfig defines the global config to control Istio RBAC behavior. +// $hide_from_docs +// RbacConfig is deprecated. RbacConfig defined 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 From 032fe83d8cada35da33886eb4b3afd1b99aa2f30 Mon Sep 17 00:00:00 2001 From: Zhonghu Xu Date: Mon, 18 Mar 2019 07:14:53 +0800 Subject: [PATCH 28/34] fix MeshNetworks demo (#841) * fix MeshNetworks demo * generate * update --- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 11 +++++++---- mesh/v1alpha1/network.pb.go | 9 ++++++--- mesh/v1alpha1/network.proto | 11 +++++++---- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 0a654fad296..150a426ec99 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -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

    @@ -760,8 +763,8 @@

    Network.NetworkEndpoints

  • 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 diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go index ccd7f8e0b7d..165fc80fa12 100644 --- a/mesh/v1alpha1/network.pb.go +++ b/mesh/v1alpha1/network.pb.go @@ -96,7 +96,7 @@ func (m *Network) GetGateways() []*Network_IstioNetworkGateway { // // 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 8260072a342..126d1212e65 100644 --- a/mesh/v1alpha1/network.proto +++ b/mesh/v1alpha1/network.proto @@ -35,7 +35,7 @@ message Network { // // 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. // @@ -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 +} From c1e0c866cf64488f530e2a6d59eeef25c785d1e5 Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Tue, 19 Mar 2019 12:40:20 -0400 Subject: [PATCH 29/34] last minute doc fixes (#865) Signed-off-by: Shriram Rajagopalan --- networking/v1alpha3/envoy_filter.pb.go | 19 ++++++++++--------- networking/v1alpha3/envoy_filter.pb.html | 21 +++++++++++---------- networking/v1alpha3/envoy_filter.proto | 19 ++++++++++--------- networking/v1alpha3/sidecar.pb.go | 3 +-- networking/v1alpha3/sidecar.pb.html | 3 +-- networking/v1alpha3/sidecar.proto | 3 +-- networking/v1alpha3/virtual_service.pb.go | 6 +++--- networking/v1alpha3/virtual_service.pb.html | 6 +++--- networking/v1alpha3/virtual_service.proto | 6 +++--- 9 files changed, 43 insertions(+), 43 deletions(-) diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index bbe92a378f3..f35e7da8ea4 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -17,7 +17,7 @@ // with each other. // // 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 +32,7 @@ // - listenerMatch: // portNumber: 8080 // listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080 +// listenerProtocol: HTTP // filterName: envoy.lua // filterType: HTTP // filterConfig: @@ -200,9 +201,6 @@ type EnvoyFilter struct { // 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 +276,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 +419,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 3144a0d15d2..2b4a7e7345d 100644 --- a/networking/v1alpha3/envoy_filter.pb.html +++ b/networking/v1alpha3/envoy_filter.pb.html @@ -22,7 +22,7 @@ with each other.

    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 +36,7 @@
       - listenerMatch:
           portNumber: 8080
           listenerType: SIDECAR_INBOUND # will match with the inbound listener for reviews:8080
    +      listenerProtocol: HTTP
         filterName: envoy.lua
         filterType: HTTP
         filterConfig:
    @@ -63,10 +64,7 @@ 

    EnvoyFilter

    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 +99,11 @@

    EnvoyFilter.Filter

    @@ -303,11 +304,11 @@

    EnvoyFilter.ListenerMatch

    diff --git a/networking/v1alpha3/envoy_filter.proto b/networking/v1alpha3/envoy_filter.proto index 6f271d1f0a9..acc76ce364a 100644 --- a/networking/v1alpha3/envoy_filter.proto +++ b/networking/v1alpha3/envoy_filter.proto @@ -36,7 +36,7 @@ import "google/protobuf/struct.proto"; // with each other. // // 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 +51,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: @@ -68,9 +69,6 @@ message EnvoyFilter { // 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 +114,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 +153,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/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go index dfc84815f84..8253f56fe1e 100644 --- a/networking/v1alpha3/sidecar.pb.go +++ b/networking/v1alpha3/sidecar.pb.go @@ -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 diff --git a/networking/v1alpha3/sidecar.pb.html b/networking/v1alpha3/sidecar.pb.html index a4a209a5bfb..229a3860c68 100644 --- a/networking/v1alpha3/sidecar.pb.html +++ b/networking/v1alpha3/sidecar.pb.html @@ -380,8 +380,7 @@

    Sidecar

    diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto index 3e05e714a23..85d8b26fa0d 100644 --- a/networking/v1alpha3/sidecar.proto +++ b/networking/v1alpha3/sidecar.proto @@ -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 diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index e6e308c54c4..e39c6392512 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 { diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html index ab9cb8215c5..aa61515fe10 100644 --- a/networking/v1alpha3/virtual_service.pb.html +++ b/networking/v1alpha3/virtual_service.pb.html @@ -734,9 +734,9 @@

    HTTPRedirect

    - 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 ...
    diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 29562447e49..bae9cce4fa9 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -814,9 +814,9 @@ message TLSMatchAttributes { // - 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 // ... // ``` message HTTPRedirect { From b9d60ae2e6757fc0fa04962aa282a8c028442d07 Mon Sep 17 00:00:00 2001 From: Pengyuan Bian Date: Tue, 19 Mar 2019 10:32:05 -0700 Subject: [PATCH 30/34] Clarify comment for server_name field in Mixer oop auth config (#800) --- policy/v1beta1/cfg.pb.go | 9 +++++---- policy/v1beta1/cfg.proto | 9 +++++---- policy/v1beta1/istio.policy.v1beta1.pb.html | 9 +++++---- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go index 54816031613..3694c70bd51 100644 --- a/policy/v1beta1/cfg.pb.go +++ b/policy/v1beta1/cfg.pb.go @@ -1309,8 +1309,8 @@ type Tls struct { // *Tls_AuthHeader_ // *Tls_CustomHeader TokenType isTls_TokenType `protobuf_oneof:"token_type"` - // Indicates the name of adapter backend which is useful for routing with - // proxy-fronted backend. + // Used to configure mixer TLS client to verify the hostname on the returned + // certificates. It is also included in the client's handshake to support SNI. ServerName string `protobuf:"bytes,6,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` } @@ -1638,8 +1638,9 @@ type Mutual struct { // verify the presented adapter certificates. By default Mixer should already // include Istio CA certificates and system certificates in cert pool. CaCertificates string `protobuf:"bytes,3,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"` - // Indicates the name of adapter backend server which is useful for routing with - // proxy-fronted backend. + // Used to configure mixer mutual TLS client to supply server name for SNI. + // It is not used to verify the hostname of the peer certificate, since + // Istio verifies whitelisted SAN fields in mutual TLS. ServerName string `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` } diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto index 1bdfbba7886..e70b2dcf55f 100644 --- a/policy/v1beta1/cfg.proto +++ b/policy/v1beta1/cfg.proto @@ -490,8 +490,8 @@ message Tls { string custom_header = 5; } - // Indicates the name of adapter backend which is useful for routing with - // proxy-fronted backend. + // Used to configure mixer TLS client to verify the hostname on the returned + // certificates. It is also included in the client's handshake to support SNI. string server_name = 6; } @@ -530,7 +530,8 @@ message Mutual { // include Istio CA certificates and system certificates in cert pool. string ca_certificates = 3; - // Indicates the name of adapter backend server which is useful for routing with - // proxy-fronted backend. + // Used to configure mixer mutual TLS client to supply server name for SNI. + // It is not used to verify the hostname of the peer certificate, since + // Istio verifies whitelisted SAN fields in mutual TLS. string server_name = 4; } diff --git a/policy/v1beta1/istio.policy.v1beta1.pb.html b/policy/v1beta1/istio.policy.v1beta1.pb.html index f92ca16ff66..eae62809d7f 100644 --- a/policy/v1beta1/istio.policy.v1beta1.pb.html +++ b/policy/v1beta1/istio.policy.v1beta1.pb.html @@ -1012,8 +1012,9 @@

    Mutual

    @@ -1328,8 +1329,8 @@

    Tls

    From 1ba534755c7603988b9815e0c6f9277cc4136ba7 Mon Sep 17 00:00:00 2001 From: Jason Young Date: Tue, 19 Mar 2019 10:38:31 -0700 Subject: [PATCH 31/34] add mixerclient config to istio.io reference docs (#827) --- mixer/v1/config/client/client_config.proto | 1 + .../client/istio.mixer.v1.config.client.pb.html | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/mixer/v1/config/client/client_config.proto b/mixer/v1/config/client/client_config.proto index 8dd8853341f..6773aadb168 100644 --- a/mixer/v1/config/client/client_config.proto +++ b/mixer/v1/config/client/client_config.proto @@ -23,6 +23,7 @@ import "mixer/v1/config/client/quota.proto"; // $title: Mixer Client // $description: Configuration state for the Mixer client library. +// $location: https://istio.io/docs/reference/config/istio.mixer.v1.config.client package istio.mixer.v1.config.client; 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 bd25751a325..ae23bd84580 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 @@ -391,7 +391,7 @@

    HttpClientConfig

    - + - + - + - + - + - + - + - + - + - + - + - +
    FieldTypeDescription
    modeRbacConfig.Mode -

    Istio RBAC mode.

    - -
    inclusionRbacConfig.Target -

    A list of services or namespaces that should be enforced by Istio RBAC policies. Note: This field have -effect only when mode is ONWITHINCLUSION and will be ignored for any other modes.

    - -
    exclusionRbacConfig.Target -

    A list of services or namespaces that should not be enforced by Istio RBAC policies. Note: This field have -effect only when mode is ONWITHEXCLUSION and will be ignored for any other modes.

    -
    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.

    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.

    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.

    serverName string -

    Indicates the name of adapter backend server which is useful for routing with -proxy-fronted backend.

    +

    Used to configure mixer mutual TLS client to supply server name for SNI. +It is not used to verify the hostname of the peer certificate, since +Istio verifies whitelisted SAN fields in mutual TLS.

    serverName string -

    Indicates the name of adapter backend which is useful for routing with -proxy-fronted backend.

    +

    Used to configure mixer TLS client to verify the hostname on the returned +certificates. It is also included in the client’s handshake to support SNI.

    transportTransportConfigTransportConfig

    The transport config.

    @@ -399,7 +399,7 @@

    HttpClientConfig

    serviceConfigsmap<string, ServiceConfig>map<string, ServiceConfig>

    Map of control configuration indexed by destination.service. This is used to support per-service configuration for cases where a @@ -513,7 +513,7 @@

    NetworkFailPolicy

    policyNetworkFailPolicy.FailPolicyNetworkFailPolicy.FailPolicy

    Specifies the behavior when the client is unable to connect to Mixer.

    @@ -795,7 +795,7 @@

    ServiceConfig

    networkFailPolicyNetworkFailPolicyNetworkFailPolicy

    Specifies the behavior when the client is unable to connect to Mixer. This is the service-level policy. It overrides @@ -882,7 +882,7 @@

    TcpClientConfig

    transportTransportConfigTransportConfig

    The transport config.

    @@ -975,7 +975,7 @@

    TransportConfig

    networkFailPolicyNetworkFailPolicyNetworkFailPolicy

    Specifies the behavior when the client is unable to connect to Mixer. This is the mesh level policy. The default value for policy is FAIL_OPEN.

    From 0a302e3e163dadce135c405644988ace079e9c0c Mon Sep 17 00:00:00 2001 From: Scott Ganyo Date: Tue, 19 Mar 2019 10:49:03 -0700 Subject: [PATCH 32/34] Envoyfilter docs fix (#867) --- networking/v1alpha3/envoy_filter.pb.go | 5 ++++- networking/v1alpha3/envoy_filter.pb.html | 5 ++++- networking/v1alpha3/envoy_filter.proto | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/networking/v1alpha3/envoy_filter.pb.go b/networking/v1alpha3/envoy_filter.pb.go index f35e7da8ea4..5f7a23157fe 100644 --- a/networking/v1alpha3/envoy_filter.pb.go +++ b/networking/v1alpha3/envoy_filter.pb.go @@ -16,6 +16,9 @@ // 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 HTTP calls arriving at service port 8080 of the reviews service pod with // labels "app: reviews". @@ -195,7 +198,7 @@ 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 diff --git a/networking/v1alpha3/envoy_filter.pb.html b/networking/v1alpha3/envoy_filter.pb.html index 2b4a7e7345d..d2be82dc024 100644 --- a/networking/v1alpha3/envoy_filter.pb.html +++ b/networking/v1alpha3/envoy_filter.pb.html @@ -21,6 +21,9 @@ 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 HTTP calls arriving at service port 8080 of the reviews service pod with labels “app: reviews”.

    @@ -59,7 +62,7 @@

    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 diff --git a/networking/v1alpha3/envoy_filter.proto b/networking/v1alpha3/envoy_filter.proto index acc76ce364a..a0aab1b7273 100644 --- a/networking/v1alpha3/envoy_filter.proto +++ b/networking/v1alpha3/envoy_filter.proto @@ -35,6 +35,9 @@ 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 HTTP calls arriving at service port 8080 of the reviews service pod with // labels "app: reviews". @@ -63,7 +66,7 @@ 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 From 0fb210e1163a1883943f667bead9622d09967e1e Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Tue, 19 Mar 2019 11:18:46 -0700 Subject: [PATCH 33/34] Tweaks to get the mixer client config docs to be published. (#868) --- mixer/v1/config/client/client_config.pb.go | 2 ++ mixer/v1/config/client/client_config.proto | 1 + .../istio.mixer.v1.config.client.pb.html | 18 +++++++++++------- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/mixer/v1/config/client/client_config.pb.go b/mixer/v1/config/client/client_config.pb.go index 7984e9a4fd8..b04e4f1b131 100644 --- a/mixer/v1/config/client/client_config.pb.go +++ b/mixer/v1/config/client/client_config.pb.go @@ -1,6 +1,8 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: mixer/v1/config/client/client_config.proto +// Describes the configuration state for the Mixer client library that's built into Envoy. + package client import ( diff --git a/mixer/v1/config/client/client_config.proto b/mixer/v1/config/client/client_config.proto index 6773aadb168..3902daf2ada 100644 --- a/mixer/v1/config/client/client_config.proto +++ b/mixer/v1/config/client/client_config.proto @@ -25,6 +25,7 @@ import "mixer/v1/config/client/quota.proto"; // $description: Configuration state for the Mixer client library. // $location: https://istio.io/docs/reference/config/istio.mixer.v1.config.client +// Describes the configuration state for the Mixer client library that's built into Envoy. package istio.mixer.v1.config.client; option go_package = "istio.io/api/mixer/v1/config/client"; 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 ae23bd84580..309986f5cad 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 @@ -1,9 +1,13 @@ --- -title: istio.mixer.v1.config.client +title: Mixer Client +description: Configuration state for the Mixer client library. +location: https://istio.io/docs/reference/config/istio.mixer.v1.config.client layout: protoc-gen-docs generator: protoc-gen-docs number_of_entries: 20 --- +

    Describes the configuration state for the Mixer client library that’s built into Envoy.

    +

    APIKey

    APIKey defines the explicit configuration for generating the @@ -391,7 +395,7 @@

    HttpClientConfig

    transportTransportConfigTransportConfig

    The transport config.

    @@ -399,7 +403,7 @@

    HttpClientConfig

    serviceConfigsmap<string, ServiceConfig>map<string, ServiceConfig>

    Map of control configuration indexed by destination.service. This is used to support per-service configuration for cases where a @@ -513,7 +517,7 @@

    NetworkFailPolicy

    policyNetworkFailPolicy.FailPolicyNetworkFailPolicy.FailPolicy

    Specifies the behavior when the client is unable to connect to Mixer.

    @@ -795,7 +799,7 @@

    ServiceConfig

    networkFailPolicyNetworkFailPolicyNetworkFailPolicy

    Specifies the behavior when the client is unable to connect to Mixer. This is the service-level policy. It overrides @@ -882,7 +886,7 @@

    TcpClientConfig

    transportTransportConfigTransportConfig

    The transport config.

    @@ -975,7 +979,7 @@

    TransportConfig

    networkFailPolicyNetworkFailPolicyNetworkFailPolicy

    Specifies the behavior when the client is unable to connect to Mixer. This is the mesh level policy. The default value for policy is FAIL_OPEN.

    From 65308844fdbb171d3afb9cff25d53e3e8dac8891 Mon Sep 17 00:00:00 2001 From: mtail Date: Tue, 19 Mar 2019 11:30:38 -0700 Subject: [PATCH 34/34] Change where the Mixer client docs are published. --- mixer/v1/config/client/client_config.proto | 2 +- mixer/v1/config/client/istio.mixer.v1.config.client.pb.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mixer/v1/config/client/client_config.proto b/mixer/v1/config/client/client_config.proto index 3902daf2ada..a2296990f46 100644 --- a/mixer/v1/config/client/client_config.proto +++ b/mixer/v1/config/client/client_config.proto @@ -23,7 +23,7 @@ import "mixer/v1/config/client/quota.proto"; // $title: Mixer Client // $description: Configuration state for the Mixer client library. -// $location: https://istio.io/docs/reference/config/istio.mixer.v1.config.client +// $location: https://istio.io/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client // Describes the configuration state for the Mixer client library that's built into Envoy. package istio.mixer.v1.config.client; 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 309986f5cad..4932bae8045 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 @@ -1,7 +1,7 @@ --- title: Mixer Client description: Configuration state for the Mixer client library. -location: https://istio.io/docs/reference/config/istio.mixer.v1.config.client +location: https://istio.io/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client layout: protoc-gen-docs generator: protoc-gen-docs number_of_entries: 20